Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r15035 -r15255 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 15035) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 15255) @@ -3692,7 +3692,7 @@ } } - // 只选择同组外部代理灭菌器械包当中发往指定科室的包 + // 只选择同组外部代理灭菌器械包当中发往指定科室的包(如果该科室的待发货物品没有该灭菌篮筐内的外部代理灭菌的物品时,则不进行过滤,以便于进行**不在发货计划内的提示) if (StringUtils.isNotBlank(departCodeOfInvoicePlan)) { Predicate p3 = new Predicate() { @Override @@ -3712,10 +3712,23 @@ .getForeignProxyDisinfection() .getSettleAccountsDepartCoding(); - if (departCodeOfInvoicePlan.equals(departCoding)) + // 相同科室则不进行过滤 + if (departCodeOfInvoicePlan.equals(departCoding)){ return true; - else + }else{ + //如果该科室的待发货物品没有该灭菌篮筐内的外部代理灭菌的物品时,则不进行过滤 + List tousseItemList = objectDao.findBySql(TousseItem.class.getSimpleName(), + "where po.invoicePlan.type='" + InvoicePlan.TYPE_FOREIGNPROXYDISINFECTION + + "' and tousseType='" + TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY + + "' and po.invoicePlan.deliverStatus<>'" + InvoicePlan.DELIVERSTATUS_DELIVERED + + "' and po.invoicePlan.endStatus<>'" + InvoicePlan.STATUS_END + + "' and tousseName='" + tousseInstance.getTousseName() + + "' and isTerminated=false and (sendOutAmount is null or sendOutAmount