diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/PollInvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/PollInvoiceServiceImpl.java index bec02a1d..01ee7151 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/PollInvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/PollInvoiceServiceImpl.java @@ -418,6 +418,7 @@ public class PollInvoiceServiceImpl implements PollInvoiceService { if (loop) { if (StringUtils.isBlank(kpd) || StringUtils.isBlank(fjh) || StringUtils.isBlank(kpdMc)) { + log.info("调用底层开票传入的KPD:{},FJH:{},KPDMC:{}",kpd,fjh,kpdMc); //如果开票点,分机号,开票点名称为空,需要获取开票点, //1表示成品油,0表示非成品油,空为全部 String cpylx = ""; @@ -426,14 +427,26 @@ public class PollInvoiceServiceImpl implements PollInvoiceService { } Set sldList = null; try { + Boolean sldBo = Boolean.TRUE; sldList = unifyService.getSldList(orderInfo.getXhfNsrsbh(), orderInfo.getFpzlDm(), cpylx, fjh, kpd, terminalCode, ""); - - //如果为空不需要处理,如果不为空,取一个赋值,调用底层开票. - Optional optionalSearchSld = sldList.stream().findFirst(); - if (optionalSearchSld.isPresent()) { - sldList = new HashSet<>(); - sldList.add(optionalSearchSld.get()); + if(sldList != null && !sldList.isEmpty() && StringUtils.isNotBlank(kpd)){ + for (SearchSld searchSld : sldList) { + if(kpd.equals(searchSld.getJqbh())){ + sldList = new HashSet<>(); + sldList.add(searchSld); + sldBo = Boolean.FALSE; + } + } } + if(sldBo){ + //如果为空不需要处理,如果不为空,取一个赋值,调用底层开票. + Optional optionalSearchSld = sldList.stream().findFirst(); + if (optionalSearchSld.isPresent()) { + sldList = new HashSet<>(); + sldList.add(optionalSearchSld.get()); + } + } + } catch (OrderReceiveException e) {