Index: ssts-web/src/main/webapp/jasperRtp/yearWorkloadReport2.jrxml =================================================================== diff -u -r12607 -r13628 --- ssts-web/src/main/webapp/jasperRtp/yearWorkloadReport2.jrxml (.../yearWorkloadReport2.jrxml) (revision 12607) +++ ssts-web/src/main/webapp/jasperRtp/yearWorkloadReport2.jrxml (.../yearWorkloadReport2.jrxml) (revision 13628) @@ -65,9 +65,9 @@ - + - + @@ -95,6 +95,20 @@ + + + + + + + + + + + + + + @@ -164,6 +178,12 @@ + + + + + + @@ -178,11 +198,25 @@ - + + + + + + + + + + + + + + + Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r13536 -r13628 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 13536) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 13628) @@ -5219,8 +5219,17 @@ List list = new ArrayList(); - //统计合计、平均值 - //key = columnSequence + columnName ; value = 总数 + List groupList = new ArrayList(); + String ownGroupSql = "select distinct ownGroup from Sterilizer"; + ResultSet rs2 = objectDao.executeSql(ownGroupSql); + try { + while(rs2.next()){ + groupList.add(rs2.getString(1)); + } + } catch (SQLException e1) { + e1.printStackTrace(); + } + Map map = new HashMap(); for (int i = 1; i <= 12; i++) { @@ -5261,38 +5270,36 @@ YearWorkloadBean bean = new YearWorkloadBean(i,month, 1, columnName1, amount); list.add(bean); - String key1 = ("1#@" + columnName1); - setColumnTotalAmount(map,key1,amount); - String columnName2 = "处理外来手术器械总件数"; YearWorkloadBean bean2 = new YearWorkloadBean(i,month, 2, columnName2, amount2); list.add(bean2); - String key2 = ("2#@" + columnName2); - setColumnTotalAmount(map,key2,amount2); - - String sql3 = "select s.ownGroup,count(*) from SterilizationRecord sr,Sterilizer s where " - + " sr.sterilizer_id = s.id and (sr.status = '灭菌完成' or sr.status = '灭菌失败') and sr.enddate between " - + startDay + " and " + endDay - + " and sr.orgUnitCoding = '"+querySupplyRoom+"'" - + " group by s.ownGroup"; - ResultSet rs3 = objectDao.executeSql(sql3); - if (rs3 != null) { - try { - while (rs3.next()) { - String columnName3 = "灭菌器使用炉次 ("+rs3.getString(1)+")"; - YearWorkloadBean bean3 = new YearWorkloadBean(i,month, 3, columnName3, rs3.getInt(2)); - list.add(bean3); - - String key3 = ("3#@" + columnName3); - setColumnTotalAmount(map,key3,rs3.getInt(2)); + if(groupList.size() > 0){ + for (String ownGroup : groupList) { + String sql3 = "select count(*) from SterilizationRecord sr,Sterilizer s where " + + " sr.sterilizer_id = s.id and (sr.status = '灭菌完成' or sr.status = '灭菌失败') and sr.enddate between " + + startDay + " and " + endDay + + " and sr.orgUnitCoding = '"+querySupplyRoom+"'" + + " and s.ownGroup = '" + ownGroup + "'"; + ResultSet rs3 = objectDao.executeSql(sql3); + String columnName3 = "灭菌器使用炉次 (" + ownGroup + ")"; + Integer amount3 = 0; + if (rs3 != null) { + try { + while (rs3.next()) { + amount3 = rs3.getInt(1); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(rs3); + } } - } catch (SQLException e) { - e.printStackTrace(); - }finally { - DatabaseUtil.closeResultSetAndStatement(rs3); + YearWorkloadBean bean3 = new YearWorkloadBean(i,month, 3, columnName3, amount3); + list.add(bean3); } } + String sql4 = "select count(*) as invoiceAmount from invoice i,tousseinstance t " + "where i.sendTime between " + startDay + " and " + endDay + " and t.invoice_id = i.id" + " and i.orgUnitCoding = '"+querySupplyRoom+"'"; @@ -5314,30 +5321,10 @@ String columnName4 = "器械包发放数量"; YearWorkloadBean bean4 = new YearWorkloadBean(i,month, 4, columnName4, amount4); list.add(bean4); - String key4 = ("4#@" + columnName4); - setColumnTotalAmount(map,key4,amount4); } - - if(map.size() > 0){ - for (String key : map.keySet()) { - String [] columnArray = key.split("#@"); - YearWorkloadBean bean5 = new YearWorkloadBean(13,"每月平均值", Integer.parseInt(columnArray[0]), columnArray[1], map.get(key)/12); - list.add(bean5); - YearWorkloadBean bean6 = new YearWorkloadBean(14,"合计", Integer.parseInt(columnArray[0]), columnArray[1], map.get(key)); - list.add(bean6); - } - } return list; } - private void setColumnTotalAmount(Map map,String key,Integer amount){ - Integer t_amount = map.get(key); - if(t_amount == null){ - t_amount = 0; - } - map.put(key, t_amount + amount); - } - @Override public List getYearUserWorkloadReport(String year,String querySupplyRoom) { Index: ssts-web/src/main/webapp/jasperRtp/yearWorkloadReport2.jasper =================================================================== diff -u -r12607 -r13628 Binary files differ