From 27c5a35a00fc37f7bdd727e6a53e1c8ddae81b4f Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 23 九月 2025 14:52:11 +0800 Subject: [PATCH] 缓冲区功能调整 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 45 +++++++++++++++++++++++++++++++-------------- 1 files changed, 31 insertions(+), 14 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 f9b67b0..4389d7f 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -7,6 +7,7 @@ import com.zy.asrs.enums.LocStsType; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.LocCacheServiceImpl; +import com.zy.asrs.service.impl.OrderPakinServiceImpl; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import lombok.extern.slf4j.Slf4j; @@ -16,10 +17,8 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; /** * Created by vincent on 2020/7/4 @@ -46,7 +45,9 @@ @Autowired private OrderDetlPakoutService orderDetlPakoutService; @Autowired - private LocCacheServiceImpl locCacheService; + private LocCacheService locCacheService; + @Autowired + private OrderPakinService orderPakinService; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 @@ -59,7 +60,6 @@ return SUCCESS; } - @Transactional(rollbackFor = Exception.class) public ReturnT<String> doIn(WrkMast wrkMast) { if (wrkMast.getTaskType().equals("agv")) { Date now = new Date(); @@ -67,12 +67,11 @@ if (Objects.isNull(locCache)) { throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒"); } - List<WaitPakin> apallet = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("apallet", wrkMast.getBarcode())); + List<WaitPakin> apallet = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); if (Objects.isNull(apallet)) { throw new CoolException("鏁版嵁閿欒锛氱粍鎵樻暟鎹笉瀛樺湪锛侊紒"); } - List<LocDetl> detls = new ArrayList<>(); apallet.forEach(pakin -> { LocDetl detl = new LocDetl(); BeanUtils.copyProperties(pakin, detl); @@ -88,19 +87,37 @@ .setAreaName(locCache.getAreaName()) .setUnit(pakin.getUnit()) .setBatch(pakin.getBatch()); - detls.add(detl); - }); - if (!locDetlService.insertBatch(detls)) { - throw new CoolException("搴撲綅鏄庣粏淇濆瓨澶辫触锛侊紒"); - } + if (!locDetlService.insert(detl)) { + throw new CoolException("搴撲綅鏄庣粏淇濆瓨澶辫触锛侊紒"); + } + }); locCache.setLocSts(LocStsType.LOC_STS_TYPE_F.type); locCache.setModiTime(new Date()); - + locCache.setBarcode(""); + locCache.setModiTime(new Date()); + locCache.setIoTime(new Date()); if (!locCacheService.updateById(locCache)) { throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒"); } + wrkMast.setWrkSts(5L); + wrkMast.setModiTime(new Date()); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } + + Set<Long> list = apallet.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet()); + List<OrderPakin> pakins = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("order_id", list)); + if (Objects.isNull(pakins) || pakins.isEmpty()) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); + } + pakins.forEach(orderPakin -> { + orderPakin.setSettle(4L); + if (!orderPakinService.updateById(orderPakin)) { + throw new CoolException("鍗曟嵁淇敼澶辫触锛侊紒"); + } + }); } else { Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); -- Gitblit v1.9.1