From 21357f1d42f995e11e99a12a5f225fe6442b9ad1 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 08 一月 2025 13:05:09 +0800
Subject: [PATCH] 优化定时任务及日志输出,调整订单同步逻辑
---
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 4 +-
src/main/java/com/zy/asrs/controller/OpenController.java | 40 ++++++++++++++++++--
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 6 ++-
src/main/java/com/zy/asrs/task/AgvWarnScheduler.java | 2
src/main/java/com/zy/asrs/task/ReportDataScheduler.java | 2 -
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 11 ++---
6 files changed, 48 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index d930b2e..12294d2 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,15 +1,19 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.AppAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.zy.asrs.entity.ApiLog;
import com.zy.asrs.entity.param.CheckParam;
import com.zy.asrs.entity.param.MatSyncParam;
import com.zy.asrs.entity.param.OrderProdSyncParam;
import com.zy.asrs.entity.param.OrderSyncParam;
+import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OpenService;
import com.zy.common.utils.Synchro;
import com.zy.common.web.BaseController;
@@ -18,7 +22,9 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -38,6 +44,11 @@
@Autowired
private OpenService openService;
+
+
+ @Autowired
+ private ApiLogService apiLogService;
+
/**
* 搴撳瓨缁熻
@@ -69,7 +80,7 @@
private void auth(String appkey, Object obj, HttpServletRequest request) {
- log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
+ //log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
request.setAttribute("cache", obj);
if (!auth) {
return;
@@ -107,7 +118,7 @@
public synchronized R orderPakin(@RequestHeader(required = false) String appkey,
@RequestBody Map<String, Object> map,
HttpServletRequest request) {
- log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map));
+ //log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map));
OrderProdSyncParam param = JSON.parseObject(JSON.toJSONString(map), OrderProdSyncParam.class);
auth(appkey, param, request);
if (Cools.isEmpty(param)) {
@@ -184,7 +195,7 @@
@AppAuth(memo = "鍚屾宸ュ崟鍗曟嵁")
public synchronized R orderPakout(@RequestHeader(required = false) String appkey,
@RequestBody Map<String, Object> map) {
- log.info("鍚屾宸ュ崟鍗曟嵁,{}", JSON.toJSONString(map));
+ //log.info("鍚屾宸ュ崟鍗曟嵁,{}", JSON.toJSONString(map));
OrderProdSyncParam param = JSON.parseObject(JSON.toJSONString(map), OrderProdSyncParam.class);
auth(appkey, param, request);
if (Cools.isEmpty(param)) {
@@ -256,7 +267,7 @@
public synchronized R orderPakin2(@RequestHeader(required = false) String appkey,
@RequestBody Map<String, Object> map,
HttpServletRequest request) {
- log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map));
+ //log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map));
OrderProdSyncParam param = JSON.parseObject(JSON.toJSONString(map), OrderProdSyncParam.class);
auth(appkey, param, request);
if (Cools.isEmpty(param)) {
@@ -465,4 +476,25 @@
//return orderSyncParam;
}
+
+// @PostMapping("/order/add")
+// public R re(@RequestHeader(required = false) String appkey,
+// HttpServletRequest request) throws IOException {
+// List<ApiLog> apiLogs = apiLogService.selectList(new EntityWrapper<ApiLog>().eq("url", "/phyzwms/open/asrs/order/pakin/default/v1").eq("response", "{\"msg\":\"鏈嶅姟鍣ㄩ敊璇痋",\"code\":500}").ge("create_time", "2025-01-06 00:00:00"));
+// for (ApiLog apiLog : apiLogs) {
+// Map<String, Object> param = new HashMap<>();
+// ObjectMapper mapper = new ObjectMapper();
+// if (!Cools.isEmpty(apiLog.getRequest())) {
+// param = mapper.readValue(apiLog.getRequest(), Map.class);
+// try {
+// orderPakin(appkey, param, request);
+// } catch (Exception e) {
+//
+// }
+// }
+// }
+// return R.ok();
+//
+// }
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index 18cb689..b815fa0 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -56,10 +56,10 @@
long flowId = snowflakeIdWorker.nextId();
agvWrkDetls.stream().map(agvWrkDetl -> {
AgvLocDetl agvLocDetl = new AgvLocDetl();
- log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
+ //log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
agvLocDetl.setLocNo(locNo);
- log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl));
+ //log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl));
this.insert(agvLocDetl);
// 娴佹按 -- 鏂板璁㈠崟鏄庣粏
OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode());
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 6044ed0..daac737 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -24,9 +25,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -886,11 +885,11 @@
}
Date now = new Date();
Order order = orderMapping(param, now, pakin, docName);
- StringBuffer tel = new StringBuffer();
+ Set<String> set = new HashSet<>();
for (OrderSyncParam.OrderDetl child : param.getChildren()) {
- tel.append(child.getCDefine22()).append(";");
+ set.add(child.getCDefine22());
}
- order.setTel(tel.toString());
+ order.setTel(JSON.toJSONString(set));
orderService.insert(order);
param.getChildren().forEach(od -> {
OrderDetl orderDetl = orderDetlMapping(order, od, now);
diff --git a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
index c242ad2..3dbc5f2 100644
--- a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java
@@ -69,7 +69,7 @@
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())) {
+ if (DateUtil.offsetMinute(new Date(), -warnTime).after(begin)) {
buffer = new StringBuffer();
buffer.append(processRegion(agvs, agvWarn.getRobotCode()) + "[" + agvWarn.getRobotCode() + "]鍙稟GV灏忚溅鎶ヨ浜哱n");
buffer.append("鎶ヨ绫诲瀷锛�" + agvWarn.getWarnContent() + "\n");
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index f579f89..363bd55 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -50,7 +50,7 @@
}
//@Scheduled(cron = "0/5 * * * * ? ")
- @Scheduled(fixedDelay = 5000)
+ @Scheduled(fixedDelay = 600000)
//@Async("orderThreadPool")
public void completeAndReport() {
String erpReport = Parameter.get().getErpReport();
@@ -102,7 +102,9 @@
public void completeOrder() {
List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2).isNotNull("plt_type"));
orderList.forEach(order -> {
- orderService.checkComplete(order.getOrderNo(), order.getPltType());
+ if (order.getPltType() != null) {
+ orderService.checkComplete(order.getOrderNo(), order.getPltType());
+ }
});
}
diff --git a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
index 84cd5cb..a7e968c 100644
--- a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
@@ -62,7 +62,6 @@
@Scheduled(fixedDelay = 30000)
public void execute() {
- log.info("瀹氭椂浠诲姟寮�濮嬫墽琛�");
if (!flag) {
return;
}
@@ -78,7 +77,6 @@
}
}
}
- log.info("瀹氭椂浠诲姟缁撴潫鎵ц");
}
//鑾峰彇mes token淇℃伅
--
Gitblit v1.9.1