From 304d785396e666534ec15a3ad1ad8e41da6ffad2 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 04 六月 2025 15:44:24 +0800
Subject: [PATCH] 关闭与erp的对接
---
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 91 ++++++++++++++++++++++++++++++++-------------
1 files changed, 65 insertions(+), 26 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 e668565..b00c233 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
import com.core.exception.CoolException;
@@ -68,15 +69,30 @@
NcResultMessage response = null;
Object process1 = null;
Object process2 = null;
+ String memo = order.getMemo();
+ String remark = "";
try {
switch (order.getDocType$().toString()) {
- case "閿�鍞彂璐�":
- process1 = processXSFH(orderDetls);
+ case "閿�鍞��璐�":
+ process1 = processXSFH(orderDetls, true);
//鍙戦�佽姹�
response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("閿�鍞彂璐esponse:{}", response);
step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
+ }
+ break;
+ case "閿�鍞彂璐�":
+ process1 = processXSFH(orderDetls, false);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("閿�鍞彂璐esponse:{}", response);
+ step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
break;
case "杞簱-鍏ュ簱":
@@ -86,6 +102,8 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("杞簱-鍏ュ簱response:{}", response);
step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
break;
case "閲囪喘鍒拌揣":
@@ -97,11 +115,13 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("閲囪喘鍒拌揣response:{}", response);
step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
break;
case "杞簱-鍑哄簱":
if (step == 1) {
- process2 = processGENERALOUT2(orderDetls);
+ process2 = processGENERALOUT2(orderDetls, memo);
List<Object> zkck2 = new ArrayList<>();
zkck2.add(process2);
//鍙戦�佽姹�
@@ -109,6 +129,8 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("杞簱-鍑哄簱2response:{}", response);
step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
} else {
process1 = processZKCK(order, orderDetls);
@@ -117,9 +139,11 @@
//鍙戦�佽姹�
response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, whstrans, JSONObject.toJSONString(zkck1));
if (!Cools.isEmpty(response) && response.isSuccess()) {
+ step = 1;
log.info("杞簱-鍑哄簱1response:{}", response);
+ memo = response.getData().toString();
- process2 = processGENERALOUT2(orderDetls);
+ process2 = processGENERALOUT2(orderDetls, memo);
List<Object> zkck2 = new ArrayList<>();
zkck2.add(process2);
//鍙戦�佽姹�
@@ -127,9 +151,9 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("杞簱-鍑哄簱2response:{}", response);
step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
- } else {
- step = 1;
}
}
break;
@@ -140,6 +164,8 @@
if (!Cools.isEmpty(response) && response.isSuccess()) {
log.info("闆嗗洟鍐呴儴璋冩嫧response:{}", response);
step = 10;
+ } else {
+ remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
}
break;
default:
@@ -152,7 +178,7 @@
}
} else if (step != 0) {
// 淇敼璁㈠崟鐘舵�� 鍋氭爣璁�
- if (!orderService.updateSettleStep(order.getId(), 4L, null, step)) {
+ if (!orderService.updateSettleStep(order.getId(), 4L, null, step, memo, remark)) {
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
@@ -166,21 +192,23 @@
}
- private Object processXSFH(List<OrderDetl> orderDetls) {
+ private Object processXSFH(List<OrderDetl> orderDetls, Boolean flag) {
//缁勮瀵硅薄鏁版嵁
Map<String, Object> data = new HashMap<String, Object>();
SaleOutHeadVO saleOutHeadVO = new SaleOutHeadVO();
saleOutHeadVO.setPk_org("FYT");
- saleOutHeadVO.setCwarehouseid("6101");
SaleOutBodyVO saleOutBodyVO = null;
List<SaleOutBodyVO> saleOutBodyVOList = new ArrayList<>();
for (OrderDetl orderDetl : orderDetls) {
+ if (orderDetl.getQty() <= 0) {
+ continue;
+ }
saleOutBodyVO = new SaleOutBodyVO();
String remark = orderDetl.getRemark();
if (!Cools.isEmpty(remark)) {
NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
saleOutBodyVO.setCsourcetype("4331");
- saleOutBodyVO.setClocationid("610101");
+ //saleOutBodyVO.setClocationid("610101");
saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
saleOutHeadVO.setVdef2(nccSaleXsfhmxWms.getVdef2());
@@ -191,9 +219,11 @@
saleOutHeadVO.setVdef13(nccSaleXsfhmxWms.getVdef13());
saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14());
}
+ saleOutHeadVO.setCwarehouseid(orderDetl.getStandby1());
+
saleOutBodyVO.setVbatchcode(orderDetl.getBatch());
- saleOutBodyVO.setNshouldnum(orderDetl.getAnfme());
- saleOutBodyVO.setNnum(orderDetl.getQty());
+ saleOutBodyVO.setNshouldnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
+ saleOutBodyVO.setNnum(flag ? -orderDetl.getQty() : orderDetl.getQty());
saleOutBodyVOList.add(saleOutBodyVO);
}
data.put("SaleOutHeadVO", saleOutHeadVO);
@@ -206,7 +236,6 @@
Map<String, Object> data = new HashMap<String, Object>();
GeneralInHeadVO generalInHeadVO = new GeneralInHeadVO();
generalInHeadVO.setPk_org("FYT");
- generalInHeadVO.setCwarehouseid("6101");
GeneralInBodyVO generalInBodyVO = null;
List<GeneralInBodyVO> generalInBodyVOS = new ArrayList<>();
for (OrderDetl orderDetl : orderDetls) {
@@ -220,7 +249,9 @@
generalInBodyVO.setNnum(orderDetl.getQty());
generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm());
+
}
+ generalInHeadVO.setCwarehouseid(orderDetl.getStandby1());
generalInBodyVOS.add(generalInBodyVO);
}
data.put("GeneralInHeadVO", generalInHeadVO);
@@ -260,7 +291,7 @@
Map<String, Object> data = new HashMap<String, Object>();
WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
whsTransBillHeaderVO.setPk_org("FYT");
- whsTransBillHeaderVO.setCwarehouseid(order.getItemId());
+ whsTransBillHeaderVO.setCotherwhid(order.getItemId());
whsTransBillHeaderVO.setCtrantypeid("4K-01");
WhsTransBillBodyVO whsTransBillBodyVO = null;
List<WhsTransBillBodyVO> whsTransBillBodyVOS = new ArrayList<>();
@@ -273,7 +304,7 @@
whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch());
//}
- whsTransBillHeaderVO.setCotherbizid(orderDetl.getStandby1());
+ whsTransBillHeaderVO.setCwarehouseid(orderDetl.getStandby1());
whsTransBillBodyVOS.add(whsTransBillBodyVO);
}
data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
@@ -298,7 +329,6 @@
NccCgCgdhdWms nccCgCgdhdWms = JSONObject.parseObject(remark, NccCgCgdhdWms.class);
ic_purchasein_h.setCvendorid(nccCgCgdhdWms.getGysbm());
ic_purchasein_h.setCtrantypeid(nccCgCgdhdWms.getDhlxbm());
-
ic_purchasein_b.setCsourcebillbid(nccCgCgdhdWms.getPkArriveorderB());
ic_purchasein_b.setCsourcebillhid(nccCgCgdhdWms.getPkArriveorder());
@@ -331,7 +361,7 @@
String remark = orderDetl.getRemark();
if (!Cools.isEmpty(remark)) {
NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
- generalout_b.setMaterialvid(orderDetl.getMatnr());
+ generalout_b.setCmaterialvid(orderDetl.getMatnr());
generalout_b.setNshouldassistnum(orderDetl.getQty());
generalout_b.setVbatchcode(orderDetl.getBatch());
}
@@ -347,7 +377,16 @@
* @param orderDetls
* @return
*/
- private Object processGENERALOUT2(List<OrderDetl> orderDetls) {
+ private Object processGENERALOUT2(List<OrderDetl> orderDetls, String memo) {
+ Object o = JSONObject.parseArray(memo).get(0);
+ JSONObject jsonObject = JSONObject.parseObject(o.toString());
+ String cspecialhid = JSONObject.parseObject(jsonObject.getString("ic.WhsTransBillHeaderVO")).getString("cspecialhid");
+ List<String> s = new ArrayList<>();
+ JSONArray objects = JSONObject.parseArray(jsonObject.getString("ic.WhsTransBillBodyVO"));
+ for (int i = 0; i < objects.size(); i++) {
+ s.add(objects.getJSONObject(i).getString("cspecialbid"));
+ }
+
//缁勮瀵硅薄鏁版嵁
Map<String, Object> data = new HashMap<String, Object>();
ic_generalout_h generalout_h = new ic_generalout_h();
@@ -355,15 +394,15 @@
generalout_h.setCwarehouseid("6101");
ic_generalout_b generalout_b = null;
List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
- for (OrderDetl orderDetl : orderDetls) {
+ for (int i = 0; i < orderDetls.size(); i++) {
+ OrderDetl orderDetl = orderDetls.get(i);
generalout_b = new ic_generalout_b();
- String remark = orderDetl.getRemark();
- if (!Cools.isEmpty(remark)) {
- NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
- generalout_b.setMaterialvid(orderDetl.getMatnr());
- generalout_b.setNshouldassistnum(orderDetl.getQty());
- generalout_b.setVbatchcode(orderDetl.getBatch());
- }
+ generalout_b.setCsourcebillbid(s.get(i));
+ generalout_b.setCsourcetype("4K-01");
+ generalout_b.setCsourcebillhid(cspecialhid);
+ generalout_b.setCmaterialvid(orderDetl.getMatnr());
+ generalout_b.setNshouldassistnum(orderDetl.getQty());
+ generalout_b.setVbatchcode(orderDetl.getBatch());
ic_purchasein_bs.add(generalout_b);
}
data.put("ic_generalout_h", generalout_h);
--
Gitblit v1.9.1