双重预防项目-国泰新华二开定制版
换个名字嗨起来
2024-07-25 8a457c61e4079ee92864ea57abe92fc094050bc0
src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -108,7 +108,7 @@
    @Transactional
//    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
//    @Scheduled(cron = "0/30 * * * * ?")  // 30秒
//    @Scheduled(cron = "0/10 * * * * ?")  // 30秒
    @Scheduled(cron = "0 0/25 * * * ? ")    // 分钟
    public void searchReportDate(){
@@ -373,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());
@@ -450,18 +459,23 @@
            //查询所有 选择上报的数据 && (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());
                    //转换检查结果
                    //如果已经执行过,进入方法 todo
                    //如果已经执行过,进入方法
                    if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1){
                        List<HiddenDangerCheckPoint> hiddenDangerCheckPointList = trHiddenDangerCheckPointService.getHiddenDangerCheckPointByCheckId(task.getCheckId());
@@ -477,12 +491,34 @@
                                if (Integer.valueOf(hiddenDangerCheckPoint.getWhetherDanger()) == 1){
                                    CJRecordFromTask.setCheckStatus("1");// 0-正常;1-存在隐患;2-未处理;3-其他
                                }
                                User createUser = new User();
                                createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy());
                                if(ObjectUtils.isEmpty(createUser)){
                                    createUser = trUserService.getUserByName(hiddenDangerCheckById.getCreateBy());
                                User updateUser = new User();
//                                createUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getCreateBy());
//                                if(ObjectUtils.isEmpty(createUser)){
//                                    createUser = trUserService.getUserByName(hiddenDangerCheckById.getCreateBy());
//                                }
//                                updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy());
                                // todo 取出所有用户信息,再循环在匹配
                                for (User user : allUserList) {
                                    if (hiddenDangerCheckById.getCreateBy().equals(user.getLoginName())){
                                        createUser = user;
                                    }
                                    if (hiddenDangerCheckById.getUpdateBy().equals(user.getLoginName())){
                                        updateUser = user;
                                    }
                                }
                                User updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy());
                                if(ObjectUtils.isEmpty(createUser)){
                                    for (User user : allUserList) {
                                        if (hiddenDangerCheckById.getCreateBy().equals(user.getUserName())){
                                            createUser = user;
                                        }
                                    }
                                }
                                //封装上报昌吉州的任务数据
//                                String taskUuid = UUID.randomUUID().toString();
@@ -515,22 +551,43 @@
                                for (PreventRiskDangerCheckAndMeasure checkAndMeasure : baseCheckPointAndMeasure) {
                                    controlMeasureId = checkAndMeasure.getControlMeasureId();
                                }
                                //获取该条记录对应的管控措施uuid
                                PreventRiskControlMeasure preventRiskControlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(controlMeasureId);
                                //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid
                                PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(preventRiskControlMeasureById.getUuid(), task.getJobId());
                                CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId());
//                                //获取该条记录对应的管控措施uuid
//                                PreventRiskControlMeasure preventRiskControlMeasureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(controlMeasureId);
//                                //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid
//                                PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(preventRiskControlMeasureById.getUuid(), task.getJobId());
//                                CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId());
                                // todo 取出所有措施,再循环在匹配
                                for (PreventRiskControlMeasure measure : allMeasureList) {
                                    if (controlMeasureId.equals(measure.getId())){
                                        //通过管控措施uuid ,jobId(workId),在任务上报表中,找到任务对应的uuid
                                        PreventCJReportCheckTaskFromWork preventCJReportCheckTaskFromWork = CJTaskFromWorkService.geByMeasureUUidAndJobId(measure.getUuid(), task.getJobId());
                                        CJRecordFromTask.setCheckTaskId(preventCJReportCheckTaskFromWork.getId());
                                    }
                                }
                                CJRecordFromTask.setCheckTime(hiddenDangerCheckById.getCheckTime());
                                CJRecordFromTask.setTaskId(task.getCheckId());
                                //第二版标准新增
                                CJRecordFromTask.setMobileCode(task.getMobileCode().toString());
                                List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId());
                                int typeTag = 0;
                                for (PreventTaskType typeByJobId : typeByJobIds) {
                                    if (typeByJobId.getType()!= 0) {
                                        typeTag = 1;
//                                List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId());
//                                for (PreventTaskType typeByJobId : typeByJobIds) {
//                                    if (typeByJobId.getType()!= 0) {
//                                        typeTag = 1;
//                                    }
//                                }
                                // todo 取出所有任务信息表,再循环在匹配
                                for (PreventTaskType taskType : allTaskTypeList) {
                                    if (taskType.getJobId().equals(task.getJobId())){
                                        if (taskType.getType()!= 0) {
                                            typeTag = 1;
                                        }
                                    }
                                }
                                CJRecordFromTask.setDefend(String.valueOf(typeTag));
                                //封装数据
@@ -539,37 +596,35 @@
                        }
                            //设置原始数据上报状态
                            handlerReportParam.setId(task.getId());
                            handlerReportParam.setReportTime(new Date());
                            handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                            preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam);
//                            handlerReportParam.setId(task.getId());
//                            handlerReportParam.setReportTime(new Date());
//                            handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
//                            handlerReportParamList.add(handlerReportParam);
//                            preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam);
                            int i = 1;
//                        System.out.println("【##】数据封装" + 1);
                        taskIds.add(task.getId());
                        tag ++;
                    }
                    System.out.println("【##】5.数据封装完成...");
//                    String checkStatus = null;
//                    if (ObjectUtils.isEmpty(task.getResult() )){
//                        checkStatus = "2";
//                    }else if (task.getResult() == 2){
//                        checkStatus = "1";
//                    }else if (task.getResult() == 1){
//                        checkStatus = "0";
//                    }
                }
            }else {
                logger.info("【双重预防】当前无排查任务记录需要处理");
            }
            //插入上报昌吉州转换表
            for (PreventCJReportCheckRecordFromTask CJRecordFromTasks : CJRecordFromTaskLists) {
                int result = CJTaskRecordService.insert(CJRecordFromTasks);
                if (result < 0){
                    throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败");
                }
            if (CJRecordFromTaskLists.size() > 0){
                logger.info("【双重预防】排查任务记录CJ:数据处理...");
                //设置原始数据状态
                int taskUpdateResult = preventRiskDangerCheckLogService.updateTaskReportStatusByList(taskIds);
                if (taskUpdateResult < taskIds.size()){
                    throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录原始数据更新失败, 取消操作");
                }
                int result = CJTaskRecordService.insertRecordList(CJRecordFromTaskLists);
                if (result < CJRecordFromTaskLists.size()){
                    throw new AusinessException(E.ADD_FAIL.getCode(), "排查任务记录插入失败, 取消操作");
                }
            }
            step = 6;
        }else {
            step = 6;
            logger.info("排查任务记录数据上报已关闭");
@@ -664,6 +719,7 @@
                        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());