package com.ruoyi.doublePrevention.scheduls; import com.ruoyi.doublePrevention.entity.*; import com.ruoyi.doublePrevention.entity.CJReport.*; import com.ruoyi.doublePrevention.enums.E; import com.ruoyi.doublePrevention.enums.SyncEnum; import com.ruoyi.doublePrevention.exception.AusinessException; import com.ruoyi.doublePrevention.repository.param.HandlerReportParam; import com.ruoyi.doublePrevention.service.baseService.*; import com.ruoyi.project.system.dept.domain.Dept; import com.ruoyi.project.system.dept.service.IDeptService; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.service.IUserService; import com.ruoyi.project.tr.HiddenDangerCheckJob.domain.HiddenDangerCheckJob; import com.ruoyi.project.tr.HiddenDangerCheckJob.service.IHiddenDangerCheckJobService; import com.ruoyi.project.tr.hiddenDangerCheck.domain.HiddenDangerCheck; import com.ruoyi.project.tr.hiddenDangerCheck.service.IHiddenDangerCheckService; import com.ruoyi.project.tr.hiddenDangerCheckPoint.domain.HiddenDangerCheckPoint; import com.ruoyi.project.tr.hiddenDangerCheckPoint.service.IHiddenDangerCheckPointService; import com.ruoyi.project.tr.riskList.domain.RiskList; import com.ruoyi.project.tr.riskList.service.IRiskListService; import org.apache.commons.lang3.ObjectUtils; 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; @Component public class SearchReportDateSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private PreventReportConfigService preventReportConfigService; @Autowired private PreventCJReportRiskAnaUnitService CJRiskAnaUnitService; @Autowired private PreventCJReportRiskEventService CJEventService; @Autowired private PreventCJReportRiskControlMeasureService CJMeasureService; @Autowired private PreventCJReportCheckTaskFromWorkService CJTaskFromWorkService; @Autowired private PreventCJReportCheckRecordFromTaskService CJTaskRecordService; @Autowired private PreventCJReportDangerInfoService CJDangerInfoService; @Autowired private PreventCJReportPointService CJPointService; @Autowired private IDeptService trDeptService; //部门服务 @Autowired private IUserService trUserService; //用户服务 @Autowired private IRiskListService trRiskAnaUnitService; //风险设备、分析单元 @Autowired private PreventRiskUnitUuidService preventRiskUnitUuidService; //风险设备、分析单元附属表 @Autowired private PreventRiskEventService preventRiskEventService; @Autowired private PreventRiskControlMeasureService preventRiskControlMeasureService; @Autowired private PreventRiskControlTemplateService preventRiskControlTemplateService; @Autowired private IHiddenDangerCheckJobService trHiddenDangerCheckJobService;//排查任务job @Autowired private PreventRiskJobAndMeasureService preventRiskJobAndMeasureService;//排查任务附属表 @Autowired private IHiddenDangerCheckService trHiddenDangerCheckService;//排查任务记录 @Autowired private PreventRiskDangerCheckLogService preventRiskDangerCheckLogService;//排查任务记录附属表 @Autowired private IHiddenDangerCheckPointService trHiddenDangerCheckPointService;//隐患信息上报、整改、验收 @Autowired private PreventRiskDangerInfoService preventRiskDangerInfoService;//隐患信息附属表 @Autowired private PreventRiskCheckUnitService preventRiskCheckUnitService;//管控措施,任务清单对应关系。基础排查点附属表 @Transactional // @Scheduled(cron = "0 0/1 * * * ? ") // 分钟 // @Scheduled(cron = "0/30 * * * * ?") // 30秒 @Scheduled(cron = "0 0 0/2 * * ?") // 小时 public void searchReportDate(){ logger.info("【双重预防】定时检索需要上报数据..."); int step = 1; String companyCode = "652310082"; /** * 1、检索风险分析单元 * */ //读取风险分析单元数据上报主配置信息 PreventReportConfig unitReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_ANA_UNIT.getCode()); //如果主配置开启上报,开始 if (unitReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ logger.info("【##】1.检索风险分析单元..."); //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List riskUnitUuidList = preventRiskUnitUuidService.listRiskAnaUnit(); //获取上报数据list // List unitLists = new ArrayList<>(); List CJUnitLists = new ArrayList<>(); if (ObjectUtils.isNotEmpty(riskUnitUuidList)){ HandlerReportParam handlerReportParam = new HandlerReportParam(); //遍历,封装数据 for (PreventRiskUnitUuid riskUnitUuid : riskUnitUuidList) { //查询漯安表中对应数据 RiskList infoByRiskId = trRiskAnaUnitService.getInfoByRiskListId(riskUnitUuid.getRiskUnitId()); //获取上报数据对象 PreventCJReportRiskAnaUnit CJReportRiskAnaUnit = new PreventCJReportRiskAnaUnit(); //此类方法已经修改,实际使用username User createUser = trUserService.getUserByLoginName(infoByRiskId.getCreateBy()); User updateUser = trUserService.getUserByLoginName(infoByRiskId.getUpdateBy()); User userById = trUserService.getUserById(infoByRiskId.getUserId()); Dept depById = trDeptService.getDepById(infoByRiskId.getDeptId()); //封装上报昌吉州的风险分析单元数据 CJReportRiskAnaUnit.setId(riskUnitUuid.getRiskUnitUuid());//此处封装附属表的uuid CJReportRiskAnaUnit.setCompanyCode(companyCode); CJReportRiskAnaUnit.setRiskUnitName(infoByRiskId.getRiskListName()); CJReportRiskAnaUnit.setHazardCode(infoByRiskId.getRiskListNum()); CJReportRiskAnaUnit.setHazardDep(depById.getDeptName()); CJReportRiskAnaUnit.setHazardLiablePerson(userById.getUserName()); CJReportRiskAnaUnit.setDeleted("0"); // if (riskUnitUuid.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ // CJReportRiskAnaUnit.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 // }else { // CJReportRiskAnaUnit.setDeleted(riskAnaUnit.getDeleteStatus().toString()); // } CJReportRiskAnaUnit.setCreateBy(createUser.getUserName()); CJReportRiskAnaUnit.setCreateDate(infoByRiskId.getCreateTime()); if (ObjectUtils.isEmpty(updateUser)){ CJReportRiskAnaUnit.setUpdateBy(createUser.getUserName()); CJReportRiskAnaUnit.setUpdateDate(infoByRiskId.getUpdateTime()); }else { CJReportRiskAnaUnit.setUpdateBy(updateUser.getUserName()); CJReportRiskAnaUnit.setUpdateDate(infoByRiskId.getCreateTime()); } CJReportRiskAnaUnit.setDataSource((byte) 1); CJReportRiskAnaUnit.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); CJReportRiskAnaUnit.setReportTime(null); CJReportRiskAnaUnit.setRiskUnitId(infoByRiskId.getRiskListId());//此处封装主表的id //封装数据 CJUnitLists.add(CJReportRiskAnaUnit); //修改原始数据状态为待上传 handlerReportParam.setId(riskUnitUuid.getId());//此处修改的是附属表 handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); int result = preventRiskUnitUuidService.updateReportStatus(handlerReportParam); } }else { logger.info("【双重预防】当前无风险分析单元数据需要处理"); } //写入昌吉州转换表 for (PreventCJReportRiskAnaUnit CJUnit : CJUnitLists) { CJRiskAnaUnitService.insertUnitList(CJUnit); logger.info("【双重预防】1.风险分析单元CJ:数据处理..."); } step = 2; }else { step = 2; logger.info("风险分析单元数据上报已关闭"); } /** * 2、检索安全风险事件数据 * */ //读取风险分析单元数据上报主配置信息 PreventReportConfig eventReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_EVENT.getCode()); //如果风险事件主配置开启上报 if (eventReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ //logger.info("【##】2.检索安全风险事件..."); //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List riskEvents = preventRiskEventService.listReportEvent(); //获取上报数据对象与list List CJEventLists = new ArrayList<>(); if (ObjectUtils.isNotEmpty(riskEvents)){ //遍历,封装数据 for (PreventRiskEvent riskEvent : riskEvents) { //String eventUuid = UUID.randomUUID().toString(); HandlerReportParam handlerReportParam = new HandlerReportParam(); PreventCJReportRiskEvent CJReportRiskEvent = new PreventCJReportRiskEvent(); //封装上报昌吉州风险事件数据 CJReportRiskEvent.setId(riskEvent.getUuid()); CJReportRiskEvent.setCompanyCode(companyCode); if (riskEvent.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ CJReportRiskEvent.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 }else { CJReportRiskEvent.setDeleted("0"); } CJReportRiskEvent.setCreateBy(riskEvent.getCreateByUserName()); CJReportRiskEvent.setCreateDate(riskEvent.getGmtCreate()); CJReportRiskEvent.setUpdateBy(riskEvent.getCreateByUserName()); CJReportRiskEvent.setUpdateDate(riskEvent.getGmtModitify()); CJReportRiskEvent.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); CJReportRiskEvent.setReportTime(null); CJReportRiskEvent.setDataSource((byte) 1); PreventRiskUnitUuid riskUnitUuidByUnitId = preventRiskUnitUuidService.getRiskUnitUuidByUnitId(riskEvent.getRiskUnitId()); CJReportRiskEvent.setRiskUnitId(riskUnitUuidByUnitId.getRiskUnitUuid()); CJReportRiskEvent.setRiskEventName(riskEvent.getRiskEventName()); CJReportRiskEvent.setRiskEventId(riskEvent.getId()); //封装数据 CJEventLists.add(CJReportRiskEvent); //设置原始数据上报状态 handlerReportParam.setId(riskEvent.getId()); handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); preventRiskEventService.updateEventReportStatus(handlerReportParam); } }else { logger.info("【双重预防】当前无安全风险事件数据需要处理"); } //写入昌吉州转换表 for (PreventCJReportRiskEvent CJEvent : CJEventLists) { CJEventService.insertEventLists(CJEvent); logger.info("【双重预防】2.风险分析事件CJ:数据处理..."); } step = 3; }else { step = 3; logger.info("安全风险事件数据上报已关闭"); } /** * 3、检索安全风险管控措施数据 * */ //读取安全风险管控措施数据上报主配置信息 PreventReportConfig measureReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_RISK_MEASURE.getCode()); //如果安全风险管控措施主配置开启上报 if (measureReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ //logger.info("{【##】3.检索安全风险管控措施..."); //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List measures = preventRiskControlMeasureService.listReportMeasure(); //获取上报数据list List CJMeasureLists = new ArrayList<>(); HandlerReportParam handlerReportParam = new HandlerReportParam(); if (ObjectUtils.isNotEmpty(measures)){ //遍历,封装数据 for (PreventRiskControlMeasure measure : measures) { String measureUuid = UUID.randomUUID().toString(); //获取上报数据对象 PreventCJReportRiskControlMeasure CJReportMeasure = new PreventCJReportRiskControlMeasure(); //转换数据 // todo 逻辑改变 PreventRiskControlTemplate controlTemplateById = preventRiskControlTemplateService.getControlTemplateById(measure.getClassify2()); String classify2 = measure.getClassify1() + "-" + controlTemplateById.getOrderIndex(); //封装上报昌吉州管控措施数据 CJReportMeasure.setId(measure.getUuid()); CJReportMeasure.setCompanyCode(companyCode); if (measure.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ CJReportMeasure.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 }else { CJReportMeasure.setDeleted("0"); } CJReportMeasure.setCreateBy(measure.getCreateByUserName()); CJReportMeasure.setCreateDate(measure.getGmtCreate()); CJReportMeasure.setUpdateBy(measure.getCreateByUserName()); CJReportMeasure.setUpdateDate(measure.getGmtModitify()); CJReportMeasure.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); CJReportMeasure.setReportTime(null); CJReportMeasure.setDataSource((byte) 1); CJReportMeasure.setRiskEventId(measure.getRiskEventUuid()); CJReportMeasure.setRiskMeasureDesc(measure.getMeasureDesc()); CJReportMeasure.setDataSrc(measure.getControlType().toString()); CJReportMeasure.setClassify1(measure.getClassify1().toString()); CJReportMeasure.setClassify2(classify2); CJReportMeasure.setClassify3(measure.getClassify3()); CJReportMeasure.setRiskMeasureId(measure.getId()); CJReportMeasure.setTroubleshootContent(measure.getCheckContent()); //封装数据 CJMeasureLists.add(CJReportMeasure); //设置原始数据上报状态 handlerReportParam.setId(measure.getId()); handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); preventRiskControlMeasureService.updateMeasureReportStatus(handlerReportParam); } }else { logger.info("【双重预防】当前无安全风险管控措施数据需要处理"); } step = 4; //写入上报昌吉州转换表 for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasureLists) { CJMeasureService.insertMeasureList(CJMeasure); logger.info("【双重预防】3.安全风险管控措施CJ:数据处理..."); } }else { step = 4; logger.info("安全风险管控措施数据上报已关闭"); } /** * 4、检索 任务配置 数据 prevent_report_check_record_from_task * 本数据以 todo * */ //读取任务配置数据上报主配置信息 PreventReportConfig workReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode()); //如果任务配置主配置开启上报 if (workReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ // logger.info("【##】4.检索任务配置..."); //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List works = preventRiskJobAndMeasureService.listReportWork(); //获取上报数据对象与list List CJTaskFromWorkLists = new ArrayList<>(); HandlerReportParam handlerReportParam = new HandlerReportParam(); if (ObjectUtils.isNotEmpty(works)){ //遍历,封装数据 for (PreventRiskJobAndMeasure work : works) { //通过work中的信息,查询主表数据 HiddenDangerCheckJob jobById = trHiddenDangerCheckJobService.getJobById(work.getJobId()); //获取数据对象 PreventCJReportCheckTaskFromWork CJTaskFromWork = new PreventCJReportCheckTaskFromWork(); //转换时间周期单位 if (jobById.getTroubleshootTypeCycleType() == 1){ CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum())); CJTaskFromWork.setCheckCycleUnit("小时"); }else if (jobById.getTroubleshootTypeCycleType() == 2){ CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum())); CJTaskFromWork.setCheckCycleUnit("天"); }else if (jobById.getTroubleshootTypeCycleType() == 3){ Long num = jobById.getTroubleshootTypeCycleNum() * 7; CJTaskFromWork.setCheckCycle(Math.toIntExact(num)); CJTaskFromWork.setCheckCycleUnit("天"); }else if (jobById.getTroubleshootTypeCycleType() == 4){ CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum())); CJTaskFromWork.setCheckCycleUnit("月"); }else if (jobById.getTroubleshootTypeCycleType() == 5){ CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum())); CJTaskFromWork.setCheckCycleUnit("年"); } //获取用户信息 User createUser = trUserService.getUserByLoginName(jobById.getCreateBy()); User updateUser = trUserService.getUserByLoginName(jobById.getUpdateBy()); //封装上报昌吉州任务配置数据 CJTaskFromWork.setId(work.getJobUuid()); CJTaskFromWork.setCompanyCode(companyCode); if (work.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ CJTaskFromWork.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 }else { CJTaskFromWork.setDeleted("0"); } CJTaskFromWork.setCreateBy(createUser.getUserName()); CJTaskFromWork.setCreateDate(jobById.getCreateTime()); if (ObjectUtils.isEmpty(updateUser)){ CJTaskFromWork.setUpdateBy(createUser.getUserName()); CJTaskFromWork.setUpdateDate(jobById.getCreateTime()); }else { CJTaskFromWork.setUpdateBy(updateUser.getUserName()); CJTaskFromWork.setUpdateDate(jobById.getCreateTime()); } CJTaskFromWork.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); CJTaskFromWork.setReportTime(null); CJTaskFromWork.setDataSource((byte) 1); CJTaskFromWork.setRiskMeasureId(work.getMeasureUuid()); CJTaskFromWork.setWorkId(jobById.getJobId()); //封装数据 CJTaskFromWorkLists.add(CJTaskFromWork); //设置原始数据上报状态 handlerReportParam.setId(work.getId()); handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); preventRiskJobAndMeasureService.updateWorkReportStatus(handlerReportParam); } }else { logger.info("【双重预防】当前无任务配置数据需要处理"); } //写入上报昌吉州数据转换表 for (PreventCJReportCheckTaskFromWork CJTaskFromWorks : CJTaskFromWorkLists) { CJTaskFromWorkService.insertTaskFromWorkList(CJTaskFromWorks); logger.info("【双重预防】任务配置CJ:数据处理..."); } }else { step = 5; logger.info("任务配置数据上报已关闭"); } /** * 5、排查任务记录数据 PreventReportCheckRecordFromTask * */ //读取安全风险管控措施数据上报主配置信息 PreventReportConfig recordReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG__CHECK_RECORD.getCode()); //如果安全风险管控措施主配置开启上报 if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ //logger.info("【##】5.检索排查任务记录数据..."); //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List tasks = preventRiskDangerCheckLogService.listReportTask(); //获取上报数据对象 List CJRecordFromTaskLists = new ArrayList<>(); HandlerReportParam handlerReportParam = new HandlerReportParam(); if (ObjectUtils.isNotEmpty(tasks)){ //遍历,封装数据 for (PreventRiskDangerCheckLog task : tasks) { //获取任务记录主表信息 HiddenDangerCheck hiddenDangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(task.getCheckId()); //获取任务附属表信息 PreventRiskJobAndMeasure jobAndMeasureByJobId = preventRiskJobAndMeasureService.getJobAndMeasureByJobId(task.getJobId()); //获取上报数据对象 PreventCJReportCheckRecordFromTask CJRecordFromTask = new PreventCJReportCheckRecordFromTask(); //转换检查结果 /** * 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){ List hiddenDangerCheckPointList = trHiddenDangerCheckPointService.getHiddenDangerCheckPointByCheckId(task.getCheckId()); //避免个别任务无检查点的情况 if (ObjectUtils.isEmpty(hiddenDangerCheckPointList)) { logger.info("【双重预防】排查任务记录CJ:异常,无检查点..."); }else { for (HiddenDangerCheckPoint hiddenDangerCheckPoint : hiddenDangerCheckPointList) { CJRecordFromTask.setCheckStatus("0");// 0-正常;1-存在隐患;2-未处理;3-其他 if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1){ CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他 } User createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy()); User updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy()); //封装上报昌吉州的任务数据 CJRecordFromTask.setId(task.getUuid()); CJRecordFromTask.setCompanyCode(companyCode); CJRecordFromTask.setCreateBy(createUser.getUserName()); CJRecordFromTask.setCreateDate(hiddenDangerCheckById.getCreateTime()); CJRecordFromTask.setCreateByMobile(createUser.getPhonenumber()); if (ObjectUtils.isEmpty(updateUser)){ CJRecordFromTask.setUpdateBy(createUser.getUserName()); CJRecordFromTask.setUpdateDate(hiddenDangerCheckById.getCreateTime()); CJRecordFromTask.setUpdateByMobile(createUser.getPhonenumber()); }else { CJRecordFromTask.setUpdateBy(updateUser.getUserName()); CJRecordFromTask.setUpdateDate(hiddenDangerCheckById.getUpdateTime()); CJRecordFromTask.setUpdateByMobile(updateUser.getPhonenumber()); } if (task.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ CJRecordFromTask.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 }else { CJRecordFromTask.setDeleted("0"); } CJRecordFromTask.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); CJRecordFromTask.setReportTime(null); CJRecordFromTask.setDataSource((byte) 1); CJRecordFromTask.setCheckTaskId(jobAndMeasureByJobId.getJobUuid()); CJRecordFromTask.setCheckTime(hiddenDangerCheckById.getCheckTime()); CJRecordFromTask.setTaskId(task.getCheckId()); //封装数据 CJRecordFromTaskLists.add(CJRecordFromTask); } } //设置原始数据上报状态 handlerReportParam.setId(task.getId()); handlerReportParam.setReportTime(new Date()); handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam); } // 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(), "排查任务记录插入失败"); } logger.info("【双重预防】排查任务记录CJ:数据处理..."); } step = 6; }else { step = 6; logger.info("排查任务记录数据上报已关闭"); } // /** // * 6、隐患信息数据 // * */ // //读取安全风险管控措施数据上报主配置信息 // PreventReportConfig dangerReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode()); // //如果安全风险管控措施主配置开启上报 // if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ // // //logger.info("【##】4.检索隐患信息数据..."); // // //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) // List dangerManages = preventRiskDangerInfoService.listReportDanger(); // //获取上报数据list // List CJDangerInfoLists = new ArrayList<>(); // // if (ObjectUtils.isNotEmpty(dangerManages)){ // HandlerReportParam handlerReportParam = new HandlerReportParam(); // //遍历,封装数据 // for (PreventRiskDangerInfo dangerManage : dangerManages) { // // //获取隐患信息主表信息 // HiddenDangerCheckPoint hiddenDanger = trHiddenDangerCheckPointService.getHiddenDangerCheckPointById(dangerManage.getDangerCheckPointId()); // //获取上报数据对象 // PreventCJReportDangerInfo CJDangerInfo = new PreventCJReportDangerInfo(); // // //通过用户名,获取涉及到的各位用户的真实姓名 // User createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy()); // User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); // if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){ // User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName()); // //登记人信息 // CJDangerInfo.setRegistrant(registerUser.getUserName());//登记人 // CJDangerInfo.setRegistTime(hiddenDanger.getRegisterCreateTime());//登记时间 // } // // if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())){ // User rectifyUser = trUserService.getUserByLoginName(hiddenDanger.getRectifyUserName()); // //整改人信息 // CJDangerInfo.setLiablePerson(rectifyUser.getUserName());//整改责任人 // } // // if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())){ // User acceptUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); // //验收人信息 // CJDangerInfo.setCheckAcceptPerson(acceptUser.getUserName());//验收人 // CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况 // CJDangerInfo.setCheckAcceptTime(hiddenDanger.getAcceptCreateTime());//验收时间 // } // //如果排查任务正常存在,封装任务相关数据 // HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId()); // if (ObjectUtils.isNotEmpty(dangerCheckById)){ // // 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 (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){ // CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10 // }else { // CJDangerInfo.setDeleted("0"); // } // CJDangerInfo.setId(dangerManage.getUuid()); // CJDangerInfo.setCompanyCode(companyCode); // CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码 // CJDangerInfo.setCreateBy(createUser.getUserName()); // CJDangerInfo.setCreateDate(hiddenDanger.getCreateTime()); // // if (ObjectUtils.isEmpty(updateUser)){ // CJDangerInfo.setUpdateBy(createUser.getUserName()); // CJDangerInfo.setUpdateDate(hiddenDanger.getCreateTime()); // }else { // CJDangerInfo.setUpdateBy(updateUser.getUserName()); // CJDangerInfo.setUpdateDate(hiddenDanger.getUpdateTime()); // } // // 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());//隐患治理类型 // 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());//隐患类型 // CJDangerInfo.setDangerManagerId(dangerManage.getId()); // //封装数据 // CJDangerInfoLists.add(CJDangerInfo); // //设置原始数据上报状态 // handlerReportParam.setId(dangerManage.getId()); // handlerReportParam.setReportTime(new Date()); // handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); // //修改隐患信息附属表状态 // preventRiskDangerInfoService.updateDangerInfoReportStatus(handlerReportParam); // } // }else { // logger.info("【双重预防】当前无隐患信息需要处理"); // } // // //插入上报昌吉州转换表 // for (PreventCJReportDangerInfo CJDanger : CJDangerInfoLists) { // logger.info("【双重预防】隐患信息插入..."); // int result = CJDangerInfoService.insert(CJDanger); // if (result < 0){ // throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败"); // } // logger.info("【双重预防】隐患信息:数据处理..."); // } // }else { // logger.info("隐患信息数据上报已关闭"); // } // TODO 目前应急厅没有风险点概念,此处暂时不写。目前看,风险点概念,类似管控措施,对用某个具体的风险位置 // /** // * 7、检索风险点-(可能对应风险管控措施?)数据 // * */ // //读取风险分析单元数据上报主配置信息 // PreventReportConfig pointReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_POINT_INFO.getCode()); // //如果风险事件主配置开启上报 // if (pointReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ // //logger.info("【##】2.检索安全风险事件..."); // //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) // List riskEvents = preventRiskEventService.listReportEvent(); // //获取上报数据对象与list // List CJPointLists = new ArrayList<>(); // if (ObjectUtils.isNotEmpty(riskEvents)){ // //遍历,封装数据 // for (PreventRiskEvent riskEvent : riskEvents) { // String pointUuid = UUID.randomUUID().toString(); // HandlerReportParam handlerReportParam = new HandlerReportParam(); // PreventCJReportPoint CJReportPoint = new PreventCJReportPoint(); // //TODO 公司编码,暂时没有 // //封装上报昌吉州风险事件数据 // CJReportPoint.setId(pointUuid); // CJReportPoint.setCompanyCode("test001"); // CJReportPoint.setDeleted(riskEvent.getDeleteStatus().toString()); // CJReportPoint.setCreateBy(riskEvent.getCreateByUserName()); // CJReportPoint.setCreateDate(riskEvent.getGmtCreate()); // CJReportPoint.setUpdateBy(riskEvent.getCreateByUserName()); // CJReportPoint.setUpdateDate(riskEvent.getGmtModitify()); // CJReportPoint.setRiskUnitIds(); // CJReportPoint.setRiskEventIds(); // CJReportPoint.setRiskMeasureIds(); // CJReportPoint.setHazardDep(); // CJReportPoint.setHazardLiablePerson(); // CJReportPoint.setHazardCode(); // CJReportPoint.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); // CJReportPoint.setReportTime(null); // CJReportPoint.setDataSource((byte) 1); // CJReportPoint.setRiskEventId(riskEvent.getId()); // //封装数据 // CJPointLists.add(CJReportPoint); // //设置原始数据上报状态 // handlerReportParam.setId(riskEvent.getId()); // handlerReportParam.setReportTime(new Date()); // handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode()); // preventRiskEventService.updateEventReportStatus(handlerReportParam); // } // }else { // logger.info("【##】当前无安全风险事件数据需要处理"); // } // //写入昌吉州转换表 // for (PreventCJReportRiskEvent CJEvent : CJEventLists) { // CJEventService.insertEventLists(CJEvent); // logger.info("【##】2.风险分析事件CJ:数据处理..."); // } // step = 3; // }else { // step = 3; // logger.info("安全风险事件数据上报已关闭"); // } } }