Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r31248 -r31337 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 31248) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 31337) @@ -20674,13 +20674,18 @@ startTime = date + "-01-01 00:00:00"; endTime = DataIndex.getNextYear(date) + " 00:00:00"; } - - String sql = "select " + dateQueryAdapter.dateConverAdapter3("wr.endDate", format) - + " dateTime,sum(wr.washMaterialAmount-wr.disinfectMaterialAmount-wr.secondWashForeignAmount) amount " - + "from WashAndDisinfectRecord wr where " + dateQueryAdapter.dateAreaSql("wr.endDate", startTime, endTime) - + " and wr.orgUnitCoding='"+departmentCode+"' " - + " group by " + dateQueryAdapter.dateConverAdapter3("wr.endDate", format); - + int dataSoureOfMaterialsCountOfToussesInReports = CssdUtils.getSystemSetConfigByNameInt("dataSoureOfMaterialsCountOfToussesInReports", 3); + ReportQueryParams params = new ReportQueryParams(); + params.betweenSql = String.format(" between %s and %s ", dateQueryAdapter.dateAdapter(startTime),dateQueryAdapter.dateAdapter(endTime)); + params.querySupplyRoom = departmentCode; + params.monthlyStr = dateQueryAdapter.dateConverAdapter3("wr.endDate",format); + //数据库计算字符串长度的函数名 + String sqlLengthFunctionName = DatabaseUtil.getSqlLengthFunctionName(dbConnection); + params.sqlLengthFunctionName = sqlLengthFunctionName; + params.isGroup = true; + String sql = String.format("select monthstr dateTime,sum(tl.amount) amount from (" + +dataIndex.getWorkAmountByMaterialSQL("清洗数量", params, dataSoureOfMaterialsCountOfToussesInReports) + + ") tl group by tl.monthstr"); ResultSet rs = objectDao.executeSql(sql); try { while (rs.next()) {