From 3599feef955e2dcf974ecefeaeb7b28cacb97a73 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期六, 19 四月 2025 08:55:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jx-fyxc-wms' into jx-fyxc-wms --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 104 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 65 insertions(+), 39 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 6c2d34d..92fd77b 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.common.SpringUtils; import com.zy.asrs.entity.*; +import com.zy.asrs.mapper.BasDevpMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -13,7 +15,9 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by vincent on 2020/7/4 @@ -35,6 +39,14 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; + + private static final Map<Integer,Integer> sourceSite = new HashMap<>(); + static { + sourceSite.put(1041,1040);sourceSite.put(1042,1040); + sourceSite.put(2011,2010);sourceSite.put(2012,2010); + sourceSite.put(2001,2000);sourceSite.put(2002,2000); + sourceSite.put(3011,3010);sourceSite.put(3010,1040); + } public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -95,7 +107,8 @@ LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + Double anfme = locDetl.getAnfme()+wrkDetl.getAnfme(); + if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -205,53 +218,56 @@ List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls54.isEmpty()) { // exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); - } - // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� - for (WrkDetl wrkDetl:wrkDetls54) { +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + }else { + // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� + for (WrkDetl wrkDetl:wrkDetls54) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (null != locDetl) { + Double anfme = locDetl.getAnfme()+wrkDetl.getAnfme(); + if (!locDetlService.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 { - locDetl = new LocDetl(); - locDetl.sync(wrkDetl); - locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� - locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 - locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 - locDetl.setModiTime(now); - locDetl.setAppeTime(now); - if (!locDetlService.insert(locDetl)) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } else { + locDetl = new LocDetl(); + locDetl.sync(wrkDetl); + locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� + locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 + locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setModiTime(now); + locDetl.setAppeTime(now); + if (!locDetlService.insert(locDetl)) { // exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + 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())){ + 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() + "]"); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } } - } - } catch (Exception ignore){} - } + } catch (Exception ignore){} + } + } } + // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts("F"); @@ -330,6 +346,16 @@ default: break; } + + // 鏇存柊鍏ュ簱绔欑偣鐨勫叆搴撴殏瀛樻暟 + int sourceStaNo = wrkMast.getSourceStaNo() == null ? 0 : wrkMast.getSourceStaNo(); + if (sourceSite.get(sourceStaNo) != null) { + BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class); + BasDevp basDevp = basDevpMapper.selectById(sourceSite.get(sourceStaNo)); + basDevp.setInQty(basDevp.getInQty() -1); + basDevpMapper.updateById(basDevp); + } + // 淇敼宸ヤ綔涓绘。鐘舵�� wrkMast.setWrkSts(5L); wrkMast.setModiTime(now); -- Gitblit v1.9.1