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 | 603 ++++++++++++++++++++++++++---------------------------- 1 files changed, 294 insertions(+), 309 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 b13b748..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,13 +1,19 @@ 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.ReturnT; +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; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.Date; import java.util.List; @@ -15,6 +21,7 @@ /** * Created by vincent on 2020/7/4 */ +@Slf4j @Service @Transactional public class WorkMastHandler extends AbstractHandler<String> { @@ -30,326 +37,304 @@ @Autowired private WaitPakinService waitPakinService; - public ReturnT<String> start() { - List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); - if (wrkMasts.isEmpty()) { - return SUCCESS; - } - for (WrkMast wrkMast : wrkMasts) { - // 4.鍏ュ簱瀹屾垚 - if (wrkMast.getWrkSts() == 4) { - doIn(wrkMast); - // 14.鍑哄簱瀹屾垚 - } else if (wrkMast.getWrkSts() == 14) { - doOut(wrkMast); - } + public ReturnT<String> start(WrkMast wrkMast) { + // 9.鍏ュ簱瀹屾垚 + if (wrkMast.getWrkSts() == 9) { + return doIn(wrkMast); + // 17.鍑哄簱瀹屾垚 + } else if (wrkMast.getWrkSts() == 17) { + return doOut(wrkMast); } return SUCCESS; } - private void doIn(WrkMast wrkMast){ + private ReturnT<String> doIn(WrkMast wrkMast){ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - if (null == locMast) { - exceptionHandle(""); // todo - return; + try { + if (null == locMast) { + exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + assert locMast != null; + switch (wrkMast.getIoType()) { + // 绌烘澘鍏ュ簱 + case 10: + // 淇敼搴撲綅鐘舵��=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)) { + exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + break; + // 鍏ㄦ澘鍏ュ簱 + case 1: + // 娓呴櫎鎵�灞炲簱浣嶄箣鍓嶇殑搴撳瓨鏄庣粏 + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); + if (!locDetls.isEmpty()) { + locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); + } + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls.isEmpty()) { + exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo()); + } + // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� + for (WrkDetl wrkDetl : wrkDetls) { + + LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (null != locDetl) { + if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), 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}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + + // 鏇存柊鍏ュ簱閫氱煡妗� 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.getLocSts().equals("S")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + break; + // 鎷f枡鍏ュ簱 + case 53: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls53.isEmpty()) { + exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + } + 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())) { + exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + } + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + break; + // 骞舵澘鍏ュ簱 + case 54: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls54.isEmpty()) { + exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + } + // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� + 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())) { + exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + } + } 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()); + } + } + } + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts("F"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + break; + // 鐩樼偣鍏ュ簱 + case 57: + // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� + List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls57.isEmpty()) { + exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + } + // 淇敼搴撲綅鐘舵�� Q ====>> F + if (locMast.getLocSts().equals("Q")) { + locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + } + break; + // 搴撲綅绉昏浆 + case 11: + // 榛樿鐩爣搴撲綅鏄┖鏉� + String locSts = "D"; + // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� + if (wrkMast.getEmptyMk().equals("N")) { + locSts = "F"; + // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { + exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + } + } + // 淇敼婧愬簱浣嶇姸鎬� ==> O + LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); + if (null != sourceLoc) { + sourceLoc.setBarcode(""); + sourceLoc.setLocSts("O"); + sourceLoc.setModiTime(now); + sourceLoc.setIoTime(now); + if (!locMastService.updateById(sourceLoc)) { + exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + } + } + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + locMast.setLocSts(locSts); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setIoTime(now); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + } + break; + default: + break; + } + // 淇敼宸ヤ綔涓绘。鐘舵�� + 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()); } - switch (wrkMast.getIoType()) { - // 绌烘澘鍏ュ簱 - case 10: - // 淇敼搴撲綅鐘舵��=D - if (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q")) { - locMast.setLocType("D"); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 鍏ㄦ澘鍏ュ簱 - case 1: - // 娓呴櫎鎵�灞炲簱浣嶄箣鍓嶇殑搴撳瓨鏄庣粏 - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); - if (!locDetls.isEmpty()) { - locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo())); - } - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls.isEmpty()) { - exceptionHandle(""); // todo - } - // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� - for (WrkDetl wrkDetl : wrkDetls) { - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); - if (null != locDetl) { - boolean res = locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr()); - if (!res) { - exceptionHandle(""); // todo - } - } 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 // 娣诲姞鏃堕棿 - ); - if (!locDetlService.insert(locDetl)) { - exceptionHandle(""); // todo - } - } - // 鏇存柊鍏ュ簱閫氱煡妗� 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) { - exceptionHandle(""); // todo - } - } - // 淇敼搴撲綅鐘舵�� S ====>> F - if (locMast.getLocType().equals("S")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 鎷f枡鍏ュ簱 - case 53: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls53.isEmpty()) { - exceptionHandle(""); // todo - } - for (WrkDetl wrkDetl:wrkDetls53) { - // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滃伐浣滄槑缁嗘暟閲忎负0鏃讹紝鍒犻櫎搴撳瓨鏄庣粏 - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); - if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) { - exceptionHandle(""); // todo - } - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y - } - } - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 骞舵澘鍏ュ簱 - case 54: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls54.isEmpty()) { - exceptionHandle(""); // todo - } - // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� - for (WrkDetl wrkDetl:wrkDetls54) { - LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); - if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr())) { - exceptionHandle(""); // todo - } - } 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 // 娣诲姞鏃堕棿 - ); - if (!locDetlService.insert(locDetl)) { - exceptionHandle(""); // todo - } - } - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y - } - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 鐩樼偣鍏ュ簱 - case 57: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls57.isEmpty()) { - exceptionHandle(""); // todo - } - // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y - // 淇敼搴撲綅鐘舵�� Q ====>> F - if (locMast.getLocType().equals("Q")) { - locMast.setLocType("F"); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 搴撲綅绉昏浆 - case 11: - // 榛樿鐩爣搴撲綅鏄┖鏉� - String locType = "D"; - // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� - if (wrkMast.getEmptyMk().equals("N")) { - locType = "F"; - // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� - if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { - exceptionHandle(""); // todo - } - } - // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y - // 淇敼婧愬簱浣嶇姸鎬� ==> O - LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); - if (null != sourceLoc) { - sourceLoc.setBarcode(""); - sourceLoc.setLocType("O"); - sourceLoc.setModiTime(now); - sourceLoc.setIoTime(now); - if (!locMastService.updateById(sourceLoc)) { - exceptionHandle(""); // todo - } - } - // 淇敼鐩爣搴撲綅鐘舵�� ==> .locType - locMast.setLocType(locType); - locMast.setBarcode(wrkMast.getBarcode()); - locMast.setIoTime(now); - locMast.setModiTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - break; - default: - break; - } - // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(5L); - wrkMast.setModiTime(now); - if (!wrkMastService.updateById(wrkMast)) { - exceptionHandle(""); // todo - } + return SUCCESS; } - private void doOut(WrkMast wrkMast){ + private ReturnT<String> doOut(WrkMast wrkMast){ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); - if (null == locMast) { - exceptionHandle(""); // todo - return; - } - switch (wrkMast.getIoType()) { - // 鍏ㄦ澘鍑哄簱 - case 101: - // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� - List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - if (wrkDetls101.isEmpty()) { - exceptionHandle(""); // todo - } - for (WrkDetl wrkDetl : wrkDetls101) { - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y - } - // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� - if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { - exceptionHandle(""); // todo - } - // 淇敼搴撲綅鐘舵�� R ===>> O - if (locMast.getLocType().equals("R")) { - locMast.setLocType("O"); - locMast.setBarcode(""); - locMast.setModiTime(now); - locMast.setIoTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - // 绌烘澘鍑哄簱 - case 110: - // 淇敼搴撲綅鐘舵�� R ===>> O - if (locMast.getLocType().equals("R")) { - locMast.setLocType("O"); - locMast.setBarcode(""); - locMast.setModiTime(now); - locMast.setIoTime(now); - if (!locMastService.updateById(locMast)) { - exceptionHandle(""); // todo - } - } - break; - default: - break; - } - // 淇敼宸ヤ綔涓绘。鐘舵�� - wrkMast.setWrkSts(15L); - wrkMast.setModiTime(now); - if (!wrkMastService.updateById(wrkMast)) { - exceptionHandle(""); // todo - } - } - - public static void main(String[] args) { - for (int i = 0;i<10;i++) { - - try { - - System.out.println("====" + i); - if (i == 5){ - throw new Exception("dsa"); - } - System.out.println("----" + i); - - } catch (Exception e) { - e.printStackTrace(); + try { + 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()) { + exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + } + for (WrkDetl wrkDetl : wrkDetls101) { + // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y + } + // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� + if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { + exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + } + // 淇敼婧愬簱浣嶇姸鎬� R ===>> O + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); + locMast.setBarcode(""); + locMast.setModiTime(now); + locMast.setIoTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + } + } + break; + // 绌烘澘鍑哄簱 + case 110: + // 淇敼搴撲綅鐘舵�� R ===>> O + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); + locMast.setBarcode(""); + locMast.setModiTime(now); + locMast.setIoTime(now); + if (!locMastService.updateById(locMast)) { + exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + } + } + break; + default: + break; + } + // 淇敼宸ヤ綔涓绘。鐘舵�� + 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()); } + return SUCCESS; } } -- Gitblit v1.9.1