From 1f48dc0953c67f20c2c96d4cf502c5693b3188a9 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 07 七月 2020 13:14:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 205 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 193 insertions(+), 12 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 d8c8628..b13b748 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -4,6 +4,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; +import com.zy.asrs.task.ReturnT; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,7 +17,7 @@ */ @Service @Transactional -public class WorkMastHandler extends AbstractHandler { +public class WorkMastHandler extends AbstractHandler<String> { @Autowired private WrkMastService wrkMastService; @@ -29,10 +30,10 @@ @Autowired private WaitPakinService waitPakinService; - public void start() { + public ReturnT<String> start() { List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); if (wrkMasts.isEmpty()) { - return; + return SUCCESS; } for (WrkMast wrkMast : wrkMasts) { // 4.鍏ュ簱瀹屾垚 @@ -43,6 +44,7 @@ doOut(wrkMast); } } + return SUCCESS; } private void doIn(WrkMast wrkMast){ @@ -50,12 +52,13 @@ LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (null == locMast) { exceptionHandle(""); // todo + return; } switch (wrkMast.getIoType()) { // 绌烘澘鍏ュ簱 case 10: // 淇敼搴撲綅鐘舵��=D - if (null != locMast && (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q"))) { + if (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q")) { locMast.setLocType("D"); locMast.setIoTime(now); locMast.setModiTime(now); @@ -71,7 +74,7 @@ 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 @@ -80,9 +83,8 @@ for (WrkDetl wrkDetl : wrkDetls) { LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("matnr", wrkDetl.getMatnr())); if (null != locDetl) { - locDetl.setAnfme(wrkDetl.getAnfme()); - locDetl.setModiTime(now); - if (!locDetlService.updateById(locDetl)) { + boolean res = locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr()); + if (!res) { exceptionHandle(""); // todo } } else { @@ -131,25 +133,204 @@ } } 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 + } } private void 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++) { -- Gitblit v1.9.1