From e58e9ba5347a681cd535115c1f83e4788f39a224 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 12 九月 2025 15:09:09 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 397 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 348 insertions(+), 49 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 4ca6f44..c58412d 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -1,19 +1,28 @@ 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.zy.asrs.entity.*; +import com.zy.asrs.entity.param.GwmsGenerateInventoryDto; +import com.zy.asrs.mapper.LocDetlMapper; +import com.zy.asrs.mapper.OrderDetlMapper; +import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import com.zy.common.constant.MesConstant; +import com.zy.common.utils.HttpHandler; 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; +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * Created by vincent on 2020/7/4 @@ -35,7 +44,17 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; + @Resource + private OrderDetlMapper orderDetlMapper; + @Resource + private LocDetlMapper locDetlMapper; + + @Resource + private ApiLogService apiLogService; + + @Resource + private OrderMapper orderMapper; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 4) { @@ -51,7 +70,7 @@ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); try { - if (null == locMast) { + if (null == locMast && wrkMast.getIoType() != 3) { // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]"); @@ -92,27 +111,29 @@ // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗� 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()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); - } - } else { - locDetl = new LocDetl(); +// 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()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } else { + LocDetl locDetl = new LocDetl(); locDetl.sync(wrkDetl); locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙� locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺 - locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜 + locDetl.setZpallet(wrkMast.getBarcode()); // 鎵樼洏鏉$爜 + locDetl.setBarcode(wrkMast.getBarcode()); locDetl.setModiTime(now); locDetl.setAppeTime(now); +// locDetl.setBatch(""); if (!locDetlService.insert(locDetl)) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } - } +// } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); @@ -145,6 +166,8 @@ return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } + // 鍏ュ簱瀹屾垚涓婃姤mes + inBoundCompletePushMes(wrkMast,wrkDetls); break; // 鎷f枡鍏ュ簱 case 53: @@ -157,9 +180,14 @@ } for (WrkDetl wrkDetl : wrkDetls53) { - LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + // 绠卞彿+鍗峰彿 + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch",wrkDetl.getBatch()) + .eq("model",wrkDetl.getModel())); if (null != locDetl) { - if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + +// if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + if (!locDetlService.updateAnfme2(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getModel(), wrkDetl.getBatch())) { // exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -167,23 +195,27 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - } - try { - if(!Cools.isEmpty(orderDetl)){ - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetl.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){} +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.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){} } + + // 淇敼鎹℃枡鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); + // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts("F"); @@ -255,6 +287,27 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } + for(WrkDetl wrkDetl : wrkDetls57) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.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){} + } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); @@ -283,6 +336,26 @@ return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } + // 澶囪揣锛屾洿鏂拌鍗曟槑缁嗗強璁㈠崟鐘舵�� + List<WrkDetl> wrkDetlList = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (!wrkDetlList.isEmpty()) { + List<String> brands = wrkDetlList.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList()); + // 鏌ヨ璁㈠崟鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("brand", brands)); + if (!orderDetlList.isEmpty()) { + // 鏇存柊鏄庣粏涓哄凡澶囪揣 + orderDetlMapper.updateOrderDetlStatusByPackageNo(brands,2); + // 鑾峰彇璁㈠崟鍙� + String orderNo = orderDetlList.get(0).getOrderNo(); + // 鍒ゆ柇璇ヨ鍗曟槑缁嗘槸鍚﹀叏閮ㄥ凡澶囪揣 + Integer selectCount = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().eq("order_no", orderNo).ne("inspect", 2)); + if (selectCount == 0) { + // 鏇存柊璁㈠崟涓哄璐у畬鎴� + orderMapper.updateStatusByOrderNo(orderNo,2,29); + } + } + } + // 淇敼婧愬簱浣嶇姸鎬� ==> O LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); if (null != sourceLoc) { @@ -309,6 +382,108 @@ return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } break; + // 璺ㄥ贩閬撳簱浣嶇Щ杞畬鎴� + case 12: + // 榛樿鐩爣搴撲綅鏄┖鏉� + String locSts2 = "D"; + // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� + if (wrkMast.getEmptyMk().equals("N")) { + locSts2 = "F"; + // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={0}],[鐩爣搴撲綅={1}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 璺ㄥ贩閬撶Щ搴擄紝鏇存柊璁㈠崟鏄庣粏鍙婅鍗曠姸鎬� + List<WrkDetl> wrkDetlList2 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (!wrkDetlList2.isEmpty()) { + // 鍒ゆ柇鏈夋棤鍗曟嵁缂栧彿 + Optional<WrkDetl> any = wrkDetlList2.stream().filter(wrkDetl -> wrkDetl.getOrderNo() != null).findAny(); + if (any.isPresent()) { + String orderNo = any.get().getOrderNo(); + // 鏍规嵁鍗曟嵁缂栧彿鍜屽簱浣嶅彿鏌ヨ鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("order_no",orderNo).eq("specs",wrkMast.getSourceLocNo())); + // 鏇存柊鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + for(OrderDetl orderDetl: orderDetlList) { + orderDetl.setDanger(2); + orderDetl.setUpdateTime(now); + orderDetlMapper.updateById(orderDetl); + } + // 鍒ゆ柇鍗曟嵁鏄庣粏鏄笉鏄叏閮ㄧЩ搴撳畬鎴� + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", orderNo)); + if (count == 0) { + // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 + // 鐩存帴鏇存柊涓�6宸蹭笂鎶ワ紝鏂逛究杞偍鍘嗗彶 + orderMapper.updateSettleByOrderNo(orderNo,6,null); + } + } + } else { // 绌烘澘杞Щ娌℃湁宸ヤ綔鏄庣粏,浣嗘槸瑕佹洿鏂板崟鎹槑缁嗙姸鎬� + + // 鍙湁涓�鏉′綔涓氫腑鐨勭Щ搴撳崟鎹� + List<Order> orderList = orderMapper.selectList(new EntityWrapper<Order>().eq("doc_type", 24).le("settle", 3)); + if(orderList.isEmpty()) { + log.error("娌℃湁鑾峰彇鍒版鍦ㄦ墽琛屼腑鐨勭Щ搴撳崟鎹�"); + } else { + Order order = orderList.get(0); + // 鏍规嵁鍗曟嵁缂栧彿鍜屽簱浣嶅彿鏌ヨ鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().in("order_no",order.getOrderNo()).eq("specs",wrkMast.getSourceLocNo())); + // 鏇存柊鍗曟嵁鏄庣粏鐨勭Щ搴撶姸鎬� + for(OrderDetl orderDetl: orderDetlList) { + orderDetl.setDanger(2); + orderDetl.setUpdateTime(now); + orderDetlMapper.updateById(orderDetl); + } + // 鍒ゆ柇鍗曟嵁鏄庣粏鏄笉鏄叏閮ㄧЩ搴撳畬鎴� + Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", order.getOrderNo())); + if (count == 0) { + // 鏇存柊鍗曟嵁涓哄凡瀹屾垚 + orderMapper.updateSettleByOrderNo(order.getOrderNo(),6,null); + } + } + + } + + // 淇敼婧愬簱浣嶇姸鎬� ==> O + LocMast sourceLoc2 = locMastService.selectById(wrkMast.getSourceLocNo()); + if (null != sourceLoc2) { + sourceLoc2.setBarcode(""); + sourceLoc2.setLocSts("O"); + sourceLoc2.setSheetNo("0"); + sourceLoc2.setModiTime(now); + sourceLoc2.setIoTime(now); + if (!locMastService.updateById(sourceLoc2)) { +// exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + locMast.setLocSts(locSts2); + locMast.setBarcode(wrkMast.getBarcode()); + locMast.setSheetNo("0"); + locMast.setIoTime(now); + locMast.setModiTime(now); + 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() + "]"); + } + break; + // 绌洪棽鐞嗚揣鍏ュ簱 + case 59: + + // 淇敼搴撲綅鐘舵�� S ====>> F + if (locMast.getLocSts().equals("S")) { + locMast.setLocSts("F"); + locMast.setModiTime(now); + locMastService.updateById(locMast); + } + + // 淇敼绌洪棽鐞嗚揣鍏ュ簱鐨勫簱瀛樻槑缁嗙殑鐞嗚揣鐘舵�佷负寰呯悊璐� + locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0); + break; default: break; } @@ -327,6 +502,94 @@ return FAIL.setMsg(e.getMessage()); } return SUCCESS; + } + + private void inBoundCompletePushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) { + GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto(); + gwmsGenerateInventoryDto.setWarehouseType(4); + gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode()); + gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo()); + gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo()); + List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>(); + for (WrkDetl wrkDetl : wrkDetls) { + boolean flag = true; + for (GwmsGenerateInventoryDto.MatList matList : matLists) { + if (matList.getPackageGroupNo().equals(wrkDetl.getBrand())) { + matList.getRolls().add(new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(), + wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(), + Integer.parseInt(wrkDetl.getSpecs()), wrkDetl.getWeight(), wrkDetl.getVolume(), + wrkDetl.getManuDate())); + flag = false; + break; + } + } + if (flag) { + GwmsGenerateInventoryDto.MatList matList = new GwmsGenerateInventoryDto.MatList(); + matList.setBoxPos(wrkDetl.getOrigin()); + matList.setPackageGroupNo(wrkDetl.getBrand()); + matList.setOutOrIn("in"); + matList.setStockType(wrkMast.getWhsType() == 1 ? "杩斾慨鍏ュ簱" : "鎴愬搧鍏ュ簱"); + matList.setBoxType(wrkDetl.getColor()); + matList.setRollType(wrkDetl.getManu()); + matList.setWideInWidth(wrkDetl.getSku()); + matList.setThickness(wrkDetl.getItemNum()); + List<GwmsGenerateInventoryDto.Rolls> rollsList = new ArrayList<>(); + GwmsGenerateInventoryDto.Rolls roll = new GwmsGenerateInventoryDto.Rolls(wrkDetl.getModel(), + wrkDetl.getUnit(), wrkDetl.getMaktx(), wrkDetl.getLength(), + Integer.parseInt(wrkDetl.getSpecs()), wrkDetl.getWeight(), wrkDetl.getVolume(), + wrkDetl.getManuDate()); + rollsList.add(roll); + matList.setRolls(rollsList); + matLists.add(matList); + } + } + gwmsGenerateInventoryDto.setMatList(matLists); + + + boolean success = false; + // 鑾峰彇璇锋眰澶� + Map<String, Object> headers = new HashMap<>(); + headers.put("Content-Type", "application/json;charset=UTF-8"); + + // 鏋勯�犺姹備綋 + String body = JSON.toJSONString(gwmsGenerateInventoryDto); + String response = ""; + try { + response = new HttpHandler.Builder() + .setUri(MesConstant.MES_CC_IP_PORT) + .setPath(MesConstant.MES_CC_FXRK_URL) + .setHeaders(headers) + .setJson(body) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + JSONObject jsonObject1 = JSONObject.parseObject(response); + int code = (int) jsonObject1.get("code"); + boolean state = jsonObject1.getBoolean("state"); + if (code == 200 && state) { + success = true; + } + } else { + log.error("鍏ュ簱瀹屾垚鎺ㄩ�乵es澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL, body, response); + } + } catch (Exception e) { + log.error("鍏ュ簱瀹屾垚鎺ㄩ�乵es寮傚父锛歿}", e.getMessage()); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "鍏ュ簱瀹屾垚鎺ㄩ�乵es", + MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_FXRK_URL, + null, + "127.0.0.1", + body, + response, + success + ); + } catch (Exception e) { + log.error("", e); + } + } } private ReturnT<String> doOut(WrkMast wrkMast){ @@ -354,29 +617,33 @@ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls101) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 // OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); // if (orderDetl==null){ // orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); // } - // 绠卞彿+鍗峰彿 - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("batch",wrkDetl.getBatch()) - .eq("model",wrkDetl.getModel())); - - try { - if(!Cools.isEmpty(orderDetl)){ - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 -// orderDetlService.update(null,new EntityWrapper<OrderDetl>().eq("order_no",orderDetl.getOrderNo()) -// .eq("batch",orderDetl.getBatch()).eq("model", orderDetl.getModel())); - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), orderDetl.getModel(), - orderDetl.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){} +// // 绠卞彿+鍗峰彿 +// OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("batch",wrkDetl.getBatch()) +// .eq("model",wrkDetl.getModel())); +// +// try { +// if(!Cools.isEmpty(orderDetl)){ +// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +//// orderDetlService.update(null,new EntityWrapper<OrderDetl>().eq("order_no",orderDetl.getOrderNo()) +//// .eq("batch",orderDetl.getBatch()).eq("model", orderDetl.getModel())); +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), orderDetl.getModel(), +// orderDetl.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()))) { @@ -413,6 +680,38 @@ } } break; + // 鐞嗚揣璐存爣鍑哄簱 + case 111: + List<WrkDetl> wrkDetls111 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls111.isEmpty()) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + for (WrkDetl wrkDetl : wrkDetls111) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl == null) { +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if (!Cools.isEmpty(orderDetl)) { +// if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.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) { +// } + } + break; default: break; } -- Gitblit v1.9.1