From dfc9552392f9f973ab52e55d58a7ae2acdaeb1f3 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期日, 09 三月 2025 14:19:43 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/asrs/task/AgvWarnScheduler.java |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
index 5a653bc..bca34de 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;
@@ -51,6 +50,7 @@
     private AgvBasMapper agvBasMapper;
 
 
+
     /**
      *  鍒犻櫎鍛婅鏃ュ織
      */
@@ -87,27 +87,35 @@
         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");
+                String s = processRegion(agvs, agvWarn.getRobotCode());
+                if (s == null) {
+                    continue;
+                }
+                buffer.append(s + "[" + agvWarn.getRobotCode() + "]鍙稟GV灏忚溅鎶ヨ浜哱n");
                 buffer.append("鎶ヨ绫诲瀷锛�" + agvWarn.getWarnContent() + "\n");
                 if (!Cools.isEmpty(agvWarn.getSourceLocNo())) {
                     buffer.append("浠�:[" + agvWarn.getSourceLocNo() + "]鍒癧" + agvWarn.getLocNo() + "]\n");
                 }
-                buffer.append("鎶ヨ寮�濮嬫椂闂�:" + agvWarn.getBeginTime() + "\n");
-                buffer.append("褰撳墠鏃堕棿:" + DateUtil.formatDateTime(new Date()) + "\n");
-                int i = agvWarn.getTimes() + 1;
+                //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(entry.getValue())).setHttps(true).build().doPost();
@@ -117,9 +125,8 @@
                 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"));
                 }
@@ -152,6 +159,9 @@
         }
         for (Agv agv : agvs) {
             if (agv.getAgvNo() != null && agv.getAgvNo().equals(agvNo)) {
+                if (!Cools.isEmpty(agv.getFlag()) && agv.getFlag() == 1) {
+                    return null;
+                }
                 return agv.getRegion();
             }
         }

--
Gitblit v1.9.1