From 07209190eae32504b5fff126e7c0d129de191272 Mon Sep 17 00:00:00 2001 From: 18516761980 <tqsxp@163.com> Date: 星期日, 05 三月 2023 13:07:46 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 126 ++++++++++++++++++++++++++++++------------ 1 files changed, 90 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java index 70e6a25..b7718af 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -3,8 +3,8 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.zy.asrs.entity.WrkDetl; -import com.zy.asrs.entity.WrkMast; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -38,13 +38,13 @@ @Autowired private WrkDetlLogService wrkDetlLogService; @Autowired - private WaitPakinService waitPakinService; - @Autowired - private WaitPakinLogService waitPakinLogService; - @Autowired private OrderService orderService; @Autowired + private OrderDetlService orderDetlService; + @Autowired private ErpService erpService; + @Autowired + private DocTypeService docTypeService; // update asr_wrk_mast set inv_wh = 'Y', ove_mk = 'Y' where wrk_no = @Transactional @@ -67,55 +67,109 @@ // 鍏ュ簱 -------------------------------------------------------------------------------- if (wrkMast.getWrkSts() == 10) { - // 鎼滅储瀵瑰簲鍏ュ簱鏉$爜鍦╡rp鏁版嵁搴撲腑鐨勭姸鎬� - List<WrkDetl> wrkDetls0 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); - for (WrkDetl wrkDetl : wrkDetls0) { - Goods goods = erpService.selectGoodsOne(wrkDetl.getMatnr()); - if (!Cools.isEmpty(goods)) { - if (!erpService.updateStateAndLocForGoods(goods.getBarCode(), 3, wrkMast.getLocNo())) { - log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); - } - } else { - log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); - } - } - - // 鍏ㄦ澘鍏ュ簱 if (wrkMast.getIoType() == 1) { - // 鍏ュ簱閫氱煡鍗� - if (!Cools.isEmpty(wrkMast.getBarcode())) { - // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。 - if (!waitPakinLogService.save(wrkMast.getBarcode())) { - exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo()); - } - // 鍒犻櫎鍏ュ簱閫氱煡妗� -// if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) { -// exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo()); -// } - } - // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆� + + // 銆� 涓婃姤涓夋柟骞冲彴 銆� if (!Cools.isEmpty(wrkDetls)) { - if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) { - exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls) { + // Goods 琛� + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateAndLocForGoods(goods.getBarCode(), 3, wrkMast.getLocNo())) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getBatch()); + } + // OrderDetl 琛� + OrderDetl orderDetl = orderDetlService.selectItemOfBatch(wrkDetl.getMatnr(), wrkDetl.getBatch()); +// OrderDetl orderDetl = orderDetlService.selectContainBatch(wrkDetl.getBatch()); + if (!Cools.isEmpty(orderDetl)) { + Order order = orderService.selectById(orderDetl.getOrderId()); + DocType docType = docTypeService.selectById(order.getDocType()); + if (docType.getPakin() == 1) { + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), wrkDetl.getAnfme())) { + log.error("{}缂栧彿璁㈠崟锛屾洿鏂皗}鏉$爜鏁伴噺澶辫触", orderDetl.getOrderNo(), orderDetl.getBatch()); + } + } + // Order 琛� + if (order.getSettle() < 3L) { + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); + boolean complete = true; + for (OrderDetl detl : orderDetls) { + if (detl.getAnfme() > detl.getQty()) { + complete = false; + break; + } + } + if (complete) { + if (!orderService.updateSettle(order.getId(), 4L, null)) { + throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�"); + } + } + } + } } } - // 鎷f枡鍐嶅叆搴� + // 鎷f枡鍐嶅叆搴� } else if (wrkMast.getIoType() == 53) { if (!Cools.isEmpty(wrkDetls)) { if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); } } + // 淇敼 erp Goods 琛� + for (WrkDetl wrkDetl : wrkDetls) { + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + } + for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + } } - // 鍑哄簱 -------------------------------------------------------------------------------- + // 鍑哄簱 -------------------------------------------------------------------------------- } else if (wrkMast.getWrkSts() == 18) { if (!Cools.isEmpty(wrkDetls)) { if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); } } + // 淇敼 erp Goods 琛� + for (WrkDetl wrkDetl : wrkDetls) { + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + } + for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + } } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� -- Gitblit v1.9.1