From 3ad65283c54059e0c61110589fb19398ac3525fe Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期二, 08 七月 2025 08:32:32 +0800 Subject: [PATCH] 完善拣料转全板 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 45 insertions(+), 5 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 2d9eb30..ea77a6a 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -9,6 +9,8 @@ import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import com.zy.system.entity.Config; +import com.zy.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +38,8 @@ private LocDetlService locDetlService; @Autowired private WaitPakinService waitPakinService; + @Autowired + private ConfigService configService; public ReturnT<String> start(WrkMast wrkMast) { // 9.鍏ュ簱瀹屾垚 @@ -51,6 +55,9 @@ private ReturnT<String> doIn(WrkMast wrkMast){ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + + //鍒ゆ柇浠诲姟鏄惁鏈夎鍗曞彿 + Boolean boo=false; try { if (null == locMast) { exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); @@ -84,8 +91,13 @@ if (wrkDetls.isEmpty()) { exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo()); } + //鍒ゆ柇鏄惁鏈夎鍗曞彿 + if(!Cools.isEmpty(wrkDetls.get(0).getOrderNo())){ + boo=true; + } // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� for (WrkDetl wrkDetl : wrkDetls) { + wrkDetl.setBatch(""); LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { @@ -143,11 +155,17 @@ if (wrkDetls53.isEmpty()) { exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); } + + //鍒ゆ柇鏄惁鏈夎鍗曞彿 + if(!Cools.isEmpty(wrkDetls53.get(0).getOrderNo())){ + boo=true; + } + for (WrkDetl wrkDetl : wrkDetls53) { LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getManu(),wrkDetl.getMemo())) { exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } } @@ -273,8 +291,15 @@ default: break; } - // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(10L); + + //鏄惁闇�瑕佷笂鎶RP + Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "newErpReport")); + if(!Cools.isEmpty(config)&&config.getValue().equals("Y")&&boo){ + wrkMast.setWrkSts(40L);//浠诲姟鐘舵�佽浆ERP涓婃姤涓� + }else{ + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(10L); + } wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); @@ -289,8 +314,12 @@ } private ReturnT<String> doOut(WrkMast wrkMast){ + Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + + //鍒ゆ柇浠诲姟鏄惁鏈夎鍗曞彿 + Boolean boo=false; try { if (null == locMast) { exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); @@ -338,6 +367,11 @@ if (wrkDetls101.isEmpty()) { exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); } + //鍒ゆ柇鏄惁鏈夎鍗曞彿 + if(!Cools.isEmpty(wrkDetls101.get(0).getOrderNo())){ + boo=true; + } + for (WrkDetl wrkDetl : wrkDetls101) { // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y } @@ -375,8 +409,14 @@ break; } if(wrkMast.getIoType()!=11) { - // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(18L); + //鏄惁闇�瑕佷笂鎶RP + Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "newErpReport")); + if(!Cools.isEmpty(config)&&config.getValue().equals("Y")&&boo){ + wrkMast.setWrkSts(40L);//浠诲姟鐘舵�佽浆ERP涓婃姤涓� + }else{ + // 淇敼宸ヤ綔涓绘。鐘舵�� + wrkMast.setWrkSts(18L); + } wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); -- Gitblit v1.9.1