Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r29585 -r29600 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 29585) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 29600) @@ -5378,18 +5378,19 @@ + materialTypeFilterSql + " group by i.settleaccountsdepart,case when td.name is null then ii.materialName else ii.materialName "+ concatSymbolInDb +" '(' "+ concatSymbolInDb +" td.name "+ concatSymbolInDb +"')' end,td.id) "; } - // 材料退货 - materialReturnSql = " union all (select rr.depart as settleaccountsdepart "+ noQuerySupplierName + noQueryIntegralSql +",ii.materialName,-sum(ii.amount),-sum(ii.settlementPrice)," - +"-sum(ii.settlementPrice) as settlementDiscountPrice,'材料' as type,'' as batchNumber,null as expDate,0 as tousseDefinitionId " - + " from ReturnMaterialRecord rr,materialDefinition d," - + "ReturnMaterialItem ii where rr.id = ii.returnMaterialRecord_ID " - + " and ii.materialDefinitionId = d.id and "+getHandleDeptCodeSql("rr.handleDepartCode")+" " - + returnGoodsTimeFilterSql - + returnGoodsDepartFilterSql - + materialNameFilterSql - + materialTypeFilterSql - + " group by rr.depart,ii.materialName) "; - + if("全部".equals(typeSearch) || "器械材料".equals(typeSearch)){ + // 材料退货 + materialReturnSql = " union all (select rr.depart as settleaccountsdepart "+ noQuerySupplierName + noQueryIntegralSql +",ii.materialName,-sum(ii.amount),-sum(ii.settlementPrice)," + +"-sum(ii.settlementPrice) as settlementDiscountPrice,'材料' as type,'' as batchNumber,null as expDate,0 as tousseDefinitionId " + + " from ReturnMaterialRecord rr,materialDefinition d," + + "ReturnMaterialItem ii where rr.id = ii.returnMaterialRecord_ID " + + " and ii.materialDefinitionId = d.id and "+getHandleDeptCodeSql("rr.handleDepartCode")+" " + + returnGoodsTimeFilterSql + + returnGoodsDepartFilterSql + + materialNameFilterSql + + materialTypeFilterSql + + " group by rr.depart,ii.materialName) "; + } lostMaterial = " union all (select r.depart "+noQuerySupplierName + noQueryIntegralSql +",r.materialName,sum(r.additionalAmount),sum(r.additionalAmount * r.materialCost)," +"sum(r.additionalAmount * r.materialCost) as settlementDiscountPrice,'材料' as type,'' as batchNumber,null as expDate,0 as tousseDefinitionId " + " from MaterialErrorDamageDetail r left join materialDefinition m on r.materialDefinitionId = m.id where 1=1 and r.errorType = '缺失' and r.type = '"+MaterialErrorDamageDetail.TYPE_ERROR+"' and r.materialName != '器械包标识牌' and r.additionalAmount > 0 and "+getHandleDeptCodeSql("r.handleDepartCode")+" "