Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r33740 -r33741 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 33740) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 33741) @@ -8298,7 +8298,7 @@ ResultSet adverseEventRecordRs = null; try { logger.debug("消毒供应中心年度工作量统计报表不良事件查询:"+adverseEventRecordSql); - System.out.println("monthReportSql:"+adverseEventRecordSql); + //System.out.println("monthReportSql:"+adverseEventRecordSql); adverseEventRecordRs = objectDao.executeSql(adverseEventRecordSql); while (adverseEventRecordRs.next()) { String month = adverseEventRecordRs.getString("monthStr"); @@ -8918,7 +8918,7 @@ orgUnitCoding +"' " ; try { - System.out.println(sql); + //System.out.println(sql); rs = objectDao.executeSql(sql); Map firstColumnVoMap = new HashMap(); while (rs.next()) { @@ -9219,21 +9219,30 @@ } int dataSoureOfMaterialsCountOfToussesInReports = CssdUtils.getSystemSetConfigByNameInt("dataSoureOfMaterialsCountOfToussesInReports", 3); - //清洗手术室器械总件数 + //清洗手术室器械总件数 不包含外来器械 params.monthlyStr = dateQueryAdapter.dateConverAdapter3("wr.endDate","mm"); params.applicationDepart="手术室"; + params.tousseTypeAndPackageSizeSql = " and tdc.tousseType<>'"+ TousseDefinition.PACKAGE_TYPE_FOREIGN +"' "; String sql = String.format("select sum(tl.amount) amount, monthstr from (" +dataIndex.getWorkAmountByMaterialSQL("清洗数量", params, dataSoureOfMaterialsCountOfToussesInReports) + ") tl group by monthstr "); Map operatingRoomWashMaterialAmountMap = dataIndex.getAmountAndDateBySql(sql); //清洗临床科室物品总件数 回收科室不等于“手术室”的器械清洗总件数 params.applicationDepart=""; + params.tousseTypeAndPackageSizeSql = ""; params.extraQuery = " and ci.orgUnitName!='手术室' "; sql = String.format("select sum(tl.amount) amount, monthstr from (" +dataIndex.getWorkAmountByMaterialSQL("清洗数量", params, dataSoureOfMaterialsCountOfToussesInReports) + ") tl group by monthstr "); Map noOperatingRoomWashMaterialAmountMap = dataIndex.getAmountAndDateBySql(sql); - //清洗器械总件数 = 清洗临床科室物品总件数 + 清洗手术室器械总件数 + //清洗外来手术器械总件数 + params.extraQuery = " and ci.orgUnitName='手术室' "; + params.tousseTypeAndPackageSizeSql = " and td.tousseType='"+ TousseDefinition.PACKAGE_TYPE_FOREIGN +"' "; + sql = String.format("select sum(tl.amount) amount, monthstr from (" + +dataIndex.getWorkAmountByMaterialSQL("清洗数量", params, dataSoureOfMaterialsCountOfToussesInReports) + + ") tl group by monthstr "); + Map foreignMaterialAmountMap = dataIndex.getAmountAndDateBySql(sql); + //清洗器械总件数 = 清洗临床科室物品总件数 + 清洗手术室器械总件数 + 清洗外来手术器械总件数 Map totalWashMaterialAmountMap = new HashMap(); for (String key : operatingRoomWashMaterialAmountMap.keySet()) { totalWashMaterialAmountMap.put(key, operatingRoomWashMaterialAmountMap.get(key)); @@ -9245,29 +9254,24 @@ totalWashMaterialAmountMap.put(key, noOperatingRoomWashMaterialAmountMap.get(key)); } } + for (String key : foreignMaterialAmountMap.keySet()) { + if(totalWashMaterialAmountMap.containsKey(key)){ + totalWashMaterialAmountMap.put(key, MathTools.add(totalWashMaterialAmountMap.get(key), foreignMaterialAmountMap.get(key)).intValue()); + }else{ + totalWashMaterialAmountMap.put(key, foreignMaterialAmountMap.get(key)); + } + } for (int i = 0; i < monthArr.length; i++) { String month = monthArr[i]; String yearMonth = yearMonthMap.get(month); addYearWorkLoadBean(1, month, totalWashMaterialAmountMap, i, "清洗器械总件数", list, yearMonth); addYearWorkLoadBean(3, month, noOperatingRoomWashMaterialAmountMap, i, "清洗临床科室物品总件数", list, yearMonth); addYearWorkLoadBean(4, month, operatingRoomWashMaterialAmountMap, i, "清洗手术室器械总件数", list, yearMonth); + addYearWorkLoadBean(5, month, foreignMaterialAmountMap, i, "清洗外来手术器械总件数", list, yearMonth); } totalWashMaterialAmountMap = null; noOperatingRoomWashMaterialAmountMap = null; noOperatingRoomWashMaterialAmountMap = null; - //清洗外来手术器械总件数 - - params.extraQuery = " and ci.orgUnitName='手术室' "; - params.tousseTypeAndPackageSizeSql = " and td.tousseType='"+ TousseDefinition.PACKAGE_TYPE_FOREIGN +"' "; - sql = String.format("select sum(tl.amount) amount, monthstr from (" - +dataIndex.getWorkAmountByMaterialSQL("清洗数量", params, dataSoureOfMaterialsCountOfToussesInReports) - + ") tl group by monthstr "); - Map foreignMaterialAmountMap = dataIndex.getAmountAndDateBySql(sql); - for (int i = 0; i < monthArr.length; i++) { - String month = monthArr[i]; - String yearMonth = yearMonthMap.get(month); - addYearWorkLoadBean(5, month, foreignMaterialAmountMap, i, "清洗外来手术器械总件数", list, yearMonth); - } foreignMaterialAmountMap = null; // 包装外来手术器械总包数 二次回收的外来器械不统计 String dateStr = dateQueryAdapter.dateConverAdapter3("rr.recyclingTime","mm");