From 497366bb6b6075ba8fc8af43322f38c5d6697e5f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 30 七月 2025 08:05:04 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 120 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
index 01df1fa..013a2ca 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.utils.MatUtils;
import com.zy.nc.SendUtil;
import com.zy.nc.entity.*;
+import com.zy.nc.service.NccSaleDbddWmsService;
import com.zy.nc.service.NccSaleXsfhmxWmsService;
import com.zy.nc.service.NccScPcdaWmsService;
import com.zy.nc.util.NcResultMessage;
@@ -49,6 +50,8 @@
@Autowired
private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService;
+ @Autowired
+ private NccSaleDbddWmsService nccSaleDbddWmsService;
@Value("${NYNC.ip}")
private String nyncIp;
@@ -86,6 +89,8 @@
Object process2 = null;
String memo = order.getMemo();
String remark = "";
+ boolean success = false;
+ log.info("璁㈠崟寮�濮嬩笂鎶�:{}", JSON.toJSONString(order));
try {
switch (order.getDocType$().toString()) {
case "閿�鍞��璐�":
@@ -95,6 +100,7 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("閿�鍞彂璐esponse:{}", response);
step = 10;
+ success = true;
} else {
remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
@@ -106,6 +112,7 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("閿�鍞彂璐esponse:{}", response);
step = 10;
+ success = true;
} else {
remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
@@ -117,6 +124,7 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("杞簱-鍏ュ簱response:{}", response);
step = 10;
+ success = true;
} else {
remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
@@ -146,6 +154,7 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("杞簱-鍑哄簱2response:{}", response);
step = 10;
+ success = true;
} else {
remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
@@ -168,6 +177,7 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("杞簱-鍑哄簱2response:{}", response);
step = 10;
+ success = true;
} else {
remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
@@ -181,6 +191,7 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("闆嗗洟鍐呴儴璋冩嫧response:{}", response);
step = 10;
+ success = true;
} else {
remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
@@ -203,24 +214,52 @@
e.printStackTrace();
throw new CoolException("璋冪敤鎺ュ彛鎶ラ敊锛岃鑱旂郴绠$悊鍛�");
} finally {
- reportApiLog(response, order.getDocType$(), nyncIp, saveRefDelivery);
+ reportApiLog(order, process1, process2, response, order.getDocType$(), nyncIp, saveRefDelivery, success);
}
}
@Override
public boolean reportTkrk(String matnr, String batch, String orderNo, Double anfme) {
- Object process1 = processTKRK(matnr, batch, orderNo, anfme);
- //鍙戦�佽姹�
- NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
- log.info("閫�搴撳叆搴搑esponse:{}", response);
- if (!Cools.isEmpty(response) && response.isSuccess()) {
- log.info("閫�搴撳叆搴搑esponse:{}", response);
- return true;
- } else {
-// remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
- return false;
+ Object process1 = null;
+ NcResultMessage response1 = null;
+ boolean success1 = false;
+ try {
+ process1 = processTKRK(matnr, batch, orderNo, anfme);
+ //鍙戦�佽姹�
+ response1 = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+ log.info("閫�搴撳叆搴搑esponse:{}", response1);
+ if (!Cools.isEmpty(response1) && response1.isSuccess()) {
+ log.info("閫�搴撳叆搴搑esponse:{}", response1);
+ success1 = true;
+ return true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ reportApiLog(null, process1, process1, response1, "TKRK", nyncIp, saveRefDelivery, success1);
}
+
+ Object process2 = null;
+ NcResultMessage response2 = null;
+ boolean success2 = false;
+ try {
+ process2 = processDBTK(matnr, batch, orderNo, anfme);
+ //鍙戦�佽姹�
+ response2 = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process2));
+ log.info("閫�搴撳叆搴搑esponse:{}", response2);
+ if (!Cools.isEmpty(response2) && response2.isSuccess()) {
+ log.info("閫�搴撳叆搴搑esponse:{}", response2);
+ success2 = true;
+ return true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ reportApiLog(null, process2, process2, response2, "DBRK", nyncIp, dbdd, success2);
+ }
+
+ return false;
}
@Override
@@ -346,6 +385,43 @@
return data;
}
+ private Object processDBTK(String matnr, String batch, String orderNo, Double anfme) {
+ List<NccSaleDbddWms> nccSaleDbddWmsList = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>()
+ .eq("wlbm", matnr)
+ .eq("vbillcode", orderNo)
+ );
+
+ if (nccSaleDbddWmsList.isEmpty()) {
+ throw new CoolException("璋冩嫧璁㈠崟ERP鏁版嵁涓虹┖");
+ }
+
+ NccSaleDbddWms nccSaleDbddWms = nccSaleDbddWmsList.get(0);
+
+ //缁勮瀵硅薄鏁版嵁
+ Map<String, Object> data = new HashMap<String, Object>();
+
+ List<IaIjBillB> bids = new ArrayList<>();
+ IaIjBillB iaIjBillB = new IaIjBillB();
+ NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", batch).eq("wlbm", matnr));
+ if (nccScPcdaWms == null) {
+ throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + batch + "-" + matnr);
+ }
+
+ Double weight = MatUtils.calcWeight(matnr, anfme);
+ iaIjBillB.setBid(nccSaleDbddWms.getCbill_bid());
+ iaIjBillB.setNassistnum(weight);
+ iaIjBillB.setNnum(anfme * -1);
+ iaIjBillB.setVbatchcode(batch);
+ iaIjBillB.setClocationid("");
+ iaIjBillB.setCstateid(nccScPcdaWms.getVcode());
+
+ bids.add(iaIjBillB);
+
+ data.put("hid", nccSaleDbddWms.getCbill_bid());
+ data.put("bids", bids);
+ return data;
+ }
+
private Object processInvcount(String matnr, String batch, String cwarehouseid) {
List<InventoryCheckOrderDetl> inventoryCheckOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
.eq("matnr", matnr)
@@ -433,26 +509,36 @@
private Object processDBDD(List<OrderDetl> orderDetls) {
//缁勮瀵硅薄鏁版嵁
Map<String, Object> data = new HashMap<String, Object>();
- IaIjBill iaIjBill = new IaIjBill();
- iaIjBill.setPk_org("FYT");
- //iaIjBill.setCwarehouseid("6101");
- IaIjBillB iaIjBillB = null;
- List<IaIjBillB> iaIjBillBS = new ArrayList<>();
+
+ String hid = "";
+ List<IaIjBillB> bids = new ArrayList<>();
for (OrderDetl orderDetl : orderDetls) {
- iaIjBillB = new IaIjBillB();
+ if (orderDetl.getQty() <= 0) {
+ continue;
+ }
+ IaIjBillB iaIjBillB = new IaIjBillB();
String remark = orderDetl.getRemark();
if (!Cools.isEmpty(remark)) {
- NccSaleDbddWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleDbddWms.class);
- iaIjBillB.setCinventoryid(nccSaleXsfhmxWms.getWlbm());
- iaIjBillB.setCinventoryvid(nccSaleXsfhmxWms.getWlbm());
- iaIjBillB.setCsrcid(nccSaleXsfhmxWms.getCbillid());
- iaIjBillB.setNnum(orderDetl.getQty().intValue() + "");
- iaIjBillB.setPk_org("FYT");
+ NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", orderDetl.getBatch()).eq("wlbm", orderDetl.getMatnr()));
+ if (nccScPcdaWms == null) {
+ throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + orderDetl.getBatch() + "-" + orderDetl.getMatnr());
+ }
+
+ Double weight = MatUtils.calcWeight(orderDetl.getMatnr(), orderDetl.getQty());
+ NccSaleDbddWms nccSaleDbddWms = JSONObject.parseObject(remark, NccSaleDbddWms.class);
+ iaIjBillB.setBid(nccSaleDbddWms.getCbill_bid());
+ iaIjBillB.setNassistnum(weight);
+ iaIjBillB.setNnum(orderDetl.getQty());
+ iaIjBillB.setVbatchcode(orderDetl.getBatch());
+ iaIjBillB.setClocationid("");
+ iaIjBillB.setCstateid(nccScPcdaWms.getVcode());
+
+ hid = nccSaleDbddWms.getCbillid();
}
- iaIjBillBS.add(iaIjBillB);
+ bids.add(iaIjBillB);
}
- data.put("ia_ijbill", iaIjBill);
- data.put("ia_ijbill_b", iaIjBillBS);
+ data.put("hid", hid);
+ data.put("bids", bids);
return data;
}
@@ -580,16 +666,19 @@
}
- private Boolean reportApiLog(Object data, String docType, String url, String path) {
- String response = "";
- boolean success = false;
+ private Boolean reportApiLog(Order order, Object process1, Object process2, Object response, String docType, String url, String path, Boolean success) {
+ HashMap<String, Object> request = new HashMap<>();
+ request.put("order", order);
+ request.put("process1", process1);
+ request.put("process2", process2);
+
apiLogService.save(
docType,
url + path,
null,
"127.0.0.1",
- JSON.toJSONString(data),
- response,
+ JSON.toJSONString(request),
+ JSON.toJSONString(response),
success
);
return false;
--
Gitblit v1.9.1