| | |
| | | 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 com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.net.http.HttpRequest; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; |
| | | |
| | | @Service |
| | | @AllArgsConstructor |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class PatrolTaskServiceImpl extends BaseServiceImpl<PatrolTaskMapper, PatrolTask> implements IPatrolTaskService { |
| | | private final IFlowClient flowClient; |
| | | private final IPatrolRecordService patrolRecordService; |
| | |
| | | variables.put("taskUser",StringUtil.format("{}{}", TASK_USR_PREFIX, taskUser)); |
| | | // 完成任务 |
| | | flowClient.completeTask(taskId,processInstanceId,comment,variables); |
| | | saveReport(patrolTask); |
| | | //保存巡查记录 |
| | | patrolRecordService.saveBatch(patrolTask.getPatrolRecordList()); |
| | | //保存上报 |
| | | //停用 |
| | | // saveReport(patrolTask); |
| | | return baseMapper.updateById(patrolTask) >0; |
| | | }else { |
| | | return false; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public PatrolTask customizeGetById(String businessId) { |
| | | public PatrolTaskVO customizeGetById(String businessId) { |
| | | return baseMapper.customizeGetById(businessId); |
| | | } |
| | | |
| | |
| | | return baseMapper.getAll(patrolTaskVO); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) { |
| | | 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; |
| | | } |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | @Override |
| | | 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; |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveReport(PatrolTask patrolTask){ |
| | | //拿到当前任务下的异常巡查记录 |
| | | PatrolRecord patrolRecord = new PatrolRecord(); |