From 2caa2f2df08c71b3c908a450cd37daeeda6f5c58 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 09 九月 2024 12:32:18 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OrderUtils.java | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OrderUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OrderUtils.java index 5845506..badd6f8 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OrderUtils.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/OrderUtils.java @@ -1,5 +1,6 @@ package com.zy.asrs.wms.utils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.asrs.entity.Order; import com.zy.asrs.wms.asrs.entity.OrderDetl; @@ -11,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.List; @Component public class OrderUtils { @@ -22,13 +24,18 @@ @Transactional public void updateWorkQty(Long orderDetlId, Double qty) { + updateWorkQty(orderDetlId, qty, true); + } + + @Transactional + public void updateWorkQty(Long orderDetlId, Double qty, boolean increase) { OrderDetl orderDetl = orderDetlService.getById(orderDetlId); - if(orderDetl == null) { + if (orderDetl == null) { throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�"); } Order order = orderService.getById(orderDetl.getOrderId()); - if(order == null) { + if (order == null) { throw new CoolException("璁㈠崟涓嶅瓨鍦�"); } @@ -40,16 +47,32 @@ } Double workQty = orderDetl.getWorkQty(); - orderDetl.setWorkQty(workQty + qty); + if (increase) { + orderDetl.setWorkQty(workQty + qty); + }else { + orderDetl.setWorkQty(workQty - qty); + } orderDetl.setUpdateTime(new Date()); if (!orderDetlService.updateById(orderDetl)) { throw new CoolException("璁㈠崟鏄庣粏鏇存柊澶辫触"); } + List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId())); + boolean flag = false; + for (OrderDetl detl : orderDetls) { + if ((detl.getQty() + detl.getWorkQty()) > 0) { + flag = true; + break; + } + } - order.setOrderSettle(OrderSettleType.WORKING.val()); + if (flag) { + order.setOrderSettle(OrderSettleType.WORKING.val()); + } else { + order.setOrderSettle(OrderSettleType.WAIT.val()); + } order.setUpdateTime(new Date()); - if(!orderService.updateById(order)) { + if (!orderService.updateById(order)) { throw new CoolException("璁㈠崟鏇存柊澶辫触"); } } -- Gitblit v1.9.1