Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r26649 -r26693 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 26649) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 26693) @@ -13073,9 +13073,8 @@ reportParams.monthlyStr = dateQueryAdapter.dateToVarchar2(dateQueryAdapter.stringFieldToDate("ti.sterileEndTime")); // 以灭菌结束时间来统计 reportParams.extraSelectColumns = ",ti.orgUnitName "; reportParams.extraGroupBy = ",ti.orgUnitName "; - String sterilizeTotalSql = dataIndex.getWorkAmountByPackageSQL("灭菌数量", reportParams); - - + //String sterilizeTotalSql = dataIndex.getWorkAmountByPackageSQL("灭菌数量", reportParams); + String sterilizeTotalSql = buildSqlOfSterilizeTotalSql(reportParams.betweenSql); // 获取灭菌不合格物品的sql String qmDataSql = dateQueryAdapter.dateToVarchar2("qmi.dateTime"); String sterilizeUQSql = "select " + qmDataSql +" dataStr,sum(qmd.amount) count,src.orgUnitName " @@ -13276,6 +13275,17 @@ // 无菌物品不合格 return beanList; } + /** + * 构建查询灭菌总数的sql + * @param betweenSql + * @return + */ + private String buildSqlOfSterilizeTotalSql(String betweenSql){ + String monthlyStr = dateQueryAdapter.dateToVarchar2(dateQueryAdapter.stringFieldToDate("endDate")); + return String.format(" select %s monthstr, sum(tousseAmount) + sum(foreignTousseAmount) + sum(dressingTousseAmount)+sum(proxyTousseAmount) amount ,ou.name" + + " from SterilizationRecord sr inner join OrgUnit ou on ou.orgUnitCoding=sr.orgUnitCoding " + + " where endDate %s and status='%s' group by %s ,ou.name ", monthlyStr,betweenSql,SterilizationRecord.STERILIZATION_STATUS_END,monthlyStr); + } // 通过sql获取统计的数量 private Map getAmountMapBySql(String sql){ Map map = new HashMap();