PDA拣货状态修改

This commit is contained in:
秦鸿展
2026-03-14 20:07:30 +08:00
parent f280127214
commit c2a29490a8
2 changed files with 19 additions and 3 deletions
@@ -405,11 +405,19 @@ public class PickingOrderDomainService {
.eq(PickingOrder::getOrderNumber, pickingOrderPODb.getOrderNumber()));
BigDecimal pickingQuantity = pickingOrderList.stream().map(PickingOrder::getPickingQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
if (1 == pickingOrderPODb.getType()){
int status = 7;
int status = 6;
//不需要复核的单子 标记出库单完成
StockOutOrder stockOutOrderDb = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
.eq(StockOutOrder::getOutOrderNumber, pickingOrderPODb.getOrderNumber()));
if (pickingQuantity.compareTo(stockOutOrderDb.getQuantity()) >= 0){
// 与下发拣货数量比较:只下发部分时用拣货计划数量,否则用出库单总数量
List<PickingOrder> allPickingOrders = pickingOrderService.list(new QueryWrapper<PickingOrder>().lambda()
.eq(PickingOrder::getDelFlag, 1)
.eq(PickingOrder::getOrderNumber, pickingOrderPODb.getOrderNumber()));
BigDecimal totalPickingPlanQuantity = allPickingOrders.stream()
.map(PickingOrder::getQuantity).filter(java.util.Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal thresholdQuantity = (totalPickingPlanQuantity != null && totalPickingPlanQuantity.compareTo(BigDecimal.ZERO) > 0)
? totalPickingPlanQuantity : (stockOutOrderDb.getQuantity() != null ? stockOutOrderDb.getQuantity() : BigDecimal.ZERO);
if (pickingQuantity.compareTo(thresholdQuantity) >= 0){
status = 7;
if (pickingOrderPODb.getReview() == 2){
status = 9;
@@ -535,7 +535,15 @@ public class StockOutTaskOrderDomainService {
StockOutOrder stockOutOrderDb = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
.eq(StockOutOrder::getDelFlag, 1)
.eq(StockOutOrder::getOutOrderNumber, pickingOrderPODb.getOrderNumber()));
if (pickingQuantity.compareTo(stockOutOrderDb.getQuantity()) >= 0){
// 与下发拣货数量比较:只下发部分时用分配数量/拣货计划数量,否则用出库单总数量
List<PickingOrder> allPickingOrders = pickingOrderService.list(new QueryWrapper<PickingOrder>().lambda()
.eq(PickingOrder::getDelFlag, 1)
.eq(PickingOrder::getOrderNumber, pickingOrderPODb.getOrderNumber()));
BigDecimal totalPickingPlanQuantity = allPickingOrders.stream()
.map(PickingOrder::getQuantity).filter(java.util.Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal thresholdQuantity = (totalPickingPlanQuantity != null && totalPickingPlanQuantity.compareTo(BigDecimal.ZERO) > 0)
? totalPickingPlanQuantity : (stockOutOrderDb.getQuantity() != null ? stockOutOrderDb.getQuantity() : BigDecimal.ZERO);
if (pickingQuantity.compareTo(thresholdQuantity) >= 0){
status = 7;
if (pickingOrderPODb.getReview() == 2){
status = 9;