From 5ce6bfb2e237b9fbf092a03cf80e86d928ac7ca6 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 20 六月 2023 16:40:51 +0800 Subject: [PATCH] 孚能 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 333 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 289 insertions(+), 44 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 71c0a9a..5b242eb 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,21 @@ package com.zy.asrs.task.handler; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.utils.VersionUtils; +import com.zy.asrs.utils.PostMesDataUtils; +import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -32,7 +40,18 @@ @Autowired private LocDetlService locDetlService; @Autowired + private TestMastService testMastService; + @Autowired + private OrderDetlService orderDetlService; + @Autowired private WaitPakinService waitPakinService; + @Autowired + private ApiLogService apiLogService; + @Value("${mes.url}") + private String mesUrl; + + @Value("${mes.inPath}") + private String inpath; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -50,7 +69,9 @@ LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); try { if (null == locMast) { - exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]"); } assert locMast != null; switch (wrkMast.getIoType()) { @@ -58,11 +79,16 @@ 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()); +// exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } break; @@ -76,7 +102,9 @@ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls.isEmpty()) { - exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo()); +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪锛沎workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d笉瀛樺湪; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� for (WrkDetl wrkDetl : wrkDetls) { @@ -84,33 +112,39 @@ 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()); +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } else { locDetl = new LocDetl(); + locDetl.sync(wrkDetl); locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� - VersionUtils.setLocDetl(locDetl, wrkDetl); // 鐗堟湰鎺у埗 locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 locDetl.setModiTime(now); locDetl.setAppeTime(now); + locDetl.setDeadWarn(wrkDetl.getDeadWarn()); if (!locDetlService.insert(locDetl)) { - exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } - // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y - try { - WaitPakin setParam = new WaitPakin(); - setParam.setIoStatus("Y"); - setParam.setModiTime(now); - waitPakinService.update(setParam, new EntityWrapper<WaitPakin>() - .eq("zpallet", wrkDetl.getZpallet()) - .eq("matnr", wrkDetl.getMatnr()) - .eq("anfme", wrkDetl.getAnfme()) - .eq("batch", wrkDetl.getBatch()) - ); - } 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 @@ -119,8 +153,45 @@ locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); + locMast.setFireStatus(0); + if (locMast.getCrnNo()==1){ + if (locMast.getLocType1()==1){ + locMast.setPackStatus(1); + }else { + 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",wrkDetl1.getMatnr()) + .eq("status",4) + ); + testMast.setStatus(5); + testMast.setModiTime(new Date()); + if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode",wrkDetl1.getMatnr()).eq("status",4))){ + throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�"); + } + } + //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()); +// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } break; @@ -129,16 +200,35 @@ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls53 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls53.isEmpty()) { - exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } 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()); +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } + + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + 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("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +// wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } catch (Exception ignore){} + } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { @@ -147,7 +237,9 @@ locMast.setIoTime(now); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { - exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } break; @@ -156,7 +248,9 @@ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls54 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls54.isEmpty()) { - exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧� for (WrkDetl wrkDetl:wrkDetls54) { @@ -164,18 +258,22 @@ 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()); +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } else { locDetl = new LocDetl(); + locDetl.sync(wrkDetl); locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� - VersionUtils.setLocDetl(locDetl, wrkDetl); // 鐗堟湰鎺у埗 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()); +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } } @@ -186,7 +284,9 @@ locMast.setIoTime(now); locMast.setModiTime(now); if (!locMastService.updateById(locMast)) { - exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } break; @@ -195,16 +295,20 @@ // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗� List<WrkDetl> wrkDetls57 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkDetls57.isEmpty()) { - exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); +// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { - locMast.setLocSts("F"); + 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()); +// exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } break; @@ -217,18 +321,24 @@ locSts = "F"; // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { - exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); +// exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } // 淇敼婧愬簱浣嶇姸鎬� ==> O LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); + Integer packStatus =sourceLoc.getPackStatus(); if (null != sourceLoc) { sourceLoc.setBarcode(""); sourceLoc.setLocSts("O"); sourceLoc.setModiTime(now); sourceLoc.setIoTime(now); + sourceLoc.setPackStatus(0); if (!locMastService.updateById(sourceLoc)) { - exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts @@ -236,8 +346,81 @@ locMast.setBarcode(wrkMast.getBarcode()); locMast.setIoTime(now); locMast.setModiTime(now); + 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 + }else { + locMast.setPackStatus(5); //5:闈欑疆涓� + } + sign=true; + TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() + .eq("loc_no",sourceLoc.getLocNo()) + .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",locDetl.getMatnr()) + .eq("status",4))){ + throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�"); + } + + } if (!locMastService.updateById(locMast)) { - exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// 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){ + //5.闈欑疆搴撲綅鍏ュ簱瀹屾垚涓婃姤 + CombParam combParam = new CombParam(); + combParam.setPackNo(locDetl.getMatnr()); + combParam.setLocNo(wrkMast.getLocNo()); + if (locMast.getPackStatus()==4){ + combParam.setPackSts(2); + }else if (locMast.getPackStatus()==5){ + combParam.setPackSts(1); + }else { + combParam.setPackSts(0); + } + combParam.setStepSts(5); + combParam.setRequestTime(DateUtils.convert(now)); + new PostMesDataUtils().postMesData("MES绯荤粺",mesUrl,inpath,combParam); } break; default: @@ -247,7 +430,9 @@ wrkMast.setWrkSts(5L); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { - exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); +// exceptionHandle("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } catch (Exception e) { log.error("fail", e); @@ -263,23 +448,45 @@ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); try { if (null == locMast) { - exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); +// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + 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()); +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } - for (WrkDetl wrkDetl : wrkDetls101) { - // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y - } +// 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()); +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } // 淇敼婧愬簱浣嶇姸鎬� R ===>> O if (locMast.getLocSts().equals("R")) { @@ -287,8 +494,41 @@ locMast.setBarcode(""); locMast.setModiTime(now); locMast.setIoTime(now); + locMast.setPackStatus(0); if (!locMastService.updateById(locMast)) { - exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + }else{ + //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; @@ -300,8 +540,11 @@ locMast.setBarcode(""); locMast.setModiTime(now); locMast.setIoTime(now); + locMast.setPackStatus(0); if (!locMastService.updateById(locMast)) { - exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); +// exceptionHandle("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } break; @@ -312,7 +555,9 @@ wrkMast.setWrkSts(15L); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { - exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); +// exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } catch (Exception e) { log.error("fail", e); -- Gitblit v1.9.1