From f56e004dac74ebcf6638e0b8dc162062f19dbe34 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 06 一月 2025 15:50:02 +0800 Subject: [PATCH] #平库入库完成+库存明细+库存统计 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 78 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 76 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 671343c..c665b9c 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -6,6 +6,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.mapper.BasDevpMapper; import com.zy.asrs.service.*; +import com.zy.asrs.service.impl.ManLocDetlServiceImpl; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import lombok.extern.slf4j.Slf4j; @@ -39,6 +40,10 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; + @Autowired + private ManLocDetlService manLocDetlService; + @Autowired + private NodeService nodeService; private static final Map<Integer,Integer> sourceSite = new HashMap<>(); static { @@ -61,14 +66,28 @@ private ReturnT<String> doIn(WrkMast wrkMast){ Date now = new Date(); - LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - try { + LocMast locMast = null; + Node node = null; + if (wrkMast.getIoType() == 300){ + node = nodeService.selectOne(new EntityWrapper<Node>().eq("name",wrkMast.getLocNo()).eq("type",3)); + if (null == node) { +// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]"); + } + assert node != null; + }else { + locMast = locMastService.selectById(wrkMast.getLocNo()); if (null == locMast) { // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]"); } assert locMast != null; + } + + try { + switch (wrkMast.getIoType()) { // 绌烘澘鍏ュ簱 case 10: @@ -341,6 +360,61 @@ return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } break; + case 300: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls300 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls300.isEmpty()) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� + for (WrkDetl wrkDetl:wrkDetls300) { + + ManLocDetl manLocDetl = manLocDetlService.selectItem(node.getName(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (null != manLocDetl) { + Double anfme = manLocDetl.getAnfme()+wrkDetl.getAnfme(); + if (!manLocDetlService.updateAnfme(anfme, locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } else { + manLocDetl = new ManLocDetl(); + manLocDetl.sync(wrkDetl); + manLocDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + manLocDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 + manLocDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + manLocDetl.setModiTime(now); + manLocDetl.setCreateTime(now); + if (!manLocDetlService.insert(manLocDetl)) { +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + if (!Cools.isEmpty(wrkDetl.getOrderNo())){ + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (orderDetl==null){ + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + } + try { + if(!Cools.isEmpty(orderDetl)){ + if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetl.getBatch(),wrkDetl.getAnfme())){ +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +// wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } catch (Exception ignore){} + } + + } + + break; default: break; } -- Gitblit v1.9.1