Index: ssts-web/src/main/webapp/disinfectsystem/config/dgfy/config.js =================================================================== diff -u -r33724 -r39400 --- ssts-web/src/main/webapp/disinfectsystem/config/dgfy/config.js (.../config.js) (revision 33724) +++ ssts-web/src/main/webapp/disinfectsystem/config/dgfy/config.js (.../config.js) (revision 39400) @@ -88,6 +88,8 @@ disableDeviceInterface:false, //设置生物阅读器监测数据的灭菌结束时间与生物监测开始时间的间隔 timeOfMonitoringInterval :90, + //启用待发货物品汇总的功能 + enableTheAbilityToSummarizeItemsToBeShipped:true, //禁用基数限制 disableCardinalNumLimit:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedView.jsp =================================================================== diff -u -r36235 -r39400 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedView.jsp (.../invoicePlanExtractedView.jsp) (revision 36235) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedView.jsp (.../invoicePlanExtractedView.jsp) (revision 39400) @@ -120,7 +120,9 @@ - + + + @@ -137,7 +139,6 @@ var selectedApplyDate = ""; var selectedTousseType = ""; var selectedInvoicePlanId = ""; - //辅助发货的功能(如果不存在白名单、并且当前用户没有被赋予辅助发货权限,则不显示) var assistDelivery = false; if (notInWhiteList(sstsConfig, 'assistDelivery') || SSTS_AuxiliaryInvoice) { Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedView.js =================================================================== diff -u -r38663 -r39400 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedView.js (.../invoicePlanExtractedView.js) (revision 38663) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedView.js (.../invoicePlanExtractedView.js) (revision 39400) @@ -156,7 +156,340 @@ store.load(); } +var invoiePlanGoodsSumWin; +var invoiePlanGoodsGrid; +function getDepartInvoiePlanGoodsGroupByDepartCode(){ + var listRecord = Ext.data.Record.create([ + {name: 'depart'}, + {name: 'applicationGoodsVoList'} + ]); + var listStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/invoicePlanAction!getDepartInvoiePlanGoodsGroupByDepartCode.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader( { + fields : [ + { name: 'depart' }, + { name: 'applicationGoodsVoList' } + ] + }), + listeners:{ + load:function(store,records) { + if(records.length > 0) { + var applicationGoodsMap = {}; + for(var i=0;i 0){ + for(var i=0;i'; + }else { + str += name + '*' + count; + } + } + } + return '
'+ str +'
'; + } + }]); + + invoiePlanGoodsGrid = new top.Ext.grid.GridPanel({ + id : 'configGrid', + store : listStore, + cm : cm, + width: 950, + height: 400, + frame : false, + anchor : '100%' + }) + + var dateHelper = new DateHelper(); + var applyDateDataArray = []; + var format = 'yyyy-MM-dd HH:mm'; + var url = WWWROOT + '/system/serverTimeAction!getInvoicePlanComboTime.do'; + var newDate = ''; + dateHelper.getServerTimeByJQ(format, Ext, url, function (result) { + var time = result.time; + applyDateDataArray.push(['今日', time.todayTime]); + applyDateDataArray.push(['昨日', time.yesterdayTodayTime]); + applyDateDataArray.push(['近三天', time.threeDayBeforeTodayTime]); + applyDateDataArray.push(['近七天', time.withinWeekTodayTime]); + applyDateDataArray.push(['指定日期', '']); + newDate = time.todayTime; + }); + + listStore.on("beforeload", function(thiz, options) { + listStore.baseParams['applyDate'] = newDate; + }); + listStore.load(); + + var dateTypeStore = new Ext.data.SimpleStore({ + data: applyDateDataArray, + fields: ['key', 'value'] + }); + + var appDepartJsonStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getApplicationDepartJson.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + root : 'data' + },[ + {name : 'id',mapping : 'id'}, + {name : 'departCode',mapping : 'departCode'}, + {name : 'checked',mapping : 'checked'}, + {name : 'name',mapping : 'name'} + ] + ), + listeners:{ + load:function(store,records) { + if(records.length > 0) { + appDepartJsonStore.insert(0 , new listRecord({'name':'全部','departCode':'全部','checked':true})); + } + } + } + }); + + appDepartJsonStore.load() + + var invoiePlanGoodsForm = new top.Ext.FormPanel({ + id: 'configForm', + frame: true, + border: 0, + labelSeparator: ':', + bodyPadding: '5 5 0', + buttonAlign: 'center', + labelAlign: 'right', + labelWidth: 70, + items:[{ + layout: 'column', + columnWidth: 1, + items:[{ + layout: 'form', + columnWidth: .2, + items: [{ + xtype : 'combo', + fieldLabel: '查询周期', + id : 'dateType', + name : 'dateType', + valueField : 'value', + displayField : 'key', + allowBlank : true, + editable : false, + mode:'local', + store : dateTypeStore, + forceSelection : true, + triggerAction : 'all', + anchor : '99%', + value:newDate, + listeners : { + select : function(combo, record, index){ + var value = combo.getValue(); + if(value == ''){ + top.Ext.getCmp('startTimeBox').show(); + top.Ext.getCmp('endTimeBox').show(); + }else { + top.Ext.getCmp('startTimeBox').hide(); + top.Ext.getCmp('endTimeBox').hide(); + } + } + } + }] + }, { + layout: 'form', + columnWidth: .22, + id:'startTimeBox', + items: [{ + xtype: 'datefieldWithMin', + fieldLabel: '开始时间', + id: 'startTime', + name: 'startTime', + allowBlank: false, + 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', + format: 'Y-m-d H:i', + anchor: '99%' + }] + }, { + layout: 'form', + columnWidth: .22, + id:'endTimeBox', + items: [{ + xtype: 'datefieldWithMin', + fieldLabel: '结束时间', + id: 'endTime', + name: 'endTime', + allowBlank: false, + 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', + format: 'Y-m-d H:i', + anchor: '99%' + }] + }, { + layout: 'form', + columnWidth: .26, + labelWidth: 90, + items: [{ + xtype: 'multiSelect', + fieldLabel: "按申请科室", + id: 'appDepart2', + name: 'appDepart2', + valueField: 'departCode', + displayField: 'name', + minChars: 0, + allowBlank: true, + editable: false, + store: appDepartJsonStore, + forceSelection: false, + mode: 'local', + triggerAction: 'all', + lazyInit: true, + typeAhead: false, + anchor: '95%', + value:'全部', + listeners: { + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('departCode') == '全部') { + if (record.get('checked')) { + combo.selectAll(); + } else { + combo.deselectAll(); + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('departCode') != '全部' && !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()); + } + } + }] + },{ + layout: 'form', + columnWidth: .1, + items: [ + new top.Ext.Button({ + text: '查询', + handler: function (){ + var applyDate = top.Ext.getCmp('dateType').getValue(); + var checkedOrgUnitCoding = top.Ext.getCmp('appDepart2').getValue(); + if(applyDate == ''){ + var startTime = top.Ext.getCmp('startTime').getRawValue(); + var endTime = top.Ext.getCmp('endTime').getRawValue(); + if(startTime == '' || endTime == ''){ + showResult("开始时间和结束时间不能为空!"); + return; + } + if(startTime || endTime){ + if(!compareDate(startTime,endTime)){ + showResult("开始时间不能大于结束时间"); + return; + } + } + applyDate = startTime + ';' + endTime; + } + if(checkedOrgUnitCoding !== '' && checkedOrgUnitCoding.indexOf('全部') >= 0){ + checkedOrgUnitCoding = ''; + } + listStore.on("beforeload", function(thiz, options) { + thiz.baseParams['applyDate'] = applyDate; + thiz.baseParams["orgUnitCoding"] = checkedOrgUnitCoding; + thiz.baseParams["departCode"] = checkedOrgUnitCoding; + }); + listStore.load(); + } + }) + ] + }] + },{ + layout: 'column', + columnWidth: 1, + border:0, + items:invoiePlanGoodsGrid + }] + }); + + invoiePlanGoodsSumWin = new top.Ext.Window({ + id: 'invoiePlanGoodsSumWin', + title: '待发货物品汇总', + height: 480, + width: 980, + resizable: false, + modal: true, + border: false, + plain: true, + layout: 'fit', + items: [invoiePlanGoodsForm] + }); + + invoiePlanGoodsSumWin.show(); + + top.Ext.getCmp('startTimeBox').hide(); + top.Ext.getCmp('endTimeBox').hide(); + top.Ext.getCmp('appDepart2').setRawValue('全部'); +} /** * 修改记录 * modifyRecord函数 触发modify函数调用,并传入当前列的值以及record.data对象 @@ -810,6 +1143,12 @@ handler : function() { refreshList(false,true); } + },{ + text : '待发货物品', + hidden : !sstsConfig.enableTheAbilityToSummarizeItemsToBeShipped, + handler : function() { + getDepartInvoiePlanGoodsGroupByDepartCode(); + } }], listeners: { render : function() {