From 80b15c4aeff0024b9691bf2cfb24c50c11b51ff9 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 25 八月 2023 10:34:39 +0800 Subject: [PATCH] 延期整改 --- src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java | 240 ++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 128 insertions(+), 112 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java index 04bab21..bd2cfb0 100644 --- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java +++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java @@ -24,19 +24,22 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; +import java.text.SimpleDateFormat; +import java.util.*; @Component public class SearchReportDateSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); + public static SimpleDateFormat startFormat = new SimpleDateFormat("yyyy-MM-dd 06:30:00"); + public static SimpleDateFormat endFormat = new SimpleDateFormat("yyyy-MM-dd 23:59:59"); + + public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Autowired private PreventReportConfigService preventReportConfigService; @@ -98,16 +101,15 @@ private PreventTaskTypeService taskTypeService;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired - private PreventOverhaulLogService overhaulLogService;//隐患信息附属表 + private PreventOverhaulLogService overhaulLogService; @Autowired - private PreventCJReportOverhaulLogService reportOverhaulLogService;//隐患信息附属表 + private PreventCJReportOverhaulLogService reportOverhaulLogService; @Transactional // @Scheduled(cron = "0 0/1 * * * ? ") // 分钟 // @Scheduled(cron = "0/30 * * * * ?") // 30秒 -// @Scheduled(cron = "0 0 0/2 * * ?") // 小时 - + @Scheduled(cron = "0 0/30 * * * ? ") // 分钟 public void searchReportDate(){ logger.info("【双重预防】定时检索需要上报数据..."); @@ -276,7 +278,6 @@ //获取上报数据对象 PreventCJReportRiskControlMeasure CJReportMeasure = new PreventCJReportRiskControlMeasure(); //转换数据 - // todo 逻辑改变 PreventRiskControlTemplate controlTemplateById = preventRiskControlTemplateService.getControlTemplateById(measure.getClassify2()); String classify2 = measure.getClassify1() + "-" + controlTemplateById.getOrderIndex(); @@ -330,7 +331,6 @@ /** * 4、检索 任务配置 数据 prevent_report_check_record_from_task - * 本数据以 todo * */ //读取任务配置数据上报主配置信息 PreventReportConfig workReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode()); @@ -354,6 +354,8 @@ if (jobById.getTroubleshootTypeCycleType() == 1){ CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum())); CJTaskFromWork.setCheckCycleUnit("小时"); + CJTaskFromWork.setWorkStartTime("00:00:00"); + CJTaskFromWork.setWorkEndTime("23:59:59"); }else if (jobById.getTroubleshootTypeCycleType() == 2){ CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum())); CJTaskFromWork.setCheckCycleUnit("天"); @@ -394,6 +396,23 @@ CJTaskFromWork.setDataSource((byte) 1); CJTaskFromWork.setRiskMeasureId(work.getMeasureUuid()); CJTaskFromWork.setWorkId(jobById.getJobId()); + + //第二版标准新增 + PreventRiskControlMeasure measureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(work.getMeasureId()); + CJTaskFromWork.setTroubleshootContent(measureById.getCheckContent()); + CJTaskFromWork.setTaskStartTime(jobById.getStartTime()); + + CJTaskFromWork.setWorkDayType("0"); + List<PreventTaskType> typeByJobId = taskTypeService.getInfoByJobId(work.getJobId()); + int typeTag = 0; + for (PreventTaskType taskType : typeByJobId) { + typeTag = taskType.getType(); + } + if (typeTag !=0){ + CJTaskFromWork.setTaskNum("1"); + } + CJTaskFromWork.setWorkType(String.valueOf(typeTag)); + //封装数据 CJTaskFromWorkLists.add(CJTaskFromWork); //设置原始数据上报状态 @@ -401,7 +420,6 @@ handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); preventRiskJobAndMeasureService.updateWorkReportStatus(handlerReportParam); - } }else { logger.info("【双重预防】当前无任务配置数据需要处理"); @@ -426,13 +444,13 @@ if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ //logger.info("【##】5.检索排查任务记录数据..."); + System.out.println("【##】5.检索排查任务记录数据..."); //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listReportTask(); //获取上报数据对象 List<PreventCJReportCheckRecordFromTask> CJRecordFromTaskLists = new ArrayList<>(); HandlerReportParam handlerReportParam = new HandlerReportParam(); - if (ObjectUtils.isNotEmpty(tasks)){ //遍历,封装数据 for (PreventRiskDangerCheckLog task : tasks) { @@ -441,21 +459,6 @@ //获取任务附属表信息 PreventRiskJobAndMeasure jobAndMeasureByJobId = preventRiskJobAndMeasureService.getJobAndMeasureByJobId(task.getJobId()); //转换检查结果 - /** - * examineUserName,checkTime 任务执行后,不为空 不使用; - * tr_hidden_danger_check 的 scheduleCheckStatus 0 未排查, 1已排查 - * 结果暂时不写入,需要后续处理 ---检查源任务相关的检查点结果 - * 1.找到每个点的提交接口,进行数据处理 - * 2.写一个定时任务处理(备用) - * */ - - /** - * todo 排查后的任务才上报 - * examineUserName,checkTime 任务执行后,不为空 不使用; - * tr_hidden_danger_check 的 scheduleCheckStatus 0 未排查, 1已排查 - * todo 先找到所有已经排查的任务,然后查询 tr_hidden_danger_check_point ,whether_danger 是否为隐患(0为正常 1为隐患) ,未处理的任务,该值为空 - * 部分查询结果为空,需要对tr_hidden_danger_check_point结果做判空 - * */ //如果已经执行过,进入方法 if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1){ @@ -470,7 +473,7 @@ PreventCJReportCheckRecordFromTask CJRecordFromTask = new PreventCJReportCheckRecordFromTask(); CJRecordFromTask.setCheckStatus("0");// 0-正常;1-存在隐患;2-未处理;3-其他 if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1){ - CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他 + CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他 } User createUser = new User(); createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy()); @@ -479,7 +482,7 @@ } User updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy()); - //封装上报昌吉州的任务数据 todo taskUUid + //封装上报昌吉州的任务数据 // String taskUuid = UUID.randomUUID().toString(); CJRecordFromTask.setId(UUID.randomUUID().toString()); CJRecordFromTask.setCompanyCode(companyCode); @@ -517,20 +520,31 @@ 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; + } + } + CJRecordFromTask.setDefend(String.valueOf(typeTag)); //封装数据 CJRecordFromTaskLists.add(CJRecordFromTask); } } - //设置原始数据上报状态 handlerReportParam.setId(task.getId()); handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam); - + int i = 1; +// System.out.println("【##】数据封装" + 1); } + System.out.println("【##】5.数据封装完成..."); // String checkStatus = null; // if (ObjectUtils.isEmpty(task.getResult() )){ // checkStatus = "2"; @@ -587,11 +601,13 @@ //通过用户名,获取涉及到的各位用户的真实姓名 User createUser = new User(); - createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy()); + createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy()); //todo +// createUser = trUserService.getUserByLoginName("guotai"); if(ObjectUtils.isEmpty(createUser)){ createUser = trUserService.getUserByName(hiddenDanger.getCreateBy()); } - User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); + User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); //todo +// User updateUser = trUserService.getUserByLoginName("guotai"); if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){ User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName()); //登记人信息 @@ -611,6 +627,7 @@ CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况 CJDangerInfo.setCheckAcceptTime(hiddenDanger.getAcceptCreateTime());//验收时间 } + //如果排查任务正常存在,封装任务相关数据 if (Integer.parseInt(hiddenDanger.getDangerSources()) != 2){ HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId()); @@ -628,11 +645,7 @@ CJDangerInfo.setRiskMeasureId(null);//管控措施uuid } - if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ - CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 - }else { - CJDangerInfo.setDeleted("0"); - } + CJDangerInfo.setDeleted("0"); CJDangerInfo.setId(dangerManage.getUuid()); CJDangerInfo.setCompanyCode(companyCode); CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码 @@ -652,20 +665,25 @@ int i = 1; CJDangerInfo.setHazardCategory(taskTypeInfo.getType().toString()); } - CJDangerInfo.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); CJDangerInfo.setReportTime(null); CJDangerInfo.setDataSource((byte) 1); CJDangerInfo.setDangerName(hiddenDanger.getDangerName()); CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());//隐患等级 CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());//隐患来源 - CJDangerInfo.setDangerManageType(hiddenDanger.getRectifyType());//隐患治理类型 + if (hiddenDanger.getRectifyType().equals("1")){ + CJDangerInfo.setDangerManageType("0");//隐患治理类型 + }else { + CJDangerInfo.setDangerManageType("1");//隐患治理类型 + } CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());//隐患描述 CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因 CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金 CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());//治理期限 - CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态 - CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());//隐患类型 + if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())){ + CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态 + } + CJDangerInfo.setHazardDangerType(hiddenDanger.getHazardDangerType().toString());//隐患类型 CJDangerInfo.setDangerManagerId(dangerManage.getId()); //封装数据 CJDangerInfoLists.add(CJDangerInfo); @@ -675,9 +693,7 @@ handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); //修改隐患信息附属表状态 preventRiskDangerInfoService.updateDangerInfoReportStatus(handlerReportParam); - } - }else { logger.info("【双重预防】当前无隐患信息需要处理"); } @@ -698,74 +714,74 @@ - /** - * 7、检索检修记录数据 - * */ - //读取风险分析单元数据上报主配置信息 - PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode()); - //如果风险事件主配置开启上报 - if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ - - //logger.info("【##】2.检索检修记录..."); - //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) - List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog(); - //获取上报数据对象与list - List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>(); - if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){ - //遍历,封装数据 - for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) { - HandlerReportParam handlerReportParam = new HandlerReportParam(); - PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog(); - - //封装上报昌吉州检修记录数据 - CJOverhaulLog.setId(preventOverhaulLog.getUuid()); - if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ - CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 - }else { - CJOverhaulLog.setDeleted("0"); - } - CJOverhaulLog.setCompanyCode(companyCode); - CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode()); - CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid()); - CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime()); - CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime()); - CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason()); - CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName()); - CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate()); - CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName()); - CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify()); - CJOverhaulLog.setReportTime(null); - CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); - CJOverhaulLog.setDataSource((byte) 1); - - //封装数据 - CJOverhaulLogLists.add(CJOverhaulLog); - //设置原始数据上报状态 - handlerReportParam.setId(preventOverhaulLog.getId()); - handlerReportParam.setReportTime(new Date()); - handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); - int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam); - if (result < 1){ - throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败"); - } - } - }else { - logger.info("【检修记录】当前无检修记录数据需要处理"); - } - //写入昌吉州转换表 - for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) { - int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog); - if (result < 1){ - throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败"); - } - logger.info("【检修记录】2.检修记录CJ:数据处理..."); - } - step = 3; - }else { - step = 3; - logger.info("检修记录数据上报已关闭"); - } - +// /** +// * 7、检索检修记录数据 +// * */ +// //读取风险分析单元数据上报主配置信息 +// PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode()); +// //如果风险事件主配置开启上报 +// if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ +// +// //logger.info("【##】2.检索检修记录..."); +// //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) +// List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog(); +// //获取上报数据对象与list +// List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>(); +// if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){ +// //遍历,封装数据 +// for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) { +// HandlerReportParam handlerReportParam = new HandlerReportParam(); +// PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog(); +// +// //封装上报昌吉州检修记录数据 +// CJOverhaulLog.setId(preventOverhaulLog.getUuid()); +// if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ +// CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 +// }else { +// CJOverhaulLog.setDeleted("0"); +// } +// CJOverhaulLog.setCompanyCode(companyCode); +// CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode()); +// CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid()); +// CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime()); +// CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime()); +// CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason()); +// CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName()); +// CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate()); +// CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName()); +// CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify()); +// CJOverhaulLog.setReportTime(null); +// CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); +// CJOverhaulLog.setDataSource((byte) 1); +// +// //封装数据 +// CJOverhaulLogLists.add(CJOverhaulLog); +// //设置原始数据上报状态 +// handlerReportParam.setId(preventOverhaulLog.getId()); +// handlerReportParam.setReportTime(new Date()); +// handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); +// int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam); +// if (result < 1){ +// throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败"); +// } +// } +// }else { +// logger.info("【检修记录】当前无检修记录数据需要处理"); +// } +// //写入昌吉州转换表 +// for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) { +// int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog); +// if (result < 1){ +// throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败"); +// } +// logger.info("【检修记录】2.检修记录CJ:数据处理..."); +// } +// step = 3; +// }else { +// step = 3; +// logger.info("检修记录数据上报已关闭"); +// } +// -- Gitblit v1.9.2