src/main/java/com/ruoyi/doublePrevention/repository/PreventCJReportCheckRecordFromTaskRepository.java
@@ -39,4 +39,6 @@ * 批量插入任务记录 * */ int insertRecordList(@Param(value="list") List<PreventCJReportCheckRecordFromTask> recordFromTaskList); int updateCJReportStatusBatchById(List<PreventCJReportCheckRecordFromTask> cjRecordFromTasks); } src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskDangerCheckLogRepository.java
@@ -40,4 +40,10 @@ int updateCheckLog(Long checkId, Long mobileCode); int updateTaskReportStatusByList(List<Long> ids, Byte reportStatus, Date reportTime); List<PreventRiskDangerCheckLog> listRectifyReportTask(); List<PreventRiskDangerCheckLog> listSearchRectifyReportTask(); int updateSearchRectifyReportTask(PreventRiskDangerCheckLog dangerCheckLog); } src/main/java/com/ruoyi/doublePrevention/repository/PreventRiskJobAndMeasureRepository.java
@@ -40,4 +40,6 @@ int updateWorkReportStatus(HandlerReportParam handlerReportParam); List<PreventRiskJobAndMeasure> listReportWorkTest(); List<PreventRiskJobAndMeasure> getRectifyJobData(Long jobId); } src/main/java/com/ruoyi/doublePrevention/scheduls/RectifyDateSchedule.java
对比新文件 @@ -0,0 +1,267 @@ package com.ruoyi.doublePrevention.scheduls; import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportCheckRecordFromTask; import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportCheckTaskFromWork; import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportDangerInfo; import com.ruoyi.doublePrevention.entity.*; 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.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.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.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; @Component public class RectifyDateSchedule { 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; @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;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired private PreventRiskDangerCheckAndMeasureService riskDangerCheckAndMeasureService;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired private PreventTaskTypeService taskTypeService;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired private PreventOverhaulLogService overhaulLogService; @Autowired private PreventCJReportOverhaulLogService reportOverhaulLogService; @Transactional // @Scheduled(cron = "0/10 * * * * ?") // 30秒 @Scheduled(cron = "0 10 1,23 * * ? ") public void searchReportDate(){ logger.info("【双重预防】纠正..."); int step = 1; String companyCode = "652310082"; /** * 5、排查任务记录数据 PreventReportCheckRecordFromTask * */ //读取安全风险管控措施数据上报主配置信息 PreventReportConfig recordReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG__CHECK_RECORD.getCode()); //如果安全风险管控措施主配置开启上报 if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime) List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listRectifyReportTask(); List<Long> taskIds = new ArrayList<>(); //获取上报数据对象 List<PreventCJReportCheckRecordFromTask> CJRecordFromTaskLists = new ArrayList<>(); int tag = 0; // HandlerReportParam handlerReportParam = new HandlerReportParam(); // List<HandlerReportParam> handlerReportParamList = new ArrayList<>(); if (ObjectUtils.isNotEmpty(tasks)){ //获取信息 List<User> allUserList = trUserService.getAllUser(); List<PreventTaskType> allTaskTypeList = taskTypeService.getAllTaskTypeList(); //遍历,封装数据 for (PreventRiskDangerCheckLog task : tasks) { //获取任务记录主表信息 HiddenDangerCheck hiddenDangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(task.getCheckId()); //如果已经执行过,进入方法 if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1){ List<HiddenDangerCheckPoint> hiddenDangerCheckPointList = trHiddenDangerCheckPointService.getHiddenDangerCheckPointByCheckId(task.getCheckId()); //避免个别任务无检查点的情况 if (ObjectUtils.isEmpty(hiddenDangerCheckPointList)) { logger.info("【双重预防】排查任务记录CJ:异常,无检查点..."); }else { int i = 0; List<PreventRiskJobAndMeasure> rectifyJobDataList = preventRiskJobAndMeasureService.getRectifyJobData(task.getJobId()); HiddenDangerCheckJob jobById = trHiddenDangerCheckJobService.getJobById(task.getJobId()); for (HiddenDangerCheckPoint hiddenDangerCheckPoint : hiddenDangerCheckPointList) { //获取上报数据对象 PreventCJReportCheckRecordFromTask CJRecordFromTask = new PreventCJReportCheckRecordFromTask(); CJRecordFromTask.setCheckStatus("0");// 0-正常;1-存在隐患;2-未处理;3-其他 if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1){ CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他 } User createUser = new User(); User updateUser = new User(); // todo 取出所有用户信息,再循环在匹配 for (User user : allUserList) { if (hiddenDangerCheckById.getCreateBy().equals(user.getLoginName())){ createUser = user; } if (hiddenDangerCheckById.getUpdateBy().equals(user.getLoginName())){ updateUser = user; } } if(ObjectUtils.isEmpty(createUser)){ for (User user : allUserList) { if (hiddenDangerCheckById.getCreateBy().equals(user.getUserName())){ createUser = user; } } } //封装上报昌吉州的任务数据 CJRecordFromTask.setId(UUID.randomUUID().toString()); 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(rectifyJobDataList.get(i).getJobUuid()); CJRecordFromTask.setCheckTime(hiddenDangerCheckById.getCheckTime()); CJRecordFromTask.setTaskId(task.getCheckId()); //第二版标准新增 CJRecordFromTask.setMobileCode(task.getMobileCode().toString()); int typeTag = 0; // // todo 取出所有任务信息表,再循环在匹配 for (PreventTaskType taskType : allTaskTypeList) { if (taskType.getJobId().equals(task.getJobId())){ if (taskType.getType()!= 0) { typeTag = 1; } } } CJRecordFromTask.setDefend(String.valueOf(typeTag)); //封装数据 CJRecordFromTaskLists.add(CJRecordFromTask); i++; } } int i = 1; taskIds.add(task.getId()); tag ++; } System.out.println("【##】5.数据封装完成..."); } }else { logger.info("【双重预防】当前无纠正记录需要处理"); } 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("排查任务记录数据上报已关闭"); } } } src/main/java/com/ruoyi/doublePrevention/scheduls/SearchRectifyDateSchedule.java
对比新文件 @@ -0,0 +1,155 @@ package com.ruoyi.doublePrevention.scheduls; import com.ruoyi.doublePrevention.entity.CJReport.CJdto.Data; import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportCheckRecordFromTask; import com.ruoyi.doublePrevention.entity.PreventReportConfig; import com.ruoyi.doublePrevention.entity.PreventRiskDangerCheckLog; import com.ruoyi.doublePrevention.entity.PreventRiskJobAndMeasure; import com.ruoyi.doublePrevention.entity.PreventTaskType; import com.ruoyi.doublePrevention.enums.E; import com.ruoyi.doublePrevention.enums.SyncEnum; import com.ruoyi.doublePrevention.exception.AusinessException; import com.ruoyi.doublePrevention.service.baseService.*; 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.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.text.SimpleDateFormat; import java.util.*; @Component public class SearchRectifyDateSchedule { 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; @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;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired private PreventRiskDangerCheckAndMeasureService riskDangerCheckAndMeasureService;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired private PreventTaskTypeService taskTypeService;//管控措施,任务清单对应关系。基础排查点附属表 @Autowired private PreventOverhaulLogService overhaulLogService; @Autowired private PreventCJReportOverhaulLogService reportOverhaulLogService; @Transactional // @Scheduled(cron = "0/10 * * * * ?") // 30秒 @Scheduled(cron = "0 10 11,12 * * ? ") public void searchReportDate(){ logger.info("【双重预防】纠正前置处理..."); int step = 1; String companyCode = "652310082"; /** * * */ //读取安全风险管控措施数据上报主配置信息 PreventReportConfig recordReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG__CHECK_RECORD.getCode()); //如果安全风险管控措施主配置开启上报 if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){ List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listSearchRectifyReportTask(); if (ObjectUtils.isNotEmpty(tasks)){ for (PreventRiskDangerCheckLog task : tasks) { PreventRiskDangerCheckLog dangerCheckLog = new PreventRiskDangerCheckLog(); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2040); calendar.set(Calendar.MONTH, 5); // 注意月份从0开始,即0对应1月 calendar.set(Calendar.DATE, 20); dangerCheckLog.setReportTime(calendar.getTime()); dangerCheckLog.setId(task.getId()); // int i = preventRiskDangerCheckLogService.updateSearchRectifyReportTask(dangerCheckLog); // if (i < 1){ // logger.info("纠正出错"); // } } }else { logger.info("无需纠正"); } }else { logger.info("排查任务记录数据上报已关闭"); } } } src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventCJReportCheckRecordFromTaskService.java
@@ -33,4 +33,6 @@ * 任务-待上报状态变更 - 通过id * */ void updateCJReportStatusById(HandlerCJReportParam handlerCJReportParam); void updateCJReportStatusBatchById(List<PreventCJReportCheckRecordFromTask> cjRecordFromTasks); } src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskDangerCheckLogService.java
@@ -35,4 +35,10 @@ int updateCheckLog(Long checkId, Long mobileCode); int updateTaskReportStatusByList(List<Long> taskIds); List<PreventRiskDangerCheckLog> listRectifyReportTask(); List<PreventRiskDangerCheckLog> listSearchRectifyReportTask(); int updateSearchRectifyReportTask(PreventRiskDangerCheckLog dangerCheckLog); } src/main/java/com/ruoyi/doublePrevention/service/baseService/PreventRiskJobAndMeasureService.java
@@ -37,4 +37,6 @@ int updateWorkReportStatus(HandlerReportParam handlerReportParam); List<PreventRiskJobAndMeasure> listReportWorkTest(); List<PreventRiskJobAndMeasure> getRectifyJobData(Long jobId); } src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventCJReportCheckRecordFromTaskServiceImpl.java
@@ -70,4 +70,12 @@ throw new AusinessException(E.UPDATE_FAIL.getCode(), "修改任务配置数据上报状态失败"); } } @Override public void updateCJReportStatusBatchById(List<PreventCJReportCheckRecordFromTask> cjRecordFromTasks) { int result = preventCJReportCheckRecordFromTaskRepository.updateCJReportStatusBatchById(cjRecordFromTasks); if (result < 1){ throw new AusinessException(E.UPDATE_FAIL.getCode(), "修改任务配置数据上报状态失败"); } } } src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskDangerCheckLogServiceImpl.java
@@ -78,4 +78,19 @@ Date reportTime = new Date(); return preventRiskDangerCheckLogRepository.updateTaskReportStatusByList(taskIds, reportStatus, reportTime); } @Override public List<PreventRiskDangerCheckLog> listRectifyReportTask() { return preventRiskDangerCheckLogRepository.listRectifyReportTask(); } @Override public List<PreventRiskDangerCheckLog> listSearchRectifyReportTask() { return preventRiskDangerCheckLogRepository.listSearchRectifyReportTask(); } @Override public int updateSearchRectifyReportTask(PreventRiskDangerCheckLog dangerCheckLog) { return preventRiskDangerCheckLogRepository.updateSearchRectifyReportTask(dangerCheckLog); } } src/main/java/com/ruoyi/doublePrevention/service/baseService/impl/PreventRiskJobAndMeasureServiceImpl.java
@@ -78,5 +78,10 @@ return preventRiskJobAndMeasureRepository.listReportWorkTest(); } @Override public List<PreventRiskJobAndMeasure> getRectifyJobData(Long jobId) { return preventRiskJobAndMeasureRepository.getRectifyJobData(jobId); } } src/main/resources/mybatis/doublePrevention/PreventCJReportCheckRecordFromTaskMapper.xml
@@ -77,4 +77,18 @@ </foreach> </insert> <!-- int updateCJReportStatusBatchById(List<PreventCJReportCheckRecordFromTask> cjRecordFromTasks);--> <update id="updateCJReportStatusBatchById"> update prevent_cj_report_check_record_from_task <set> <if test="report_status != null "> report_status = #{reportStatus}, </if> <if test="report_time != null "> report_time= #{reportTime}, </if> </set> where id = #{id} </update> </mapper> src/main/resources/mybatis/doublePrevention/PreventRiskDangerCheckLogMapper.xml
@@ -41,6 +41,25 @@ limit 10 </select> <!-- List<PreventRiskDangerCheckLog> listRectifyReportTask();--> <select id="listRectifyReportTask" resultMap="BaseResultMap"> select * from prevent_risk_danger_check_log where job_id in(43,47) and report_time >='2040-05-01 01:01:01' and mobile_code is not null </select> <!-- return preventRiskDangerCheckLogRepository.listSearchRectifyReportTask();--> <select id="listSearchRectifyReportTask" resultMap="BaseResultMap"> select * from prevent_risk_danger_check_log where report_switch = 0 and (update_report_data_time > report_time or report_time is null) and job_id in(43,47) </select> <!-- int updateSearchRectifyReportTask(PreventRiskDangerCheckLog dangerCheckLog);--> <update id="updateSearchRectifyReportTask" > update prevent_risk_danger_check_log set report_time = #{reportTime} where id = #{id} </update> <!-- int updateEventReportStatus(HandlerReportParam handlerReportParam);--> <update id="updateEventReportStatus" > update prevent_risk_danger_check_log set src/main/resources/mybatis/doublePrevention/PreventRiskJobAndMeasureMapper.xml
@@ -65,6 +65,11 @@ <!-- where job_id in (44,46,49,52,55,58,61,64,67,70,73,76,79)--> where job_id in (45,48,51,54,57,60,62,66,69,72,74,78,80) </select> <!-- List<PreventRiskJobAndMeasure> getRectifyJobData(Long jobId);--> <select id="getRectifyJobData" resultMap="BaseResultMap"> select * from prevent_risk_job_and_measure where job_id = #{jobId} </select> </mapper>