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