双重预防项目-国泰新华二开定制版
换个名字嗨起来
2024-07-25 8a457c61e4079ee92864ea57abe92fc094050bc0
src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -28,16 +28,18 @@
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;
@@ -95,12 +97,19 @@
    @Autowired
    private PreventRiskDangerCheckAndMeasureService riskDangerCheckAndMeasureService;//管控措施,任务清单对应关系。基础排查点附属表
    @Autowired
    private PreventTaskTypeService taskTypeService;//管控措施,任务清单对应关系。基础排查点附属表
    @Autowired
    private PreventOverhaulLogService overhaulLogService;
    @Autowired
    private PreventCJReportOverhaulLogService reportOverhaulLogService;
    @Transactional
//    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
//    @Scheduled(cron = "0/30 * * * * ?")  // 30秒
    @Scheduled(cron = "0 0 0/2 * * ?")  // 小时
//    @Scheduled(cron = "0/10 * * * * ?")  // 30秒
    @Scheduled(cron = "0 0/25 * * * ? ")    // 分钟
    public void searchReportDate(){
        logger.info("【双重预防】定时检索需要上报数据...");
@@ -269,7 +278,6 @@
                    //获取上报数据对象
                    PreventCJReportRiskControlMeasure CJReportMeasure = new PreventCJReportRiskControlMeasure();
                    //转换数据
                    // todo 逻辑改变
                    PreventRiskControlTemplate controlTemplateById = preventRiskControlTemplateService.getControlTemplateById(measure.getClassify2());
                    String classify2 = measure.getClassify1() + "-" + controlTemplateById.getOrderIndex();
@@ -297,6 +305,7 @@
                    CJReportMeasure.setRiskMeasureId(measure.getId());
                    CJReportMeasure.setTroubleshootContent(measure.getCheckContent());
                    //封装数据
                    CJMeasureLists.add(CJReportMeasure);
                    //设置原始数据上报状态
@@ -314,6 +323,7 @@
            //写入上报昌吉州转换表
            for (PreventCJReportRiskControlMeasure CJMeasure : CJMeasureLists) {
                CJMeasureService.insertMeasureList(CJMeasure);
                logger.info("【双重预防】3.安全风险管控措施CJ:数据处理...");
            }
        }else {
@@ -323,7 +333,6 @@
        /**
         * 4、检索 任务配置 数据 prevent_report_check_record_from_task
         * 本数据以  todo
         * */
        //读取任务配置数据上报主配置信息
        PreventReportConfig workReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode());
@@ -347,6 +356,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("天");
@@ -362,8 +373,17 @@
                        CJTaskFromWork.setCheckCycleUnit("年");
                    }
                    //获取用户信息
                    User createUser = trUserService.getUserByLoginName(jobById.getCreateBy());
                    User updateUser = trUserService.getUserByLoginName(jobById.getUpdateBy());
                    User createUser = new User();
                    User updateUser = new User();
                    createUser = trUserService.getUserByLoginName(jobById.getCreateBy());
                    if(ObjectUtils.isEmpty(createUser)){
                        createUser = trUserService.getUserByName(jobById.getCreateBy());
                    }
                    updateUser = trUserService.getUserByLoginName(jobById.getUpdateBy());
                    if(ObjectUtils.isEmpty(updateUser)){
                        updateUser = trUserService.getUserByName(jobById.getUpdateBy());
                    }
                    //封装上报昌吉州任务配置数据
                    CJTaskFromWork.setId(work.getJobUuid());
@@ -387,6 +407,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);
                    //设置原始数据上报状态
@@ -394,7 +431,6 @@
                    handlerReportParam.setReportTime(new Date());
                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                    preventRiskJobAndMeasureService.updateWorkReportStatus(handlerReportParam);
                }
            }else {
                logger.info("【双重预防】当前无任务配置数据需要处理");
@@ -419,36 +455,26 @@
        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<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());
                    //转换检查结果
                    /**
                     *  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){
@@ -463,13 +489,38 @@
                                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 = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy());
                                User updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy());
                                User createUser = new User();
                                User updateUser = new User();
//                                createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy());
//                                if(ObjectUtils.isEmpty(createUser)){
//                                    createUser = trUserService.getUserByName(hiddenDangerCheckById.getCreateBy());
//                                }
//                                updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy());
                                //封装上报昌吉州的任务数据 todo taskUUid
                                // 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;
                                        }
                                    }
                                }
                                //封装上报昌吉州的任务数据
//                                String taskUuid = UUID.randomUUID().toString();
                                CJRecordFromTask.setId(UUID.randomUUID().toString());
                                CJRecordFromTask.setCompanyCode(companyCode);
@@ -500,107 +551,145 @@
                                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());
                                int typeTag = 0;
//                                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));
                                //封装数据
                                CJRecordFromTaskLists.add(CJRecordFromTask);
                            }
                        }
                            //设置原始数据上报状态
                            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;
                        taskIds.add(task.getId());
                        tag ++;
                    }
//                    String checkStatus = null;
//                    if (ObjectUtils.isEmpty(task.getResult() )){
//                        checkStatus = "2";
//                    }else if (task.getResult() == 2){
//                        checkStatus = "1";
//                    }else if (task.getResult() == 1){
//                        checkStatus = "0";
//                    }
                    System.out.println("【##】5.数据封装完成...");
                }
            }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("排查任务记录数据上报已关闭");
        }
//        /**
//         * 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<PreventRiskDangerInfo> dangerManages = preventRiskDangerInfoService.listReportDanger();
//            //获取上报数据list
//            List<PreventCJReportDangerInfo> 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)){
        /**
         * 6、隐患信息数据
         * */
        //读取安全风险管控措施数据上报主配置信息
        PreventReportConfig dangerReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_DANGER_INFO.getCode());
        //如果安全风险管控措施主配置开启上报
        if (dangerReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
            //logger.info("【##】6.检索隐患数据...");
            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
            List<PreventRiskDangerInfo> dangerManages = preventRiskDangerInfoService.listReportDanger();
            //获取上报数据list
            List<PreventCJReportDangerInfo> 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 = new User();
                    createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());
//                    createUser = trUserService.getUserByLoginName("guotai");
                    if(ObjectUtils.isEmpty(createUser)){
                        createUser = trUserService.getUserByName(hiddenDanger.getCreateBy());
                    }
                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
//                    User updateUser = trUserService.getUserByLoginName("guotai");
                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){
                        User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName());
                        //登记人信息
                        CJDangerInfo.setRegistrant(registerUser.getUserName());//登记人
                        CJDangerInfo.setRegistTime(hiddenDanger.getRegisterCreateTime());//登记时间
                    }
                    CJDangerInfo.setCost(String.valueOf(0));//初始值给0
                    if (ObjectUtils.isNotEmpty(hiddenDanger.getRectifyUserName())){
                        User rectifyUser = trUserService.getUserByLoginName(hiddenDanger.getRectifyUserName());
                        //整改人信息
                        CJDangerInfo.setLiablePerson(rectifyUser.getUserName());//整改责任人
                        CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
                    }
                    if (ObjectUtils.isNotEmpty(hiddenDanger.getAcceptUserName())){
                        //验收人信息
                        CJDangerInfo.setCheckAcceptPerson(hiddenDanger.getAcceptUserName());//验收人
                        CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况
                        CJDangerInfo.setCheckAcceptTime(hiddenDanger.getAcceptCreateTime());//验收时间
                    }
                    //如果排查任务正常存在,封装任务相关数据
//                    if (Integer.parseInt(hiddenDanger.getDangerSources()) != 2){
//                        HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId());
//
//                        PreventRiskDangerCheckLog dangerCheckLogByCheckId = preventRiskDangerCheckLogService.getByDangerCheckByCheckId(hiddenDanger.getCheckId());
//                        CJDangerInfo.setCheckRecordId(dangerCheckLogByCheckId.getUuid());//隐患排查任务记录uuid
@@ -611,77 +700,148 @@
//                        CJDangerInfo.setRiskMeasureId(controlMeasureById.getUuid());//管控措施uuid
//                        CJDangerInfo.setControlMeasures(controlMeasureById.getCheckContent());//控制措施 ,整改措施
//                    }else {
//                        CJDangerInfo.setCheckRecordId(null);//隐患排查任务记录uuid
//                        CJDangerInfo.setRiskMeasureId(null);//管控措施uuid
//                        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.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());
                    }
                    // todo 2024-07-01 需要检查
                    CJDangerInfo.setHazardCategory("0");
                    if (dangerManage.getId() <= 383){
                        PreventTaskType taskTypeInfo = taskTypeService.getInfoByTaskId(dangerManage.getId());
                        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());
                    if (hiddenDanger.getRectifyType().equals("1")){
                        CJDangerInfo.setDangerManageType("0");
                    }else {
                        CJDangerInfo.setDangerManageType("1");
                    }
                    CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());
                    CJDangerInfo.setDangerReason(dangerManage.getDangerReason());
                    CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());
                    if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())){
                        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("隐患信息数据上报已关闭");
        }
//        /**
//         * 7、检索检修记录数据
//         * */
//        //读取风险分析单元数据上报主配置信息
//        PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode());
//        //如果风险事件主配置开启上报
//        if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
//
//                    if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
//                        CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
//            //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 {
//                        CJDangerInfo.setDeleted("0");
//                        CJOverhaulLog.setDeleted("0");
//                    }
//                    CJDangerInfo.setId(dangerManage.getUuid());
//                    CJDangerInfo.setCompanyCode(companyCode);
//                    CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码
//                    CJDangerInfo.setCreateBy(createUser.getUserName());
//                    CJDangerInfo.setCreateDate(hiddenDanger.getCreateTime());
//                    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);
//
//                    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);
//                    CJOverhaulLogLists.add(CJOverhaulLog);
//                    //设置原始数据上报状态
//                    handlerReportParam.setId(dangerManage.getId());
//                    handlerReportParam.setId(preventOverhaulLog.getId());
//                    handlerReportParam.setReportTime(new Date());
//                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
//                    //修改隐患信息附属表状态
//                    preventRiskDangerInfoService.updateDangerInfoReportStatus(handlerReportParam);
//                    int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam);
//                    if (result < 1){
//                        throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
//                    }
//                }
//            }else {
//                logger.info("【双重预防】当前无隐患信息需要处理");
//                logger.info("【检修记录】当前无检修记录数据需要处理");
//            }
//
//            //插入上报昌吉州转换表
//            for (PreventCJReportDangerInfo CJDanger : CJDangerInfoLists) {
//                logger.info("【双重预防】隐患信息插入...");
//                int result = CJDangerInfoService.insert(CJDanger);
//                if (result < 0){
//                    throw new AusinessException(E.ADD_FAIL.getCode(), "隐患信息插入失败");
//            //写入昌吉州转换表
//            for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) {
//                int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog);
//                if (result < 1){
//                    throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
//                }
//                logger.info("【双重预防】隐患信息:数据处理...");
//                logger.info("【检修记录】2.检修记录CJ:数据处理...");
//            }
//            step = 3;
//        }else {
//            logger.info("隐患信息数据上报已关闭");
//            step = 3;
//            logger.info("检修记录数据上报已关闭");
//        }
//