From e90dba0edc93be26e1509cfb2ec1d0681eb86e48 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 27 八月 2025 08:37:04 +0800
Subject: [PATCH] 合并出库添加日志
---
src/main/java/com/zy/asrs/task/handler/ReportDataHandler.java | 83 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 78 insertions(+), 5 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 1c9e4a1..c46da1d 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,9 +25,9 @@
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;
+import java.util.stream.Collectors;
/**
* Created by vincent on 2020/7/7
@@ -42,6 +47,10 @@
@Autowired
private ApiLogService apiLogService;
+
+ @Autowired
+ private MesLocDetlService mesLocDetlService;
+
@Value("${mes.url}")
private String url;
@@ -56,6 +65,9 @@
@Value("${mes.pakoutReportPath}")
private String pakoutReportPath;
+
+ @Value("${mes.stock}")
+ private String stock;
@Transactional
@@ -90,7 +102,7 @@
private String doHttpRequest(String requestParam, Map<String, Object> headParam, String namespace, String url, String path, String appkey, String ip) {
- String response = "false";
+ String response = "fail";
boolean success = false;
try {
@@ -103,14 +115,75 @@
throw new CoolException("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭�:" + jsonObject);
}
success = true;
- return "true";
+ return response;
} catch (Exception e) {
- log.error(e.getMessage());
+ log.error("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭細{}", e.getMessage());
//throw new CoolException(e.getMessage());
} finally {
apiLogService.save(namespace, url + path, appkey, ip, requestParam, response, success);
}
return response;
}
+
+
+ @Transactional
+ public ReturnT<String> stock(Map<String, Object> mesTokenInfo) {
+ List<MesLocDetl> all = mesLocDetlService.selectList(new EntityWrapper<>());
+ if (all != null) {
+ List<Long> collect = all.stream().map(MesLocDetl::getId).collect(Collectors.toList());
+ boolean del = true;
+ int d = 1;
+ while (del && collect.size() > 0) {
+ if (collect.size() > d * 1000) {
+ mesLocDetlService.deleteBatchIds(collect.subList((d - 1) * 1000, d * 1000));
+ } else {
+ mesLocDetlService.deleteBatchIds(collect.subList((d - 1) * 1000, collect.size()));
+ del = false;
+ }
+ d++;
+ }
+ }
+
+ 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);
+ mesLocDetlService.insert(mesLocDetl);
+ }
+ } else {
+ flag = false;
+ }
+ }
+ if (!mesLocDetls.isEmpty()) {
+ //mesLocDetlService.insertBatch(mesLocDetls);
+ }
+ i++;
+ }
+ return SUCCESS;
+ }
+
+
}
--
Gitblit v1.9.1