From 6f01b51fc0770fda7787076caf0314be7a7f6656 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 27 六月 2025 10:58:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 465 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 349 insertions(+), 116 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 b82f56d..178a672 100644 --- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java @@ -1,18 +1,17 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; -import com.zy.asrs.entity.DocType; -import com.zy.asrs.entity.Order; -import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.service.ReportToThirdService; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; import com.zy.nc.SendUtil; -import com.zy.nc.entity.NccCgCgdhdWms; -import com.zy.nc.entity.NccSaleXsfhmxWms; +import com.zy.nc.entity.*; +import com.zy.nc.service.NccSaleXsfhmxWmsService; +import com.zy.nc.service.NccScPcdaWmsService; import com.zy.nc.util.NcResultMessage; import com.zy.nc.vo.*; import lombok.extern.slf4j.Slf4j; @@ -31,9 +30,23 @@ @Autowired private ApiLogService apiLogService; - @Autowired private OrderService orderService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private InventoryCheckOrderService inventoryCheckOrderService; + @Autowired + private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; + + @Autowired + private StoreTypeService storeTypeService; + + @Autowired + private NccScPcdaWmsService nccScPcdaWmsService; + + @Autowired + private NccSaleXsfhmxWmsService nccSaleXsfhmxWmsService; @Value("${NYNC.ip}") private String nyncIp; @@ -44,6 +57,24 @@ @Value("${NYNC.saveRefDelivery}") private String saveRefDelivery; + @Value("${NYNC.saveRefWhsTrans}") + private String saveRefWhsTrans; + + @Value("${NYNC.invcountAdd}") + private String invcountAdd; + + @Value("${NYNC.purchasein}") + private String purchasein; + + @Value("${NYNC.whstrans}") + private String whstrans; + + @Value("${NYNC.generalout}") + private String generalout; + + @Value("${NYNC.dbdd}") + private String dbdd; + @Override public void report(Order order, List<OrderDetl> orderDetls, DocType docType) { @@ -51,86 +82,107 @@ NcResultMessage response = null; Object process1 = null; Object process2 = null; - Object process3 = 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("response:{}", response); + log.info("閿�鍞彂璐esponse:{}", response); step = 10; + } else { + remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); } break; - case "杞簱": - process1 = processQTRK(orderDetls); + case "閿�鍞彂璐�": + process1 = processXSFH(orderDetls, false); //鍙戦�佽姹� response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); if (!Cools.isEmpty(response) && response.isSuccess()) { - log.info("response:{}", response); + log.info("閿�鍞彂璐esponse:{}", response); step = 10; + } else { + remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); + } + break; + case "杞簱-鍏ュ簱": + process1 = processZKRK(orderDetls); + //鍙戦�佽姹� + response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefWhsTrans, JSONObject.toJSONString(process1)); + if (!Cools.isEmpty(response) && response.isSuccess()) { + log.info("杞簱-鍏ュ簱response:{}", response); + step = 10; + } else { + remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); } break; 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; - } + //涓嶉渶瑕佷笂鎶ヤ簡 + step = 10; +// process1 = processCGDH(orderDetls); +// List<Object> cg = new ArrayList<>(); +// cg.add(process1); +// //鍙戦�佽姹� +// response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg)); +// 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 == 2) { - process3 = processQTRK(orderDetls); + case "杞簱-鍑哄簱": + if (step == 1) { + process2 = processGENERALOUT2(orderDetls, order.getOperMemb(), order.getItemId(), memo); + List<Object> zkck2 = new ArrayList<>(); + zkck2.add(process2); //鍙戦�佽姹� - response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3)); + response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2)); if (!Cools.isEmpty(response) && response.isSuccess()) { - log.info("response:{}", response); + log.info("杞簱-鍑哄簱2response:{}", response); step = 10; + } else { + remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); } - } else if (step == 1) { - process2 = processGENERALOUT(orderDetls); + } else { + process1 = processZKCK(order, orderDetls); + List<Object> zkck1 = new ArrayList<>(); + zkck1.add(process1); //鍙戦�佽姹� - response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2)); + response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, whstrans, JSONObject.toJSONString(zkck1)); 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; + log.info("杞簱-鍑哄簱1response:{}", response); + memo = response.getData().toString(); + + process2 = processGENERALOUT2(orderDetls, order.getOperMemb(), order.getItemId(), memo); + List<Object> zkck2 = new ArrayList<>(); + zkck2.add(process2); + //鍙戦�佽姹� + response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2)); + if (!Cools.isEmpty(response) && response.isSuccess()) { + log.info("杞簱-鍑哄簱2response:{}", response); + step = 10; + } else { + remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); + } } } break; -// case "鍐呴儴璋冩嫧": -// break; + case "闆嗗洟鍐呴儴璋冩嫧": + process1 = processDBDD(orderDetls); + //鍙戦�佽姹� + response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process1)); + if (!Cools.isEmpty(response) && response.isSuccess()) { + log.info("闆嗗洟鍐呴儴璋冩嫧response:{}", response); + step = 10; + } else { + remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100); + } + break; default: throw new CoolException("涓嶈兘璇嗗埆鐨勫崟鎹被鍨�"); } @@ -141,7 +193,7 @@ } } else if (step != 0) { // 淇敼璁㈠崟鐘舵�� 鍋氭爣璁� - if (!orderService.updateSettleStep(order.getId(), 6L, null, step)) { + if (!orderService.updateSettleStep(order.getId(), 4L, null, step, memo, remark)) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } } @@ -154,22 +206,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; + } + } - private Object processXSFH(List<OrderDetl> orderDetls) { + @Override + public boolean reportCheckOrder(InventoryCheckOrder checkOrder) { + Object process1 = processInvcount(checkOrder); + //鍙戦�佽姹� + NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, invcountAdd, 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; + } + } + + 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()); @@ -180,9 +263,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); @@ -190,28 +275,111 @@ return data; } + private Object processTKRK(String matnr,String batch, String orderNo, Double anfme) { +// EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>(); +// wrapper.eq("VBATCHCODE", batch).eq("VSOURCEBILLCODE", orderNo); +// NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper); +// if (null == nccXsckmxTkWms) { +// throw new CoolException("鏈壘鍒版鏉$爜"); +// } - private Object processQTRK(List<OrderDetl> orderDetls) { + NccSaleXsfhmxWms nccSaleXsfhmxWms = nccSaleXsfhmxWmsService.selectOne(new EntityWrapper<NccSaleXsfhmxWms>() + .eq("VBILLCODE", orderNo) + .eq("WLBM", matnr) + ); + if(null == nccSaleXsfhmxWms) { + throw new CoolException("鏈壘鍒伴攢鍞崟鎹�"); + } + + //缁勮瀵硅薄鏁版嵁 + Map<String, Object> data = new HashMap<String, Object>(); + SaleOutHeadVO saleOutHeadVO = new SaleOutHeadVO(); + saleOutHeadVO.setPk_org("FYT"); + SaleOutBodyVO saleOutBodyVO = null; + List<SaleOutBodyVO> saleOutBodyVOList = new ArrayList<>(); + + saleOutBodyVO = new SaleOutBodyVO(); + saleOutBodyVO.setCsourcetype("4331"); + saleOutBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid()); + saleOutBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid()); + saleOutHeadVO.setCwarehouseid(nccSaleXsfhmxWms.getFhckbm()); + + saleOutBodyVO.setVbatchcode(batch); + saleOutBodyVO.setNnum(anfme * -1); + saleOutBodyVOList.add(saleOutBodyVO); + + data.put("SaleOutHeadVO", saleOutHeadVO); + data.put("SaleOutBodyVO", saleOutBodyVOList); + return data; + } + + private Object processInvcount(InventoryCheckOrder checkOrder) { + List<InventoryCheckOrderDetl> inventoryCheckOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>() + .eq("order_no", checkOrder.getOrderNo())); + if (inventoryCheckOrderDetls.isEmpty()) { + throw new CoolException("鐩樼偣鏄庣粏涓嶅瓨鍦�"); + } + + //缁勮瀵硅薄鏁版嵁 + Map<String, Object> data = new HashMap<String, Object>(); + + //浠撳簱id + String cwarehouseid = null; + List<InvCountBodyVO> invCountBodyVOList = new ArrayList<>(); + for (InventoryCheckOrderDetl inventoryCheckOrderDetl : inventoryCheckOrderDetls) { + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>() + .eq("matnr", inventoryCheckOrderDetl.getMatnr()) + .eq("batch", inventoryCheckOrderDetl.getBatch()) + ); + if (wrkDetls.isEmpty()) { + throw new CoolException("宸ヤ綔妗f槑缁嗕笉瀛樺湪"); + } + + cwarehouseid = wrkDetls.get(0).getStandby1(); + + InvCountBodyVO invCountBodyVO = new InvCountBodyVO(); + invCountBodyVO.setCmaterialoid(inventoryCheckOrderDetl.getMatnr()); + invCountBodyVO.setVbatchcode(inventoryCheckOrderDetl.getBatch()); + invCountBodyVO.setNcountastnum(inventoryCheckOrderDetl.getCheckAnfme()); + invCountBodyVOList.add(invCountBodyVO); + } + + InvCountHeaderVO invCountHeaderVO = new InvCountHeaderVO(); + invCountHeaderVO.setPk_org("FYT"); + invCountHeaderVO.setCtrantypeid("4R-01"); + invCountHeaderVO.setCwarehouseid(cwarehouseid); + + data.put("InvCountHeaderVO", invCountHeaderVO); + data.put("InvCountBodyVO", invCountBodyVOList); + data.put("paper", "2"); + data.put("splr", "1"); + + ArrayList<Map<String, Object>> list = new ArrayList<>(); + list.add(data); + return list; + } + + private Object processZKRK(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()); + NccScZkmxbWms nccScZkmxbWms = JSONObject.parseObject(remark, NccScZkmxbWms.class); + generalInBodyVO.setCsourcebillbid(nccScZkmxbWms.getCspecialbid()); + generalInBodyVO.setCsourcebillhid(nccScZkmxbWms.getCspecialhid()); + generalInBodyVO.setNnum(orderDetl.getQty()); - generalInBodyVO.setVbatchcode(orderDetl.getBatch()); - generalInBodyVO.setCmaterialoid(orderDetl.getMatnr()); + generalInBodyVO.setNshouldnum(orderDetl.getAnfme()); + generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm()); + } + generalInHeadVO.setCwarehouseid(orderDetl.getStandby1()); generalInBodyVOS.add(generalInBodyVO); } data.put("GeneralInHeadVO", generalInHeadVO); @@ -220,40 +388,42 @@ } - private Object processZK(List<OrderDetl> orderDetls) { + private Object processDBDD(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<>(); + IaIjBill iaIjBill = new IaIjBill(); + iaIjBill.setPk_org("FYT"); + //iaIjBill.setCwarehouseid("6101"); + IaIjBillB iaIjBillB = null; + List<IaIjBillB> iaIjBillBS = new ArrayList<>(); for (OrderDetl orderDetl : orderDetls) { - whsTransBillBodyVO = new WhsTransBillBodyVO(); + iaIjBillB = new IaIjBillB(); 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()); + NccSaleDbddWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleDbddWms.class); + iaIjBillB.setCinventoryid(nccSaleXsfhmxWms.getWlbm()); + iaIjBillB.setCinventoryvid(nccSaleXsfhmxWms.getWlbm()); + iaIjBillB.setCsrcid(nccSaleXsfhmxWms.getCbillid()); + iaIjBillB.setNnum(orderDetl.getQty().intValue() + ""); + iaIjBillB.setPk_org("FYT"); } - whsTransBillBodyVOS.add(whsTransBillBodyVO); + iaIjBillBS.add(iaIjBillB); } - data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO); - data.put("WhsTransBillBodyVO", whsTransBillBodyVOS); + data.put("ia_ijbill", iaIjBill); + data.put("ia_ijbill_b", iaIjBillBS); 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_h.setCwarehouseid("6301"); + ic_purchasein_h.setCfanaceorgoid("FYT"); ic_purchasein_b ic_purchasein_b = null; List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>(); for (OrderDetl orderDetl : orderDetls) { @@ -261,17 +431,55 @@ String remark = orderDetl.getRemark(); if (!Cools.isEmpty(remark)) { 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()); - ic_purchasein_b.setCmaterialvid(orderDetl.getMaktx()); + ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr()); ic_purchasein_b.setNnum(orderDetl.getQty()); - ic_purchasein_b.setNshouldassistnum(orderDetl.getQty()); - //ic_purchasein_b.setNorigprice(nccSaleXsfhmxWms.getNorigprice().doubleValue()); + ic_purchasein_b.setCsourcetype(nccCgCgdhdWms.getDhlxbm()); + ic_purchasein_b.setVbatchcode(orderDetl.getBatch()); } + ic_purchasein_h.setCwarehouseid(orderDetl.getStandby1()); ic_purchasein_bs.add(ic_purchasein_b); } data.put("ic_purchasein_h", ic_purchasein_h); - data.put("ic_purchasein_b", ic_purchasein_b); + data.put("ic_purchasein_b", ic_purchasein_bs); + return data; + } + + + private Object processZKCK(Order order, List<OrderDetl> orderDetls) { + //缁勮瀵硅薄鏁版嵁 + Map<String, Object> data = new HashMap<String, Object>(); + WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO(); + whsTransBillHeaderVO.setPk_org("FYT"); + whsTransBillHeaderVO.setCotherwhid(order.getItemId()); + whsTransBillHeaderVO.setCtrantypeid("4K-01"); + WhsTransBillBodyVO whsTransBillBodyVO = null; + List<WhsTransBillBodyVO> whsTransBillBodyVOS = new ArrayList<>(); + for (OrderDetl orderDetl : orderDetls) { + 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()); + } + + whsTransBillBodyVO = new WhsTransBillBodyVO(); + whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkBatchcode()); + + String remark = orderDetl.getRemark(); + //if (!Cools.isEmpty(remark)) { + //NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class); + whsTransBillBodyVO.setNnum(orderDetl.getQty()); + whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr()); + whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch()); + //} + whsTransBillHeaderVO.setCwarehouseid(orderDetl.getStandby1()); + whsTransBillBodyVOS.add(whsTransBillBodyVO); + } + data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO); + data.put("WhsTransBillBodyVO", whsTransBillBodyVOS); return data; } @@ -279,25 +487,50 @@ * @param orderDetls * @return */ - private Object processGENERALOUT(List<OrderDetl> orderDetls) { + private Object processGENERALOUT2(List<OrderDetl> orderDetls, String renyuan, String rukucangku, 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_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_generalout_h generalout_h = new ic_generalout_h(); + generalout_h.setPk_org("FYT"); + //generalout_h.setCwarehouseid("6101"); + ic_generalout_b generalout_b = null; + List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>(); + for (int i = 0; i < orderDetls.size(); i++) { +// NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>().eq("vbatchcode", orderDetls.get(i).getBatch()).eq("wlbm", orderDetls.get(i).getMatnr())); +// if (nccScPcdaWms == null) { +// throw new CoolException("鎵规[{}]鐗╂枡[{}]鏈壘鍒�" + orderDetls.get(i).getBatch() + orderDetls.get(i).getMatnr()); +// } + OrderDetl orderDetl = orderDetls.get(i); + generalout_h.setCwarehouseid(orderDetl.getStandby1()); + generalout_b = new ic_generalout_b(); + generalout_b.setCsourcebillbid(s.get(i)); + generalout_b.setCsourcetype("4K-01"); + generalout_b.setCsourcebillhid(cspecialhid); + generalout_b.setCmaterialvid(orderDetl.getMatnr()); + //generalout_b.setCstateid(nccScPcdaWms.getVcode()); + StoreType storeType = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", orderDetl.getStandby1())); + generalout_b.setCdptvid(storeType.getDepartmentId()); + generalout_b.setBillmaker(renyuan); + StoreType storeType2 = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", rukucangku)); + generalout_b.setCotherwhid(rukucangku); + generalout_b.setCothercalbodyvid(storeType2.getDepartmentId()); - } - ic_purchasein_bs.add(ic_purchasein_b); + //generalout_b.setNshouldassistnum(orderDetl.getQty()); + generalout_b.setNnum(orderDetl.getQty()); + generalout_b.setVbatchcode(orderDetl.getBatch()); + ic_purchasein_bs.add(generalout_b); } - data.put("ic_purchasein_h", ic_purchasein_h); - data.put("ic_purchasein_b", ic_purchasein_b); + data.put("ic_generalout_h", generalout_h); + data.put("ic_generalout_b", ic_purchasein_bs); return data; } -- Gitblit v1.9.1