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 | 118 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 95 insertions(+), 23 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 7600ab2..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,13 +3,14 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.zy.asrs.entity.WaitPakin; -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; import com.zy.common.model.OrderDto; +import com.zy.common.service.erp.ErpService; +import com.zy.common.service.erp.entity.Goods; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -37,11 +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 @@ -63,41 +66,110 @@ // 鍏ュ簱 -------------------------------------------------------------------------------- if (wrkMast.getWrkSts() == 10) { + // 鍏ㄦ澘鍏ュ簱 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