Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r33052 -r33054 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 33052) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 33054) @@ -5565,6 +5565,10 @@ } if(typeSearch.contains("器械材料") && typeSearch.contains("一次性物品") ){ supplyRoomDiposableGoodsFilterSql += " and (rri.type = '一次性物品' or rri.materialDefinition_id in (select id from MaterialDefinition)) "; + }else if(typeSearch.contains("器械材料") && typeSearch.contains(TYPE_AUTO_DEDUCTION)){ + supplyRoomDiposableGoodsFilterSql += " and (rri.materialDefinition_id in (select id from MaterialDefinition) or rr.type='"+ TYPE_AUTO_DEDUCTION +"') "; + }else if(typeSearch.contains(TYPE_AUTO_DEDUCTION)){ + supplyRoomDiposableGoodsFilterSql += " and rr.type='"+ TYPE_AUTO_DEDUCTION +"'"; }else if(typeSearch.contains("器械材料")){ supplyRoomDiposableGoodsFilterSql += " and rri.materialDefinition_id in (select id from MaterialDefinition) "; }else if(typeSearch.contains("一次性物品")){ @@ -5573,14 +5577,6 @@ supplyRoomDiposableGoodsFilterSql += " and 1=2 "; } - if(typeSearch.contains("器械材料") && typeSearch.contains(MaterialDefinition.TYPE_EXPENSIVEMATERIALGOODS) ){ - supplyRoomDiposableGoodsFilterSql += " and (rri.type = '一次性物品' or rri.materialDefinition_id in (select id from MaterialDefinition)) "; - }else if(typeSearch.contains("器械材料")){ - supplyRoomDiposableGoodsFilterSql += " and rri.materialDefinition_id in (select id from MaterialDefinition) "; - }else if(typeSearch.contains(MaterialDefinition.TYPE_EXPENSIVEMATERIALGOODS)){ - supplyRoomDiposableGoodsFilterSql += " and rri.type = '一次性物品' "; - } - if(typeSearch.contains("器械材料") || typeSearch.contains("器械材料") && typeSearch.contains(MaterialDefinition.TYPE_EXPENSIVEMATERIALGOODS)){ lostMaterialFilterSql += " and 1=1 "; damageFilterSql += " and 1=1 "; @@ -5907,11 +5903,11 @@ + " group by rr.depart,rr.settleAccountsDepart,ri.toussename,"+returnGoodsTousseType+",ri.batchNumber"+ groupByMaterialAmountAtThatTime +",dgbs.expDate,"+returnGoodsTousseDefinitionId+ dgbsOfSupplierNameSql +") "; String supplyRoomTousseTypeSql = ""; - if(!(StringUtils.isBlank(typeSearch) || typeSearch.contains("一次性物品"))){ + /*if(!(StringUtils.isBlank(typeSearch) || typeSearch.contains("一次性物品"))){ if(typeSearch.contains(TYPE_AUTO_DEDUCTION)){ supplyRoomTousseTypeSql = String.format(" and rr.type='%s' ", InvoiceItem.TYPE_AUTO_DEDUCTION); } - } + }*/ String supplyRoomDiposableGoodsSql = " union all (select "+ sumRriAmountSql +" rr.depart,rr.depart as settleaccountsdepart "+ dgbsOfSupplierNameSql + noQueryIntegralSql +",rri.goodsName,sum(rri.amount)," +"sum(rri.price*rri.amount) as settlementprice,sum(rri.price*rri.amount) as settlementDiscountPrice,rri.type as type,dgbs.batchNumber as batchNumber,dgbs.expDate,0 as tousseDefinitionId " +" from ReceiveRecord rr,ReceiveRecordItem rri left join " + DisposableGoodsBatchStock.class.getSimpleName() + " dgbs " @@ -5964,7 +5960,7 @@ if(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){ chargeDateSql = String.format(" and chargeTime %s ", betweenSql); } - if(StringUtils.isNotBlank(departSearch)){ + if(CollectionUtils.isNotEmpty(departCodingSet)){ chargeDepartSql = String.format(" and %s ", SqlUtils.getStringFieldInLargeCollectionsPredicate("ci.orgUnitCode", departCodingSet)); } }