From b3913e13b37e6dd15d5265b0e38268f15ee5ecfa Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: 星期三, 05 七月 2023 17:29:40 +0800
Subject: [PATCH] 上报改为一天两次,兼容小时任务

---
 src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java |   24 ++++++++++++++++++------
 src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java |    7 ++++---
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java
index 3ed730e..80ea0c9 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/ExecCJReportDateSchedule.java
@@ -90,7 +90,8 @@
 
 
     @Transactional
-    @Scheduled(cron = "0 0 23 * * ?")    //每天晚上23点执行一次
+//    @Scheduled(cron = "0 0 23 * * ?")    //每天晚上23点执行一次0 0 22,23 * * ?
+    @Scheduled(cron = "0 0 22,23 * * ?")    //每天晚上22、23点执行一次
 //    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
     //@Scheduled(cron = "0/30 * * * * ?")
     public void execReportDateSchedule() throws UnsupportedEncodingException {
@@ -109,10 +110,10 @@
 
         logger.info("【token时间】" + formatDate);
 
+
         /**
          * 1、处理安全风险分析单元数据
          * */
-
         logger.info("【1】安全风险分析单元-处理数据...");
         List<PreventCJReportRiskAnaUnit> CJRiskAnaUnits = CJRiskAnaUnitService.listReportUnitDate();
         if (ObjectUtils.isNotEmpty(CJRiskAnaUnits)){
@@ -280,7 +281,7 @@
                 os.write(JSON.toJSONString(paraMap).getBytes());
                 //得到响应码
                 responseCode = con.getResponseCode();
-                //本段日志,测试成功后,可注释掉
+                //确认响应流不为空
                 if (responseCode == HttpURLConnection.HTTP_OK) {
                     //得到响应流
                     InputStream inputStream = con.getInputStream();
diff --git a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
index 9b8d00c..29f4ef8 100644
--- a/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
+++ b/src/main/java/com/ruoyi/doublePrevention/scheduls/SearchReportDateSchedule.java
@@ -30,10 +30,7 @@
 
 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 +39,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;
@@ -357,6 +356,11 @@
                     if (jobById.getTroubleshootTypeCycleType() == 1){
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("小时");
+                        CJTaskFromWork.setWorkStartTime(jobById.getCreateTime());
+                        Calendar calendar = Calendar.getInstance();
+                        calendar.setTime(jobById.getCreateTime());
+                        calendar.add(Calendar.HOUR, Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
+                        CJTaskFromWork.setWorkEndTime(calendar.getTime());
                     }else if (jobById.getTroubleshootTypeCycleType() == 2){
                         CJTaskFromWork.setCheckCycle(Math.toIntExact(jobById.getTroubleshootTypeCycleNum()));
                         CJTaskFromWork.setCheckCycleUnit("天");
@@ -447,6 +451,7 @@
         if (recordReportConfig.getReportState().equals(SyncEnum.REPORT_ON.getCode())){
 
             //logger.info("【##】5.检索排查任务记录数据...");
+            System.out.println("【##】5.检索排查任务记录数据...");
 
             //查询所有 选择上报的数据 && (reportTime == null 或者 reportTime < updateReportDataTime)
             List<PreventRiskDangerCheckLog> tasks = preventRiskDangerCheckLogService.listReportTask();
@@ -543,7 +548,10 @@
                             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";
@@ -677,8 +685,12 @@
                     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());//隐患状态
+                    }
+                    if (ObjectUtils.isNotEmpty(dangerManage.getHazardDangerType())){
+                        CJDangerInfo.setHazardDangerType(dangerManage.getHazardDangerType().toString());//隐患类型
+                    }
                     CJDangerInfo.setDangerManagerId(dangerManage.getId());
                     //封装数据
                     CJDangerInfoLists.add(CJDangerInfo);

--
Gitblit v1.9.2