Index: ssts-web/src/main/webapp/disinfectsystem/config/hbstsgryy/config.js =================================================================== diff -u -r34492 -r34787 --- ssts-web/src/main/webapp/disinfectsystem/config/hbstsgryy/config.js (.../config.js) (revision 34492) +++ ssts-web/src/main/webapp/disinfectsystem/config/hbstsgryy/config.js (.../config.js) (revision 34787) @@ -152,6 +152,8 @@ showAuxiliaryInvoiceBtn:true, //启用器械包定义的积分系数字段 enableIntegralOfTousseDefinition:true, + //启用唐山市工人医院消毒供应室工作量统计报表 + enableCSSDWorkloadReportForTangshanWorkersHospital:true, //启用消毒供应中心员工绩效评分表按照包定义的积分系数字段评分 enableScoreByIntegralFieldOfTousseDefinitionInStaffStatisticalWorkloadReport:true } \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r34760 -r34787 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 34760) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 34787) @@ -667,7 +667,8 @@ {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 :SSTS_USERECORD_TOTAL,text:"使用记录录入统计报表",href:WWWROOT+'/disinfectsystem/reportforms/useRecordTotalView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :!sstsConfig.enableCSSDWorkloadReportForTangshanWorkersHospital,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}, {hidden :SSTS_USERECORD_OperatorTotal,text:"使用记录人员汇总报表",href:WWWROOT+'/disinfectsystem/reportforms/useRecordOperatorTotalView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_USERECORD_ForGoods,text:"使用记录物品分类汇总表",href:WWWROOT+'/disinfectsystem/reportforms/summaryUseRecordForGoodsView.jsp',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/webapp/disinfectsystem/config/hbstsgryy/menu/menuconfigure.js =================================================================== diff -u -r34534 -r34787 --- ssts-web/src/main/webapp/disinfectsystem/config/hbstsgryy/menu/menuconfigure.js (.../menuconfigure.js) (revision 34534) +++ ssts-web/src/main/webapp/disinfectsystem/config/hbstsgryy/menu/menuconfigure.js (.../menuconfigure.js) (revision 34787) @@ -579,7 +579,8 @@ {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 :SSTS_USERECORD_TOTAL,text:"使用记录录入统计报表",href:WWWROOT+'/disinfectsystem/reportforms/useRecordTotalView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :!sstsConfig.enableCSSDWorkloadReportForTangshanWorkersHospital,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}, {hidden :SSTS_USERECORD_OperatorTotal,text:"使用记录人员汇总报表",href:WWWROOT+'/disinfectsystem/reportforms/useRecordOperatorTotalView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_USERECORD_ForGoods,text:"使用记录物品分类汇总表",href:WWWROOT+'/disinfectsystem/reportforms/summaryUseRecordForGoodsView.jsp',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/cssdWorkloadReportView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/reportforms/cssdWorkloadReportView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/cssdWorkloadReportView.jsp (revision 34787) @@ -0,0 +1,63 @@ +<%@page contentType="text/html; charset=UTF-8"%> +<%@include file="/common/taglibs.jsp"%> +<%@include file="/common/includeExtJsAndCss.jsp"%> +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition"%> + + + + + + + + + + + + + + + + + + +消毒供应室工作量统计报表 + + + + + + + +
+
+
+ + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/cssdWorkloadReportView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/reportforms/cssdWorkloadReportView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/cssdWorkloadReportView.js (revision 34787) @@ -0,0 +1,390 @@ +//消毒供应中心员工绩效评分表 +var entityName = '消毒供应室工作量统计报表'; +var form; + +/** + * 加载报表的数据 + * + */ +var myMask; +function reloadReport() { + if (!form.getForm().isValid()) { + showResult('请正确填写表单各值'); + return false; + } + + var startDate = $Id('startDate').value; + var endDate = $Id('endDate').value; + var departCoding = Ext.getCmp('querySupplyRoom').getValue(); + var taskGroup = Ext.getCmp('taskGroup').getValue(); + var departGroup = Ext.getCmp('departGroup').getValue(); + var tousseTypes = Ext.getCmp('tousseType').getValue(); + if (departCoding.indexOf(ALL) == 0) { + departCoding = ""; + } + if (taskGroup.indexOf(ALL) == 0) { + taskGroup = ""; + } + if (departGroup.indexOf('all') == 0) { + departGroup = ""; + } + if (tousseTypes.indexOf('全部') == 0) { + tousseTypes = ""; + } + var jasperreportName = 'cssdWorkloadReportForTangshanWorkersHospital.jasper'; + myMask = new Ext.LoadMask(Ext.getBody(), { + msg: '正在查询中...,请稍候!', + removeMask: true + }); + myMask.show(); + + var url = WWWROOT + '/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do'; + var params = { + jasperreportName: jasperreportName, + querySupplyRoom: departCoding, + tousseTypes: tousseTypes, + departGroup: departGroup, + startDate: startDate, + endDate: endDate, + taskGroup: taskGroup, + reportName: 'cssdWorkloadReportForTangshanWorkersHospital' + } + searchReport(url, params); +} + + +Ext.onReady(function () { + Ext.QuickTips.init(); + //任务组数据源 + var taskGroupStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/taskGroupAction!getTaskGroupList.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'name', mapping: 'name' } + ]), + listeners: { + beforeload: function () { + var departCoding = ''; + if (Ext.getCmp("querySupplyRoom").getValue() !== '全部') { + departCoding = Ext.getCmp("querySupplyRoom").getValue(); + } + taskGroupStore.baseParams["departCoding"] = departCoding; + }, + load: function (thiz, records, options) { + if (taskGroupStore.getCount() > 1) { + taskGroupStore.insert(0, new testRecord({ 'name': ALL })); + Ext.getCmp('taskGroup').setValue(ALL); + } + } + } + }); + var testRecord = Ext.data.Record.create([ + { name: 'name', type: 'string' } + ]); + //20181225 + var supplyRoomRecord = Ext.data.Record.create([ + { name: 'departCode', type: 'string' }, + { name: 'name', type: 'string' } + ]); + + var supplyRoomStore = new Ext.data.SimpleStore({ + fields: ['departCode', 'name'] + }); + // var loadMask; + /** + * “供应室combo”的store,仅用于普通的ajax请求的数据源 + */ + 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(ALL); + taskGroupStore.load() + } + } + } + }); + supplyRoomRemoteStore.load();//20181225 end + var dt = new Date(); + var fullYear = dt.getFullYear(); + var startDayofMonth = fullYear + "/" + (dt.getMonth() + 1); + /** + * 器械包combo的store + */ + var tousseTypeStore = new Ext.data.SimpleStore({ + fields: ['value'], + data: [[ALL], [INSIDE], [DRESSING], [COMBO], [DISINFECTION], [FOREIGNPROXY], [FOREIGN], [SPLIT], [CUSTOM], [MATERIAL]] + }); + + //科室分组 + var departGroupStore = new Ext.data.SimpleStore({ + fields: ['id', 'shift', 'departCode'], + url: WWWROOT + '/disinfectSystem/invoiceDepartmentAction!loadDepartGroup.do?needAll=true', + listeners: { + load: function () { + Ext.getCmp('departGroup').setValue('all'); + } + } + }); + departGroupStore.load(); + + 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',// padding:1px;padding-top:5px; + height: 140, + labelWidth: 90, + items: [{ + layout: 'column', + items: [{ + columnWidth: .3, + layout: 'form', + items: [{ + xtype: 'datefield', + fieldLabel: '开始时间', + id: 'startDate', + name: 'startDate', + editable: false, + format: 'Y-m', + altFormats: 'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + allowBlank: false, + anchor: '95%', + value: new Date(startDayofMonth), + listeners: { + specialkey: function (field, e) { + if (e.getKey() == Ext.EventObject.ENTER) { + var isOK = field.validate(); + if (isOK) { + var value = field.getValue(); + field.setValue(value); + var endDate = Ext.getCmp('endDate'); + endDate.setValue(''); + endDate.focus(); + } + + } + } + } + }] + }, { + columnWidth: .3, + layout: 'form', + items: [{ + xtype: 'datefield', + fieldLabel: '结束时间', + id: 'endDate', + name: 'endDate', + editable: false, + format: 'Y-m', + altFormats: 'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + allowBlank: false, + anchor: '95%', + value: new Date(startDayofMonth), + theHours: 23, + theMinutes: 59, + listeners: { + specialkey: function (field, e) { + if (e.getKey() == Ext.EventObject.ENTER) { + var isOK = field.validate(); + if (isOK) { + var value = field.getValue(); + field.setValue(value); + } + + } + } + } + }] + }, { + columnWidth: .3, + layout: 'form', + //labelSeparator : '选择供应室:', + items: [{//20181225 + xtype: 'combo', + fieldLabel: '选择供应室', + id: 'querySupplyRoom', + name: 'querySupplyRoom', + valueField: 'departCode', + displayField: 'name', + minChars: 0, + listWidth: 260, + allowBlank: true, + editable: false, + store: supplyRoomStore, + forceSelection: false, + mode: 'local', + triggerAction: 'all', + lazyInit: true, + typeAhead: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + taskGroupStore.reload(); + } + } + }] + }, { + columnWidth: .3, + layout: 'form', + items: [{ + xtype: 'multiSelect', + fieldLabel: "器械包类型", + valueField: 'value', + displayField: 'value', + store: tousseTypeStore, + triggerAction: 'all', + id: 'tousseType', + name: 'tousseType', + readOnly: true, + mode: 'local', + anchor: '95%', + listeners: { + render: function (thiz) { + thiz.selectAll(); + } + } + }] + }, { + columnWidth: .3, + layout: 'form', + items: [{ + xtype: 'multiSelect', + fieldLabel: "科室分组", + id: 'departGroup', + name: 'departGroup', + valueField: 'id', + displayField: 'shift', + minChars: 0, + queryParam: 'spell', + allowBlank: true, + store: departGroupStore, + multiSelectIsClear: false, + editable: false, + mode: 'remote', + triggerAction: 'all', + anchor: '95%' + }] + }, { + columnWidth: .3, + layout: 'form', + items: [{ + fieldLabel: '任务组', + xtype: 'multiSelect', + id: 'taskGroup', + name: 'taskGroup', + queryParam: 'spell', + minChars: 0, + valueField: 'name', + displayField: 'name', + matchFieldWidth: false, + listConfig: { width: 600 }, + store: taskGroupStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + editable: false, + allowBlank: true, + anchor: '95%' + }] + }] + }], + buttons: [{ + xtype: 'button', + text: '查询', + minWidth: 70, + iconCls: 'icon_search', + handler: function () { + reloadReport(); + } + }, { + xtype: 'button', + text: '重置', + minWidth: 70, + iconCls: 'icon_set', + handler: function () { + Ext.getCmp('startDate').setValue(new Date(startDayofMonth)) + Ext.getCmp('endDate').setValue(new Date(startDayofMonth)) + Ext.getCmp('querySupplyRoom').setValue(ALL); + Ext.getCmp('taskGroup').setValue(ALL); + Ext.getCmp('departGroup').setValue('all'); + Ext.getCmp('tousseType').setValue('全部'); + } + }] + }); + + + var reportForm = new Ext.Panel({ + frame: false,//渲染面板 + autoScroll: true,//自动显示滚动条 + collapsible: true,//允许展开和收缩 + bodyPadding: 5, + html: '' + + }); + + var viewport = new Ext.Viewport({ + layout: 'border', + items: [form, { + region: 'center', + margins: '0 0 0 0', + layout: 'fit', + items: reportForm + }] + }); +}); \ No newline at end of file