From ab14726215678ac69adfeafbd845ebc5b0776ea2 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:56:41 +0800
Subject: [PATCH] 优化订单同步逻辑及库位查找
---
src/main/java/com/zy/asrs/task/ReportDataScheduler.java | 81 +++++++++-------------------------------
1 files changed, 19 insertions(+), 62 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
index 1a850fa..a788232 100644
--- a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
@@ -1,28 +1,25 @@
package com.zy.asrs.task;
-import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.ReportData;
-import com.zy.asrs.entity.ReportDataLog;
import com.zy.asrs.service.ApiLogService;
-import com.zy.asrs.service.ReportDataLogService;
import com.zy.asrs.service.ReportDataService;
+import com.zy.asrs.task.handler.ReportDataHandler;
import com.zy.common.utils.HttpHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-import java.util.Date;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -38,12 +35,10 @@
private ReportDataService reportDataService;
@Autowired
- private ReportDataLogService reportDataLogService;
-
-
- @Autowired
private ApiLogService apiLogService;
+ @Autowired
+ private ReportDataHandler reportDataHandler;
@Value("${mes.appKey}")
private String appKey;
@@ -52,73 +47,36 @@
@Value("${mes.appSecret}")
private String appSecret;
+
@Value("${mes.report}")
private Boolean flag;
- @Value("${mes.url}")
- private String url;
-
@Value("${mes.getTokenUrl}")
private String getTokenUrl;
-
- @Value("${mes.orderReportPath}")
- private String orderReportPath;
-
- @Value("${mes.pakinReportPath}")
- private String pakinReportPath;
-
- @Value("${mes.buyPakinReportPath}")
- private String buyPakinReportPath;
-
- @Value("${mes.pakoutReportPath}")
- private String pakoutReportPath;
@Value("${mes.getTokenPath}")
private String getTokenPath;
- @Scheduled(cron = "0/10 * * * * ? ")
+ @Scheduled(fixedDelay = 5000)
public void execute() {
log.info("瀹氭椂浠诲姟寮�濮嬫墽琛�");
if (!flag) {
return;
}
- Map<String, Object> mesTokenInfo = getMesTokenInfo();
- List<ReportData> reportData = reportDataService.selectList(new EntityWrapper<>());
- for (ReportData data : reportData) {
- process(data, mesTokenInfo);
+ Page<ReportData> objectPage = new Page<>(1, 100);
+ Page<ReportData> reportData = reportDataService.selectPage(objectPage, new EntityWrapper<ReportData>().orderBy("create_time", false));
+ if (reportData != null && !Cools.isEmpty(reportData.getRecords())) {
+ Map<String, Object> mesTokenInfo = getMesTokenInfo();
+ for (ReportData data : reportData.getRecords()) {
+ try {
+ reportDataHandler.start(data, mesTokenInfo);
+ } catch (Exception e) {
+ log.error("鏁版嵁澶勭悊寮傚父锛寋}", data.getId());
+ }
+ }
}
log.info("瀹氭椂浠诲姟缁撴潫鎵ц");
- }
-
- @Transactional
- public void process(ReportData data, Map<String, Object> mesTokenInfo) {
- String mesPath = "";
- if ("MES".equals(data.getReportType())) {
- switch (data.getMemo()) {
- case "涓婃姤mes閲囪喘鍏ュ簱淇℃伅":
- mesPath = buyPakinReportPath;
- break;
- case "涓婃姤mes鍏ュ簱淇℃伅":
- mesPath = pakinReportPath;
- break;
- case "涓婃姤mes鍑哄簱淇℃伅":
- mesPath = pakoutReportPath;
- break;
- case "涓婃姤mes璋冩嫧淇℃伅":
- mesPath = orderReportPath;
- break;
- }
- doHttpRequest(data.getReportJson(), mesTokenInfo, data.getMemo(), url, mesPath, null, "127.0.0.1");
- reportDataService.deleteById(data.getId());
- ReportDataLog reportDataLog = new ReportDataLog();
- BeanUtil.copyProperties(data, reportDataLog);
- reportDataLog.setReportTime(new Date());
- reportDataLog.setReportDataId(data.getId());
- reportDataLogService.insert(reportDataLog);
- }
-
-
}
//鑾峰彇mes token淇℃伅
@@ -156,9 +114,8 @@
log.error(e.getMessage());
throw new CoolException(e.getMessage());
} finally {
- apiLogService.save(namespace, url + path, appkey, ip, JSON.toJSONString(JSONObject.toJSONString(requestParam)), response, success);
+ apiLogService.save(namespace, url + path, appkey, ip, requestParam, response, success);
}
}
-
}
--
Gitblit v1.9.1