Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringInspectMonthReportHelper.java =================================================================== diff -u -r38481 -r38515 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringInspectMonthReportHelper.java (.../QualityMonitoringInspectMonthReportHelper.java) (revision 38481) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringInspectMonthReportHelper.java (.../QualityMonitoringInspectMonthReportHelper.java) (revision 38515) @@ -409,7 +409,7 @@ + "select " + dateConverAdapter3Sql + dateAlias +" fiOption.answer" //一:监测范围为器械包 则查询FormOptionTousseGoods数量, + ",case when qmdf.scope='器械包' then " - + "(select count(*) from FormOptionTousseGoods fotg where " + + "(select sum(case when fotg.allMaterial='是' then fotg.materialAmount else 1 end) from FormOptionTousseGoods fotg where " + "fotg.formOptionValue_id=fiOption.id) " //二:监测范围为材料或材料和器械包 则查询FormOptionMaterialGoods数量, + "when qmdf.scope in ('材料','材料和器械包') then (select sum(fomg.amount) " @@ -476,7 +476,7 @@ sql = "select "+ dateAlias + "name,sum(amount) count from (select " + dateConverAdapter3Sql + dateAlias +" fdi.name" //一:监测范围为器械包 则查询FormOptionTousseGoods数量, - + ",case when qmdf.scope='器械包' then (select count(*) from FormOptionTousseGoods fotg " + + ",case when qmdf.scope='器械包' then (select sum(case when fotg.allMaterial='是' then fotg.materialAmount else 1 end) from FormOptionTousseGoods fotg " + "join FormInstanceOptionValue fiOption on fotg.formOptionValue_id=fiOption.id " + "where fiOption.formInstanceItem_id=fiItem.id) " //--二:监测范围为材料或材料和器械包 则查询FormOptionMaterialGoods数量 @@ -544,7 +544,7 @@ if(enableRecordMaterialDetailsOfQualityMonitoring){ //一:监测范围为器械包 则查询FormOptionMaterialGoods数量, String countSql = ",case when qmdf.scope='器械包' then " - + "(select count(*) from FormOptionTousseGoods fotg " + + "(select sum(case when fotg.allMaterial='是' then fotg.materialAmount else 1 end) from FormOptionTousseGoods fotg " + "join FormInstanceOptionValue fiOption on fotg.formOptionValue_id=fiOption.id " + "join FormInstanceItem fiItem on fiOption.formInstanceItem_id=fiItem.id where " + "fiItem.formInstance_id=fi.id) " Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java =================================================================== diff -u -r38481 -r38515 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java (.../QualityMonitoringHelper.java) (revision 38481) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java (.../QualityMonitoringHelper.java) (revision 38515) @@ -506,7 +506,7 @@ if(enableRecordMaterialDetailsOfQualityMonitoring){ fomgAMountSql = " (select sum(amount) from FormOptionMaterialGoods fomg " + "where fomg.formOptionValueId=fiov.id and fomg.material=qmd.material and fdio.recordMaterialDetails='是')" - + " fomgAMount,(select count(*) from FormOptionTousseGoods fotg where fotg.formOptionValue_id=fiov.id " + + " fomgAMount,(select sum(case when fotg.allMaterial='是' then fotg.materialAmount else 1 end) from FormOptionTousseGoods fotg where fotg.formOptionValue_id=fiov.id " + "and fotg.tousseName=qmd.tousseName and not exists (select 1 from FormOptionMaterialGoods m1 where m1.formOptionTousseGoods_id=fotg.id) " + "and fdio.recordMaterialDetails='是') fomgAMount2, "; }else{