From efd08b1b4e4cbf8007096bee5d7912979e3e427a Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 10 二月 2025 12:44:12 +0800
Subject: [PATCH] 兼容四期

---
 src/main/java/com/zy/asrs/task/AgvWarnScheduler.java |   54 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
index 3dbc5f2..fd5450b 100644
--- a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
@@ -1,6 +1,5 @@
 package com.zy.asrs.task;
 
-import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -8,7 +7,9 @@
 import com.core.common.Cools;
 import com.zy.asrs.entity.Agv;
 import com.zy.asrs.entity.AgvWarn;
+import com.zy.asrs.entity.AgvWarnLog;
 import com.zy.asrs.mapper.AgvBasMapper;
+import com.zy.asrs.service.AgvWarnLogService;
 import com.zy.asrs.service.AgvWarnService;
 import com.zy.asrs.task.handler.AgvWarnHandler;
 import com.zy.common.utils.HttpHandler;
@@ -40,10 +41,26 @@
     private AgvWarnService agvWarnService;
 
     @Autowired
+    private AgvWarnLogService agvWarnLogService;
+
+    @Autowired
     private ConfigService configService;
 
     @Autowired
     private AgvBasMapper agvBasMapper;
+
+
+    /**
+     *  鍒犻櫎鍛婅鏃ュ織
+     */
+    @Scheduled(cron = "0 0 1 * * ? ")
+    private void delWarnLog() {
+        String format = DateUtil.format(DateUtil.offsetMonth(new Date(), -1), "yyyy-MM-dd HH:mm:ss");
+        List<AgvWarnLog> agvWarnList = agvWarnLogService.selectList(new EntityWrapper<AgvWarnLog>().le("modi_time", format));
+        for (AgvWarnLog agvWarn : agvWarnList) {
+            agvWarnLogService.deleteById(agvWarn);
+        }
+    }
 
     /**
      * 瓒呰繃涓�鍒嗛挓娌℃洿鏂扮殑锛屽垹闄�
@@ -66,9 +83,13 @@
         Config url = configService.selectOne(new EntityWrapper<Config>().eq("code", "AGV_WARN_REPORT_URL"));
         List<AgvWarn> agvWarnList = agvWarnService.selectList(new EntityWrapper<AgvWarn>());
         StringBuffer buffer;
+        HashMap<String, Object> sendData = new HashMap<>();
         for (AgvWarn agvWarn : agvWarnList) {
             Integer warnTime = getWarnTime(agvWarn.getTimes(), first.getValue(), second.getValue(), third.getValue());
-            DateTime begin = DateUtil.parse(agvWarn.getBeginTime(), "yyyy-MM-dd HH:mm:ss");
+            Date begin = DateUtil.parse(agvWarn.getBeginTime(), "yyyy-MM-dd HH:mm:ss");
+            if (DateUtil.offsetMinute(agvWarn.getAppeTime(), -3).after(begin)) {
+                begin = agvWarn.getAppeTime();
+            }
             if (DateUtil.offsetMinute(new Date(), -warnTime).after(begin)) {
                 buffer = new StringBuffer();
                 buffer.append(processRegion(agvs, agvWarn.getRobotCode()) + "[" + agvWarn.getRobotCode() + "]鍙稟GV灏忚溅鎶ヨ浜哱n");
@@ -76,36 +97,37 @@
                 if (!Cools.isEmpty(agvWarn.getSourceLocNo())) {
                     buffer.append("浠�:[" + agvWarn.getSourceLocNo() + "]鍒癧" + agvWarn.getLocNo() + "]\n");
                 }
-                buffer.append("寮�濮嬫椂闂�:" + agvWarn.getBeginTime() + "\n");
-                int i = agvWarn.getTimes() + 1;
-                buffer.append("绗琜" + i + "]娆℃姤璀�");
+                //buffer.append("鎶ヨ寮�濮嬫椂闂�:" + agvWarn.getBeginTime() + "\n");
+                buffer.append("鎶ヨ寮�濮嬫椂闂�:" + DateUtil.formatDateTime(begin) + "\n");
+                buffer.append("褰撳墠鏃堕棿:" + DateUtil.formatDateTime(new Date()));
+                //int i = agvWarn.getTimes() + 1;
+                //buffer.append("绗琜" + i + "]娆℃姤璀�");
                 HashMap<String, Object> param = new HashMap<>();
                 HashMap<String, Object> data = new HashMap<>();
                 data.put("content", buffer.toString());
                 param.put("msgtype", "text");
                 param.put("text", data);
-                log.info("鍙戦�佹姤璀︿俊鎭細{}", JSON.toJSONString(param));
+
+                sendData.put(agvWarn.getRobotCode() + agvWarn.getWarnContent(), param);
+            }
+            for (HashMap.Entry<String, Object> entry : sendData.entrySet()) {
+                log.info("鍙戦�佹姤璀︿俊鎭細{}", JSON.toJSONString(entry.getValue()));
                 String response = null;
                 try {
-                    response = new HttpHandler.Builder()
-                            .setUri(url.getValue())
-                            .setJson(JSON.toJSONString(param))
-                            .setHttps(true)
-                            .build()
-                            .doPost();
+                    response = new HttpHandler.Builder().setUri(url.getValue()).setJson(JSON.toJSONString(entry.getValue())).setHttps(true).build().doPost();
                 } catch (IOException e) {
                     throw new RuntimeException(e);
                 }
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.get("errmsg").equals("ok")) {
                     agvWarn.setTimes(agvWarn.getTimes() + 1);
+                    agvWarn.setModiTime(new Date());
                     agvWarnService.updateById(agvWarn);
-                    //鍙戦�佹垚鍔�
-                    return;
                 } else {
                     log.error("鍙戦�佸け璐ワ紝閿欒淇℃伅锛歿}", jsonObject.get("errmsg"));
                 }
             }
+
         }
     }
 
@@ -119,9 +141,9 @@
             case 0:
                 return Integer.parseInt(first);
             case 1:
-                return Integer.parseInt(second);
+                return Integer.parseInt(first) + Integer.parseInt(second);
             case 2:
-                return Integer.parseInt(thrid);
+                return Integer.parseInt(first) + Integer.parseInt(second) + Integer.parseInt(thrid);
             default:
                 return (times - 2) * Integer.parseInt(thrid) + Integer.parseInt(first) + Integer.parseInt(second) + Integer.parseInt(thrid);
         }

--
Gitblit v1.9.1