Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r14058 -r14153 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 14058) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 14153) @@ -269,7 +269,7 @@ public List getUseRecordOperatorTotalViewData( String sql) throws SQLException; - public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart); + public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart,String sterilizationPurpose); public List getTousseDeliverDetailData(String startTime,String endTime,String departCoding); Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/sterilizingStoveUseCountView.js =================================================================== diff -u -r12331 -r14153 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/sterilizingStoveUseCountView.js (.../sterilizingStoveUseCountView.js) (revision 12331) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/sterilizingStoveUseCountView.js (.../sterilizingStoveUseCountView.js) (revision 14153) @@ -1,6 +1,7 @@ var entityName = "灭菌炉使用次数统计报表"; var grid; var supplyRoomStore; +var sterilizationPurposeJsonStore; var rd = new Ext.data.JsonReader( { fields : [ @@ -17,6 +18,7 @@ var startTime= $Id('startTime').value; var endTime = $Id('endTime').value; var querySupplyRoom = Ext.getCmp('querySupplyRoom').getRawValue(); + var sterilizationPurpose = Ext.getCmp('sterilizationPurpose').getRawValue(); //不是一级供应室 if(querySupplyRoom == null || querySupplyRoom == ""){ showResult('请选择供应室。'); @@ -27,7 +29,7 @@ removeMask: true }); myMask.show(); - window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=sterilizingStoveUseCount.jasper&startTime="+startTime+"&endTime="+endTime+"&reportName=sterilizingStoveUseCount&querySupplyRoom="+querySupplyRoom,'thisIframe','_self'); + window.open(WWWROOT+"/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do?jasperreportName=sterilizingStoveUseCount.jasper&startTime="+startTime+"&endTime="+endTime+"&reportName=sterilizingStoveUseCount&querySupplyRoom="+querySupplyRoom+"&sterilizationPurpose="+sterilizationPurpose,'thisIframe','_self'); } @@ -49,6 +51,21 @@ }); supplyRoomStore.load(); + //远程方法请求后台查询灭菌目的 + sterilizationPurposeJsonStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!getSterilizationPurposeList.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader( { + fields : [ +// {name : 'id'}, + {name : 'optionText'}, + {name : 'optionValue'} + ] + }) + }); + sterilizationPurposeJsonStore.load(); var form = new Ext.form.FormPanel({ title : '灭菌炉使用次数统计报表', @@ -138,6 +155,26 @@ triggerAction : 'all', anchor : '95%' }] + },{ + layout:'form', + width:300, + labelWidth : 100, + labelSeparator : '选择灭菌目的:', + items:[{ + id : 'sterilizationPurpose', + name : 'sterilizationPurpose', + xtype : 'combo', + valueField : 'optionText', + displayField : 'optionText', + store : sterilizationPurposeJsonStore, + triggerAction : 'all', + mode : 'remote', + listWidth:120, + editable : false, + forceSelection : true, + allowBlank : true, + anchor : '95%' + }] }] }], buttons:[{ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r14058 -r14153 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 14058) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 14153) @@ -687,8 +687,9 @@ String startTime = StrutsParamUtils.getPraramValue("startTime", ""); String endTime = StrutsParamUtils.getPraramValue("endTime", ""); String querySupplyRoom = StrutsParamUtils.getPraramValue("querySupplyRoom", ""); + String sterilizationPurpose = StrutsParamUtils.getPraramValue("sterilizationPurpose", ""); if(StringUtils.isNotBlank(querySupplyRoom) && StringUtils.isNotBlank(startTime)){ - return jasperReportManager.getSterilizingStoveUseCountData(startTime,endTime,querySupplyRoom); + return jasperReportManager.getSterilizingStoveUseCountData(startTime,endTime,querySupplyRoom,sterilizationPurpose); } }else if(reportName.equals("tousseDeliverDetail")){ String startDay = StrutsParamUtils.getPraramValue("startDay", ""); Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r14058 -r14153 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 14058) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 14153) @@ -6825,18 +6825,18 @@ return resultList; } - public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart) { + public List getSterilizingStoveUseCountData(String startTime,String endTime,String depart,String sterilizationPurpose) { List ssList = new ArrayList(); SterilizingStove ss = new SterilizingStove(); List list = new ArrayList(); - Map successMap = getSuccessData(depart, + Map successMap = getSuccessData(depart,sterilizationPurpose, startTime,endTime,SterilizationRecord.STERILIZATION_STATUS_END); - Map failureMap = getSuccessData(depart, + Map failureMap = getSuccessData(depart,sterilizationPurpose, startTime,endTime,SterilizationRecord.STERILIZATION_STATUS_FAILURE); Iterator> iterator = successMap.entrySet().iterator(); @@ -6859,7 +6859,7 @@ return ssList; } - private Map getSuccessData(String depart, + private Map getSuccessData(String depart,String sterilizationPurpose, String startTime, String endTime, String type) { String sql = "select s.name,count(*) from SterilizationRecord sr,Sterilizer s " @@ -6869,10 +6869,13 @@ +" and sr.endDate between "+dateQueryAdapter.dateConverAdapter2( startTime , "yyyy-mm-dd HH24:MI") +" and "+dateQueryAdapter.dateConverAdapter2( endTime - , "yyyy-mm-dd HH24:MI") - +" group by s.name"; + , "yyyy-mm-dd HH24:MI"); + if(StringUtils.isNotBlank(sterilizationPurpose)) + { + sql += " and sr.sterilizationPurpose = '" + sterilizationPurpose + "' "; + } + sql += " group by s.name"; - Map map = new HashMap(); SterilizingStove_child ssc = null; ResultSet resultSet = objectDao.executeSql(sql);