From 9804bdb2b70ab01cd422845dfaa0d2d7bbd98758 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期六, 17 五月 2025 15:23:41 +0800
Subject: [PATCH] 接口编写
---
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 285 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 237 insertions(+), 48 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 68a15ae..f46ee1b 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,10 @@
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.NccSaleXsfhmxWms;
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;
@@ -48,65 +46,101 @@
@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;
+ Object process3 = 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("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);
+ 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;
+ step = 10;
}
break;
- case "浜ф垚鍝佸叆搴�":
+ case "杞簱":
+ process1 = processQTRK(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 10;
+ }
break;
- case "杈呮枡閲囪喘鍏ュ簱":
+ case "閲囪喘鍒拌揣":
+ process1 = processCGDH(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 10;
+ }
break;
- case "杈呮枡鍙婃垚鍝佽浆搴�":
+ case "浜ф垚鍝佸叆搴撳崟":
+ if (step == 2) {
+ process3 = processQTRK(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 10;
+ }
+ } else if (step == 1) {
+ process2 = processGENERALOUT(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 2;
+ }
+ process3 = processQTRK(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 10;
+ }
+ } else if (step == 0) {
+ process1 = processZK(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 1;
+ }
+ process2 = processGENERALOUT(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 2;
+ }
+ process3 = processQTRK(orderDetls);
+ //鍙戦�佽姹�
+ response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3));
+ if (!Cools.isEmpty(response) && response.isSuccess()) {
+ log.info("response:{}", response);
+ step = 10;
+ }
+ }
break;
- case "鑷姩鍖呰鍏ュ簱":
- break;
- case "鍐呴儴璋冩嫧":
- break;
+// case "鍐呴儴璋冩嫧":
+// 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
@@ -119,6 +153,161 @@
}
+
+ 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 processQTRK(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)) {
+ NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+ generalInBodyVO.setCsourcetype("4331");
+ generalInBodyVO.setClocationid("610101");
+ generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+ generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+ generalInBodyVO.setNnum(orderDetl.getQty());
+ generalInBodyVO.setVbatchcode(orderDetl.getBatch());
+ generalInBodyVO.setCmaterialoid(orderDetl.getMatnr());
+ }
+ generalInBodyVOS.add(generalInBodyVO);
+ }
+ data.put("GeneralInHeadVO", generalInHeadVO);
+ data.put("GeneralInBodyVO", generalInBodyVOS);
+ return data;
+ }
+
+
+ private Object processZK(List<OrderDetl> orderDetls) {
+ //缁勮瀵硅薄鏁版嵁
+ Map<String, Object> data = new HashMap<String, Object>();
+ WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO();
+ whsTransBillHeaderVO.setPk_org("FYT");
+ whsTransBillHeaderVO.setCwarehouseid("6101");
+ 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.setCsourcetype("4331");
+ whsTransBillBodyVO.setClocationid("610101");
+ whsTransBillBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid());
+ whsTransBillBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid());
+ whsTransBillBodyVO.setNnum(orderDetl.getQty());
+ whsTransBillBodyVO.setVbatchcode(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("6101");
+ 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)) {
+ NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+ ic_purchasein_b.setVdef2(nccSaleXsfhmxWms.getVdef2());
+ ic_purchasein_b.setVdef3(nccSaleXsfhmxWms.getVdef3());
+ ic_purchasein_b.setVdef4(nccSaleXsfhmxWms.getVdef4());
+ ic_purchasein_b.setVdef7(nccSaleXsfhmxWms.getVdef7());
+ ic_purchasein_b.setVdef8(nccSaleXsfhmxWms.getVdef8());
+ ic_purchasein_b.setVdef13(nccSaleXsfhmxWms.getVdef13());
+ ic_purchasein_b.setVdef14(nccSaleXsfhmxWms.getVdef14());
+ }
+ ic_purchasein_bs.add(ic_purchasein_b);
+ }
+ data.put("ic_purchasein_h", ic_purchasein_h);
+ data.put("ic_purchasein_b", ic_purchasein_b);
+ return data;
+ }
+
+ /**
+ * @param orderDetls
+ * @return
+ */
+ private Object processGENERALOUT(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("6101");
+ 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)) {
+ NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class);
+ ic_purchasein_b.setVdef2(nccSaleXsfhmxWms.getVdef2());
+ ic_purchasein_b.setVdef3(nccSaleXsfhmxWms.getVdef3());
+ ic_purchasein_b.setVdef4(nccSaleXsfhmxWms.getVdef4());
+ ic_purchasein_b.setVdef7(nccSaleXsfhmxWms.getVdef7());
+ ic_purchasein_b.setVdef8(nccSaleXsfhmxWms.getVdef8());
+ ic_purchasein_b.setVdef13(nccSaleXsfhmxWms.getVdef13());
+ ic_purchasein_b.setVdef14(nccSaleXsfhmxWms.getVdef14());
+ }
+ ic_purchasein_bs.add(ic_purchasein_b);
+ }
+ data.put("ic_purchasein_h", ic_purchasein_h);
+ data.put("ic_purchasein_b", ic_purchasein_b);
+ return data;
+ }
+
+
private Boolean reportApiLog(Object data, String docType, String url, String path) {
String response = "";
boolean success = false;
--
Gitblit v1.9.1