From 04475829f3de5ae3e35fb72d3e96391bab3a084e Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期五, 09 十二月 2022 14:48:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 79 ++++++++++++++++++++++----------------- 1 files changed, 45 insertions(+), 34 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..49e3237 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,37 +67,48 @@ // 鍏ュ簱 -------------------------------------------------------------------------------- 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.getMatnr()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateAndLocForGoods(goods.getBarCode(), 3, wrkMast.getLocNo())) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + // OrderDetl 琛� + OrderDetl orderDetl = orderDetlService.selectByMatnr(wrkDetl.getMatnr()); + 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.getMatnr()); + } + } + // 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枡鍐嶅叆搴� -- Gitblit v1.9.1