Index: ssts-web/src/main/webapp/disinfectsystem/config/xjjqzyy/config.js =================================================================== diff -u -r31662 -r36266 --- ssts-web/src/main/webapp/disinfectsystem/config/xjjqzyy/config.js (.../config.js) (revision 31662) +++ ssts-web/src/main/webapp/disinfectsystem/config/xjjqzyy/config.js (.../config.js) (revision 36266) @@ -236,6 +236,8 @@ notAllowBlankFieldsOnUseRecordPage:["circuitNurse","washHandNurse","operationRoom","hospitalNum"], //启用病区设置功能 enablePatientAreaSetting:true, + //启用器械包周转天数统计报表 + enableTousseTournoverDaysStatisticsReport:true, //禁用基数限制 disableCardinalNumLimit:true } \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r36254 -r36266 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 36254) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 36266) @@ -673,7 +673,8 @@ {hidden :!(sstsConfig.enableNewYearWorkloadReport) || SSTS_YearWorkload,text:"消毒供应中心年度工作量统计报表(新)",href:WWWROOT+'/disinfectsystem/report/cssdWorkloadCountByDate/cssdWorkloadMainReport.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_YearWorkload,text:"消毒供应中心年度工作量统计报表",href:WWWROOT+'/disinfectsystem/reportforms/yearWorkloadReportView2.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_StatisticalWorkload,text:(sstsConfig.strengthenStatisticalWorkload ? "消毒供应中心员工绩效评分表" : (sstsConfig.statisticalWorkloadName ? sstsConfig.statisticalWorkloadName : "消毒供应中心员工工作量统计报表")),href:WWWROOT+'/disinfectsystem/reportforms/statisticalWorkloadView.jsp',hrefTarget:linkTarget,leaf:true}, - {hidden :!((sstsConfig.hasOwnProperty('enableWorkloadScoreStatisticReport')) && sstsConfig.enableWorkloadScoreStatisticReport),text:"工作量积分统计报表",href:WWWROOT+'/disinfectsystem/reportforms/workloadScoreStatisticView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :!((sstsConfig.hasOwnProperty('enableTousseTournoverDaysStatisticsReport')) && sstsConfig.enableTousseTournoverDaysStatisticsReport),text:"器械包周转天数统计报表",href:WWWROOT+'/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :!((sstsConfig.hasOwnProperty('enableWorkloadScoreStatisticReport')) && sstsConfig.enableWorkloadScoreStatisticReport),text:"工作量积分统计报表",href:WWWROOT+'/disinfectsystem/reportforms/workloadScoreStatisticView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :!(sstsConfig.enableCSSDWorkloadReportForTangshanWorkersHospital && supplyRoomUser),text:"消毒供应室工作量统计报表",href:WWWROOT+'/disinfectsystem/reportforms/cssdWorkloadReportView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_USERECORD_TOTAL,text:"使用记录录入统计报表",href:WWWROOT+'/disinfectsystem/reportforms/useRecordTotalView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_USERECORD_Item,text:"使用记录录入明细报表",href:WWWROOT+'/disinfectsystem/reportforms/useRecordItemView.jsp',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.jsp (revision 36266) @@ -0,0 +1,52 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@ include file="/common/taglibs.jsp"%> + + + +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<% + SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy"); + request.setAttribute("newYear", dateFormat.format(new Date())); + %> + + + + +器械包周转天数统计报表 + + + + + + + +
+
+
+ + +
+ + +
+ + + + + + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/tousseTournoverDaysStatisticsReport.js (revision 36266) @@ -0,0 +1,279 @@ +var entityName = "器械包周转天数统计报表"; + +var myMask; + +function reloadReport() { + var startYear = $Id('startYear').value; + var endYear = $Id('endYear').value; + var orgUnitCoding = Ext.getCmp('querySupplyRoom').getValue(); + var packageTypes = Ext.getCmp('packageTypes').getRawValue(); + if(packageTypes == '全部'){ + packageTypes = ''; + } + myMask = new Ext.LoadMask(Ext.getBody(), { + msg: '正在加载,请稍候!', + removeMask: true + }); + if (orgUnitCoding == null || orgUnitCoding == "") { + showResult("请选择供应室。"); + return; + } + + myMask.show(); + + var url = WWWROOT + '/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do'; + var params = { + jasperreportName: 'tousseTournoverDaysStatisticsReport.jasper', + orgUnitCoding: orgUnitCoding, + startYear: startYear, + endYear: endYear, + packageTypes: packageTypes, + reportName: 'tousseTournoverDaysStatisticsReport' + } + + searchReport(url, params); +} + +Ext.onReady(function () { + Ext.QuickTips.init(); + var supplyRoomRecord = Ext.data.Record.create([ + { name: 'departCode', type: 'string' }, + { name: 'name', type: 'string' } + ]); + + var supplyRoomStore = new Ext.data.SimpleStore({ + fields: ['departCode', 'name'] + }); + + var supplyRoomRemoteStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!loadSupplyRoomConfigRoom.do', + method: 'POST' + }), + baseParams: { type: "12" }, + reader: new Ext.data.JsonReader({ + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'departCode', mapping: 'departId' }, + { name: 'name', mapping: 'name' } + ] + }), + listeners: { + beforeload: function () { + loadMask = new Ext.LoadMask(Ext.getBody(), { + msg: '正在加载供应室...,请稍候!', removeMask: true + }); + loadMask.show(); + }, + load: function (thiz, records, options) { + loadMask.hide(); + var currentOrgUnitIsSupplyRoom = false; + if (records && records.length > 0) { + for (var i = 0; i < records.length; i++) { + var supplyRoomData = records[i].data; + var departCodeTemp = supplyRoomData.departCode; + //如果没有查看其它供应室权限时,只显示是当前用户的科室 + if (SSTS_View_All_Supply_Room_Report) { + if (departCodeTemp == currentOrgUnitCoding) { + supplyRoomStore.add(new supplyRoomRecord({ 'departCode': departCodeTemp, 'name': supplyRoomData.name })); + currentOrgUnitIsSupplyRoom = true; + } + } else { + supplyRoomStore.add(new supplyRoomRecord({ 'departCode': departCodeTemp, 'name': supplyRoomData.name })); + if (departCodeTemp == currentOrgUnitCoding) { + currentOrgUnitIsSupplyRoom = true; + } + } + } + } + if (supplyRoomStore.getCount() > 1) { + supplyRoomStore.insert(0, new supplyRoomRecord({ 'departCode': ALL, 'name': ALL })); + } + //最后使供应室下拉框默认选中用户所属的当前的科室(前提是用户所属的当前的科室也在选项中) + if (currentOrgUnitIsSupplyRoom) { + Ext.getCmp('querySupplyRoom').setValue(currentOrgUnitCoding); + } + } + } + }); + + //包装类型 + var packageTypeJsonStore = new Ext.data.SimpleStore({ + fields: ['typeName'], + url: WWWROOT + '/disinfectSystem/baseData/expirationDateInfoAction!getPackageType.do', + listeners: { + load: function (store) { + var data = { 'typeName': '全部' }; + var rs = [new Ext.data.Record(data)]; + store.insert(0, rs); + Ext.getCmp('packageTypes').setValue('全部'); + } + } + }); + + packageTypeJsonStore.load() + + var form = new Ext.form.FormPanel({ + title: entityName, + region: 'north', + labelAlign: 'right', + buttonAlign: 'center', + collapsible: true, + collapseMode: 'mini', + split: true, + border: 0, + frame: true, + bodyStyle: 'padding:0px auto;margin:0px', + height: 110, + labelWidth: 90, + items: [{ + layout: 'column', + height: 40, + items: [{ + columnWidth: .2, + layout: 'form', + items: [ + new Ext.ux.MonthField({ + id: 'startYear', + name: 'startYear', + fieldLabel: '开始年份', + readOnly: true, + anchor: '95%', + format: 'Y', + value: startYear + }) + ] + }, { + columnWidth: .2, + layout: 'form', + items: [ + new Ext.ux.MonthField({ + id: 'endYear', + name: 'endYear', + fieldLabel: '结束年份', + readOnly: true, + anchor: '95%', + format: 'Y', + value: newYear + }) + ] + }, { + columnWidth: .2, + layout: 'form', + labelSeparator: '选择供应室:', + items: [{ + xtype: 'multiSelect', + id: 'querySupplyRoom', + name: 'querySupplyRoom', + valueField: 'departCode', + displayField: 'name', + minChars: 0, + allowBlank: true, + editable: false, + store: supplyRoomStore, + forceSelection: false, + mode: 'local', + triggerAction: 'all', + lazyInit: true, + typeAhead: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('departCode') == ALL) { + if (record.get('checked')) { + combo.selectAll(); + } else { + combo.deselectAll(); + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('departCode') != ALL && !record.get(this.checkField)) { + selectAll = false; + return; + } + }, combo); + + var all = combo.store.getAt(0); + if (selectAll) { + all.set(combo.checkField, true); + } else { + all.set(combo.checkField, false); + } + combo.setValue(combo.getCheckedValue()); + } + } + }] + }, { + columnWidth: .2, + layout: 'form', + items: [{ + xtype: 'multiSelect', + fieldLabel: "包装类型", + valueField: 'typeName', + displayField: 'typeName', + store: packageTypeJsonStore, + triggerAction: 'all', + name: "packageTypes", + id: "packageTypes", + editable: false, + allowBlank: true, + anchor: '95%', + value:'全部', + listeners: { + select: function (combo, record, index) { + if (record.get('typeName') == '全部') { + if (record.get('checked')) { + combo.selectAll() + } else { + combo.deselectAll() + } + } + } + } + }] + }] + }], + buttons: [{ + text: '查询', + minWidth: 70, + iconCls: 'icon_search', + handler: function () { + reloadReport(); + } + }, { + text: '重置', + minWidth: 70, + iconCls: 'icon_set', + handler: function () { + $Id('startYear').value = startYear; + $Id('endYear').value = newYear; + Ext.getCmp('packageTypes').setValue('全部'); + } + }] + }); + + var reportForm = new Ext.Panel({ + frame: false,//渲染面板 + autoScroll: true,//自动显示滚动条 + collapsible: true,//允许展开和收缩 + bodyPadding: 5, + html: '' + }); + + var viewport = new Ext.Viewport({ + layout: 'border', + items: [form, { + id: 'reportPanel', + region: 'center', + margins: '0 0 0 0', + layout: 'fit', + items: reportForm + }] + }); + + supplyRoomRemoteStore.load(); +}); \ No newline at end of file