From f6796dda5fb7e269482f0cc92a898fe7ffc203d4 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 25 三月 2024 12:56:58 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 224 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 170 insertions(+), 54 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 c78edef..c941a80 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -8,6 +8,7 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; +import com.zy.asrs.mapper.ReportQueryMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -52,6 +53,11 @@ @Value("${mes.inPath}") private String inpath; + + @Autowired + private PackQualifiedService packQualifiedService; + @Autowired + private ReportQueryMapper reportQueryMapper; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -132,19 +138,19 @@ } } - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - try { - if(!Cools.isEmpty(orderDetl)){ - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(),wrkDetl.getAnfme())){ -// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); - } - } - } catch (Exception ignore){} +// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// wrkDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} } // 淇敼搴撲綅鐘舵�� S ====>> F @@ -154,6 +160,10 @@ locMast.setIoTime(now); locMast.setModiTime(now); locMast.setFireStatus(0); + //鍏ユ祴璇曞簱浣嶆椂缁欏簱浣嶆祴璇曠姸鎬佷负1寰呮祴 + if(!Cools.isEmpty(locMast.getChannel())){ + locMast.setPackStatus(1);//寰呮祴 + } if (locMast.getCrnNo()==1){ if (locMast.getLocType1()==1){ locMast.setPackStatus(1); @@ -161,17 +171,44 @@ locMast.setPackStatus(0); } }else { + WrkDetl wrkDetl1 = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("zpallet",locMast.getBarcode())); locMast.setPackStatus(5); TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() - .eq("barcode",locMast.getBarcode()) + .eq("barcode",wrkDetl1.getMatnr()) .eq("status",4) ); + if (Cools.isEmpty(testMast)){ + testMast = testMastService.selectOne(new EntityWrapper<TestMast>() + .eq("barcode",wrkDetl1.getMatnr()) + .eq("status",5) + ); + } + if (Cools.isEmpty(testMast)){ + throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�,鏌ヨ娴嬭瘯妗f澶辫触"); + } testMast.setStatus(5); testMast.setModiTime(new Date()); - if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode",locMast.getBarcode()).eq("status",4))){ + if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode",wrkDetl1.getMatnr()).eq("status",4))){ throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�"); } } + //鍏ュ簱鏍囪 + packQualifiedService.insertPackQualified(true,new Date(),wrkDetls.get(0).getMatnr()); + //2.鍏ュ簱瀹屾垚涓婃姤 + CombParam combParam = new CombParam(); + combParam.setPackNo(wrkDetls.get(0).getMatnr()); + combParam.setLocNo(wrkMast.getLocNo()); + combParam.setBarcode(wrkMast.getBarcode()); + if (locMast.getCrnNo()==1){ + combParam.setPackSts(0); + combParam.setStepSts(2); + }else{ + combParam.setPackSts(1); + combParam.setStepSts(5); + } + + combParam.setRequestTime(DateUtils.convert(now)); + new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam); if (!locMastService.updateById(locMast)) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -318,7 +355,6 @@ sourceLoc.setLocSts("O"); sourceLoc.setModiTime(now); sourceLoc.setIoTime(now); - sourceLoc.setFireStatus(0); sourceLoc.setPackStatus(0); if (!locMastService.updateById(sourceLoc)) { // exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); @@ -331,35 +367,100 @@ locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); - locMast.setFireStatus(0); + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); + + boolean sign =false; if (locMast.getLocType1().equals(sourceLoc.getLocType1())){ locMast.setPackStatus(packStatus); + + //寰呮祴搴撲綅杞祴璇曞簱浣� }else if (locMast.getLocType1().equals((short)1) && sourceLoc.getLocType1().equals((short)3)){ locMast.setPackStatus(1); + TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() + .eq("loc_no",sourceLoc.getLocNo()) + .eq("user_id",locMast.getBarcode()) + .eq("barcode",locDetl.getMatnr()) + ); + if(!Cools.isEmpty(testMast)){ + testMast.setChannel(locMast.getChannel()); + testMast.setLocNo(wrkMast.getLocNo()); + testMast.setModiTime(new Date()); + testMast.setBarcode(locDetl.getMatnr()); + if (!testMastService.update(testMast,new EntityWrapper<TestMast>() + .eq("loc_no",sourceLoc.getLocNo()) + .eq("user_id",locMast.getBarcode()) + .eq("barcode",locDetl.getMatnr()))){ + throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�"); + } + }else { + throw new CoolException("寰呮祴搴撲綅鏃犵墿"); + } }else { + //娴嬭瘯搴撲綅杞潤缃簱浣嶅拰NG搴撲綅 if (locMast.getLocType1().equals((short)4)){ locMast.setPackStatus(4); //4:NG + //鍏ュ簱鏍囪 + packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr()); + //鍑哄簱鏍囪 + packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr()); }else { locMast.setPackStatus(5); //5:闈欑疆涓� + //鍏ュ簱鏍囪 + packQualifiedService.insertPackQualified(true,new Date(),locDetl.getMatnr()); + //鍑哄簱鏍囪 + packQualifiedService.insertPackQualified(false,new Date(),locDetl.getMatnr()); } - if (locMast.getLocType1()==1 && sourceLoc.getLocType1()==2){ + sign=true; TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() .eq("loc_no",sourceLoc.getLocNo()) - .eq("barcode",locMast.getBarcode()) + .eq("barcode",locDetl.getMatnr()) .eq("status",4) ); testMast.setStatus(5); + testMast.setLocNo(locMast.getLocNo()); testMast.setModiTime(new Date()); - if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("loc_no",sourceLoc.getLocNo()).eq("barcode",locMast.getBarcode()).eq("status",4))){ + if (!testMastService.update(testMast,new EntityWrapper<TestMast>() + .eq("loc_no",sourceLoc.getLocNo()) + .eq("barcode",locDetl.getMatnr()) + .eq("status",4))){ throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�"); } - } + } if (!locMastService.updateById(locMast)) { // exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + + if (locMast.getCrnNo()==1 && sign){ + //7.娴嬭瘯搴撲綅杞潤缃簱浣嶅嚭搴撳畬鎴愪笂鎶� + CombParam combParam = new CombParam(); + combParam.setPackNo(locDetl.getMatnr()); + combParam.setLocNo(wrkMast.getSourceLocNo()); + combParam.setStepSts(7); + if (locMast.getPackStatus()==4){ + combParam.setPackSts(2); + }else if (locMast.getPackStatus()==5){ + combParam.setPackSts(1); + } + combParam.setRequestTime(DateUtils.convert(now)); + new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam); + //5.娴嬭瘯搴撲綅杞潤缃簱浣嶅叆搴撳畬鎴愪笂鎶� + combParam.setPackNo(locDetl.getMatnr()); + combParam.setLocNo(wrkMast.getLocNo()); + if (locMast.getPackStatus()==4){ + combParam.setPackSts(2); + combParam.setStepSts(5); + }else if (locMast.getPackStatus()==5){ + combParam.setPackSts(1); + combParam.setStepSts(8); + }else { + combParam.setPackSts(0); + } + combParam.setRequestTime(DateUtils.convert(now)); + new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam); } break; default: @@ -406,38 +507,21 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - for (WrkDetl wrkDetl : wrkDetls101) { - Date date = new Date(); - WaitPakin waitPakin = new WaitPakin(); - waitPakin.setMatnr(wrkDetl.getMatnr()); - waitPakin.setMaktx(wrkDetl.getMaktx()); - waitPakin.setZpallet(wrkDetl.getZpallet()); // Pack鐮� - waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� - waitPakin.setAnfme(1.0); // 鏁伴噺 - waitPakin.setStatus("Y"); // 鐘舵�� - waitPakin.setManuDate(date.toString()); - waitPakin.setAppeUser(null); - waitPakin.setAppeTime(date); - waitPakin.setModiUser(null); - waitPakin.setModiTime(date); -// waitPakin.setDeadWarn(wrkDetl.getSettingTimes()); - if (!waitPakinService.insert(waitPakin)) { - throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); - } - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - try { - if(!Cools.isEmpty(orderDetl)){ - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - wrkDetl.getBatch(),wrkDetl.getAnfme())){ -// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); - } - } - } catch (Exception ignore){} - } +// for (WrkDetl wrkDetl : wrkDetls101) { +// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// wrkDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} +// } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { // exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); @@ -450,12 +534,43 @@ locMast.setBarcode(""); locMast.setModiTime(now); locMast.setIoTime(now); - locMast.setFireStatus(0); locMast.setPackStatus(0); if (!locMastService.updateById(locMast)) { // exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + }else{ + //鍑哄簱鏍囪 + packQualifiedService.insertPackQualified(false,new Date(),wrkDetls101.get(0).getMatnr()); + //2.鍑哄簱瀹屾垚涓婃姤 + CombParam combParam = new CombParam(); + combParam.setPackNo(wrkDetls101.get(0).getMatnr()); + combParam.setLocNo(wrkMast.getLocNo()); + combParam.setBarcode(wrkMast.getBarcode()); + //鐩爣绔�206鍑哄簱 + if(wrkMast.getStaNo()==206){ + combParam.setPackSts(1);//OK + combParam.setStepSts(7);//娴嬭瘯搴撳嚭搴撳畬鎴� + }else if(wrkMast.getStaNo()==204){//NG 鍑哄簱 + //NG鍑哄簱淇敼娴嬭瘯妗g殑鐘舵�佷负5.宸茬Щ搴� + TestMast testMast=testMastService.selectOne(new EntityWrapper<TestMast>() + .eq("user_id",wrkMast.getBarcode()) + .eq("barcode",wrkDetls101.get(0).getMatnr())); + combParam.setPackSts(2);//NG + combParam.setStepSts(8);//NG鍑哄簱瀹屾垚 + testMast.setStatus(5); + if(!testMastService.update(testMast,new EntityWrapper<TestMast>() + .eq("user_id",wrkMast.getBarcode()) + .eq("barcode",wrkDetls101.get(0).getMatnr()))){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼娴嬭瘯琛ㄧ姸鎬佷负5澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + }else if(wrkMast.getStaNo()==103){//鐩爣绔�103鍑哄簱 + combParam.setPackSts(1);//OK + combParam.setStepSts(6);//闈欑疆搴撳嚭搴撳畬鎴� + } + combParam.setRequestTime(DateUtils.convert(now)); + new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam); } } break; @@ -467,6 +582,7 @@ locMast.setBarcode(""); locMast.setModiTime(now); locMast.setIoTime(now); + locMast.setPackStatus(0); if (!locMastService.updateById(locMast)) { // exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -- Gitblit v1.9.1