From b87fd470a866ffcf50bb5c5d55ff9b2dd11fc20c Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 01 八月 2025 08:17:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 94 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 c9e5522..94e4e6d 100644 --- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java @@ -11,6 +11,7 @@ import com.zy.asrs.utils.MatUtils; import com.zy.nc.SendUtil; import com.zy.nc.entity.*; +import com.zy.nc.service.NccSaleDbddWmsService; import com.zy.nc.service.NccSaleXsfhmxWmsService; import com.zy.nc.service.NccScPcdaWmsService; import com.zy.nc.util.NcResultMessage; @@ -49,6 +50,8 @@ @Autowired private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService; + @Autowired + private NccSaleDbddWmsService nccSaleDbddWmsService; @Value("${NYNC.ip}") private String nyncIp; @@ -217,18 +220,53 @@ } @Override - public boolean reportTkrk(String matnr, String batch, String orderNo, Double anfme) { - Object process1 = processTKRK(matnr, batch, orderNo, anfme); - //鍙戦�佽姹� - NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); - log.info("閫�搴撳叆搴搑esponse:{}", response); - if (!Cools.isEmpty(response) && response.isSuccess()) { - log.info("閫�搴撳叆搴搑esponse:{}", response); - return true; - } else { -// remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); - return false; + public boolean reportTkrk(WaitPakin waitPakin) { + String matnr = waitPakin.getMatnr(); + String batch = waitPakin.getBatch(); + String orderNo = waitPakin.getOrderNo(); + Double anfme = waitPakin.getAnfme(); + + Object process1 = null; + NcResultMessage response1 = null; + boolean success1 = false; + try { + process1 = processTKRK(matnr, batch, orderNo, anfme, waitPakin.getCstateid()); + //鍙戦�佽姹� + response1 = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); + log.info("閫�搴撳叆搴搑esponse:{}", response1); + if (!Cools.isEmpty(response1) && response1.isSuccess()) { + log.info("閫�搴撳叆搴搑esponse:{}", response1); + success1 = true; + return true; + } + } catch (Exception e) { + e.printStackTrace(); + process1 = e.getMessage(); + } finally { + reportApiLog(null, process1, process1, response1, "TKRK", nyncIp, saveRefDelivery, success1); } + + Object process2 = null; + NcResultMessage response2 = null; + boolean success2 = false; + try { + process2 = processDBTK(matnr, batch, orderNo, anfme, waitPakin.getCstateidVcode()); + //鍙戦�佽姹� + response2 = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process2)); + log.info("閫�搴撳叆搴搑esponse:{}", response2); + if (!Cools.isEmpty(response2) && response2.isSuccess()) { + log.info("閫�搴撳叆搴搑esponse:{}", response2); + success2 = true; + return true; + } + } catch (Exception e) { + e.printStackTrace(); + process2 = e.getMessage(); + } finally { + reportApiLog(null, process2, process2, response2, "DBRK", nyncIp, dbdd, success2); + } + + return false; } @Override @@ -309,6 +347,7 @@ saleOutBodyVO.setVbatchcode(orderDetl.getBatch()); saleOutBodyVO.setNshouldnum(flag ? -orderDetl.getQty() : orderDetl.getQty()); saleOutBodyVO.setNnum(flag ? -orderDetl.getQty() : orderDetl.getQty()); + saleOutBodyVO.setCstateid(orderDetl.getCstateid()); saleOutBodyVOList.add(saleOutBodyVO); } data.put("SaleOutHeadVO", saleOutHeadVO); @@ -316,7 +355,7 @@ return data; } - private Object processTKRK(String matnr,String batch, String orderNo, Double anfme) { + private Object processTKRK(String matnr, String batch, String orderNo, Double anfme, String cstateid) { // EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>(); // wrapper.eq("VBATCHCODE", batch).eq("VSOURCEBILLCODE", orderNo); // NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper); @@ -328,7 +367,7 @@ .eq("VBILLCODE", orderNo) .eq("WLBM", matnr) ); - if(null == nccSaleXsfhmxWms) { + if (null == nccSaleXsfhmxWms) { throw new CoolException("鏈壘鍒伴攢鍞崟鎹�"); } @@ -347,10 +386,48 @@ saleOutBodyVO.setVbatchcode(batch); saleOutBodyVO.setNnum(anfme * -1); + saleOutBodyVO.setCstateid(cstateid); saleOutBodyVOList.add(saleOutBodyVO); data.put("SaleOutHeadVO", saleOutHeadVO); data.put("SaleOutBodyVO", saleOutBodyVOList); + return data; + } + + private Object processDBTK(String matnr, String batch, String orderNo, Double anfme, String cstateid) { + List<NccSaleDbddWms> nccSaleDbddWmsList = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>() + .eq("wlbm", matnr) + .eq("vbillcode", orderNo) + ); + + if (nccSaleDbddWmsList.isEmpty()) { + throw new CoolException("璋冩嫧璁㈠崟ERP鏁版嵁涓虹┖"); + } + + NccSaleDbddWms nccSaleDbddWms = nccSaleDbddWmsList.get(0); + + //缁勮瀵硅薄鏁版嵁 + Map<String, Object> data = new HashMap<String, Object>(); + + List<IaIjBillB> bids = new ArrayList<>(); + IaIjBillB iaIjBillB = new IaIjBillB(); +// NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", batch).eq("wlbm", matnr)); +// if (nccScPcdaWms == null) { +// throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + batch + "-" + matnr); +// } + + Double weight = MatUtils.calcWeight(matnr, anfme); + iaIjBillB.setBid(nccSaleDbddWms.getCbill_bid()); + iaIjBillB.setNassistnum(weight * -1); + iaIjBillB.setNnum(anfme * -1); + iaIjBillB.setVbatchcode(batch); + iaIjBillB.setClocationid(""); + iaIjBillB.setCstateid(cstateid); + + bids.add(iaIjBillB); + + data.put("hid", nccSaleDbddWms.getCbillid()); + data.put("bids", bids); return data; } @@ -451,11 +528,6 @@ IaIjBillB iaIjBillB = new IaIjBillB(); String remark = orderDetl.getRemark(); if (!Cools.isEmpty(remark)) { - NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", orderDetl.getBatch()).eq("wlbm", orderDetl.getMatnr())); - if (nccScPcdaWms == null) { - throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + orderDetl.getBatch() + orderDetl.getMatnr()); - } - Double weight = MatUtils.calcWeight(orderDetl.getMatnr(), orderDetl.getQty()); NccSaleDbddWms nccSaleDbddWms = JSONObject.parseObject(remark, NccSaleDbddWms.class); iaIjBillB.setBid(nccSaleDbddWms.getCbill_bid()); @@ -463,11 +535,11 @@ iaIjBillB.setNnum(orderDetl.getQty()); iaIjBillB.setVbatchcode(orderDetl.getBatch()); iaIjBillB.setClocationid(""); - iaIjBillB.setCstateid(nccScPcdaWms.getVcode()); + iaIjBillB.setCstateid(orderDetl.getCstateidVcode()); hid = nccSaleDbddWms.getCbillid(); + bids.add(iaIjBillB); } - bids.add(iaIjBillB); } data.put("hid", hid); data.put("bids", bids); @@ -526,7 +598,7 @@ } whsTransBillBodyVO = new WhsTransBillBodyVO(); - whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkStorestate()); + whsTransBillBodyVO.setCstateid(orderDetl.getCstateid()); String remark = orderDetl.getRemark(); //if (!Cools.isEmpty(remark)) { @@ -578,7 +650,7 @@ generalout_b.setCsourcetype("4K-01"); generalout_b.setCsourcebillhid(cspecialhid); generalout_b.setCmaterialvid(orderDetl.getMatnr()); - generalout_b.setCstateid(nccScPcdaWms.getPkStorestate()); + generalout_b.setCstateid(orderDetl.getCstateid()); generalout_b.setPk_batchcode(nccScPcdaWms.getPkBatchcode()); StoreType storeType = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", orderDetl.getStandby1())); generalout_b.setCdptvid(storeType.getDepartmentId()); -- Gitblit v1.9.1