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