From 8bcd2bb5a4ea1af4755556eead150877e92eac12 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:57:06 +0800
Subject: [PATCH] 添加MES库存同步功能及配置

---
 src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 47 insertions(+), 4 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 0dd0a41..e9b0f01 100644
--- a/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java
@@ -2,12 +2,17 @@
 
 import cn.hutool.core.bean.BeanUtil;
 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;
@@ -20,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;
 
 /**
@@ -41,6 +45,10 @@
 
     @Autowired
     private ApiLogService apiLogService;
+
+
+    @Autowired
+    private MesLocDetlService mesLocDetlService;
 
     @Value("${mes.url}")
     private String url;
@@ -120,8 +128,43 @@
 
     @Transactional
     public ReturnT<String> stock(Map<String, Object> mesTokenInfo) {
-        String result = doHttpRequest("{}", mesTokenInfo, "鍚屾MES搴撳瓨", url, stock, null, "127.0.0.1");
-
+        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++;
+        }
         return SUCCESS;
     }
 }

--
Gitblit v1.9.1