| | |
| | | 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.vo.BladeFlowTask; |
| | | import cn.gistack.sm.patrol.vo.PatrolTaskReport; |
| | | import cn.gistack.sm.patrol.vo.PatrolTaskVO; |
| | | import cn.gistack.sm.patrol.vo.TaskStatusCount; |
| | | import cn.gistack.sm.sjztmd.service.IWaterDataTermitesService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | |
| | | private final IFlowClient flowClient; |
| | | private final IPatrolRecordService patrolRecordService; |
| | | private final IPatrolReportService patrolReportService; |
| | | private final INkyClient nkyClient; |
| | | private final IWaterDataTermitesService waterDataTermitesService; |
| | | |
| | | /** |
| | | * 自定义分页查询 |
| | |
| | | |
| | | @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> 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); |
| | | } |
| | | |