Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java =================================================================== diff -u -r35987 -r36374 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java (.../QualityMonitoringHelper.java) (revision 35987) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java (.../QualityMonitoringHelper.java) (revision 36374) @@ -830,12 +830,15 @@ if(StringUtils.isBlank(sql)){ return ; } - ResultSet rs = objectDao.executeSql(sql); + ResultSet rs = null; try { + rs = objectDao.executeSql(sql); Map qmiIdToLastTousseNameMap = new HashMap(); Map qmiIdToLastTousseAmountMap = new HashMap(); MonitoringItemBean lastMonitoringItemBean = null; Set readedIds = new HashSet(); + boolean querySterilizerDate = SqlUtils.isExistColumn(rs, "sterilizerDate"); + boolean queryMaterialAmount = SqlUtils.isExistColumn(rs, "materialAmount"); while (rs.next()) { String dataStr = null; String tousseName = rs.getString("toussName"); @@ -876,7 +879,7 @@ if(isCustomADJAndIsFormNameIsADJ){ frequency = ConvertNumber.getNumberIntValue(rs.getObject("frequency"), null); sterilizerName = rs.getString("sterilizerName"); - if(SqlUtils.isExistColumn(rs, "sterilizerDate")){//监测范围为灭菌炉记录,日期要使用灭菌日期 + if(querySterilizerDate){//监测范围为灭菌炉记录,日期要使用灭菌日期 dataStr = rs.getString("sterilizerDate"); } } @@ -885,7 +888,7 @@ } Long qmdid = rs.getLong("qmdid"); Integer materialAmount = 0; - if(SqlUtils.isExistColumn(rs, "materialAmount")){ + if(queryMaterialAmount){ materialAmount = rs.getInt("materialAmount"); } String tousseAmountKey = null; @@ -992,8 +995,10 @@ if(StringUtils.isBlank(sql)){ return ; } - ResultSet rs = objectDao.executeSql(sql); + ResultSet rs = null; try { + rs = objectDao.executeSql(sql); + boolean querySterilizerDate = SqlUtils.isExistColumn(rs, "sterilizerDate"); while (rs.next()) { String dataStr = null; Long qmiId = rs.getLong("qmiId"); @@ -1009,7 +1014,7 @@ if(addMonitoringItemBeanOptionSingleResult){ frequency = ConvertNumber.getNumberIntValue(rs.getObject("frequency"), null); sterilizerName = rs.getString("sterilizerName"); - if(SqlUtils.isExistColumn(rs, "sterilizerDate")){//监测范围为灭菌炉记录,日期要使用灭菌日期 + if(querySterilizerDate){//监测范围为灭菌炉记录,日期要使用灭菌日期 dataStr = rs.getString("sterilizerDate"); } } @@ -1041,6 +1046,8 @@ Map qmiIdToLastTousseAmountMap = new HashMap(); MonitoringItemBean lastMonitoringItemBean = null; Set readedIds = new HashSet(); + boolean querySterilizerDate = SqlUtils.isExistColumn(rs, "sterilizerDate"); + boolean queryMaterialAmount = SqlUtils.isExistColumn(rs, "materialAmount"); while (rs.next()) { String dataStr = null; String tousseName = rs.getString(2); @@ -1079,7 +1086,7 @@ if(addMonitoringItemBeanOptionSingleResult){ frequency = ConvertNumber.getNumberIntValue(rs.getObject("frequency"), null); sterilizerName = rs.getString("sterilizerName"); - if(SqlUtils.isExistColumn(rs, "sterilizerDate")){//监测范围为灭菌炉记录,日期要使用灭菌日期 + if(querySterilizerDate){//监测范围为灭菌炉记录,日期要使用灭菌日期 dataStr = rs.getString("sterilizerDate"); } } @@ -1088,7 +1095,7 @@ } Long qmdid = rs.getLong("qmdid"); int materialAmount = 0; - if(SqlUtils.isExistColumn(rs, "materialAmount")){ + if(queryMaterialAmount){ materialAmount = rs.getInt("materialAmount"); } String tousseAmountKey = null; @@ -1190,8 +1197,10 @@ if(StringUtils.isBlank(sql)){ return ; } - ResultSet rs = objectDao.executeSql(sql); + ResultSet rs = null; try { + rs = objectDao.executeSql(sql); + boolean querySterilizerDate = SqlUtils.isExistColumn(rs, "sterilizerDate"); while (rs.next()) { String dataStr = null; Long qmiId = rs.getLong(2); @@ -1205,7 +1214,7 @@ if(addMonitoringItemBeanOptionSingleResultWithoutMaterial){ frequency = ConvertNumber.getNumberIntValue(rs.getObject("frequency"), null); sterilizerName = rs.getString("sterilizerName"); - if(SqlUtils.isExistColumn(rs, "sterilizerDate")){//监测范围为灭菌炉记录,日期要使用灭菌日期 + if(querySterilizerDate){//监测范围为灭菌炉记录,日期要使用灭菌日期 dataStr = rs.getString("sterilizerDate"); } } @@ -1235,6 +1244,7 @@ rs = objectDao.executeSql(sql); Map qmiIdToLastTousseNameMap = new HashMap(); Map qmiIdToLastTousseAmountMap = new HashMap(); + boolean queryMaterialAmount = SqlUtils.isExistColumn(rs, "materialAmount"); while (rs.next()) { String dataStr = rs.getString(1); String tousseName = rs.getString(2); @@ -1265,7 +1275,7 @@ sterilizerName = rs.getString("sterilizerName"); } int materialAmount = 0; - if(SqlUtils.isExistColumn(rs, "materialAmount")){ + if(queryMaterialAmount){ materialAmount = rs.getInt("materialAmount"); } newMonitoringItem(list,registerMaterialAmount, amount,tousseName,materialName,qmiId,positionMsg, @@ -1296,6 +1306,10 @@ Integer forgonAmoutSum = 0; rs = objectDao.executeSql(sql); List addList = new ArrayList();//本次要新增的bean + boolean querySterilizationStartDate = SqlUtils.isExistColumn(rs, "sterilizationStartDate"); + boolean queryWashStartDate = SqlUtils.isExistColumn(rs, "washStartDate"); + boolean queryWashPersonInCharge = SqlUtils.isExistColumn(rs, "washPersonInCharge"); + boolean queryRecyclingTime = SqlUtils.isExistColumn(rs, "recyclingTime"); while (rs.next()) { Long qmiId = rs.getLong("qmiId"); for (MonitoringItemBean monitoringItemBean : list) { @@ -1307,7 +1321,7 @@ String recordRecycleInformation = rs.getString("recordRecycleInformation"); String recordRinseInformation = rs.getString("recordRinseInformation"); String recordSterilizatioInformation = rs.getString("recordSterilizatioInformation"); - if(SqlUtils.isExistColumn(rs, "sterilizationStartDate") && Constants.STR_YES.equals(recordSterilizatioInformation)){ + if(querySterilizationStartDate && Constants.STR_YES.equals(recordSterilizatioInformation)){ String name = rs.getString("name"); if(StringUtils.isNotBlank(name)){ Integer steFrequency = ConvertNumber.getNumberIntValue(rs.getObject("frequency"), null); @@ -1323,7 +1337,7 @@ copyPartPropertiesMonitoringItem(addList, monitoringItemBean, 10, "灭菌情况","灭菌时间", startDate, isCustomADJAndIsFormNameIsADJ); Integer steAmount = rs.getInt("steAmount"); copyPartPropertiesMonitoringItem(addList, monitoringItemBean, 10, "灭菌情况","当次炉次灭菌总包数", steAmount + "", isCustomADJAndIsFormNameIsADJ); - }else if(SqlUtils.isExistColumn(rs, "washStartDate") && Constants.STR_YES.equals(recordRinseInformation)){ + }else if(queryWashStartDate && Constants.STR_YES.equals(recordRinseInformation)){ String startDate = null; String disinfectIdentification = null; disinfectIdentification = rs.getString("disinfectIdentification"); @@ -1343,7 +1357,7 @@ } } String washPersonInCharge = null; - if(SqlUtils.isExistColumn(rs, "washPersonInCharge")){ + if(queryWashPersonInCharge){ washPersonInCharge = rs.getString("washPersonInCharge"); copyPartPropertiesMonitoringItem(addList, monitoringItemBean, 15, "清洗情况","责任人", washPersonInCharge, isCustomADJAndIsFormNameIsADJ); } @@ -1354,7 +1368,7 @@ copyPartPropertiesMonitoringItem(addList, monitoringItemBean, 15, "清洗情况","当天清洗件数", totalAmout + "", isCustomADJAndIsFormNameIsADJ); copyPartPropertiesMonitoringItem(addList, monitoringItemBean, 15, "清洗情况","当天清洗外来器械件数", forgonAmount + "", isCustomADJAndIsFormNameIsADJ); } - }else if(SqlUtils.isExistColumn(rs, "recyclingTime") && Constants.STR_YES.equals(recordRecycleInformation)){ + }else if(queryRecyclingTime && Constants.STR_YES.equals(recordRecycleInformation)){ String depart = rs.getString("depart"); copyPartPropertiesMonitoringItem(addList, monitoringItemBean, 15, "回收情况","回收科室", depart, isCustomADJAndIsFormNameIsADJ); String operationRoom = rs.getString("operationRoom");