Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r18547 -r18799 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 18547) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 18799) @@ -4863,7 +4863,7 @@ String orgUnitCoding, String applyDate, String tousseType){ Collection invoicePlans = invoicePlanManager.getInvoicePlanListByOrgUnitCodingsAndTousseType(Arrays.asList(orgUnitCoding), applyDate, tousseType); - return getWaitDeliverGoods(invoicePlans, applyDate , null); + return getWaitDeliverGoods(invoicePlans, applyDate , tousseType); } @Override @@ -4892,7 +4892,7 @@ invoicePlanId); if (invoicePlan == null) return CollectionUtils.emptyCollection(); - return getWaitDeliverGoods(Collections.singleton(invoicePlan) , applyDate , null); + return getWaitDeliverGoods(Collections.singleton(invoicePlan) , applyDate , tousseType); } @Override @@ -4909,7 +4909,7 @@ Boolean recyclingedDeliver = config.getAfterRecyclingTousseDeliver(); Map datas = new HashMap(); Set invoicePlanIds = new HashSet<>(); - + boolean tousseTypeApplyToInvoiceForm = CssdUtils.getSystemSetConfigByNameBool("invoicePlanExtractedView_TousseTypeApplyToInvoiceForm", false); for (InvoicePlan invoicePlan : invoicePlans) { if (!invoicePlanManager.checkIsShowNoConBorrow(invoicePlan.getType(),invoicePlan.getBorrowConfirmStatus())){ continue; @@ -4952,14 +4952,26 @@ String tousseType = applicationItem.getTousseType(); //如果存在物品类型参数条件tousseTypeArg,判断计划单的物品类型与过滤条件的物品类型是否一致,不一致进行滤除 - if(StringUtils.isNotBlank(tousseTypeArg)){ - if((TousseItem.DIPOSABLE_YES.equals(tousseTypeArg) && !TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType)) - || (TousseItem.DIPOSABLE_NO.equals(tousseTypeArg) && TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType)) - || (!TousseItem.DIPOSABLE_NO.equals(tousseTypeArg) && !TousseItem.DIPOSABLE_YES.equals(tousseTypeArg) - && !tousseTypeArg.equals(tousseType))){ - continue; + if(tousseTypeApplyToInvoiceForm){ + if (StringUtils.isNotBlank(tousseTypeArg)) { + Set tousseTypeSet = invoicePlanManager.buildTousseTypeSet(tousseTypeArg); + + if(!tousseTypeSet.isEmpty()){ + // 新的传参方式 + if(!tousseTypeSet.contains(tousseType)){ + continue; + } + }else{ + if((TousseItem.DIPOSABLE_YES.equals(tousseTypeArg) && !TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType)) + || (TousseItem.DIPOSABLE_NO.equals(tousseTypeArg) && TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType)) + || (!TousseItem.DIPOSABLE_NO.equals(tousseTypeArg) && !TousseItem.DIPOSABLE_YES.equals(tousseTypeArg) + && !tousseTypeArg.equals(tousseType))){ + continue; + } + } } } + String isRecycling = applicationItem.getIsRecycling(); // 一次性物品和辅料包在任何情况下都不过滤 if("一次性物品".equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType) || StringUtils.equals(isRecycling, TousseDefinition.STR_NO)){