From 4f089b531a7fa8de7ad18be76f69e2f00792458c Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期日, 29 六月 2025 11:33:46 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 96 insertions(+), 15 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 507c554..57ce31b 100644 --- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java @@ -6,14 +6,9 @@ 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.entity.StoreType; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.service.ReportToThirdService; -import com.zy.asrs.service.StoreTypeService; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; +import com.zy.asrs.utils.MatUtils; import com.zy.nc.SendUtil; import com.zy.nc.entity.*; import com.zy.nc.service.NccSaleXsfhmxWmsService; @@ -36,9 +31,14 @@ @Autowired private ApiLogService apiLogService; - @Autowired private OrderService orderService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private InventoryCheckOrderService inventoryCheckOrderService; + @Autowired + private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; @Autowired private StoreTypeService storeTypeService; @@ -60,6 +60,9 @@ @Value("${NYNC.saveRefWhsTrans}") private String saveRefWhsTrans; + + @Value("${NYNC.invcountAdd}") + private String invcountAdd; @Value("${NYNC.purchasein}") private String purchasein; @@ -219,6 +222,21 @@ } } + @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>(); @@ -294,6 +312,66 @@ 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槑缁嗕笉瀛樺湪"); + } + + NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>() + .eq("WLBM", inventoryCheckOrderDetl.getMatnr()) + .eq("VBATCHCODE", inventoryCheckOrderDetl.getBatch()) + ); + if(null == nccScPcdaWms) { + throw new CoolException("ERP鏁版嵁搴撴棤娉曟煡璇㈠埌鐩樼偣涓婃姤鏁版嵁"); + } + + cwarehouseid = wrkDetls.get(0).getStandby1(); + + //璁$畻杈呮暟閲� + Double weight = MatUtils.calcWeight(inventoryCheckOrderDetl.getMatnr(), inventoryCheckOrderDetl.getCheckAnfme()); + + InvCountBodyVO invCountBodyVO = new InvCountBodyVO(); + invCountBodyVO.setCmaterialoid(inventoryCheckOrderDetl.getMatnr()); + invCountBodyVO.setVbatchcode(inventoryCheckOrderDetl.getBatch()); + invCountBodyVO.setNcountnum(inventoryCheckOrderDetl.getCheckAnfme()); + invCountBodyVO.setNcountastnum(weight); + invCountBodyVO.setCstateid(nccScPcdaWms.getPkStorestate()); + invCountBodyVO.setPk_batchcode(nccScPcdaWms.getPkBatchcode()); + 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", "1"); + data.put("splr", "0"); + + ArrayList<Map<String, Object>> list = new ArrayList<>(); + list.add(data); + return list; } private Object processZKRK(List<OrderDetl> orderDetls) { @@ -403,7 +481,7 @@ } whsTransBillBodyVO = new WhsTransBillBodyVO(); - whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkBatchcode()); + whsTransBillBodyVO.setCstateid(nccScPcdaWms.getPkStorestate()); String remark = orderDetl.getRemark(); //if (!Cools.isEmpty(remark)) { @@ -411,6 +489,7 @@ whsTransBillBodyVO.setNnum(orderDetl.getQty()); whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr()); whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch()); + whsTransBillBodyVO.setPk_batchcode(nccScPcdaWms.getPkBatchcode()); //} whsTransBillHeaderVO.setCwarehouseid(orderDetl.getStandby1()); whsTransBillBodyVOS.add(whsTransBillBodyVO); @@ -442,10 +521,11 @@ 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()); -// } + 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(); @@ -453,7 +533,8 @@ generalout_b.setCsourcetype("4K-01"); generalout_b.setCsourcebillhid(cspecialhid); generalout_b.setCmaterialvid(orderDetl.getMatnr()); - //generalout_b.setCstateid(nccScPcdaWms.getVcode()); + generalout_b.setCstateid(nccScPcdaWms.getPkStorestate()); + generalout_b.setPk_batchcode(nccScPcdaWms.getPkBatchcode()); StoreType storeType = storeTypeService.selectOne(new EntityWrapper<StoreType>().eq("store_id", orderDetl.getStandby1())); generalout_b.setCdptvid(storeType.getDepartmentId()); generalout_b.setBillmaker(renyuan); -- Gitblit v1.9.1