From e148a7fab59cb1ba4c9db531bf84253033c47280 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 04 一月 2025 19:53:28 +0800
Subject: [PATCH] 添加MES库存同步功能及配置
---
src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java | 56 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
index a378f4e..e9b0f01 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
@@ -4,12 +4,15 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.MesLocDetl;
import com.zy.asrs.entity.ReportData;
import com.zy.asrs.entity.ReportDataLog;
+import com.zy.asrs.entity.param.MesStock;
import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.MesLocDetlService;
import com.zy.asrs.service.ReportDataLogService;
import com.zy.asrs.service.ReportDataService;
import com.zy.asrs.task.AbstractHandler;
@@ -22,8 +25,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Date;
-import java.util.Map;
+import java.util.*;
import java.util.concurrent.TimeUnit;
/**
@@ -43,6 +45,10 @@
@Autowired
private ApiLogService apiLogService;
+
+
+ @Autowired
+ private MesLocDetlService mesLocDetlService;
@Value("${mes.url}")
private String url;
@@ -122,21 +128,43 @@
@Transactional
public ReturnT<String> stock(Map<String, Object> mesTokenInfo) {
- String result = doHttpRequest("{}", mesTokenInfo, "鍚屾MES搴撳瓨", url, stock, null, "127.0.0.1");
- JSONObject jsonObject = JSONObject.parseObject(result);
- Object o = jsonObject.get("data");
- if (o != null) {
- JSONObject jsonObject1 = JSONObject.parseObject(o.toString());
- Object o1 = jsonObject1.get("list");
- if (o1 != null) {
- JSONArray jsonArray = JSONArray.parseArray(o1.toString());
- for (int i = 0; i < jsonArray.size(); i++) {
- JSONObject jsonObject2 = jsonArray.getJSONObject(i);
+ mesLocDetlService.delete(new EntityWrapper<MesLocDetl>().eq("1", 1));
+ boolean flag = true;
+ Map<String, Object> req = new HashMap<>();
+ int i = 1;
+ while (flag) {
+ req.put("page", i);
+ req.put("size", 1000);
+ String result = doHttpRequest(JSONObject.toJSONString(req), mesTokenInfo, "鍚屾MES搴撳瓨", url, stock, null, "127.0.0.1");
+ JSONObject jsonObject = JSONObject.parseObject(result);
+ Object o = jsonObject.get("data");
+ List<MesLocDetl> mesLocDetls = new ArrayList<>();
+ MesLocDetl mesLocDetl;
+ if (o != null) {
+ JSONObject jsonObject1 = JSONObject.parseObject(o.toString());
+ Object o1 = jsonObject1.get("list");
+ if (o1 != null) {
+ List<MesStock> mesStocks = JSONArray.parseArray(o1.toString(), MesStock.class);
+ if (mesStocks.isEmpty()) {
+ flag = false;
+ }
+ for (MesStock mesStock : mesStocks) {
+ mesLocDetl = new MesLocDetl();
+ mesLocDetl.setMatnr(mesStock.getMaterialInfo().getMaterialCode());
+ mesLocDetl.setMaktx(mesStock.getMaterialInfo().getMaterialName());
+ mesLocDetl.setBatch(mesStock.getBatchNo());
+ mesLocDetl.setAnfme(mesStock.getOpAmount().getAmount().getAmount());
+ mesLocDetls.add(mesLocDetl);
+ }
+ } else {
+ flag = false;
}
}
+ if (!mesLocDetls.isEmpty()) {
+ mesLocDetlService.insertBatch(mesLocDetls);
+ }
+ i++;
}
- MesLocDetl mesLocDetl=new MesLocDetl();
-
return SUCCESS;
}
}
--
Gitblit v1.9.1