From 6d3b7e69524cdc6fd4c44fe9f37661a19a56c6ff Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期二, 03 六月 2025 21:08:32 +0800 Subject: [PATCH] 1 --- 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