Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r29384 -r29401 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 29384) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 29401) @@ -899,9 +899,9 @@ reportParams.monthlyStr = dateQueryAdapter.dateConverAdapter3("i.sendTime","mm"); reportParams.extraGroupBy = reportParams.monthlyStr; - reportParams.extraSelectColumns = reportParams.monthlyStr + " monthstr,"; - String sql = dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", - reportParams); + reportParams.extraSelectColumns = "," + reportParams.monthlyStr + " monthstr "; + String sql = "select monthstr,amount from (" + dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", + reportParams) + ")temp2 "; Map map = workQualityCollectionDataIndex.getMonthAmountMapBySql(sql); //Map map = getGeneralMaterialMap(year,departCoding); @@ -11450,9 +11450,22 @@ reportParams.tousseTypeAndPackageSizeSql = ""; reportParams.includeDisposableGoods = false; reportParams.extraGroupBy = " td.riskLevel,td.tousseType "; - reportParams.extraSelectColumns = " td.riskLevel,td.tousseType,"; + reportParams.extraSelectColumns = " ,td.riskLevel,td.tousseType "; reportParams.querySupplyRoom = departCoding; - String sql = "select * from("+ dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", reportParams) + ") tl order by riskLevel"; + reportParams.extraSql = String.format(" and td.tousseType <> '%s' " , TousseDefinition.PACKAGE_TYPE_DISINFECTION); + String packageSql = dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", reportParams); + + reportParams.extraSql = ""; + //消毒物品数量 + reportParams.tousseTypeAndPackageSizeSql = DataIndex + .getTousseTypesAndPackageSizesFilterSQL( + TousseDefinition.PACKAGE_TYPE_DISINFECTION, null); + String monthlyStr = dateQueryAdapter.dateConverAdapter3("i.sendTime","mm"); + reportParams.groupBySql = " group by td.riskLevel,td.tousseType "; + int dataSoureOfMaterialsCountOfToussesInReports = CssdUtils.getSystemSetConfigByNameInt("dataSoureOfMaterialsCountOfToussesInReports", 3); + StringdicSql = String.format(" union all " + + dataIndex.getWorkAmountByMaterialSQL("发货数量", reportParams, dataSoureOfMaterialsCountOfToussesInReports)); + String sql = "select * from("+ packageSql + dicSql + ") tl order by riskLevel"; return sql; } /** Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/dataindex/DataIndex.java =================================================================== diff -u -r29344 -r29401 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/dataindex/DataIndex.java (.../DataIndex.java) (revision 29344) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/dataindex/DataIndex.java (.../DataIndex.java) (revision 29401) @@ -1720,7 +1720,7 @@ // 包含器械包 if (obj.includeTousses){ amountSql = String - .format("select %s sum(ii.amount) amount " + .format("select sum(ii.amount) amount %s " + "from Invoice i inner join InvoiceItem ii on ii.invoice_id = i.id " + "inner join TousseDefinition td on td.id=ii.tousseDefinitionId " + "where i.sendTime %s %s " @@ -1746,7 +1746,7 @@ } amountSql = String - .format("select %s sum(ii.amount) amount " + .format("select sum(ii.amount) amount %s " + "from Invoice i inner join InvoiceItem ii on ii.invoice_id = i.id " + "where ii.tousseType = '一次性物品' and i.sendTime %s %s " + "and i.sender is not null and %s(i.sender)<>0 " Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/dataindex/WorkQualityCollectionDataIndex.java =================================================================== diff -u -r29344 -r29401 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/dataindex/WorkQualityCollectionDataIndex.java (.../WorkQualityCollectionDataIndex.java) (revision 29344) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/dataindex/WorkQualityCollectionDataIndex.java (.../WorkQualityCollectionDataIndex.java) (revision 29401) @@ -289,7 +289,7 @@ reportParams.monthlyStr = dateQueryAdapter.dateConverAdapter3("i.sendTime","mm"); reportParams.extraGroupBy = reportParams.monthlyStr; - reportParams.extraSelectColumns = reportParams.monthlyStr + " monthstr,"; + reportParams.extraSelectColumns = "," + reportParams.monthlyStr + " monthstr "; String sql = "select monthstr,sum(tl.amount) from (" + dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", reportParams) + ") tl group by monthstr "; @@ -1117,7 +1117,7 @@ reportParams.tousseTypeAndPackageSizeSql = ""; reportParams.includeDisposableGoods = false; reportParams.extraGroupBy = reportParams.monthlyStr; - reportParams.extraSelectColumns = reportParams.monthlyStr + " monthstr,"; + reportParams.extraSelectColumns = "," + reportParams.monthlyStr + " monthstr "; String sql = "select monthstr,sum(tl.amount) from (" + dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", reportParams) + ") tl group by monthstr "; @@ -1217,7 +1217,7 @@ reportParams.includeTousses = false; reportParams.includeDisposableGoods = true; reportParams.extraGroupBy = reportParams.monthlyStr; - reportParams.extraSelectColumns = reportParams.monthlyStr + " monthstr,"; + reportParams.extraSelectColumns = "," + reportParams.monthlyStr + " monthstr "; String sql = "select monthstr,sum(tl.amount) from (" + dataIndex.getWorkAmountByPackageSQL("年度报表中的发货数量(按包)", reportParams) + ") tl group by monthstr ";