You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							196 lines
						
					
					
						
							6.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							196 lines
						
					
					
						
							6.6 KiB
						
					
					
				
								package com.epmet.controller;
							 | 
						|
								
							 | 
						|
								import com.alibaba.excel.EasyExcel;
							 | 
						|
								import com.alibaba.excel.ExcelWriter;
							 | 
						|
								import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder;
							 | 
						|
								import com.alibaba.excel.write.metadata.WriteSheet;
							 | 
						|
								import com.alibaba.excel.write.metadata.fill.FillWrapper;
							 | 
						|
								import com.epmet.commons.tools.annotation.LoginUser;
							 | 
						|
								import com.epmet.commons.tools.annotation.RequirePermission;
							 | 
						|
								import com.epmet.commons.tools.aop.NoRepeatSubmit;
							 | 
						|
								import com.epmet.commons.tools.constant.NumConstant;
							 | 
						|
								import com.epmet.commons.tools.enums.RequirePermissionEnum;
							 | 
						|
								import com.epmet.commons.tools.security.dto.TokenDto;
							 | 
						|
								import com.epmet.commons.tools.utils.ConvertUtils;
							 | 
						|
								import com.epmet.commons.tools.utils.ExcelUtils;
							 | 
						|
								import com.epmet.commons.tools.utils.Result;
							 | 
						|
								import com.epmet.commons.tools.validator.ValidatorUtils;
							 | 
						|
								import com.epmet.dto.form.*;
							 | 
						|
								import com.epmet.dto.form.patrol.PcworkRecordListFormDTO;
							 | 
						|
								import com.epmet.dto.result.*;
							 | 
						|
								import com.epmet.excel.StaffPatrolRecordExcel;
							 | 
						|
								import com.epmet.service.StaffPatrolDetailService;
							 | 
						|
								import com.epmet.service.StaffPatrolRecordService;
							 | 
						|
								import com.epmet.util.TestFileUtil;
							 | 
						|
								import org.springframework.web.bind.annotation.PostMapping;
							 | 
						|
								import org.springframework.web.bind.annotation.RequestBody;
							 | 
						|
								import org.springframework.web.bind.annotation.RequestMapping;
							 | 
						|
								import org.springframework.web.bind.annotation.RestController;
							 | 
						|
								
							 | 
						|
								import javax.annotation.Resource;
							 | 
						|
								import javax.servlet.ServletOutputStream;
							 | 
						|
								import javax.servlet.http.HttpServletResponse;
							 | 
						|
								import java.io.IOException;
							 | 
						|
								import java.net.URLEncoder;
							 | 
						|
								import java.util.List;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * @author zhaoqifeng
							 | 
						|
								 * @dscription
							 | 
						|
								 * @date 2021/6/7 15:49
							 | 
						|
								import java.util.List;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * @Author zxc
							 | 
						|
								 * @DateTime 2021/6/9 10:32 上午
							 | 
						|
								 * @DESC
							 | 
						|
								 */
							 | 
						|
								@RestController
							 | 
						|
								@RequestMapping("staffpatrol")
							 | 
						|
								public class StaffPatrolController {
							 | 
						|
									@Resource
							 | 
						|
									private StaffPatrolDetailService staffPatrolDetailService;
							 | 
						|
									@Resource
							 | 
						|
									private StaffPatrolRecordService staffPatrolRecordService;
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * 巡查界面初始化
							 | 
						|
									 *
							 | 
						|
									 * @param tokenDto
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.StaffPatrolInitResultDTO>
							 | 
						|
									 * @author zhaoqifeng
							 | 
						|
									 * @date 2021/6/7 16:40
							 | 
						|
									 */
							 | 
						|
									@PostMapping("init")
							 | 
						|
									public Result<StaffPatrolInitResultDTO> init(@LoginUser TokenDto tokenDto, @RequestBody StaffPatrolInitFormDTO formDTO) {
							 | 
						|
										StaffPatrolInitResultDTO result = staffPatrolRecordService.init(tokenDto, formDTO);
							 | 
						|
										return new Result<StaffPatrolInitResultDTO>().ok(result);
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * 开始巡查
							 | 
						|
									 *
							 | 
						|
									 * @param tokenDto
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.StartPatrolResultDTO>
							 | 
						|
									 * @author zhaoqifeng
							 | 
						|
									 * @date 2021/6/7 16:46
							 | 
						|
									 */
							 | 
						|
									@NoRepeatSubmit
							 | 
						|
									@PostMapping("startpatrol")
							 | 
						|
									@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOT_GOVERN_PATROL)
							 | 
						|
									public Result<StartPatrolResultDTO> startPatrol(@LoginUser TokenDto tokenDto, @RequestBody StartPatrolFormDTO formDTO) {
							 | 
						|
										ValidatorUtils.validateEntity(formDTO, StartPatrolFormDTO.StartPatrol.class);
							 | 
						|
										StartPatrolResultDTO result = staffPatrolRecordService.startPatrol(tokenDto, formDTO);
							 | 
						|
										return new Result<StartPatrolResultDTO>().ok(result);
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * 结束巡查
							 | 
						|
									 *
							 | 
						|
									 * @param tokenDto
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result
							 | 
						|
									 * @author zhaoqifeng
							 | 
						|
									 * @date 2021/6/7 16:46
							 | 
						|
									 */
							 | 
						|
									@PostMapping("endpatrol")
							 | 
						|
									@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOT_GOVERN_PATROL)
							 | 
						|
									public Result endPatrol(@LoginUser TokenDto tokenDto, @RequestBody StartPatrolFormDTO formDTO) {
							 | 
						|
										staffPatrolRecordService.endPatrol(tokenDto, formDTO);
							 | 
						|
										return new Result();
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * 结束巡查 定时任务
							 | 
						|
									 * @author zhaoqifeng
							 | 
						|
									 * @date 2021/7/12 17:00
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result
							 | 
						|
									 */
							 | 
						|
									@PostMapping("endpatrolJob")
							 | 
						|
									public Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO) {
							 | 
						|
										staffPatrolRecordService.endPatrolJob(formDTO);
							 | 
						|
										return new Result();
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * 上传巡查记录
							 | 
						|
									 *
							 | 
						|
									 * @param tokenDto
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PatrolUploadResultDTO>
							 | 
						|
									 * @author zhaoqifeng
							 | 
						|
									 * @date 2021/6/7 16:46
							 | 
						|
									 */
							 | 
						|
									@PostMapping("uploaddetail")
							 | 
						|
									public Result<PatrolUploadResultDTO> uploadDetail(@LoginUser TokenDto tokenDto, @RequestBody PatrolUploadFormDTO formDTO) {
							 | 
						|
										ValidatorUtils.validateEntity(formDTO, PatrolUploadFormDTO.PatrolUploadForm.class);
							 | 
						|
										PatrolUploadResultDTO result = staffPatrolRecordService.uploadDetail(tokenDto, formDTO);
							 | 
						|
										return new Result<PatrolUploadResultDTO>().ok(result);
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @Description  查询经纬度
							 | 
						|
								     * @Param userIds
							 | 
						|
								     * @author zxc
							 | 
						|
								     * @date 2021/6/9 10:40 上午
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("getll")
							 | 
						|
								    public Result<UserNameAndLLResultDTO> selectll(@RequestBody List<String> userIds){
							 | 
						|
								        return new Result<UserNameAndLLResultDTO>().ok(staffPatrolRecordService.selectLL(userIds));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @Description  002、查看巡查记录
							 | 
						|
								     * @Param formDTO
							 | 
						|
								     * @author zxc
							 | 
						|
								     * @date 2021/6/7 3:25 下午
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("recordlist")
							 | 
						|
								    public Result<List<RecordListResultDTO>> recordList(@RequestBody RecordListFormDTO formDTO){
							 | 
						|
								        ValidatorUtils.validateEntity(formDTO, RecordListFormDTO.RecordListForm.class);
							 | 
						|
								        return new Result<List<RecordListResultDTO>>().ok(staffPatrolRecordService.recordList(formDTO));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @Description  003、巡查轨迹
							 | 
						|
								     * @Param formDTO
							 | 
						|
								     * @author zxc
							 | 
						|
								     * @date 2021/6/7 3:35 下午
							 | 
						|
								     */
							 | 
						|
								    @PostMapping("patroltrack")
							 | 
						|
								    public Result<List<PatrolTrackResultDTO>> patrolTrack(@RequestBody PatrolTrackFormDTO formDTO){
							 | 
						|
								        ValidatorUtils.validateEntity(formDTO, PatrolTrackFormDTO.PatrolTrackForm.class);
							 | 
						|
								        return new Result<List<PatrolTrackResultDTO>>().ok(staffPatrolRecordService.patrolTrack(formDTO));
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * @Author sun
							 | 
						|
									 * @Description 【网格员工作统计】巡查记录列表
							 | 
						|
									 **/
							 | 
						|
									@NoRepeatSubmit
							 | 
						|
									@PostMapping("pcwork/record-list")
							 | 
						|
									public Result<PcworkRecordListResultDTO> pcworkRecordList(@RequestBody PcworkRecordListFormDTO formDTO) {
							 | 
						|
										ValidatorUtils.validateEntity(formDTO, PcworkRecordListFormDTO.Staff.class);
							 | 
						|
										return new Result<PcworkRecordListResultDTO>().ok(staffPatrolRecordService.pcworkRecordList(formDTO));
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * @Author sun
							 | 
						|
									 * @Description 【网格员工作统计】巡查记录列表导出
							 | 
						|
									 **/
							 | 
						|
									@NoRepeatSubmit
							 | 
						|
									@PostMapping("pcwork/record-list/export")
							 | 
						|
									public void pcworkRecordListExport(HttpServletResponse response, @RequestBody PcworkRecordListFormDTO formDTO) {
							 | 
						|
										ValidatorUtils.validateEntity(formDTO, PcworkRecordListFormDTO.Staff.class);
							 | 
						|
										staffPatrolRecordService.pcworkRecordListExport(response, formDTO);
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 |