Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/SupplyRoomQualityQuota.java =================================================================== diff -u -r33894 -r34202 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/SupplyRoomQualityQuota.java (.../SupplyRoomQualityQuota.java) (revision 33894) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/SupplyRoomQualityQuota.java (.../SupplyRoomQualityQuota.java) (revision 34202) @@ -84,16 +84,24 @@ * @param rowName 交叉报表的行名称 * @param rowSerialNumber 行名的序号 * @param value 交叉报表的值 + * @param dataIndexsAsRows 值为true,则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 */ public SupplyRoomQualityQuota(String columnName, Integer columnSerialNumber, String rowName, - Integer rowSerialNumber, String value) { + Integer rowSerialNumber, String value, boolean dataIndexsAsRows) { super(); - this.columnName = columnName; - this.columnSerialNumber = columnSerialNumber; - this.rowName = rowName; - this.rowSerialNumber = rowSerialNumber; this.value = value; + if(dataIndexsAsRows){ + this.columnName = rowName.substring(rowName.indexOf("-") + 1); + this.rowName = columnName; + this.columnSerialNumber = rowSerialNumber; + this.rowSerialNumber = columnSerialNumber; + }else{ + this.columnName = columnName; + this.rowName = rowName; + this.columnSerialNumber = columnSerialNumber; + this.rowSerialNumber = rowSerialNumber; + } } public String getColumnName() { Index: ssts-web/src/main/webapp/jasperRtp/supplyRoomQualityQuota.jasper =================================================================== diff -u -r33775 -r34202 Binary files differ Index: ssts-web/src/main/webapp/jasperRtp/supplyRoomQualityQuota.jrxml =================================================================== diff -u -r33775 -r34202 --- ssts-web/src/main/webapp/jasperRtp/supplyRoomQualityQuota.jrxml (.../supplyRoomQualityQuota.jrxml) (revision 33775) +++ ssts-web/src/main/webapp/jasperRtp/supplyRoomQualityQuota.jrxml (.../supplyRoomQualityQuotaDataIndexsAsRows.jrxml) (revision 34202) @@ -1,5 +1,5 @@ - + @@ -37,11 +37,11 @@ - + - + @@ -50,14 +50,28 @@ - + - + + + + + + + + + + + + + + + - + @@ -66,13 +80,20 @@ + + + + + + + - + @@ -82,7 +103,7 @@ - + @@ -118,15 +139,8 @@ - - - - - - - - - + + @@ -141,13 +155,13 @@ - + - + Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r34199 -r34202 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 34199) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 34202) @@ -22815,8 +22815,9 @@ * @param quotaName 行名称(即:指标名称) * @param rowSerialNumber 行序列号 * @param onlyCalcRatio 只计算比率 + * @param dataIndexsAsRows 值为true,则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 */ - private void getSupplyRoomQualityQuota(List list, Map result, String quotaName, int rowSerialNumber, boolean onlyCalcRatio) { + private void getSupplyRoomQualityQuota(List list, Map result, String quotaName, int rowSerialNumber, boolean onlyCalcRatio, boolean dataIndexsAsRows) { int columnSerialNumber = 0; for (int i = 1; i <= 12; i++) { String key = ""; @@ -22827,11 +22828,11 @@ } if(onlyCalcRatio){ String value = MapUtils.getString(result, key + SupplyRoomQualityQuota.RATIO, ""); - SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber,(i + "月") , i, value); + SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber,(i + "月") , i, value, dataIndexsAsRows); list.add(vo); }else{ String ratio = MapUtils.getString(result, key, "0"); - SupplyRoomQualityQuota ratioVo = new SupplyRoomQualityQuota(quotaName,rowSerialNumber, (i + "月"), i, ratio); + SupplyRoomQualityQuota ratioVo = new SupplyRoomQualityQuota(quotaName,rowSerialNumber, (i + "月"), i, ratio, dataIndexsAsRows); list.add(ratioVo); } } @@ -22840,11 +22841,11 @@ */ if(onlyCalcRatio){ String ratio = MapUtils.getString(result, SupplyRoomQualityQuota.TOTAL + SupplyRoomQualityQuota.RATIO, ""); - SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName , rowSerialNumber,SupplyRoomQualityQuota.TOTAL , 13, ratio); + SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName , rowSerialNumber,SupplyRoomQualityQuota.TOTAL , 13, ratio, dataIndexsAsRows); list.add(vo); }else{ String value = MapUtils.getString(result, SupplyRoomQualityQuota.TOTAL, "0"); - SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, SupplyRoomQualityQuota.TOTAL, 13, value); + SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, SupplyRoomQualityQuota.TOTAL, 13, value, dataIndexsAsRows); list.add(vo); } @@ -22859,8 +22860,9 @@ * @param rowSerialNumber 行序列号 * @param firstDayToLastDay 某段时间的所有天数 * @param onlyCalcRatio 只计算比率 + * @param dataIndexsAsRows 值为true,则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 */ - private void getSupplyRoomQualityQuota(List list, Map result, String quotaName, int rowSerialNumber, List firstDayToLastDay, boolean onlyCalcRatio) { + private void getSupplyRoomQualityQuota(List list, Map result, String quotaName, int rowSerialNumber, List firstDayToLastDay, boolean onlyCalcRatio, boolean dataIndexsAsRows) { if (CollectionUtils.isNotEmpty(firstDayToLastDay)) { int columnSerialNumber = 0; int size = firstDayToLastDay.size(); @@ -22875,10 +22877,10 @@ } if(onlyCalcRatio){ value = MapUtils.getString(result, key + SupplyRoomQualityQuota.RATIO, ""); - SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName , rowSerialNumber, firstDayToLastDay.get(i - 1), i, value); + SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName , rowSerialNumber, firstDayToLastDay.get(i - 1), i, value, dataIndexsAsRows); list.add(vo); }else{ - SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, firstDayToLastDay.get(i - 1) , i, value); + SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, firstDayToLastDay.get(i - 1) , i, value, dataIndexsAsRows); list.add(vo); } } @@ -22889,10 +22891,10 @@ String value = MapUtils.getString(result, SupplyRoomQualityQuota.TOTAL, "0"); if(onlyCalcRatio){ String ratio = MapUtils.getString(result, (SupplyRoomQualityQuota.TOTAL + SupplyRoomQualityQuota.RATIO), ""); - SupplyRoomQualityQuota ratioVo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, SupplyRoomQualityQuota.TOTAL , size + 1, ratio); + SupplyRoomQualityQuota ratioVo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, SupplyRoomQualityQuota.TOTAL , size + 1, ratio, dataIndexsAsRows); list.add(ratioVo); }else{ - SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, SupplyRoomQualityQuota.TOTAL , size + 1, value); + SupplyRoomQualityQuota vo = new SupplyRoomQualityQuota(quotaName, rowSerialNumber, SupplyRoomQualityQuota.TOTAL , size + 1, value, dataIndexsAsRows); list.add(vo); } } @@ -22932,9 +22934,10 @@ * 获取SupplyRoomQualityQuota集合(按月统计). * @param departmentCode 供应室的科室编码 * @param year 查询年份 + * @param dataIndexsAsRows 值为true,则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 * @return */ - private List getSupplyRoomQualityQuotaByMonth(String departmentCode, String year, JSONArray dataConfigArr, Set dataIndexSources) { + private List getSupplyRoomQualityQuotaByMonth(String departmentCode, String year, JSONArray dataConfigArr, Set dataIndexSources, boolean dataIndexsAsRows) { List list = new ArrayList(); List definitionList = null; /** @@ -23168,69 +23171,71 @@ String dataIndexSource = dataConfig.optString("dataIndexSource"); String dataIndexNameForDisplay = dataConfig.optString("dataIndexNameForDisplay"); if(SupplyRoomQualityQuota.DATAINDEXSOURCE_REUSABLEGOODS_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterileArticles, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, sterileArticles, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_REUSABLEGOODS_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_REUSABLEGOODS_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, true); + getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmountForUnqualified, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, washSumAmountForUnqualified, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, washSumAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, true); + getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILE_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilizationSumAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, sterilizationSumAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILE_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILE_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay, i, true); + getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay, i, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WETPACKETS_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WETPACKETS_RATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, true); + getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingSumAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, packingSumAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingForUnqualified, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, packingForUnqualified, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, true); + getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_DISPOSABLEGOODS_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, disposablegoodsUnqualifiedAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, disposablegoodsUnqualifiedAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_RECYCLING_TOUSSEERROR.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, recyclingTousseErrorAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, recyclingTousseErrorAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_MISSING_IN_TOUSSE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, missingInTousseAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, missingInTousseAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_INSUFFICIENCY_IN_TOUSSE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, insufficiencyInTousseAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, insufficiencyInTousseAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_TYPE_ERROR_IN_TOUSSE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, typEerrorInTousseAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, typEerrorInTousseAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_CHEMICALINDICATORCARD_INTOUSSE_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, model_chemicalindicatorcard_intousse_unqualifiedAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, model_chemicalindicatorcard_intousse_unqualifiedAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_ITEM_ID_IS_INCORRECT.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, item_id_is_incorrectAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, item_id_is_incorrectAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILIZATION_FAILURE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilization_failureAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, sterilization_failureAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_ITEM_INVOICE_ERROR.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, item_invoice_errorAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, item_invoice_errorAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_DISPOSABLEGOODS_WASH_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, disposablegoodsWashSumAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, disposablegoodsWashSumAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_FOREIGNTOUSSE_WASH_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, foreigntousseWashSumAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, foreigntousseWashSumAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_DRESSING_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, dressingSumAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, dressingSumAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILIZER_USEAMOUNT_BY_GROUP.equals(dataIndexSource)){ if(MapUtils.isNotEmpty(sterilizerUseAmountMap)){ + int j = 0; for (Entry> entry : sterilizerUseAmountMap.entrySet()) { - getSupplyRoomQualityQuota(list, entry.getValue(), dataIndexNameForDisplay + " (" + entry.getKey() + ")", i, false); + getSupplyRoomQualityQuota(list, entry.getValue(), dataIndexNameForDisplay + " (" + entry.getKey() + ")", i + j, false, dataIndexsAsRows); + j++; } } }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_INCORRECT_CHOICE_AMOUNT_STERILIZATIONMODE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, model_incorrect_choice_sterilizationmodeAmount, dataIndexNameForDisplay, i, false); + getSupplyRoomQualityQuota(list, model_incorrect_choice_sterilizationmodeAmount, dataIndexNameForDisplay, i, false, dataIndexsAsRows); } } return list; @@ -23240,10 +23245,11 @@ * 获取SupplyRoomQualityQuota集合(按天统计). * @param departmentCode 供应室的科室编码 * @param month 查询月份 + * @param dataIndexsAsRows 值为true,则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 * @return */ public List getSupplyRoomQualityQuotaByDay(String departmentCode, String month, JSONArray dataConfigArr, Set dataIndexSources - ,String startTime, String endTime) { + ,String startTime, String endTime, boolean dataIndexsAsRows) { List list = new ArrayList(); List definitionList = null; List firstDayToLastDay = null; @@ -23495,69 +23501,71 @@ String dataIndexSource = dataConfig.optString("dataIndexSource"); String dataIndexNameForDisplay = dataConfig.optString("dataIndexNameForDisplay"); if(SupplyRoomQualityQuota.DATAINDEXSOURCE_REUSABLEGOODS_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterileArticles, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, sterileArticles, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_REUSABLEGOODS_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_REUSABLEGOODS_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, true); + getSupplyRoomQualityQuota(list, sterileArticlesForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmountForUnqualified, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, washSumAmountForUnqualified, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, washSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WASH_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, true); + getSupplyRoomQualityQuota(list, washSumAmountForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILE_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilizationSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, sterilizationSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILE_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILE_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay,i, firstDayToLastDay, true); + getSupplyRoomQualityQuota(list, sterilizationForQualified, dataIndexNameForDisplay,i, firstDayToLastDay, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WETPACKETS_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_WETPACKETS_RATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, firstDayToLastDay, true); + getSupplyRoomQualityQuota(list, wetPacketAmount, dataIndexNameForDisplay, i, firstDayToLastDay, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, packingSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_QUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingForUnqualified, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, packingForUnqualified, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_PACKING_QUALIFIEDRATIO.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, true); + getSupplyRoomQualityQuota(list, packingForQualified, dataIndexNameForDisplay, i, firstDayToLastDay, true, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_DISPOSABLEGOODS_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, disposablegoodsUnqualifiedAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, disposablegoodsUnqualifiedAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_RECYCLING_TOUSSEERROR.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, recyclingTousseErrorAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, recyclingTousseErrorAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_MISSING_IN_TOUSSE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, missingInTousseAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, missingInTousseAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_INSUFFICIENCY_IN_TOUSSE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, insufficiencyInTousseAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, insufficiencyInTousseAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_TYPE_ERROR_IN_TOUSSE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, typEerrorInTousseAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, typEerrorInTousseAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_CHEMICALINDICATORCARD_INTOUSSE_UNQUALIFIED.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, model_chemicalindicatorcard_intousse_unqualifiedAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, model_chemicalindicatorcard_intousse_unqualifiedAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_ITEM_ID_IS_INCORRECT.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, item_id_is_incorrectAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, item_id_is_incorrectAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILIZATION_FAILURE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, sterilization_failureAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, sterilization_failureAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_ITEM_INVOICE_ERROR.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, item_invoice_errorAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, item_invoice_errorAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_DISPOSABLEGOODS_WASH_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, disposablegoodsWashSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, disposablegoodsWashSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_FOREIGNTOUSSE_WASH_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, foreigntousseWashSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, foreigntousseWashSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_DRESSING_TOTAL.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, dressingSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, dressingSumAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_STERILIZER_USEAMOUNT_BY_GROUP.equals(dataIndexSource)){ if(MapUtils.isNotEmpty(sterilizerUseAmountMap)){ + int j = 0; for (Entry> entry : sterilizerUseAmountMap.entrySet()) { - getSupplyRoomQualityQuota(list, entry.getValue(), dataIndexNameForDisplay + " (" + entry.getKey() + ")", i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, entry.getValue(), dataIndexNameForDisplay + " (" + entry.getKey() + ")", i + j, firstDayToLastDay, false, dataIndexsAsRows); + j++; } } }else if(SupplyRoomQualityQuota.DATAINDEXSOURCE_INCORRECT_CHOICE_AMOUNT_STERILIZATIONMODE.equals(dataIndexSource)){ - getSupplyRoomQualityQuota(list, model_incorrect_choice_sterilizationmodeAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false); + getSupplyRoomQualityQuota(list, model_incorrect_choice_sterilizationmodeAmount, dataIndexNameForDisplay, i, firstDayToLastDay, false, dataIndexsAsRows); } } return list; @@ -23684,12 +23692,12 @@ @Override public List getSupplyRoomQualityQuota( String departmentCode, String queryScope, String queryTime, JSONArray dataConfigArr, Integer beginDateOfMonth, Set dataIndexSources - , String startTime, String endTime) { + , String startTime, String endTime, boolean dataIndexsAsRows) { List list = new ArrayList(); if (SupplyRoomQualityQuota.MONTH.equals(queryScope)) { - list = getSupplyRoomQualityQuotaByMonth(departmentCode, queryTime, dataConfigArr, dataIndexSources); + list = getSupplyRoomQualityQuotaByMonth(departmentCode, queryTime, dataConfigArr, dataIndexSources,dataIndexsAsRows); } else if (SupplyRoomQualityQuota.DAY.equals(queryScope)) { - list = getSupplyRoomQualityQuotaByDay(departmentCode, queryTime, dataConfigArr, dataIndexSources, startTime, endTime); + list = getSupplyRoomQualityQuotaByDay(departmentCode, queryTime, dataConfigArr, dataIndexSources, startTime, endTime, dataIndexsAsRows); } return list; } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r34184 -r34202 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 34184) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 34202) @@ -679,11 +679,17 @@ //指定每个月的第一天 int beginDateOfMonth = dataConfigObj.optInt("beginDateOfMonth", 1); JSONArray dataIndexsArray = dataConfigObj.optJSONArray("dataIndexsArray"); + String reportLayout = dataConfigObj.optString("reportLayout"); + boolean dataIndexsAsRows = false; //如果值为"dataIndexsAsRows",则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 + if("dataIndexsAsRows".equals(reportLayout)){ + dataIndexsAsRows = true; + requestParameters.put("jasperreportName","supplyRoomQualityQuotaDataIndexsAsRows.jasper"); + } for (int i = 0; i < dataIndexsArray.size(); i++) { JSONObject dataConfig = (JSONObject)dataIndexsArray.get(i); dataIndexSources.add(dataConfig.optString("dataIndexSource")); } - return jasperReportManager.getSupplyRoomQualityQuota(departCoding, queryScope, queryTime,dataIndexsArray, beginDateOfMonth, dataIndexSources, startTime, endTime); + return jasperReportManager.getSupplyRoomQualityQuota(departCoding, queryScope, queryTime,dataIndexsArray, beginDateOfMonth, dataIndexSources, startTime, endTime, dataIndexsAsRows); } } else if (reportName.equals("quotaReprot")) {// 十八项指标 String queryYear = StrutsParamUtils.getPraramValue("queryYear", ""); Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r34184 -r34202 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 34184) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 34202) @@ -926,11 +926,12 @@ * @param departmentCode 供应室的科室编码 * @param queryScope 查询的精度(月/天) * @param queryTime 查询的时间范围,如果queryScope=月,则为yyyy,如果queryScope=日,则为yyyy-mm + * @param dataIndexsAsRows 报表布局 如果值为"dataIndexsAsRows",则将每个数据指标作为一行显示,否则每个数据指标作为一列显示 * @return */ public List getSupplyRoomQualityQuota(String departmentCode, String queryScope, String queryTime, JSONArray dataIndexsArray, Integer beginDateOfMonth, Set dataIndexSources - , String startTime, String endTime); + , String startTime, String endTime, boolean dataIndexsAsRows); /** * 获取清洗区人员工作量统计报表的数据