From bcd71f6371fa870c7647857a71bf67d21cde47e8 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期五, 29 九月 2023 08:31:47 +0800 Subject: [PATCH] 库存更新修改 --- src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 138 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 112 insertions(+), 26 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 6b8c21f..7a2ac41 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -1,23 +1,32 @@ package com.zy.asrs.task.handler; +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.zy.asrs.service.WrkDetlLogService; -import com.zy.asrs.service.WrkDetlService; -import com.zy.asrs.service.WrkMastLogService; -import com.zy.asrs.service.WrkMastService; +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.web.BaseController; +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.ArrayList; +import java.util.Iterator; +import java.util.List; /** * Created by vincent on 2020/7/6 */ +@Slf4j @Service -@Transactional -public class WorkLogHandler extends AbstractHandler { +public class WorkLogHandler extends AbstractHandler<String> { @Autowired private WrkMastService wrkMastService; @@ -27,28 +36,105 @@ private WrkDetlService wrkDetlService; @Autowired private WrkDetlLogService wrkDetlLogService; + @Autowired + private WaitPakinService waitPakinService; + @Autowired + private WaitPakinLogService waitPakinLogService; + @Autowired + private OrderService orderService; - public void start() { - WrkMast wrkMast = wrkMastService.selectToBeHistoryData(); - if (null == wrkMast) { - return; + // update asr_wrk_mast set inv_wh = 'Y', ove_mk = 'Y' where wrk_no = + @Transactional + public ReturnT<String> start(WrkMast wrkMast) { + try { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + // 鍖哄垎璁㈠崟浠诲姟 + List<WrkDetl> wrkDetlsKeyOrder = new ArrayList<>(); + if (!Cools.isEmpty(wrkDetls)) { + Iterator<WrkDetl> iterator = wrkDetls.iterator(); + while (iterator.hasNext()) { + WrkDetl wrkDetl = iterator.next(); + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + wrkDetlsKeyOrder.add(wrkDetl); + iterator.remove(); + } + } + } + + // 鍏ュ簱 -------------------------------------------------------------------------------- + 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()); + } + } + // 鎷f枡鍐嶅叆搴� + } else if (wrkMast.getIoType() == 53) { + if (!Cools.isEmpty(wrkDetls)) { + if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { + exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + } + } + + // 鍑哄簱 -------------------------------------------------------------------------------- + } else if (wrkMast.getWrkSts() == 30) { + if (!Cools.isEmpty(wrkDetls)) { + if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) { + exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + } + } + + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔涓绘。 + if (!wrkMastService.deleteById(wrkMast)) { + exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { +// exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔鏄庣粏妗� + if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { +// exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo()); + } + // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� + for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { + if (BaseController.isJSON(wrkDetl.getOrderNo())) { + orderService.checkComplete(wrkDetl.getOrderNo()); + } else { + // 璁㈠崟鍚堝苟鍑哄簱 + List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); + for (OrderDto one : orderDtoList) { + orderService.checkComplete(one.getOrderNo()); + } + } + } + } catch (Exception e) { + log.error("fail", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); } - // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� - if (!wrkMastLogService.save(wrkMast.getWrkNo())) { - exceptionHandle(""); // todo - } - // 鍒犻櫎宸ヤ綔涓绘。 - if (!wrkMastService.deleteById(wrkMast)) { - exceptionHandle(""); // todo - } - // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 - if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { - exceptionHandle(""); // todo - } - // 鍒犻櫎宸ヤ綔鏄庣粏妗� - if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { - exceptionHandle(""); // todo - } + return SUCCESS; } } -- Gitblit v1.9.1