修复是否判断完的判断逻辑 + 主单状态随动更新bug
This commit is contained in:
parent
2889674eed
commit
fc6d56dd70
|
|
@ -137,7 +137,9 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (flag) {
|
// 判断主单是否全部派单
|
||||||
|
boolean allAssign = orderMasterService.isAllAssign(detailInfo.getOrderMasterId());
|
||||||
|
if (flag && allAssign) {
|
||||||
OrderMaster orderMaster = orderMasterMapper.selectById(detailInfo.getOrderMasterId());
|
OrderMaster orderMaster = orderMasterMapper.selectById(detailInfo.getOrderMasterId());
|
||||||
if (ObjectUtils.isEmpty(orderDetail.getExpectTimeStart())) {
|
if (ObjectUtils.isEmpty(orderDetail.getExpectTimeStart())) {
|
||||||
orderMaster.setOrderStatus(orderStatus);
|
orderMaster.setOrderStatus(orderStatus);
|
||||||
|
|
|
||||||
|
|
@ -445,11 +445,12 @@ public class OrderMasterServiceImpl implements OrderMasterService {
|
||||||
Assert.notNull(orderMaster, "OrderMaster is null!!!");
|
Assert.notNull(orderMaster, "OrderMaster is null!!!");
|
||||||
// 先判断主订单是否派完单
|
// 先判断主订单是否派完单
|
||||||
List<OrderGoods> masterGoods = orderGoodsService.selectByOrderMasterId(orderMasterId);
|
List<OrderGoods> masterGoods = orderGoodsService.selectByOrderMasterId(orderMasterId);
|
||||||
long masterCount = masterGoods.stream().mapToInt(OrderGoods::getGoodsNum).sum();
|
for (OrderGoods orderGoods : masterGoods) {
|
||||||
long detailCount = orderDetailService.selectByOrderMasterId(orderMasterId).stream().mapToInt(x -> {
|
// 是否有未派完的子单
|
||||||
List<OrderGoods> detailGoods = orderGoodsService.selectByOrderDetailId(x.getId());
|
if(!orderGoods.getGoodsNum().equals(orderGoods.getServerGoodsNum())){
|
||||||
return detailGoods.stream().mapToInt(OrderGoods::getGoodsNum).sum();
|
return false;
|
||||||
}).sum();
|
}
|
||||||
return masterCount == detailCount;
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue