Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/SterilizingStove_child.java =================================================================== diff -u -r12331 -r16946 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/SterilizingStove_child.java (.../SterilizingStove_child.java) (revision 12331) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/SterilizingStove_child.java (.../SterilizingStove_child.java) (revision 16946) @@ -6,6 +6,22 @@ private String sterilizerName; private Integer successCount; private Integer failureCount; + /** + * 灭菌时间 + */ + private String sterilizaTime; + /** + * 灭菌次数 + */ + private Integer totalSterilizaCount = 0; + /** + * 生物监测次数 + */ + private Integer biologicalMonitoringCount = 0; + /** + * 显示统计次数的字符串 + */ + private String countStr = ""; public String getDepartName() { return departName; @@ -31,7 +47,28 @@ public void setFailureCount(Integer failureCount) { this.failureCount = failureCount; } - - - + public String getSterilizaTime() { + return sterilizaTime; + } + public void setSterilizaTime(String sterilizaTime) { + this.sterilizaTime = sterilizaTime; + } + public Integer getTotalSterilizaCount() { + return totalSterilizaCount; + } + public void setTotalSterilizaCount(Integer totalSterilizaCount) { + this.totalSterilizaCount = totalSterilizaCount; + } + public Integer getBiologicalMonitoringCount() { + return biologicalMonitoringCount; + } + public void setBiologicalMonitoringCount(Integer biologicalMonitoringCount) { + this.biologicalMonitoringCount = biologicalMonitoringCount; + } + public String getCountStr() { + return countStr; + } + public void setCountStr(String countStr) { + this.countStr = countStr; + } } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r16943 -r16946 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 16943) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 16946) @@ -42,6 +42,7 @@ import com.forgon.disinfectsystem.jasperreports.javabeansource.ReturnGoodsVo; import com.forgon.disinfectsystem.jasperreports.javabeansource.SignGoodsItemVo; import com.forgon.disinfectsystem.jasperreports.javabeansource.SterilizingStove; +import com.forgon.disinfectsystem.jasperreports.javabeansource.SterilizingStove_child; import com.forgon.disinfectsystem.jasperreports.javabeansource.SummaryUseRecordForGoodsVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.TousseDeliverDetailVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.TousseWorkLoadVO; @@ -288,7 +289,6 @@ */ public List getUseRecordOperatorTotalViewData( String sql) throws SQLException; - /** * 灭菌记录使用次数统计报表 * @param startTime 开始时间 @@ -298,7 +298,17 @@ * @param sterilizationPurpose 灭菌目的 * @return */ - public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart , String departCoding,String sterilizationPurpose); + public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart,String departCoding,String sterilizationPurpose); + /** + * 获取灭菌炉使用次数报表在一个时间段内明细的数据 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param depart 科室名称 + * @param departCoding 科室编码 + * @param sterilizationPurpose 灭菌目的 + * @return + */ + public List getSterilizingStoveUseCountDetailData(String startTime,String endTime,String depart,String departCoding,String sterilizationPurpose); public List getTousseDeliverDetailData(String startTime,String endTime,String departCoding); Index: ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCountDetail.jasper =================================================================== diff -u Binary files differ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r16943 -r16946 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 16943) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 16946) @@ -8789,11 +8789,11 @@ } return resultList; } - - public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart , String departCoding,String sterilizationPurpose) { - - - + /** + * 灭菌记录使用次数统计报表,在一个时间段内的汇总数据 + */ + public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart, + String departCoding, String sterilizationPurpose) { List ssList = new ArrayList(); SterilizingStove ss = new SterilizingStove(); List list = new ArrayList(); @@ -8835,7 +8835,7 @@ , "yyyy-mm-dd HH24:MI") +" and "+dateQueryAdapter.dateConverAdapter2( endTime , "yyyy-mm-dd HH24:MI"); - if(StringUtils.isNotBlank(sterilizationPurpose)) + if(StringUtils.isNotBlank(sterilizationPurpose) && !"全部".equals(sterilizationPurpose)) { sql += " and sr.sterilizationPurpose = '" + sterilizationPurpose + "' "; } @@ -8865,8 +8865,67 @@ } return map; } - /** + * 获取灭菌炉使用次数报表在一个时间段内明细的数据 + */ + public List getSterilizingStoveUseCountDetailData(String startTime,String endTime,String depart,String departCoding,String sterilizationPurpose){ + List scList = new ArrayList(); + Map keyResultMap = new HashMap(); + try{ + String sql = " where po.endDate between " + + dateQueryAdapter.dateConverAdapter2( startTime + , "yyyy-mm-dd HH24:MI") + + " and " + "" + + dateQueryAdapter.dateConverAdapter2( endTime + , "yyyy-mm-dd HH24:MI") + + (StringUtils.isNotBlank(departCoding) ? (" and po.sterilizer.orgUnitCoding = '"+departCoding+"'") : (" and po.sterilizer.department = '"+depart+"'")); + if(StringUtils.isNotBlank(sterilizationPurpose) && !"全部".equals(sterilizationPurpose)) + { + sql += " and po.sterilizationPurpose = '" + sterilizationPurpose + "' "; + } + List srList = objectDao.findBySql(SterilizationRecord.class.getSimpleName(), sql); + for (SterilizationRecord sr : srList) { + String dateStr = ""; + if(sr.getEndDate() != null){ + dateStr = Constants.SIMPLEDATEFORMAT_YYYYMMDD.format(sr.getEndDate()); + } + String key = null; + if(sr.getSterilizer() != null){ + key = dateStr + sr.getSterilizer().getName(); + if(StringUtils.isNotBlank(key)){ + SterilizingStove_child sc = null; + if(keyResultMap.containsKey(key)){ + sc = keyResultMap.get(key); + }else{ + sc = new SterilizingStove_child(); + sc.setSterilizerName(sr.getSterilizer().getName()); + } + int curCount = sc.getTotalSterilizaCount(); + sc.setTotalSterilizaCount(curCount + 1); + sc.setSterilizaTime(dateStr); + String biologicalMonitoringStatus = sr.getBiologicalMonitoringStatus(); + if(biologicalMonitoringStatus != null && !SterilizationRecord.BIOLOGICALMONITORING_STATUS_NOTDO.equals(biologicalMonitoringStatus)){ + // 如果有做生物监测,增加生物监测次数 + int bmCount = sc.getBiologicalMonitoringCount(); + sc.setBiologicalMonitoringCount(bmCount + 1); + } + int bioloicalMonitoringCount = sc.getBiologicalMonitoringCount(); + if(bioloicalMonitoringCount > 0){ + sc.setCountStr(sc.getTotalSterilizaCount() + "/" + bioloicalMonitoringCount); + }else{ + sc.setCountStr(sc.getTotalSterilizaCount() + ""); + } + keyResultMap.put(key, sc); + } + } + } + }catch(Exception ex){ + ex.printStackTrace(); + } + scList = (List)Arrays.asList(keyResultMap.values().toArray()); + return scList; + } + /** * 这个方法只在getTousseDeliverDetailData内被调用,解决数据库的in()函数内的参数个数有限制 * */ Index: ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCountDetail.jrxml =================================================================== diff -u --- ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCountDetail.jrxml (revision 0) +++ ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCountDetail.jrxml (revision 16946) @@ -0,0 +1,182 @@ + + + + + + + + + +