Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r22686 -r22692 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 22686) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 22692) @@ -674,7 +674,7 @@ } @Override - public Collection getExpressInvoiceInvoiePlans(Collection departCodes, String applyDate, String tousseType){ + public Collection getExpressInvoiceInvoiePlans(Collection departCodes, String applyDate, String tousseTypeArg){ Map expressInvoiceInvoicePlanVoMap = new HashMap(); List tousseDefinitionIdList = tousseDefinitionManager.getProperty("id", String.format("expressInvoice='%s'", Constants.STR_YES)); List expressInvoiceInvoicePlanVoList = new ArrayList(); @@ -683,7 +683,7 @@ } Set tousseDefinitionIdSet = new HashSet(tousseDefinitionIdList); String sql = - buildSqlForGetInvoicePlanByOrgUnitCodingsAndTousseType(departCodes, applyDate, tousseType); + buildSqlForGetInvoicePlanByOrgUnitCodingsAndTousseType(departCodes, applyDate, tousseTypeArg); // String tousseSql = String.format(" po.id in (select invoicePlan.id from TousseItem where (%s and isTraceable='%s' and (tousseType!='%s' or (tousseType='%s' and isApplyEntireTousse='%s'))) )",SqlUtils.getStringFieldPredicate("expressInvoice", Constants.STR_YES) // ,TousseDefinition.STR_NO,TousseDefinition.PACKAGE_TYPE_DISINFECTION,TousseDefinition.PACKAGE_TYPE_DISINFECTION,TousseDefinition.STR_YES); String tousseSql = String.format(" po.id in (select invoicePlan.id from TousseItem where (%s) )",SqlUtils.getStringFieldPredicate("expressInvoice", Constants.STR_YES)); @@ -706,6 +706,17 @@ Long invoicePlanId = invoicePlan.getId(); String departCoding = invoicePlan.getDepartCoding(); for (TousseItem applicationItem : applicationItems) { + String tousseType = applicationItem.getTousseType(); + if (StringUtils.isNotBlank(tousseTypeArg)) { + Set tousseTypeSet = buildTousseTypeSet(tousseTypeArg); + + if(!tousseTypeSet.isEmpty()){ + // 新的传参方式 + if(!tousseTypeSet.contains(tousseType)){ + continue; + } + } + } // 只有普通器械包,消毒物品,一次性物品才能快速发货 if(!applicationItem.isInsideTousse() && !applicationItem.isDisinfection() && !applicationItem.isDisposableGoods()){ continue;