Index: ssts-web/src/main/webapp/homepage/menuconfigure.js
===================================================================
diff -u -r41383 -r41497
--- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 41383)
+++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 41497)
@@ -768,6 +768,7 @@
{hidden :SSTS_WashingMachineStoveUseCountReport,text:"清洗机使用次数统计报表",href:WWWROOT+'/disinfectsystem/reportforms/washingMachineStoveUseCountView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_SterilizingStoveUseCountReport,text:"灭菌炉使用次数统计报表",href:WWWROOT+'/disinfectsystem/reportforms/sterilizingStoveUseCountView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_TousseWorkLoadTotalReport,text:(sstsConfig.tousseWorkLoadName ? sstsConfig.tousseWorkLoadName : "器械包工作量统计报表"),href:WWWROOT+'/disinfectsystem/reportforms/tousseWorkLoadView.jsp',hrefTarget:linkTarget,leaf:true},
+ {hidden :!sstsConfig.enableInstrumentSetDemandReport,text:'手术器械包需求量分析报表',href:WWWROOT+'/disinfectsystem/reportforms/instrumentSetDemandReport.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :!((sstsConfig.hasOwnProperty('enableRiskLevelOfTousseDefinition')) && sstsConfig.enableRiskLevelOfTousseDefinition),text:"物品风险级别统计报表",href:WWWROOT+'/disinfectsystem/reportforms/goodsRiskLevelReport.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_CleaningAreaWorkloadForUser,text:'清洗区人员工作量统计报表',href:WWWROOT+'/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_WaitPackingTaskReport,text:'待装配任务工作表',href:WWWROOT+'/disinfectsystem/reportforms/waitPackingTaskReport.jsp',hrefTarget:linkTarget,leaf:true},
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/instrumentSetDemandReport.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/instrumentSetDemandReport.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/instrumentSetDemandReport.jsp (revision 41497)
@@ -0,0 +1,49 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%@ include file="/common/taglibs.jsp"%>
+<%@page import="java.util.Date"%>
+<%@page import="java.text.SimpleDateFormat"%>
+
+
+
+<%@ include file="/common/includeExtJsAndCss.jsp"%>
+<%@ include file="/common/includeExtJs4_2.jsp"%>
+
+
+
+
+
+
+
+
+
+<%
+ SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd");
+ request.setAttribute("newDate", dateFormat.format(new Date()));
+ %>
+
+
+手术器械包需求量分析报表
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/config/zsykzx/config.js
===================================================================
diff -u -r41467 -r41497
--- ssts-web/src/main/webapp/disinfectsystem/config/zsykzx/config.js (.../config.js) (revision 41467)
+++ ssts-web/src/main/webapp/disinfectsystem/config/zsykzx/config.js (.../config.js) (revision 41497)
@@ -272,6 +272,8 @@
sterilizationConsumablesQuantityConsumptionMethod:1,
// 是否启用未录入使用记录器械包报表 ZSYKEQ-26
enableUnusedTousseInstanceReport: true,
+ //启用器械包需求量分析报表
+ enableInstrumentSetDemandReport:true,
// 是否启用未及时回收处理的器械包统计报表 ZSYKEQ-12
enableUseRecordRecyclingDelayReport: true
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/instrumentSetDemandReport.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/instrumentSetDemandReport.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/instrumentSetDemandReport.js (revision 41497)
@@ -0,0 +1,284 @@
+var entityName = "手术器械包需求量分析报表";
+
+function reloadReport() {
+ var startDate = $Id('startDate').value;
+ var endDate = $Id('endDate').value;
+ var depart = Ext.getCmp('depart').getValue();
+ var tousseName = Ext.getCmp('tousseName').getRawValue();
+ var brancheOfHospitalName = Ext.getCmp('brancheOfHospitalIds').getRawValue();
+ var brancheOfHospitalIds = Ext.getCmp('brancheOfHospitalIds').getValue();
+ var onlyQueryGap = Ext.getCmp('onlyQueryGap').getValue();
+ onlyQueryGap = (onlyQueryGap == true) ? '是' : '否';
+ if (depart.indexOf('全部') == 0) {
+ depart = "";
+ }
+
+ if (brancheOfHospitalName == '全部') {
+ brancheOfHospitalIds = ''
+ }
+
+ myMask = new Ext.LoadMask(Ext.getBody(), {
+ msg: '正在加载,请稍候!',
+ removeMask: true
+ });
+ myMask.show();
+
+ var reportFile = "instrumentSetDemandReport.jasper";
+
+ var url = WWWROOT + '/jasperreports/jasperreportsAction!createReportFromJavaBeanSource.do';
+ var params = {
+ jasperreportName: reportFile,
+ startDate: startDate,
+ endDate: endDate,
+ depart: depart,
+ brancheOfHospitalIds: brancheOfHospitalIds,
+ tousseName: tousseName,
+ onlyQueryGap: onlyQueryGap,
+ reportName: 'instrumentSetDemandReport'
+ }
+ searchReport(url, params);
+}
+
+var myMask;
+Ext.onReady(function () {
+ Ext.QuickTips.init();
+ var operationReservationDeparts = sstsConfig.operationReservationDeparts || [];
+ operationReservationDeparts.unshift({ name: '全部', code: '-1' })
+ var departStore = new Ext.data.Store({
+ reader: new top.Ext.data.JsonReader({
+ fields: [
+ { name: 'name' },
+ { name: 'code' }
+ ]
+ }),
+ data: operationReservationDeparts
+ });
+
+ var brancheOfHospitalStoreRecord = Ext.data.Record.create([{
+ name: 'id'
+ }, {
+ name: 'name'
+ }]);
+
+ //物品选择下拉框Store
+ var comboGoodsStore = new Ext.data.Store({
+ proxy: new Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchAllTousseAndAllDisposableGoods.do',
+ method: 'post'
+ }),
+ reader: new Ext.data.JsonReader({
+ totalProperty: 'totalCount',
+ root: 'data'
+ }, [{ name: 'name', mapping: 'name' }])
+ });
+
+ var brancheOfHospitalStore = new Ext.data.Store({
+ proxy: new Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/brancheOfHospitalAction!findBrancheOfHospitalList.do',
+ method: 'POST'
+ }),
+ reader: new Ext.data.JsonReader({
+ totalProperty: 'totalCount',
+ root: 'data'
+ }, [
+ { name: 'id' },
+ { name: 'name' }]
+ ),
+ listeners: {
+ load: function (thiz, records, options) {
+ if (brancheOfHospitalStore.getCount() > 1) {
+ brancheOfHospitalStore.insert(0, new brancheOfHospitalStoreRecord({ 'id': '-1', 'name': '全部' }));
+ Ext.getCmp('brancheOfHospitalIds').selectAll();
+ }
+ }
+ }
+ });
+
+ brancheOfHospitalStore.load();
+
+ var form = new Ext.form.FormPanel({
+ title: entityName,
+ region: 'north',
+ labelAlign: 'right',
+ buttonAlign: 'center',
+ collapsible: true,
+ collapseMode: 'mini',
+ split: true,
+ border: 0,
+ // bodyStyle : 'padding: 10px 10px 0px 10px;',
+ frame: true,
+ height: 140,
+ bodyStyle: 'padding:0px auto;margin:0px',// padding:1px;padding-top:5px;
+ labelWidth: 90,
+ items: [{
+ layout: 'column',
+ items: [{
+ columnWidth: .25,
+ layout: 'form',
+ items: [new Ext.form.DateField({
+ id: 'startDate',
+ name: 'startDate',
+ fieldLabel: '开始日期',
+ readOnly: false,
+ format: 'Y-m-d',
+ value: newDate,
+ anchor: '95%'
+ })]
+ }, {
+ columnWidth: .25,
+ layout: 'form',
+ items: [new Ext.form.DateField({
+ id: 'endDate',
+ name: 'endDate',
+ fieldLabel: '结束日期',
+ readOnly: false,
+ format: 'Y-m-d',
+ value: newDate,
+ anchor: '95%'
+ })]
+ }, {
+ columnWidth: .25,
+ layout: 'form',
+ items: [{
+ xtype: 'multiSelect',
+ fieldLabel: '院区',
+ id: "brancheOfHospitalIds",
+ name: "brancheOfHospitalIds",
+ minChars: 0,
+ valueField: 'id',
+ displayField: 'name',
+ store: brancheOfHospitalStore,
+ forceSelection: false,
+ lazyInit: true,
+ triggerAction: 'all',
+ typeAhead: false,
+ editable: false,
+ anchor: '95%',
+ separator: ';',
+ listeners: {
+ select: function (combo, record, index) {
+ //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择
+ if (record.get('name') == '全部') {
+ if (record.get('checked')) {
+ combo.selectAll();
+ } else {
+ combo.deselectAll();
+ }
+ }
+
+ //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择
+ var selectAll = true;
+ combo.store.each(function (record) {
+ if (record.get('name') != '全部' && !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: .25,
+ layout: 'form',
+ items: [{
+ xtype: 'combo',
+ fieldLabel: '科室',
+ valueField: 'name',
+ displayField: 'name',
+ id: 'depart',
+ name: 'depart',
+ mode: 'local',
+ triggerAction: 'all',
+ forceSelection: true,
+ editable: false,
+ value: '全部',
+ store: departStore,
+ anchor: '95%',
+ separator: ';'
+ }]
+ }, {
+ columnWidth: .25,
+ layout: 'form',
+ items: [{
+ xtype: 'combo',
+ queryParam: 'spell',
+ minChars: 0,
+ fieldLabel: "器械包",
+ valueField: 'name',
+ displayField: 'name',
+ store: comboGoodsStore,
+ triggerAction: 'all',
+ forceSelection: false,
+ lazyInit: false,
+ editable: true,
+ hideTrigger: true,
+ typeAhead: false,
+ allowBlank: true,
+ name: "tousseName",
+ id: "tousseName",
+ anchor: '95%'
+ }]
+ }, {
+ columnWidth: .25,
+ layout: 'form',
+ items: [{
+ xtype: 'checkbox',
+ id: 'onlyQueryGap',
+ name: 'onlyQueryGap',
+ separator: ';',
+ boxLabel: '仅显示存在缺口的器械包',
+ inputValue: '仅显示存在缺口的器械包'
+ }]
+ }]
+ }],
+ buttons: [{
+ text: '查询',
+ minWidth: 70,
+ iconCls: 'icon_search',
+ handler: function () {
+ reloadReport();
+ }
+ }, {
+ text: '重置',
+ minWidth: 70,
+ iconCls: 'icon_set',
+ handler: function () {
+ Ext.getCmp('startDate').setValue(new Date());
+ Ext.getCmp('endDate').setValue(new Date());
+ Ext.getCmp('tousseName').setValue("");
+ Ext.getCmp('disinfectProgram').setValue("");
+ Ext.getCmp('disinfectProgram').setRawValue("");
+ Ext.getCmp('rinserName').setValue("");
+ Ext.getCmp('rinserName').setRawValue("");
+ Ext.getCmp('querySupplyRoom').setValue("");
+ Ext.getCmp('goodsSearchText').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