diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java index d07e89dd..d69a7544 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java @@ -1253,7 +1253,12 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt if(processInfos != null && !processInfos.isEmpty()){ //证明是拆分的订单 List invalidList = orderInvoiceInfoService.countInoviceInfo(processInfos.stream().map(OrderProcessInfo::getOrderInfoId).collect(Collectors.toList())); - if(invalidList != null && !invalidList.isEmpty() && invalidList.size() != processInfos.size()){ + List infos = processInfos.stream().filter(p -> (OrderInfoEnum.ORDER_STATUS_5.getKey().equals(p.getDdzt()) || OrderInfoEnum.ORDER_STATUS_7.getKey().equals(p.getDdzt()))).collect(Collectors.toList()); + if(infos != null && infos.size() == processInfos.size()){ + log.error("{}证明是拆分的订单 已开票/已冲红,请求流水号已存在!订单ID为:{},流水号为:{}", LOGGER_MSG, selectOrderProcessInfo.getOrderInfoId(), ddqqlsh); + throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_ERROR_CODE_010002_V3); + } + if(invalidList != null && invalidList.size() == processInfos.size()){ log.error("{}证明是拆分的订单,请求流水号已存在!订单ID为:{},流水号为:{}", LOGGER_MSG, selectOrderProcessInfo.getOrderInfoId(), ddqqlsh); throw new OrderReceiveException(OrderInfoContentEnum.INVOICE_ERROR_CODE_010002_V3); }