|
|
@@ -555,17 +555,15 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
|
|
|
}
|
|
|
//本次金额
|
|
|
List<DeliveryItems> itemsList = deliveryItemsList.stream().filter(e -> e.getSrcOrderNo().equals(srcOrderNo)).collect(Collectors.toList());
|
|
|
- //已收金额
|
|
|
- LambdaQueryWrapper<DeliveryItems> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(DeliveryItems::getContractNumber,srcOrderNo);
|
|
|
- lambdaQueryWrapper.eq(DeliveryItems::getTenantId,SecureUtil.getTenantId());
|
|
|
- lambdaQueryWrapper.eq(DeliveryItems::getIsDeleted,0);
|
|
|
- lambdaQueryWrapper.eq(DeliveryItems::getDeliveryStatus, DeliveryStatusEnum.DELIVER.getType());
|
|
|
- List<DeliveryItems> deliveryItems = baseMapper.selectList(lambdaQueryWrapper);
|
|
|
+ //已发金额
|
|
|
+ List<DeliveryItems> deliveryItems = baseMapper.selectItem(SecureUtil.getTenantId(),DeliveryStatusEnum.DELIVER.getType(),srcOrderNo,tradeType);
|
|
|
newDelivery = itemsList.stream().reduce(BigDecimal.ZERO,(x,y) ->{ return x.add(y.getContractAmount().multiply(y.getExRate())); },BigDecimal::add);//本次发货金额
|
|
|
oldDelivery = deliveryItems.stream().reduce(BigDecimal.ZERO,(x,y) ->{ return x.add(y.getContractAmount().multiply(y.getExRate())); },BigDecimal::add);//历史发货金额
|
|
|
+ if (gathering.subtract(newDelivery.add(oldDelivery)).compareTo(BigDecimal.ZERO) <= 0){
|
|
|
+ throw new RuntimeException("订单"+srcOrderNo+"可发货金额为:"+BigDecimal.ZERO);
|
|
|
+ }
|
|
|
if (gathering.compareTo((newDelivery.add(oldDelivery))) < 0){
|
|
|
- throw new RuntimeException("订单"+srcOrderNo+"可发货金额为:"+gathering.subtract(oldDelivery));
|
|
|
+ throw new RuntimeException("订单"+srcOrderNo+"可发货金额为:"+gathering.subtract(oldDelivery.add(newDelivery)));
|
|
|
}
|
|
|
}
|
|
|
return R.success("可以发货");
|