From 1864f916e0359d0814416cf94feda3a3662ed193 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 05 九月 2025 16:39:29 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java | 51 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
index e4055e2..4fe348f 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/third/ReportThirdScheduler.java
@@ -2,7 +2,9 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.framework.common.Cools;
+import com.zy.acs.manager.core.third.dto.TaskEvent;
import com.zy.acs.manager.core.utils.HttpHandler;
import com.zy.acs.manager.manager.entity.TaskReport;
import com.zy.acs.manager.manager.entity.TaskReportLog;
@@ -17,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -41,42 +44,66 @@
if (report) {
String wmsUrl = configService.getVal("WMS_URL", String.class);
String wmsPath = configService.getVal("WMS_PATH", String.class);
- Integer times = configService.getVal("REPORT_TIMES", Integer.class, 3);
- List<TaskReport> list = taskReportService.list();
+ List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getCompleted, 0).le(TaskReport::getReportTimes, 3));
for (TaskReport taskReport : list) {
- if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) {
- toLog(taskReport);
- continue;
- }
- if (report(taskReport, wmsUrl, wmsPath)) {
- toLog(taskReport);
+ TaskEvent taskEvent = new TaskEvent(taskReport.getSeqNum(), taskReport.getEventType(), taskReport.getAgvId() + "");
+ log.info("寮�濮嬩笂鎶ワ細{}", taskEvent);
+ if (report(taskEvent, wmsUrl, wmsPath)) {
+ taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1);
+ taskReport.setUpdateTime(new Date());
+ taskReport.setCompleted(1);
} else {
taskReport.setReportTimes((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) + 1);
taskReport.setUpdateTime(new Date());
- taskReportService.updateById(taskReport);
+ }
+ taskReportService.updateById(taskReport);
+ }
+ }
+ }
+
+ /**
+ * 鍒犻櫎瓒呰繃涓�瀹氬ぉ鏁扮殑涓婃姤鍘嗗彶璁板綍
+ */
+ @Scheduled(fixedDelay = 3000)
+ public void execute2() {
+ Boolean report = configService.getVal("REPORT", Boolean.class, false);
+ if (report) {
+ Calendar instance = Calendar.getInstance();
+ instance.add(Calendar.DATE, 7);
+ List<TaskReport> list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().ge(TaskReport::getUpdateTime, instance.getTime()));
+ Integer times = configService.getVal("REPORT_TIMES", Integer.class, 3);
+ for (TaskReport taskReport : list) {
+ if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) {
+ toLog(taskReport);
+ }
+ }
+ list = taskReportService.list(new LambdaQueryWrapper<TaskReport>().eq(TaskReport::getReportTimes, 4).ge(TaskReport::getUpdateTime, instance.getTime()));
+ for (TaskReport taskReport : list) {
+ if ((Cools.isEmpty(taskReport.getReportTimes()) ? 0 : taskReport.getReportTimes()) > times) {
+ toLog(taskReport);
}
}
}
}
@Transactional
- public boolean report(TaskReport taskReport, String wmsUrl, String wmsPath) {
+ public boolean report(TaskEvent taskReport, String wmsUrl, String wmsPath) {
String response = null;
try {
response = new HttpHandler.Builder()
.setUri(wmsUrl)
.setPath(wmsPath)
+
.setJson(JSON.toJSONString(taskReport))
.build()
.doPost();
log.info("杩斿洖鍙傛暟锛歿}", response);
JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
+ if (jsonObject != null && jsonObject.getInteger("code").equals(200)) {
return true;
}
} catch (IOException e) {
log.info("鎶ラ敊浜嗭紝{}", e);
- taskReport.setMemo(e.getMessage());
e.printStackTrace();
}
--
Gitblit v1.9.1