feature:明细合并

release
gaorl 2 years ago
parent d4b757be63
commit df5f8d4b30
  1. 6
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderMergeServiceImpl.java

@ -932,6 +932,7 @@ public class OrderMergeServiceImpl implements OrderMergeService {
@Override
public R orderItemMerge(CommonOrderInfo commonOrderInfo, List<OrderItemInfo> mergeInItem){
List<OrderItemInfo> orderItemInfos = commonOrderInfo.getOrderItemInfo();
BigDecimal oldhjse = orderItemInfos.stream().map(t -> new BigDecimal(t.getSe())).reduce(BigDecimal::add).get();
OrderInfo orderInfo = commonOrderInfo.getOrderInfo();
//集合求差集,不参与合并的明细
List<OrderItemInfo> mergeOutItem = orderItemInfos.stream().filter(t -> !mergeInItem.contains(t)).collect(Collectors.toList());
@ -1004,9 +1005,8 @@ public class OrderMergeServiceImpl implements OrderMergeService {
//对比合计税额的误差,此处将不参与和与参与合并合并对比
BigDecimal hjse = mergeOutItem.stream().map(t -> new BigDecimal(t.getSe())).reduce(BigDecimal::add).get();
BigDecimal oldhjse = orderItemInfos.stream().map(t -> new BigDecimal(t.getSe())).reduce(BigDecimal::add).get();
log.info("合并前{}",hjse.toString());
log.info("合并后{}",oldhjse.toString());
log.info("合并前{}",oldhjse.toString());
log.info("合并后{}",hjse.toString());
if((termType && hjse.subtract(oldhjse).abs().doubleValue() > 0.06) || (!termType && hjse.subtract(oldhjse).abs().doubleValue() > 1.27)){
return R.error("合并失败,合并明细后价税合计超过总的误差范围");
}

Loading…
Cancel
Save