From c3447610c46c47b52fb8a191e2ea45ac50f426f6 Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: 星期一, 11 九月 2023 14:09:41 +0800
Subject: [PATCH] 临时提交

---
 src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java |  213 +++++++++++++++++++++++++---------------------------
 1 files changed, 102 insertions(+), 111 deletions(-)

diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
index 722b5a4..af3543b 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -29,11 +29,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 @Component
 public class SearchReportDateSchedule {
@@ -42,6 +38,8 @@
 
     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;
@@ -111,8 +109,7 @@
     @Transactional
 //    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
 //    @Scheduled(cron = "0/30 * * * * ?")  // 30秒
-//    @Scheduled(cron = "0 0 0/2 * * ?")  // 小时
-
+    @Scheduled(cron = "0 0/30 * * * ? ")    // 分钟
     public void searchReportDate(){
 
         logger.info("【双重预防】定时检索需要上报数据...");
@@ -281,7 +278,6 @@
                     //获取上报数据对象
                     PreventCJReportRiskControlMeasure CJReportMeasure = new PreventCJReportRiskControlMeasure();
                     //转换数据
-                    // todo 逻辑改变
                     PreventRiskControlTemplate controlTemplateById = preventRiskControlTemplateService.getControlTemplateById(measure.getClassify2());
                     String classify2 = measure.getClassify1() + "-" + controlTemplateById.getOrderIndex();
 
@@ -335,7 +331,6 @@
 
         /**
          * 4、检索 任务配置 数据 prevent_report_check_record_from_task
-         * 本数据以  todo
          * */
         //读取任务配置数据上报主配置信息
         PreventReportConfig workReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.REPORT_CONFIG_TASK_FROM_WORK.getCode());
@@ -359,6 +354,8 @@
                     if (jobById.getTroubleshootTypeCycleType() == 1){
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("小时");
+                        CJTaskFromWork.setWorkStartTime("00:00:00");
+                        CJTaskFromWork.setWorkEndTime("23:59:59");
                     }else if (jobById.getTroubleshootTypeCycleType() == 2){
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("天");
@@ -404,19 +401,17 @@
                     PreventRiskControlMeasure measureById = preventRiskControlMeasureService.getPreventRiskControlMeasureById(work.getMeasureId());
                     CJTaskFromWork.setTroubleshootContent(measureById.getCheckContent());
                     CJTaskFromWork.setTaskStartTime(jobById.getStartTime());
-                    if (jobById.getTroubleshootTypeCycleType() == 1){
-                        Date date = new Date();
-                        CJTaskFromWork.setWorkStartTime(new Date(startFormat.format(date)));//todo  这个时间如何确定?
-                        CJTaskFromWork.setWorkEndTime(new Date(endFormat.format(date)));
-                    }
+
                     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));
-                    CJTaskFromWork.setTaskNum("1");
 
                     //封装数据
                     CJTaskFromWorkLists.add(CJTaskFromWork);
@@ -449,13 +444,13 @@
         if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
 
             //logger.info("【##】5.检索排查任务记录数据...");
+            System.out.println("【##】5.检索排查任务记录数据...");
 
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
             List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listReportTask();
             //获取上报数据对象
             List<PreventCJReportCheckRecordFromTask> CJRecordFromTaskLists = new ArrayList<>();
             HandlerReportParam handlerReportParam = new HandlerReportParam();
-
             if (ObjectUtils.isNotEmpty(tasks)){
                 //遍历,封装数据
                 for (PreventRiskDangerCheckLog task : tasks) {
@@ -464,20 +459,6 @@
                     //获取任务附属表信息
                     PreventRiskJobAndMeasure jobAndMeasureByJobId = preventRiskJobAndMeasureService.getJobAndMeasureByJobId(task.getJobId());
                     //转换检查结果
-                    /**
-                     *  examineUserName,checkTime  任务执行后,不为空  不使用;
-                     * tr_hidden_danger_check 的 scheduleCheckStatus 0 未排查, 1已排查
-                     *  结果暂时不写入,需要后续处理   ---检查源任务相关的检查点结果
-                     *  1.找到每个点的提交接口,进行数据处理
-                     *  2.写一个定时任务处理(备用)
-                     * */
-                    /**
-                     *   todo  排查后的任务才上报
-                     *  examineUserName,checkTime  任务执行后,不为空  不使用;
-                     * tr_hidden_danger_check 的 scheduleCheckStatus 0 未排查, 1已排查
-                     * todo  先找到所有已经排查的任务,然后查询 tr_hidden_danger_check_point ,whether_danger 是否为隐患(0为正常  1为隐患) ,未处理的任务,该值为空
-                     *  部分查询结果为空,需要对tr_hidden_danger_check_point结果做判空
-                     * */
                     //如果已经执行过,进入方法
                     if (Integer.valueOf(hiddenDangerCheckById.getScheduleCheckStatus()) == 1){
 
@@ -501,7 +482,7 @@
                                 }
                                 User updateUser = trUserService.getUserByLoginName(hiddenDangerCheckById.getUpdateBy());
 
-                                //封装上报昌吉州的任务数据 todo taskUUid
+                                //封装上报昌吉州的任务数据
 //                                String taskUuid = UUID.randomUUID().toString();
                                 CJRecordFromTask.setId(UUID.randomUUID().toString());
                                 CJRecordFromTask.setCompanyCode(companyCode);
@@ -541,7 +522,7 @@
                                 CJRecordFromTask.setTaskId(task.getCheckId());
                                 //第二版标准新增
                                 CJRecordFromTask.setMobileCode(task.getMobileCode().toString());
-                                List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(jobAndMeasureByJobId.getJobId());
+                                List<PreventTaskType> typeByJobIds = taskTypeService.getInfoByJobId(task.getJobId());
                                 int typeTag = 0;
                                 for (PreventTaskType typeByJobId : typeByJobIds) {
                                     if (typeByJobId.getType()!= 0) {
@@ -554,12 +535,16 @@
                                 CJRecordFromTaskLists.add(CJRecordFromTask);
                             }
                         }
+
                             //设置原始数据上报状态
                             handlerReportParam.setId(task.getId());
                             handlerReportParam.setReportTime(new Date());
                             handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
                             preventRiskDangerCheckLogService.updateTaskReportStatus(handlerReportParam);
+                            int i = 1;
+//                        System.out.println("【##】数据封装" + 1);
                     }
+                    System.out.println("【##】5.数据封装完成...");
 //                    String checkStatus = null;
 //                    if (ObjectUtils.isEmpty(task.getResult() )){
 //                        checkStatus = "2";
@@ -616,11 +601,13 @@
 
                     //通过用户名,获取涉及到的各位用户的真实姓名
                     User createUser = new User();
-                    createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());
+                    createUser = trUserService.getUserByLoginName(hiddenDanger.getCreateBy());  //todo
+//                    createUser = trUserService.getUserByLoginName("guotai");
                     if(ObjectUtils.isEmpty(createUser)){
                         createUser = trUserService.getUserByName(hiddenDanger.getCreateBy());
                     }
-                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy());
+                    User updateUser = trUserService.getUserByLoginName(hiddenDanger.getUpdateBy()); //todo
+//                    User updateUser = trUserService.getUserByLoginName("guotai");
                     if (ObjectUtils.isNotEmpty(hiddenDanger.getRegisterUserName())){
                         User registerUser = trUserService.getUserByLoginName(hiddenDanger.getRegisterUserName());
                         //登记人信息
@@ -628,10 +615,12 @@
                         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())){
@@ -640,6 +629,7 @@
                         CJDangerInfo.setCheckAcceptComment(hiddenDanger.getAcceptOpinion());//验收情况
                         CJDangerInfo.setCheckAcceptTime(hiddenDanger.getAcceptCreateTime());//验收时间
                     }
+
                     //如果排查任务正常存在,封装任务相关数据
                     if (Integer.parseInt(hiddenDanger.getDangerSources()) != 2){
                         HiddenDangerCheck dangerCheckById = trHiddenDangerCheckService.getHiddenDangerCheckById(hiddenDanger.getCheckId());
@@ -657,11 +647,7 @@
                         CJDangerInfo.setRiskMeasureId(null);//管控措施uuid
                     }
 
-                    if (dangerManage.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
-                        CJDangerInfo.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-                    }else {
-                        CJDangerInfo.setDeleted("0");
-                    }
+                    CJDangerInfo.setDeleted("0");
                     CJDangerInfo.setId(dangerManage.getUuid());
                     CJDangerInfo.setCompanyCode(companyCode);
                     CJDangerInfo.setHazardCode(dangerManage.getHazardCode());//风险分析对象编码
@@ -687,13 +673,18 @@
                     CJDangerInfo.setDangerName(hiddenDanger.getDangerName());
                     CJDangerInfo.setDangerLevel(hiddenDanger.getDangerLevel());//隐患等级
                     CJDangerInfo.setDangerSrc(dangerManage.getDangerSrc().toString());//隐患来源
-                    CJDangerInfo.setDangerManageType(hiddenDanger.getRectifyType());//隐患治理类型
+                    if (hiddenDanger.getRectifyType().equals("1")){
+                        CJDangerInfo.setDangerManageType("0");//隐患治理类型
+                    }else {
+                        CJDangerInfo.setDangerManageType("1");//隐患治理类型
+                    }
                     CJDangerInfo.setDangerDesc(hiddenDanger.getDangerDescription());//隐患描述
                     CJDangerInfo.setDangerReason(dangerManage.getDangerReason());//隐患产生原因
-                    CJDangerInfo.setCost(hiddenDanger.getRectifyFund());//资金
                     CJDangerInfo.setDangerManageDeadline(hiddenDanger.getRectifyDeadlineTime());//治理期限
-                    CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态
-                    CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());//隐患类型
+                    if (ObjectUtils.isNotEmpty(dangerManage.getDangerState())){
+                        CJDangerInfo.setDangerState(dangerManage.getDangerState().toString());//隐患状态
+                    }
+                    CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());// todo 隐患类型
                     CJDangerInfo.setDangerManagerId(dangerManage.getId());
                     //封装数据
                     CJDangerInfoLists.add(CJDangerInfo);
@@ -724,74 +715,74 @@
 
 
 
-        /**
-         * 7、检索检修记录数据
-         * */
-        //读取风险分析单元数据上报主配置信息
-        PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode());
-        //如果风险事件主配置开启上报
-        if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
-
-            //logger.info("【##】2.检索检修记录...");
-            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
-            List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog();
-            //获取上报数据对象与list
-            List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>();
-            if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){
-                //遍历,封装数据
-                for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) {
-                    HandlerReportParam handlerReportParam = new HandlerReportParam();
-                    PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog();
-
-                    //封装上报昌吉州检修记录数据
-                    CJOverhaulLog.setId(preventOverhaulLog.getUuid());
-                    if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
-                        CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
-                    }else {
-                        CJOverhaulLog.setDeleted("0");
-                    }
-                    CJOverhaulLog.setCompanyCode(companyCode);
-                    CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode());
-                    CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid());
-                    CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime());
-                    CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime());
-                    CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason());
-                    CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName());
-                    CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate());
-                    CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName());
-                    CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify());
-                    CJOverhaulLog.setReportTime(null);
-                    CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
-                    CJOverhaulLog.setDataSource((byte) 1);
-
-                    //封装数据
-                    CJOverhaulLogLists.add(CJOverhaulLog);
-                    //设置原始数据上报状态
-                    handlerReportParam.setId(preventOverhaulLog.getId());
-                    handlerReportParam.setReportTime(new Date());
-                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
-                    int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam);
-                    if (result < 1){
-                        throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
-                    }
-                }
-            }else {
-                logger.info("【检修记录】当前无检修记录数据需要处理");
-            }
-            //写入昌吉州转换表
-            for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) {
-                int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog);
-                if (result < 1){
-                    throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
-                }
-                logger.info("【检修记录】2.检修记录CJ:数据处理...");
-            }
-            step = 3;
-        }else {
-            step = 3;
-            logger.info("检修记录数据上报已关闭");
-        }
-
+//        /**
+//         * 7、检索检修记录数据
+//         * */
+//        //读取风险分析单元数据上报主配置信息
+//        PreventReportConfig overhaulReportConfig = preventReportConfigService.getReportConfigById(SyncEnum.OVERHAUL_LOG_DANGER_INFO.getCode());
+//        //如果风险事件主配置开启上报
+//        if (overhaulReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
+//
+//            //logger.info("【##】2.检索检修记录...");
+//            //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
+//            List<PreventOverhaulLog> preventOverhaulLogList = overhaulLogService.listReportOverhaulLog();
+//            //获取上报数据对象与list
+//            List<PreventCJReportOverhaulLog> CJOverhaulLogLists = new ArrayList<>();
+//            if (ObjectUtils.isNotEmpty(preventOverhaulLogList)){
+//                //遍历,封装数据
+//                for (PreventOverhaulLog preventOverhaulLog : preventOverhaulLogList) {
+//                    HandlerReportParam handlerReportParam = new HandlerReportParam();
+//                    PreventCJReportOverhaulLog CJOverhaulLog = new PreventCJReportOverhaulLog();
+//
+//                    //封装上报昌吉州检修记录数据
+//                    CJOverhaulLog.setId(preventOverhaulLog.getUuid());
+//                    if (preventOverhaulLog.getReportStatus().equals(SyncEnum.SYNC_EXEC_SUCCESS.getCode())){
+//                        CJOverhaulLog.setDeleted("2");//数据更新状态标识,目前仅昌吉州需要 2022-08-10
+//                    }else {
+//                        CJOverhaulLog.setDeleted("0");
+//                    }
+//                    CJOverhaulLog.setCompanyCode(companyCode);
+//                    CJOverhaulLog.setHazardCode(preventOverhaulLog.getHazardCode());
+//                    CJOverhaulLog.setRiskUnitId(preventOverhaulLog.getRiskUnitUuid());
+//                    CJOverhaulLog.setStopStartTime(preventOverhaulLog.getStopStartTime());
+//                    CJOverhaulLog.setStopEndTime(preventOverhaulLog.getStopEndTime());
+//                    CJOverhaulLog.setStopReason(preventOverhaulLog.getStopReason());
+//                    CJOverhaulLog.setCreateBy(preventOverhaulLog.getCreateByUserName());
+//                    CJOverhaulLog.setCreateDate(preventOverhaulLog.getGmtCreate());
+//                    CJOverhaulLog.setUpdateBy(preventOverhaulLog.getCreateByUserName());
+//                    CJOverhaulLog.setUpdateDate(preventOverhaulLog.getGmtModitify());
+//                    CJOverhaulLog.setReportTime(null);
+//                    CJOverhaulLog.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+//                    CJOverhaulLog.setDataSource((byte) 1);
+//
+//                    //封装数据
+//                    CJOverhaulLogLists.add(CJOverhaulLog);
+//                    //设置原始数据上报状态
+//                    handlerReportParam.setId(preventOverhaulLog.getId());
+//                    handlerReportParam.setReportTime(new Date());
+//                    handlerReportParam.setReportStatus(SyncEnum.SYNC_WAIT_EXEC.getCode());
+//                    int result = overhaulLogService.updateOverhaulReportStatus(handlerReportParam);
+//                    if (result < 1){
+//                        throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
+//                    }
+//                }
+//            }else {
+//                logger.info("【检修记录】当前无检修记录数据需要处理");
+//            }
+//            //写入昌吉州转换表
+//            for (PreventCJReportOverhaulLog cjOverhaulLog : CJOverhaulLogLists) {
+//                int result = reportOverhaulLogService.insertCJOverhaulLists(cjOverhaulLog);
+//                if (result < 1){
+//                    throw new AusinessException(E.ADD_FAIL.getCode(), "检修记录数据状态修改失败");
+//                }
+//                logger.info("【检修记录】2.检修记录CJ:数据处理...");
+//            }
+//            step = 3;
+//        }else {
+//            step = 3;
+//            logger.info("检修记录数据上报已关闭");
+//        }
+//
 
 
 

--
Gitblit v1.9.2