Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r30804 -r30856 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 30804) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 30856) @@ -1060,8 +1060,10 @@ public JSONObject queryQualityMonitoringDataSource(); /** * 获取获取质量监测报表数据列头数据,用于前端做成table显示 + * @param formName 表单名称 + * @param modeType 类型 有回收情况,清洗情况,灭菌清况 * @return */ - public JSONObject queryFormDefinitionDynamicColumnInfo(String formName); + public JSONObject queryFormDefinitionDynamicColumnInfo(String formName, String modeType); } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r30849 -r30856 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 30849) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 30856) @@ -22286,7 +22286,7 @@ return formDefinitionItemNameMap; } @Override - public JSONObject queryFormDefinitionDynamicColumnInfo(String formName) { + public JSONObject queryFormDefinitionDynamicColumnInfo(String formName, String modeType) { StringBuilder sbf = new StringBuilder(500); sbf.append("select fdi.width,fdi.displayFormat,fdi.name, fdi.orderNumber fdiOrderNumber ,fdio.orderNumber fdioOrderNumber,fdio.value,fdi.type from ") .append(FormDefinition.class.getSimpleName()) @@ -22303,11 +22303,15 @@ ResultSet rs = null; Map> columnNameMap = new LinkedHashMap>(); Map columnWidthMap = new LinkedHashMap(); + int maxNum = 0;//列最大序号 try { rs = objectDao.executeSql(sbf.toString()); while(rs.next()){ String formDefinitionItemName = rs.getString("name"); int fdiOrderNumber = rs.getInt("fdiOrderNumber"); + if(maxNum < fdiOrderNumber){ + maxNum = fdiOrderNumber; + } int fdioOrderNumber = rs.getInt("fdioOrderNumber"); String value = rs.getString("value"); String type = rs.getString("type"); @@ -22352,8 +22356,31 @@ } finally{ DatabaseUtil.closeResultSetAndStatement(rs); } - + maxNum++; JSONObject obj = new JSONObject(); + if("recordRecycleInformation".equals(modeType)){ + List values = new ArrayList(); + values.add("手术间"); + values.add("巡回护士"); + values.add("回收员"); + values.add("回收时间"); + columnNameMap.put("回收情况+" + maxNum, values); + }else if("recordRinseInformation".equals(modeType)){ + List values = new ArrayList(); + values.add("清洗机"); + values.add("清洗开始时间"); + values.add("清洗责任人"); + values.add("当天清洗件数"); + values.add("当天清洗外来器械件数"); + columnNameMap.put("清洗情况+" + maxNum, values); + }else if("recordSterilizatioInformation".equals(modeType)){ + List values = new ArrayList(); + values.add("当次炉次灭菌总包数"); + values.add("灭菌员"); + values.add("灭菌批号"); + values.add("灭菌时间"); + columnNameMap.put("灭菌情况+" + maxNum, values); + } obj.put("columnNameMap", JSONObject.fromObject(columnNameMap)); obj.put("columnWidthMap", JSONObject.fromObject(columnWidthMap)); return obj; @@ -22367,11 +22394,15 @@ boolean hiddenNameAndAmount = false; String responsibilityPart = null; String recordRinseInformation = null; + String recordRecycleInformation = null; + String recordSterilizatioInformation = null; if(DatabaseUtil.isPoIdValid(inspectItemId)){ QualityMonitoringDefinition q = (QualityMonitoringDefinition)objectDao.getById(QualityMonitoringDefinition.class.getSimpleName(), inspectItemId); scope = q.getScope(); obj.put("scope", scope); responsibilityPart = q.getResponsibilityPart(); + recordRecycleInformation = q.getRecordRecycleInformation(); + recordSterilizatioInformation = q.getRecordSterilizatioInformation(); recordRinseInformation = q.getRecordRinseInformation(); if(StringUtils.isBlank(scope) || "无".equals(scope) || "灭菌炉记录".equals(scope)){ hiddenNameAndAmount = true; @@ -22380,7 +22411,15 @@ String monitoringType = StrutsParamUtils.getPraramValue("monitoringType", ""); int totalRows = 0; String formName = StrutsParamUtils.getPraramValue("formName", ""); - JSONObject dynamicColumnObj = queryFormDefinitionDynamicColumnInfo(formName); + String modeType = null;//类型,决定显示回收情况,清洗情况,灭菌情况。 + if(Constants.STR_YES.equals(recordRecycleInformation)){//回收情况 + modeType = "recordRecycleInformation"; + }else if(Constants.STR_YES.equals(recordRinseInformation)){//清洗情况 + modeType = "recordRinseInformation"; + }else if(Constants.STR_YES.equals(recordSterilizatioInformation)){//灭菌情况 + modeType = "recordSterilizatioInformation"; + } + JSONObject dynamicColumnObj = queryFormDefinitionDynamicColumnInfo(formName,modeType); List monitoringItemBeans = getQualityMonitoringDataSource(formName, responsibilityPart, recordRinseInformation, scope, requestParameters); if(!CollectionUtils.isEmpty(monitoringItemBeans)){ //获取最新的属性