From e90dba0edc93be26e1509cfb2ec1d0681eb86e48 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 27 八月 2025 08:37:04 +0800
Subject: [PATCH] 合并出库添加日志
---
src/main/java/com/zy/asrs/task/AgvWarnScheduler.java | 65 +++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
index c242ad2..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;
@@ -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,27 @@
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,46 +84,54 @@
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");
- if (DateUtil.offsetMinute(begin, warnTime).before(new Date())) {
+ 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");
- 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 +145,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);
}
@@ -133,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