From 1a0409e260b79b030f79a4fad995078a7f1b945c Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 26 五月 2025 07:59:44 +0800
Subject: [PATCH] 13
---
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 333 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 288 insertions(+), 45 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 38c0b6d..72b5c6d 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -10,12 +10,13 @@
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.ReportToThirdService;
-import com.zy.common.utils.Synchro;
import com.zy.nc.SendUtil;
+import com.zy.nc.entity.NccCgCgdhdWms;
+import com.zy.nc.entity.NccSaleDbddWms;
import com.zy.nc.entity.NccSaleXsfhmxWms;
+import com.zy.nc.entity.NccScZkmxbWms;
import com.zy.nc.util.NcResultMessage;
-import com.zy.nc.vo.SaleOutBodyVO;
-import com.zy.nc.vo.SaleOutHeadVO;
+import com.zy.nc.vo.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -45,65 +46,100 @@
@Value("${NYNC.saveRefDelivery}")
private String saveRefDelivery;
+ @Value("${NYNC.saveRefWhsTrans}")
+ private String saveRefWhsTrans;
+
+ @Value("${NYNC.purchasein}")
+ private String purchasein;
+
+ @Value("${NYNC.whstrans}")
+ private String whstrans;
+
+ @Value("${NYNC.generalout}")
+ private String generalout;
+
+ @Value("${NYNC.dbdd}")
+ private String dbdd;
+
@Override
public void report(Order order, List<OrderDetl> orderDetls, DocType docType) {
- Boolean http = false;
+ int step = (Cools.isEmpty(order.getStep()) || order.getStep() == 0) ? 0 : order.getStep();
NcResultMessage response = null;
+ Object process1 = null;
+ Object process2 = null;
try {
- switch (order.getDocType().toString()) {
- case "35":
- //缁勮瀵硅薄鏁版嵁
- Map<String, Object> data = new HashMap<String, Object>();
- SaleOutHeadVO saleOutHeadVO = new SaleOutHeadVO();
- saleOutHeadVO.setPk_org("FYT");
- saleOutHeadVO.setCwarehouseid("610101");
- SaleOutBodyVO saleOutBodyVO = null;
- List<SaleOutBodyVO> saleOutBodyVOList = new ArrayList<>();
- for (OrderDetl orderDetl : orderDetls) {
- saleOutBodyVO = new SaleOutBodyVO();
- String remark = orderDetl.getRemark();
- if (!Cools.isEmpty(remark)) {
- NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
- saleOutBodyVO.setCsourcetype("4331-01");
- saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
- saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
- saleOutHeadVO.setVdef2(nccSaleXsfhmxWms.getVdef2());
- saleOutHeadVO.setVdef3(nccSaleXsfhmxWms.getVdef3());
- saleOutHeadVO.setVdef4(nccSaleXsfhmxWms.getVdef4());
- saleOutHeadVO.setVdef7(nccSaleXsfhmxWms.getVdef7());
- saleOutHeadVO.setVdef8(nccSaleXsfhmxWms.getVdef8());
- saleOutHeadVO.setVdef13(nccSaleXsfhmxWms.getVdef13());
- saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14());
- }
- saleOutBodyVO.setNnum(orderDetl.getQty());
- saleOutBodyVOList.add(saleOutBodyVO);
- }
- data.put("SaleOutHeadVO", saleOutHeadVO);
- data.put("SaleOutBodyVO", saleOutBodyVOList);
+ switch (order.getDocType$().toString()) {
+ case "閿�鍞彂璐�":
+ process1 = processXSFH(orderDetls);
//鍙戦�佽姹�
- response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(data));
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
if (!Cools.isEmpty(response) && response.isSuccess()) {
- log.info("response:{}", response);
- http = true;
+ log.info("閿�鍞彂璐esponse:{}", response);
+ step = 10;
}
break;
- case "浜ф垚鍝佸叆搴�":
+ case "杞簱-鍏ュ簱":
+ process1 = processZKRK(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefWhsTrans, JSONObject.toJSONString(process1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("杞簱-鍏ュ簱response:{}", response);
+ step = 10;
+ }
break;
- case "杈呮枡閲囪喘鍏ュ簱":
+ case "閲囪喘鍒拌揣":
+ process1 = processCGDH(orderDetls);
+ List<Object> cg = new ArrayList<>();
+ cg.add(process1);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("閲囪喘鍒拌揣response:{}", response);
+ step = 10;
+ }
break;
- case "杈呮枡鍙婃垚鍝佽浆搴�":
+ case "杞簱-鍑哄簱":
+ process1 = processZKCK(order, orderDetls);
+ List<Object> zkck1 = new ArrayList<>();
+ zkck1.add(process1);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, whstrans, JSONObject.toJSONString(zkck1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("杞簱-鍑哄簱1response:{}", response);
+ step = 1;
+ }
+
+ process2 = processGENERALOUT2(orderDetls);
+ List<Object> zkck2 = new ArrayList<>();
+ zkck2.add(process2);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("杞簱-鍑哄簱2response:{}", response);
+ step = 10;
+ }
break;
- case "鑷姩鍖呰鍏ュ簱":
- break;
- case "鍐呴儴璋冩嫧":
+ case "闆嗗洟鍐呴儴璋冩嫧":
+ process1 = processDBDD(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("闆嗗洟鍐呴儴璋冩嫧response:{}", response);
+ step = 10;
+ }
break;
default:
- break;
+ throw new CoolException("涓嶈兘璇嗗埆鐨勫崟鎹被鍨�");
}
- if (http) {
+ if (step == 10) {
// 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
if (!orderService.updateSettle(order.getId(), 6L, null)) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ }
+ } else if (step != 0) {
+ // 淇敼璁㈠崟鐘舵�� 鍋氭爣璁�
+ if (!orderService.updateSettleStep(order.getId(), 6L, null, step)) {
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
@@ -116,6 +152,213 @@
}
+
+ private Object processXSFH(List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ 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) {
+ 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.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+ saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+ saleOutHeadVO.setVdef2(nccSaleXsfhmxWms.getVdef2());
+ saleOutHeadVO.setVdef3(nccSaleXsfhmxWms.getVdef3());
+ saleOutHeadVO.setVdef4(nccSaleXsfhmxWms.getVdef4());
+ saleOutHeadVO.setVdef7(nccSaleXsfhmxWms.getVdef7());
+ saleOutHeadVO.setVdef8(nccSaleXsfhmxWms.getVdef8());
+ saleOutHeadVO.setVdef13(nccSaleXsfhmxWms.getVdef13());
+ saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14());
+ }
+ saleOutBodyVO.setVbatchcode(orderDetl.getBatch());
+ saleOutBodyVO.setNshouldnum(orderDetl.getAnfme());
+ saleOutBodyVO.setNnum(orderDetl.getQty());
+ saleOutBodyVOList.add(saleOutBodyVO);
+ }
+ data.put("SaleOutHeadVO", saleOutHeadVO);
+ data.put("SaleOutBodyVO", saleOutBodyVOList);
+ return data;
+ }
+
+ private Object processZKRK(List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ 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) {
+ generalInBodyVO = new GeneralInBodyVO();
+ String remark = orderDetl.getRemark();
+ if (!Cools.isEmpty(remark)) {
+ NccScZkmxbWms nccScZkmxbWms = JSONObject.parseObject(remark, NccScZkmxbWms.class);
+ generalInBodyVO.setCsourcebillbid(nccScZkmxbWms.getCspecialbid());
+ generalInBodyVO.setCsourcebillhid(nccScZkmxbWms.getCspecialhid());
+
+ generalInBodyVO.setNnum(orderDetl.getQty());
+ generalInBodyVO.setNshouldnum(orderDetl.getAnfme());
+ generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm());
+ }
+ generalInBodyVOS.add(generalInBodyVO);
+ }
+ data.put("GeneralInHeadVO", generalInHeadVO);
+ data.put("GeneralInBodyVO", generalInBodyVOS);
+ return data;
+ }
+
+
+ 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<>();
+ for (OrderDetl orderDetl : orderDetls) {
+ 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");
+ }
+ iaIjBillBS.add(iaIjBillB);
+ }
+ data.put("ia_ijbill", iaIjBill);
+ data.put("ia_ijbill_b", iaIjBillBS);
+ return data;
+ }
+
+ private Object processZKCK(Order order, List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ Map<String, Object> data = new HashMap<String, Object>();
+ WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
+ whsTransBillHeaderVO.setPk_org("FYT");
+ whsTransBillHeaderVO.setCwarehouseid(order.getItemId() + "");
+ whsTransBillHeaderVO.setCotherbizid(order.getAllotItemId() + "");
+ whsTransBillHeaderVO.setCtrantypeid("4K-Cxx-01");
+ WhsTransBillBodyVO whsTransBillBodyVO = null;
+ List<WhsTransBillBodyVO> whsTransBillBodyVOS = new ArrayList<>();
+ for (OrderDetl orderDetl : orderDetls) {
+ whsTransBillBodyVO = new WhsTransBillBodyVO();
+ String remark = orderDetl.getRemark();
+ //if (!Cools.isEmpty(remark)) {
+ //NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+ whsTransBillBodyVO.setNnum(orderDetl.getQty());
+ whsTransBillBodyVO.setVfree10(orderDetl.getBatch());
+ whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr());
+ //}
+ whsTransBillBodyVOS.add(whsTransBillBodyVO);
+ }
+ data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO);
+ data.put("WhsTransBillBodyVO", whsTransBillBodyVOS);
+ return data;
+ }
+
+
+ private Object processCGDH(List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ Map<String, Object> data = new HashMap<String, Object>();
+ ic_purchasein_h ic_purchasein_h = new ic_purchasein_h();
+ ic_purchasein_h.setPk_org("FYT");
+ ic_purchasein_h.setCwarehouseid("6301");
+ ic_purchasein_h.setCfanaceorgoid("FYT");
+ ic_purchasein_b ic_purchasein_b = null;
+ List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>();
+ for (OrderDetl orderDetl : orderDetls) {
+ ic_purchasein_b = new ic_purchasein_b();
+ String remark = orderDetl.getRemark();
+ if (!Cools.isEmpty(remark)) {
+ 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());
+ ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr());
+ ic_purchasein_b.setNnum(orderDetl.getQty());
+ ic_purchasein_b.setCsourcetype(nccCgCgdhdWms.getDhlxbm());
+ ic_purchasein_b.setVbatchcode(orderDetl.getBatch());
+ }
+ ic_purchasein_bs.add(ic_purchasein_b);
+ }
+ data.put("ic_purchasein_h", ic_purchasein_h);
+ data.put("ic_purchasein_b", ic_purchasein_bs);
+ return data;
+ }
+
+ /**
+ * @param orderDetls
+ * @return
+ */
+ private Object processGENERALOUT(List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ Map<String, Object> data = new HashMap<String, Object>();
+ ic_generalout_h generalout_h = new ic_generalout_h();
+ generalout_h.setPk_org("FYT");
+ generalout_h.setCwarehouseid("6101");
+ ic_generalout_b generalout_b = null;
+ List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
+ for (OrderDetl orderDetl : orderDetls) {
+ 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());
+ }
+ ic_purchasein_bs.add(generalout_b);
+ }
+ data.put("ic_generalout_h", generalout_h);
+ data.put("ic_generalout_b", ic_purchasein_bs);
+ return data;
+ }
+
+
+ /**
+ * @param orderDetls
+ * @return
+ */
+ private Object processGENERALOUT2(List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ Map<String, Object> data = new HashMap<String, Object>();
+ ic_generalout_h generalout_h = new ic_generalout_h();
+ generalout_h.setPk_org("FYT");
+ generalout_h.setCwarehouseid("6101");
+ ic_generalout_b generalout_b = null;
+ List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>();
+ for (OrderDetl orderDetl : orderDetls) {
+ 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());
+ }
+ ic_purchasein_bs.add(generalout_b);
+ }
+ data.put("ic_generalout_h", generalout_h);
+ data.put("ic_generalout_b", ic_purchasein_bs);
+ return data;
+ }
+
+
private Boolean reportApiLog(Object data, String docType, String url, String path) {
String response = "";
boolean success = false;
--
Gitblit v1.9.1