From 21e7d491658dbd969adbcf0bc2f13a5d563ab863 Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期四, 25 四月 2024 13:25:35 +0800 Subject: [PATCH] SPI数据,隐患等级饼图信息独立出来,调整查询方式 --- src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java | 181 ++++++++++++++++++++++++++++---------------- 1 files changed, 115 insertions(+), 66 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java index af3543b..2c410ea 100644 --- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java @@ -109,7 +109,7 @@ @Transactional // @Scheduled(cron = "0 0/1 * * * ? ") // 分钟 // @Scheduled(cron = "0/30 * * * * ?") // 30秒 - @Scheduled(cron = "0 0/30 * * * ? ") // 分钟 + @Scheduled(cron = "0 0/25 * * * ? ") // 分钟 public void searchReportDate(){ logger.info("【双重预防】定时检索需要上报数据..."); @@ -305,6 +305,7 @@ CJReportMeasure.setRiskMeasureId(measure.getId()); CJReportMeasure.setTroubleshootContent(measure.getCheckContent()); + //封装数据 CJMeasureLists.add(CJReportMeasure); //设置原始数据上报状态 @@ -322,6 +323,7 @@ //写入上报昌吉州转换表 for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasureLists) { CJMeasureService.insertMeasureList(CJMeasure); + logger.info("【双重预防】3.安全风险管控措施CJ:数据处理..."); } }else { @@ -448,16 +450,21 @@ //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listReportTask(); + List<Long> taskIds = new ArrayList<>(); //获取上报数据对象 List<PreventCJReportCheckRecordFromTask> CJRecordFromTaskLists = new ArrayList<>(); - HandlerReportParam handlerReportParam = new HandlerReportParam(); + int tag = 0; +// HandlerReportParam handlerReportParam = new HandlerReportParam(); +// List<HandlerReportParam> handlerReportParamList = new ArrayList<>(); if (ObjectUtils.isNotEmpty(tasks)){ + //获取信息 + List<User> allUserList = trUserService.getAllUser(); + List<PreventRiskControlMeasure> allMeasureList = preventRiskControlMeasureService.getAllMeasureList(); + List<PreventTaskType> allTaskTypeList = taskTypeService.getAllTaskTypeList(); //遍历,封装数据 for (PreventRiskDangerCheckLog task : tasks) { //获取任务记录主表信息 HiddenDangerCheck hiddenDangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(task.getCheckId()); - //获取任务附属表信息 - PreventRiskJobAndMeasure jobAndMeasureByJobId = preventRiskJobAndMeasureService.getJobAndMeasureByJobId(task.getJobId()); //转换检查结果 //如果已经执行过,进入方法 if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1){ @@ -475,12 +482,34 @@ if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1){ CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他 } + User createUser = new User(); - createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy()); - if(ObjectUtils.isEmpty(createUser)){ - createUser = trUserService.getUserByName(hiddenDangerCheckById.getCreateBy()); + User updateUser = new User(); +// createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy()); +// if(ObjectUtils.isEmpty(createUser)){ +// createUser = trUserService.getUserByName(hiddenDangerCheckById.getCreateBy()); +// } +// updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy()); + + + // todo 取出所有用户信息,再循环在匹配 + for (User user : allUserList) { + if (hiddenDangerCheckById.getCreateBy().equals(user.getLoginName())){ + createUser = user; + } + if (hiddenDangerCheckById.getUpdateBy().equals(user.getLoginName())){ + updateUser = user; + } } - User updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy()); + if(ObjectUtils.isEmpty(createUser)){ + for (User user : allUserList) { + if (hiddenDangerCheckById.getCreateBy().equals(user.getUserName())){ + createUser = user; + } + } + } + + //封装上报昌吉州的任务数据 // String taskUuid = UUID.randomUUID().toString(); @@ -513,22 +542,43 @@ for (PreventRiskDangerCheckAndMeasure checkAndMeasure : baseCheckPointAndMeasure) { controlMeasureId = checkAndMeasure.getControlMeasureId(); } - //获取该条记录对应的管控措施uuid - PreventRiskControlMeasure preventRiskControlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(controlMeasureId); - //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid - PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(preventRiskControlMeasureById.getUuid(), task.getJobId()); - CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId()); +// //获取该条记录对应的管控措施uuid +// PreventRiskControlMeasure preventRiskControlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(controlMeasureId); +// //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid +// PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(preventRiskControlMeasureById.getUuid(), task.getJobId()); +// CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId()); + // todo 取出所有措施,再循环在匹配 + for (PreventRiskControlMeasure measure : allMeasureList) { + if (controlMeasureId.equals(measure.getId())){ + //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid + PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(measure.getUuid(), task.getJobId()); + CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId()); + } + } + + CJRecordFromTask.setCheckTime(hiddenDangerCheckById.getCheckTime()); CJRecordFromTask.setTaskId(task.getCheckId()); //第二版标准新增 CJRecordFromTask.setMobileCode(task.getMobileCode().toString()); - List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId()); + int typeTag = 0; - for (PreventTaskType typeByJobId : typeByJobIds) { - if (typeByJobId.getType()!= 0) { - typeTag = 1; +// List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId()); +// for (PreventTaskType typeByJobId : typeByJobIds) { +// if (typeByJobId.getType()!= 0) { +// typeTag = 1; +// } +// } + + // todo 取出所有任务信息表,再循环在匹配 + for (PreventTaskType taskType : allTaskTypeList) { + if (taskType.getJobId().equals(task.getJobId())){ + if (taskType.getType()!= 0) { + typeTag = 1; + } } } + CJRecordFromTask.setDefend(String.valueOf(typeTag)); //封装数据 @@ -537,37 +587,35 @@ } //设置原始数据上报状态 - handlerReportParam.setId(task.getId()); - handlerReportParam.setReportTime(new Date()); - handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); - preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam); +// handlerReportParam.setId(task.getId()); +// handlerReportParam.setReportTime(new Date()); +// handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); +// handlerReportParamList.add(handlerReportParam); +// preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam); int i = 1; -// System.out.println("【##】数据封装" + 1); + taskIds.add(task.getId()); + tag ++; } System.out.println("【##】5.数据封装完成..."); -// String checkStatus = null; -// if (ObjectUtils.isEmpty(task.getResult() )){ -// checkStatus = "2"; -// }else if (task.getResult() == 2){ -// checkStatus = "1"; -// }else if (task.getResult() == 1){ -// checkStatus = "0"; -// } + } }else { logger.info("【双重预防】当前无排查任务记录需要处理"); } - //插入上报昌吉州转换表 - for (PreventCJReportCheckRecordFromTask CJRecordFromTasks : CJRecordFromTaskLists) { - int result = CJTaskRecordService.insert(CJRecordFromTasks); - if (result < 0){ - throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败"); - } + if (CJRecordFromTaskLists.size() > 0){ logger.info("【双重预防】排查任务记录CJ:数据处理..."); + //设置原始数据状态 + int taskUpdateResult = preventRiskDangerCheckLogService.updateTaskReportStatusByList(taskIds); + if (taskUpdateResult < taskIds.size()){ + throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录原始数据更新失败, 取消操作"); + } + int result = CJTaskRecordService.insertRecordList(CJRecordFromTaskLists); + if (result < CJRecordFromTaskLists.size()){ + throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败, 取消操作"); + } } step = 6; - }else { step = 6; logger.info("排查任务记录数据上报已关闭"); @@ -601,12 +649,12 @@ //通过用户名,获取涉及到的各位用户的真实姓名 User createUser = new User(); - createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy()); //todo + createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy()); // createUser = trUserService.getUserByLoginName("guotai"); if(ObjectUtils.isEmpty(createUser)){ createUser = trUserService.getUserByName(hiddenDanger.getCreateBy()); } - User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); //todo + User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); // User updateUser = trUserService.getUserByLoginName("guotai"); if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){ User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName()); @@ -631,26 +679,27 @@ } //如果排查任务正常存在,封装任务相关数据 - if (Integer.parseInt(hiddenDanger.getDangerSources()) != 2){ - HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId()); - - PreventRiskDangerCheckLog dangerCheckLogByCheckId = preventRiskDangerCheckLogService.getByDangerCheckByCheckId(hiddenDanger.getCheckId()); - CJDangerInfo.setCheckRecordId(dangerCheckLogByCheckId.getUuid());//隐患排查任务记录uuid - //找排查点,然后查措施 - PreventRiskCheckUnit unit = preventRiskCheckUnitService.getUnitByBaseCheckPointId(hiddenDanger.getCheckPointId()); - //查管控措施 - PreventRiskControlMeasure controlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(unit.getControlMeasureId()); - CJDangerInfo.setRiskMeasureId(controlMeasureById.getUuid());//管控措施uuid - CJDangerInfo.setControlMeasures(controlMeasureById.getCheckContent());//控制措施 ,整改措施 - }else { - CJDangerInfo.setCheckRecordId(null);//隐患排查任务记录uuid - CJDangerInfo.setRiskMeasureId(null);//管控措施uuid - } - +// if (Integer.parseInt(hiddenDanger.getDangerSources()) != 2){ +// HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId()); +// +// PreventRiskDangerCheckLog dangerCheckLogByCheckId = preventRiskDangerCheckLogService.getByDangerCheckByCheckId(hiddenDanger.getCheckId()); +// CJDangerInfo.setCheckRecordId(dangerCheckLogByCheckId.getUuid());//隐患排查任务记录uuid +// //找排查点,然后查措施 +// PreventRiskCheckUnit unit = preventRiskCheckUnitService.getUnitByBaseCheckPointId(hiddenDanger.getCheckPointId()); +// //查管控措施 +// PreventRiskControlMeasure controlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(unit.getControlMeasureId()); +// CJDangerInfo.setRiskMeasureId(controlMeasureById.getUuid());//管控措施uuid +// CJDangerInfo.setControlMeasures(controlMeasureById.getCheckContent());//控制措施 ,整改措施 +// }else { +// CJDangerInfo.setCheckRecordId(null); +// CJDangerInfo.setRiskMeasureId(null); +// } + CJDangerInfo.setCheckRecordId(null); + CJDangerInfo.setRiskMeasureId(null);//默认无任务 CJDangerInfo.setDeleted("0"); CJDangerInfo.setId(dangerManage.getUuid()); CJDangerInfo.setCompanyCode(companyCode); - CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码 + CJDangerInfo.setHazardCode(dangerManage.getHazardCode()); CJDangerInfo.setCreateBy(createUser.getUserName()); CJDangerInfo.setCreateDate(hiddenDanger.getCreateTime()); @@ -671,22 +720,22 @@ CJDangerInfo.setReportTime(null); CJDangerInfo.setDataSource((byte) 1); CJDangerInfo.setDangerName(hiddenDanger.getDangerName()); - CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());//隐患等级 - CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());//隐患来源 + CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel()); + CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString()); if (hiddenDanger.getRectifyType().equals("1")){ - CJDangerInfo.setDangerManageType("0");//隐患治理类型 + CJDangerInfo.setDangerManageType("0"); }else { - CJDangerInfo.setDangerManageType("1");//隐患治理类型 + CJDangerInfo.setDangerManageType("1"); } - CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());//隐患描述 - CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因 - CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());//治理期限 + CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription()); + CJDangerInfo.setDangerReason(dangerManage.getDangerReason()); + CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime()); if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())){ - CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态 + CJDangerInfo.setDangerState(dangerManage.getDangerState().toString()); } - CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());// todo 隐患类型 + CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString()); CJDangerInfo.setDangerManagerId(dangerManage.getId()); - //封装数据 + CJDangerInfoLists.add(CJDangerInfo); //设置原始数据上报状态 handlerReportParam.setId(dangerManage.getId()); -- Gitblit v1.9.2