| | |
| | | import cn.gistack.flow.core.feign.IFlowClient; |
| | | import cn.gistack.flow.core.utils.FlowUtil; |
| | | import cn.gistack.flow.core.utils.TaskUtil; |
| | | import cn.gistack.nky.fegin.INkyClient; |
| | | import cn.gistack.sm.patrol.entity.PatrolRecord; |
| | | import cn.gistack.sm.patrol.entity.PatrolReport; |
| | | import cn.gistack.sm.patrol.entity.PatrolTask; |
| | |
| | | import cn.gistack.sm.patrol.service.IPatrolTaskService; |
| | | import cn.gistack.sm.patrol.util.EnhancementServicesTool; |
| | | import cn.gistack.sm.patrol.util.IdWorker; |
| | | import cn.gistack.sm.patrol.vo.BladeFlowTask; |
| | | import cn.gistack.sm.patrol.vo.PatrolTaskReport; |
| | | import cn.gistack.sm.patrol.vo.PatrolTaskVO; |
| | | import cn.gistack.sm.patrol.vo.*; |
| | | import cn.gistack.sm.sjztmd.service.IYwTermitesTaskService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.net.http.HttpRequest; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; |
| | | |
| | |
| | | private final IFlowClient flowClient; |
| | | private final IPatrolRecordService patrolRecordService; |
| | | private final IPatrolReportService patrolReportService; |
| | | private final INkyClient nkyClient; |
| | | private final IYwTermitesTaskService waterDataTermitesService; |
| | | |
| | | /** |
| | | * 自定义分页查询 |
| | |
| | | */ |
| | | @Override |
| | | public IPage<PatrolTaskVO> selectPatrolTask(IPage<PatrolTaskVO> page, PatrolTaskVO patrolTask) { |
| | | List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTask(page, patrolTask); |
| | | return page.setRecords(patrolTaskList); |
| | | // List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTask(page, patrolTask); |
| | | |
| | | List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTaskPage(page.getCurrent()-1,page.getSize(),patrolTask); |
| | | long total = baseMapper.getPatrolTaskTotal(patrolTask); |
| | | page.setRecords(patrolTaskList); |
| | | page.setTotal(total); |
| | | |
| | | return page; |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean startProcess(PatrolTask patrolTask) { |
| | | public PatrolTask startProcess(PatrolTask patrolTask) { |
| | | String businessTable = FlowUtil.getBusinessTable(ProcessConstant.PATROL_KEY); |
| | | if (Func.isEmpty(patrolTask.getId())) { |
| | | save(patrolTask); |
| | |
| | | } else { |
| | | updateById(patrolTask); |
| | | } |
| | | return true; |
| | | return patrolTask; |
| | | } |
| | | |
| | | @Override |
| | |
| | | //保存上报 |
| | | //停用 |
| | | // saveReport(patrolTask); |
| | | |
| | | |
| | | //查监测预警表,看是否有这个任务,有的话修改任务状态 |
| | | Boolean finishDamTask = nkyClient.finishTask(patrolTask.getId().toString()); |
| | | if (!finishDamTask){ |
| | | //查白蚁表,看是否有这个任务,有的话修改任务状态 |
| | | Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTask.getId().toString()); |
| | | } |
| | | |
| | | return baseMapper.updateById(patrolTask) >0; |
| | | }else { |
| | | return false; |
| | |
| | | |
| | | @Override |
| | | public IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) { |
| | | List<PatrolTaskReport> list = new ArrayList(); |
| | | List<PatrolTaskReport> list = new ArrayList<>(); |
| | | |
| | | switch (patrolTaskReport.getRegionFlag()){ |
| | | case "1": //省 获取市级数据 |
| | | list = baseMapper.getCityReportPage(page,patrolTaskReport); |
| | | break; |
| | | case "2"://市 获取区县级数据 |
| | | list = baseMapper.getCountyReportPage(page,patrolTaskReport); |
| | | break; |
| | | case "3"://区县 获取乡镇级数据 |
| | | list = baseMapper.getTownReportPage(page,patrolTaskReport); |
| | | break; |
| | | case "4"://乡镇 获取水库数据 |
| | | list = baseMapper.getReservoirReportPage(page,patrolTaskReport); |
| | | break; |
| | | default: |
| | | break; |
| | | //获取行政区划统计报表 |
| | | if (patrolTaskReport.getRegionFlag().equals("1")){ |
| | | list = baseMapper.getRegionReportPage(page,patrolTaskReport); |
| | | }else { |
| | | //获取水库巡查报表 |
| | | list = baseMapper.getReservoirReportPage(page,patrolTaskReport); |
| | | } |
| | | return page.setRecords(list); |
| | | } |
| | |
| | | public List<PatrolTaskReport> getTaskReportList(PatrolTaskReport patrolTaskReport) { |
| | | List<PatrolTaskReport> list = new ArrayList(); |
| | | |
| | | switch (patrolTaskReport.getRegionFlag()){ |
| | | case "1": //省 获取市级数据 |
| | | list = baseMapper.getCityReportList(patrolTaskReport); |
| | | break; |
| | | case "2"://市 获取区县级数据 |
| | | list = baseMapper.getCountyReportList(patrolTaskReport); |
| | | break; |
| | | case "3"://区县 获取乡镇级数据 |
| | | list = baseMapper.getTownReportList(patrolTaskReport); |
| | | break; |
| | | case "4"://乡镇 获取水库数据 |
| | | list = baseMapper.getReservoirReportList(patrolTaskReport); |
| | | break; |
| | | default: |
| | | break; |
| | | //获取行政区划统计报表 |
| | | if (patrolTaskReport.getRegionFlag().equals("1")){ |
| | | list = baseMapper.getRegionReportList(patrolTaskReport); |
| | | }else { |
| | | //获取水库巡查报表 |
| | | list = baseMapper.getReservoirReportList(patrolTaskReport); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<TaskStatusCount> getTaskStatusCount(PatrolTaskVO patrolTaskVO) { |
| | | return baseMapper.getTaskStatusCount(patrolTaskVO); |
| | | } |
| | | |
| | | @Override |
| | | public List<TaskStatusCount> getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO) { |
| | | List<TaskStatusCount> list = new ArrayList<>(); |
| | | // TaskStatusCount all = baseMapper.getTaskStatusCountAll(patrolTaskVO); |
| | | // |
| | | // TaskStatusCount unfinished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"1"); |
| | | // TaskStatusCount processing = baseMapper.getTaskStatusCountByType(patrolTaskVO,"2"); |
| | | // TaskStatusCount finished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"3"); |
| | | // |
| | | // list.add(unfinished); |
| | | // list.add(processing); |
| | | // list.add(finished); |
| | | // list.add(all); |
| | | |
| | | TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO); |
| | | |
| | | TaskStatusCount unfinished = new TaskStatusCount("未完成","1",taskStatus.getUnfinished()); |
| | | TaskStatusCount processing = new TaskStatusCount("进行中","2",taskStatus.getProcessing()); |
| | | TaskStatusCount finished = new TaskStatusCount("已完成","3",taskStatus.getFinished()); |
| | | TaskStatusCount all = new TaskStatusCount("全部","",taskStatus.getTotal()); |
| | | |
| | | list.add(unfinished); |
| | | list.add(processing); |
| | | list.add(finished); |
| | | list.add(all); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public TaskStatus getTaskStatus(PatrolTaskVO patrolTaskVO) { |
| | | |
| | | TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO); |
| | | |
| | | return taskStatus; |
| | | } |
| | | |
| | | @Override |
| | | public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) { |
| | | return baseMapper.getTaskTypeCount(patrolTaskVO); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport) { |
| | | |
| | | List<PatrolTaskReport> list = new ArrayList(); |
| | | if (Func.isNotEmpty(patrolTaskReport.getReservoirId())){ |
| | | //获取该水库的巡查 |
| | | list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport); |
| | | }else { |
| | | String code = patrolTaskReport.getAdCode(); |
| | | if (code.substring(0,4).indexOf("00") > -1) { |
| | | //前4位包含00 =》省 |
| | | patrolTaskReport.setAdCode(code.substring(0,2)); |
| | | } else if (code.substring(0,6).indexOf("00") > -1) { |
| | | //前六位包含00 =》市 |
| | | patrolTaskReport.setAdCode(code.substring(0,4)); |
| | | } |
| | | list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport); |
| | | } |
| | | |
| | | list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport); |
| | | |
| | | return page.setRecords(list); |
| | | } |
| | | |