From f934f933155b4c65a17d18176f4a2fbf95e68535 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期三, 28 五月 2025 08:33:01 +0800 Subject: [PATCH] 13 --- src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 78 ++++++++++++++++++++++++++++----------- 1 files changed, 56 insertions(+), 22 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..5115f87 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,7 +192,7 @@ } - 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(); @@ -192,7 +218,7 @@ saleOutHeadVO.setVdef14(nccSaleXsfhmxWms.getVdef14()); } saleOutBodyVO.setVbatchcode(orderDetl.getBatch()); - saleOutBodyVO.setNshouldnum(orderDetl.getAnfme()); + saleOutBodyVO.setNshouldnum(flag ? -orderDetl.getAnfme() : orderDetl.getAnfme()); saleOutBodyVO.setNnum(orderDetl.getQty()); saleOutBodyVOList.add(saleOutBodyVO); } @@ -260,7 +286,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 +299,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 +324,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 +356,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 +372,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 +389,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