From b5130c2e6d60c7f23e37f7c620375bc4e253caa3 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 18 十月 2022 14:52:20 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 172 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 85 insertions(+), 87 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 e6c949d..8309fe1 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -1,10 +1,15 @@ package com.zy.asrs.task.handler; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.zy.asrs.entity.*; +import com.core.common.Cools; +import com.zy.asrs.entity.LocDetl; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkDetl; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,6 +21,7 @@ /** * Created by vincent on 2020/7/4 */ +@Slf4j @Service @Transactional public class WorkMastHandler extends AbstractHandler<String> { @@ -32,11 +38,11 @@ private WaitPakinService waitPakinService; public ReturnT<String> start(WrkMast wrkMast) { - // 4.鍏ュ簱瀹屾垚 - if (wrkMast.getWrkSts() == 4) { + // 9.鍏ュ簱瀹屾垚 + if (wrkMast.getWrkSts() == 9) { return doIn(wrkMast); - // 14.鍑哄簱瀹屾垚 - } else if (wrkMast.getWrkSts() == 14) { + // 17.鍑哄簱瀹屾垚 + } else if (wrkMast.getWrkSts() == 17) { return doOut(wrkMast); } return SUCCESS; @@ -49,12 +55,16 @@ if (null == locMast) { exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } + assert locMast != null; switch (wrkMast.getIoType()) { // 绌烘澘鍏ュ簱 case 10: // 淇敼搴撲綅鐘舵��=D - if (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q")) { - locMast.setLocType("D"); + if (locMast.getLocSts().equals("S") || locMast.getLocSts().equals("Q")) { + if (!Cools.isEmpty(wrkMast.getBarcode())) { + locMast.setBarcode(wrkMast.getBarcode()); + } + locMast.setLocSts("D"); locMast.setIoTime(now); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { @@ -76,50 +86,46 @@ } // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� for (WrkDetl wrkDetl : wrkDetls) { - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); + + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { - boolean res = locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr()); - if (!res) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } } else { - locDetl = new LocDetl( - wrkMast.getLocNo(), // 搴撲綅鍙� - wrkDetl.getMatnr(), // 鐗╂枡鍙� - null, // 浠撳簱鍙� - null, // 杞偍璇锋眰缂栧彿 - null, // 琛岄」鐩� - null, // 鐗╂枡鏍囩ID - wrkDetl.getMaktx(), // 鐗╂枡鎻忚堪 - null, // 宸ュ巶 - wrkDetl.getAnfme(), // 鏁伴噺 - wrkDetl.getAltme(), // 鍗曚綅 - wrkDetl.getZpallet(), // 鎵樼洏鏉$爜 - null, // 鐢ㄦ埛ID - null, // 澶囨敞 - null, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null, // 鍒涘缓鑰� - now // 娣诲姞鏃堕棿 - ); + 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}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } } - // 鏇存柊鍏ュ簱閫氱煡妗� status ===>> Y - WaitPakin setParam = new WaitPakin(); - setParam.setStatus("Y"); - boolean updateRes = waitPakinService.update(setParam - , new EntityWrapper<WaitPakin>().eq("barcode", wrkDetl.getZpallet()) - .eq("matnr", wrkDetl.getMatnr()) - .eq("anfme", wrkDetl.getAnfme())); - if (!updateRes && updateRes) { - exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊鍏ュ簱閫氱煡妗eけ璐ワ紱[workNo={0}]", wrkMast.getWrkNo()); - } + + // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y + try { +// Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() +// .eq("zpallet", wrkDetl.getZpallet()) +// .eq("matnr", wrkDetl.getMatnr()) +// .eq("anfme", wrkDetl.getAnfme()); +// if (Cools.isEmpty(wrkDetl.getBatch())) { +// wrapper.eq("batch", wrkDetl.getBatch()); +// } else { +// wrapper.isNull("batch").or().eq("batch", ""); +// } +// WaitPakin setParam = new WaitPakin(); +// setParam.setIoStatus("Y"); +// setParam.setModiTime(now); +// waitPakinService.update(setParam, wrapper); + } catch (Exception ignore){} + } // 淇敼搴撲綅鐘舵�� S ====>> F - if (locMast.getLocType().equals("S")) { - locMast.setLocType("F"); + if (locMast.getLocSts().equals("S")) { + locMast.setLocSts("F"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -135,19 +141,18 @@ if (wrkDetls53.isEmpty()) { exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); } - for (WrkDetl wrkDetl:wrkDetls53) { - // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滃伐浣滄槑缁嗘暟閲忎负0鏃讹紝鍒犻櫎搴撳瓨鏄庣粏 - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); + 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())) { + if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y } } // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -165,40 +170,28 @@ } // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� for (WrkDetl wrkDetl:wrkDetls54) { - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); + + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); } } else { - locDetl = new LocDetl( - wrkMast.getLocNo(), // 搴撲綅鍙� - wrkDetl.getMatnr(), // 鐗╂枡鍙� - null, // 浠撳簱鍙� - null, // 杞偍璇锋眰缂栧彿 - null, // 琛岄」鐩� - null, // 鐗╂枡鏍囩ID - wrkDetl.getMaktx(), // 鐗╂枡鎻忚堪 - null, // 宸ュ巶 - wrkDetl.getAnfme(), // 鏁伴噺 - wrkDetl.getAltme(), // 鍗曚綅 - wrkDetl.getZpallet(), // 鎵樼洏鏉$爜 - null, // 鐢ㄦ埛ID - null, // 澶囨敞 - null, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null, // 鍒涘缓鑰� - now // 娣诲姞鏃堕棿 - ); + 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()); } } - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y } // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -214,10 +207,9 @@ if (wrkDetls57.isEmpty()) { exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); } - // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -229,29 +221,28 @@ // 搴撲綅绉昏浆 case 11: // 榛樿鐩爣搴撲綅鏄┖鏉� - String locType = "D"; + String locSts = "D"; // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� if (wrkMast.getEmptyMk().equals("N")) { - locType = "F"; + locSts = "F"; // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); } } - // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y // 淇敼婧愬簱浣嶇姸鎬� ==> O LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); if (null != sourceLoc) { sourceLoc.setBarcode(""); - sourceLoc.setLocType("O"); + sourceLoc.setLocSts("O"); sourceLoc.setModiTime(now); sourceLoc.setIoTime(now); if (!locMastService.updateById(sourceLoc)) { exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); } } - // 淇敼鐩爣搴撲綅鐘舵�� ==> .locType - locMast.setLocType(locType); + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + locMast.setLocSts(locSts); locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); @@ -263,12 +254,13 @@ break; } // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(5L); + wrkMast.setWrkSts(10L); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); } } catch (Exception e) { + log.error("fail", e); e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); @@ -283,9 +275,14 @@ if (null == locMast) { exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } + assert locMast != null; switch (wrkMast.getIoType()) { // 鍏ㄦ澘鍑哄簱 case 101: + // 鍑哄簱纭淇″彿浣� +// if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) { +// return SUCCESS; +// } // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls101.isEmpty()) { @@ -299,8 +296,8 @@ exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); } // 淇敼婧愬簱浣嶇姸鎬� R ===>> O - if (locMast.getLocType().equals("R")) { - locMast.setLocType("O"); + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); locMast.setBarcode(""); locMast.setModiTime(now); locMast.setIoTime(now); @@ -312,8 +309,8 @@ // 绌烘澘鍑哄簱 case 110: // 淇敼搴撲綅鐘舵�� R ===>> O - if (locMast.getLocType().equals("R")) { - locMast.setLocType("O"); + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); locMast.setBarcode(""); locMast.setModiTime(now); locMast.setIoTime(now); @@ -326,12 +323,13 @@ break; } // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(15L); + wrkMast.setWrkSts(18L); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); } } catch (Exception e) { + log.error("fail", e); e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); -- Gitblit v1.9.1