Index: ssts-web/src/main/webapp/disinfectsystem/borrow/borrowingTousseForm.js =================================================================== diff -u -r36290 -r38521 --- ssts-web/src/main/webapp/disinfectsystem/borrow/borrowingTousseForm.js (.../borrowingTousseForm.js) (revision 36290) +++ ssts-web/src/main/webapp/disinfectsystem/borrow/borrowingTousseForm.js (.../borrowingTousseForm.js) (revision 38521) @@ -549,6 +549,11 @@ id: 'allowBorrowingTousseExceedingSpecifiedQuantity', value:'false' }, { + xtype: 'hidden', + name: 'allowBorrowingTousseExceedingCardinalNum', + id: 'allowBorrowingTousseExceedingCardinalNum', + value:'false' + }, { columnWidth: .5, layout: 'form', labelWidth: 70, @@ -873,6 +878,12 @@ top.Ext.getCmp('allowBorrowingTousseExceedingSpecifiedQuantity').setValue(false); } + if(sstsConfig.enableCardinalityManagementOfBorrow){ + top.Ext.getCmp('allowBorrowingTousseExceedingCardinalNum').setValue(false); + }else { + top.Ext.getCmp('allowBorrowingTousseExceedingCardinalNum').setValue(true); + } + var b = this; top.Ext.MessageBox.confirm("请确认", "是否提交借物单信息?", function (btn) { if (btn == 'yes') { @@ -908,6 +919,27 @@ }); } }) + }else if(sstsConfig.enableCardinalityManagementOfBorrow && action.result.message && action.result.message == '本次借出物品超过可借基数,发货时间未定,是否继续?'){ + top.Ext.MessageBox.confirm("请确认", action.result.message, function (btn) { + if(btn == 'yes'){ + top.Ext.getCmp('allowBorrowingTousseExceedingCardinalNum').setValue(true); + top.Ext.getCmp('allowBorrowingTousseExceedingSpecifiedQuantity').setValue(true); + form.form.submit({ + url: WWWROOT + '/disinfectSystem/recyclingApplicationAction!saveRecyclingApplication.do', + method: 'POST', + waitMsg: '正在保存数据,请稍候', + waitTitle: '提交表单', + success: function (form, action) { + window.close(); + showResult(action.result.message); + grid.dwrReload(); + }, + failure: function (form, action) { + showResult(action.result.message); + } + }); + } + }) }else { showResult(action.result.message); } Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js =================================================================== diff -u -r38077 -r38521 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 38077) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 38521) @@ -1331,6 +1331,47 @@ maxValue:9999, allowBlank: true }] + }, { + layout: 'form', + columnWidth: .25, + labelWidth: fontSize == 12 ? 180 : 210, + hidden: !sstsConfig.enableCardinalityManagementOfBorrow, + items: [{ + xtype: 'combo', + fieldLabel: '借物单弹窗提醒', + id: 'borrowRemind', + name: 'borrowRemind', + valueField: 'value', + displayField: 'value', + mode: 'local', + anchor: '100%', + editable: false, + store: new Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + forceSelection: true, + allowBlank: true, + value: '是', + triggerAction: 'all' + }] + }, { + layout: 'form', + labelWidth: fontSize == 12 ? 180 : 210, + columnWidth: .25, + hidden: !sstsConfig.enableCardinalityManagementOfBorrow, + items: [{ + xtype: 'numberfield', + fieldLabel: '提醒频率(分钟)', + id: 'borrowRemindFrequency', + name: 'borrowRemindFrequency', + minValue: 1, + value: 30, + maxValue: 9999, + allowNegative: false, + anchor: '100%', + allowBlank: true + }] } ] }, { @@ -3997,6 +4038,14 @@ userNoLoginDateLimit = Ext.getCmp("userNoLoginDateLimit ").getValue(); } + //ZSWY-233:借物单弹窗提醒 + var borrowRemind = ''; + var borrowRemindFrequency = ''; + if(sstsConfig.enableCardinalityManagementOfBorrow){ + borrowRemind = Ext.getCmp("borrowRemind").getValue(); + borrowRemindFrequency = Ext.getCmp("borrowRemindFrequency").getValue(); + } + //KSDQDYRMYY-13 var isEnableTousseOpRecipient = '否'; var isEnableTousseOpDestLocation = '否'; @@ -4250,6 +4299,8 @@ returnExpiredDGBatchNumber:returnExpiredDGBatchNumber, invoiceModeTousseRange: invoiceModeTousseRange, userNoLoginDateLimit :userNoLoginDateLimit , + borrowRemind: borrowRemind, + borrowRemindFrequency: borrowRemindFrequency, kardexContainerHost: kardexContainerHost, kardexContainerPort: kardexContainerPort, kardexContainerAddr: kardexContainerAddr, @@ -4567,6 +4618,12 @@ Ext.getCmp('userNoLoginDateLimit ').setValue(supplyRoomConfig.userNoLoginDateLimit ); } + //ZSWY-233:借物单弹窗提醒 + if(sstsConfig.enableCardinalityManagementOfBorrow){ + Ext.getCmp('borrowRemind').setValue(supplyRoomConfig.borrowRemind ); + Ext.getCmp('borrowRemindFrequency').setValue(supplyRoomConfig.borrowRemindFrequency ); + } + var isFtOnlyImplantConvert = (supplyRoomConfig.isFtOnlyImplantConvert == true || supplyRoomConfig.isFtOnlyImplantConvert == 'true') ? '是' : '否'; Ext.getCmp('mergeTousseRuleForInvoiceBatchPrint').setValue(supplyRoomConfig.mergeTousseRuleForInvoiceBatchPrint); Ext.getCmp('mergeTousseRuleForInvoiceBatchPrintStr').setValue(supplyRoomConfig.mergeTousseRuleForInvoiceBatchPrint); Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowView.jsp (revision 38521) @@ -0,0 +1,22 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@page import="com.forgon.disinfectsystem.common.CssdUtils"%> + + + +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/includeExtJs4_2.jsp"%> + +借物基数管理 + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/resources/systemset/operationDefine.xml =================================================================== diff -u -r38416 -r38521 --- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 38416) +++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 38521) @@ -789,6 +789,8 @@ + + Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowForm.js (revision 38521) @@ -0,0 +1,198 @@ +var configWin; +var formPanel; + +function cancel() { + configWin.close(); +} + +//删除借物基数 +function deleteConfig(grid) { + var selectedRecords = grid.getSelectionModel().getSelection(); + var selectedCount = grid.getSelectionModel().getCount(); + var ids = []; + if (selectedCount < 1) { + showResult("请选择要删除的数据"); + } else { + for (var i = 0, len = selectedRecords.length; i < len; i++) { + ids[i] = selectedRecords[i].data['id']; + } + Ext4.MessageBox.confirm("请确认", "确定要删除选中的信息吗?", function (button, text) { + if ("yes" == button) { + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/borrowCardinalityController/deleteBorrowCardinality.mhtml', + params: { ids: ids.join(';') }, + success: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + var success = result.success; + if (true != success) { + showResult(result.message); + return; + } else { + showResult('删除成功!'); + listStore.load(); + } + }, + failure: function (response, options) { + var result = Ext4.JSON.decode(response.responseText); + showResult(result.message); + } + }); + } + }); + } +} + +//保存借物基数信息 +function saveConfig() { + var tousseDefinitionId = top.Ext4.getCmp('tousseDefinitionId').getValue(); + var cardinalNum = top.Ext4.getCmp('cardinalNum').getValue(); + var orgUnitId = top.Ext4.getCmp('orgUnitId').getValue(); + var id = top.Ext4.getCmp('id').getValue(); + var mask = new Ext4.LoadMask({ + msg: '正在保存,请稍候...', + target: formPanel + }); + mask.show(); + var params = { + id: id, + tousseDefinitionId: tousseDefinitionId, + cardinalNum: cardinalNum + } + if (id) { + params.orgUnitId = orgUnitId; + } + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/borrowCardinalityController/saveBorrowCardinality.mhtml', + params: params, + success: function (response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + configWin.close(); + listStore.load(); + showResult('保存成功'); + } else { + showResult(result.message); + } + mask.hide(); + }, + failure: function (response, options) { + showResult('保存失败!'); + } + }); +} + +//显示借物基数信息的窗口 +function showAddOrEditWindow(data) { + formPanel = new top.Ext4.form.Panel({ + id: 'configForm', + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 5px;', + width: 400, + buttonAlign: 'center', + fieldDefaults: { + labelAlign: 'right', + labelWidth: 90 + }, + items: [{ + layout: 'column', + border: false, + items: [{ + columnWidth: 0.98, + layout: 'form', + border: false, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'id', + name: 'id' + }, { + xtype: 'hidden', + id: 'orgUnitId', + name: 'orgUnitId' + }, { + xtype: 'hidden', + id: 'tousseDefinitionId', + name: 'tousseDefinitionId' + }, { + fieldLabel: '器械包名称', + xtype: 'combo', + id: 'tousseDefinitionName', + name: 'tousseDefinitionName', + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'displayName', + listWidth: 300, + store: tousseStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('tousseDefinitionId').setValue(record[0].data.id); + } + } + }] + }, { + columnWidth: 0.98, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'numberfield', + fieldLabel: '基数', + allowDecimals: false, + minValue: 1, + allowBlank: false, + id: 'cardinalNum', + name: 'cardinalNum', + anchor: '95%' + }] + }] + }], + buttons: [{ + id: 'saveBtn', + text: '保存', + handler: function () { + if (formPanel.getForm().isValid()) { + saveConfig(); + } else { + showResult('请填写表单!'); + return false; + } + } + }, { + text: '取消', + handler: cancel + }] + }); + configWin = new top.Ext4.window.Window({ + id: 'configWin', + layout: 'column', + title: '借物基数设置', + width: 400, + height: 160, + border: false, + plain: true, + modal: true, + items: [{ + region: 'center', + width: 400, + layout: 'fit', + items: [formPanel] + }] + }); + configWin.show(); + if (data) { + top.Ext4.getCmp('id').setValue(data.id); + top.Ext4.getCmp('orgUnitId').setValue(data.orgUnitId); + top.Ext4.getCmp('tousseDefinitionId').setValue(data.tousseDefinitionId); + top.Ext4.getCmp('tousseDefinitionName').setRawValue(data.tousseDefinitionName); + top.Ext4.getCmp('cardinalNum').setValue(data.cardinalNum); + } +} + Index: ssts-web/src/main/webapp/disinfectsystem/config/zd5y/config.js =================================================================== diff -u -r38212 -r38521 --- ssts-web/src/main/webapp/disinfectsystem/config/zd5y/config.js (.../config.js) (revision 38212) +++ ssts-web/src/main/webapp/disinfectsystem/config/zd5y/config.js (.../config.js) (revision 38521) @@ -250,6 +250,8 @@ showCameraPhotoInRecyclingModule:true, //回收界面点击消毒物品的回收数量单元格的响应方式 respondModeWhenClickRecycleAmounCellOfDisinfectedItem:1, + //启用借物基数管理功能 + enableCardinalityManagementOfBorrow:true, //启用明细核算月报的扩展查询项 enableExtendedQueryItemsOfDetailedAccountingMonthlyReport:["urgentLevel"] } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/cardinalManagementOfBorrow/cardinalManagementOfBorrowView.js (revision 38521) @@ -0,0 +1,232 @@ +var listStore; +var borrowCardinalityGrid; + +var tousseStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchInsideTousseData.do', + reader: { + root: 'data', + totalProperty: 'totalCount' + }, + extraParams: { + isTraceable: '是' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'name', mapping: 'name' }, + { name: 'displayName', mapping: 'displayName' } + ] +}) + +function modify(v, data) { + showAddOrEditWindow(data); +} + +Ext4.onReady(function () { + Ext4.QuickTips.init(); + var columns = [ + { header: "器械包名称", dataIndex: 'tousseDefinitionName', width: 300, renderer: modifyRecord }, + { header: "基数", dataIndex: 'cardinalNum', width: 100 }, + { header: "已借基数", dataIndex: 'borrowedCardinalNum', width: 100 } + ]; + var tbar = [{ + text: '添加', + iconCls: 'btn_ext_application_add', + handler: function () { + showAddOrEditWindow(''); + } + }, '-', { + text: '修改', + iconCls: 'btn_ext_application_edit', + handler: function () { + var selectedRecords = borrowCardinalityGrid.getSelectionModel().getSelection(); + var selectedCount = borrowCardinalityGrid.getSelectionModel().getCount(); + if (selectedCount < 1) { + showResult("请选择要修改的数据"); + } else if (selectedCount > 1) { + showResult("只能修改一条数据"); + } else { + showAddOrEditWindow(selectedRecords[0].data); + } + } + }, '-', { + text: '删除', + iconCls: 'btn_ext_application_del', + handler: function () { + deleteConfig(borrowCardinalityGrid); + } + }]; + + var tousseGroupStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/tousseGroupAction!getAllTousseGroup.do', + reader: { + root: 'data' + }, + extraParams: { + needAll: '是' + } + }, + fields: [ + { name: 'tousseGroupName', mapping: 'tousseGroupName' }, + { name: 'id', mapping: 'id' } + ] + }) + + var requestTbar = [{ + text: '器械包名称:' + }, { + xtype: 'combo', + id: 'tousseName', + name: 'tousseName', + queryParam: 'spell', + minChars: 0, + valueField: 'name', + displayField: 'displayName', + listWidth: 300, + store: tousseStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + anchor: '100%', + listeners: { + blur: function (thiz) { + if (Ext4.getCmp('tousseName').getRawValue() == "" || Ext4.getCmp('tousseName').getRawValue() == null) { + Ext4.getCmp('tousseName').setValue(""); + } + } + } + }, { + text: '器械包查询模式:' + }, { + xtype: 'combo', + id: 'queryMode', + name: 'queryMode', + valueField: 'value', + displayField: 'value', + mode: 'local', + anchor: '100%', + editable: false, + store: new Ext4.data.SimpleStore({ + fields: ['value'], + data: [['精确查询'], ['模糊查询']] + }), + forceSelection: true, + allowBlank: true, + value: '精确查询', + anchor: '95%', + triggerAction: 'all' + }, { + text: '器械包分组:' + }, { + xtype: 'hidden', + id: 'tousseGroupId', + name: 'tousseGroupId' + }, { + xtype: 'combo', + id: 'tousseGroupName', + name: 'tousseGroupName', + valueField: 'id', + displayField: 'tousseGroupName', + editable: false, + triggerAction: 'all', + store: tousseGroupStore, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + Ext4.getCmp('tousseGroupId').setValue(record[0].data.id); + } + } + }, { + xtype: 'button', + text: '查询', + iconCls: 'icon_search', + handler: function () { + var tousseName = Ext4.getCmp("tousseName").getValue(); + var queryMode = Ext4.getCmp("queryMode").getValue(); + var tousseGroupId = Ext4.getCmp("tousseGroupId").getValue(); + listStore.proxy.extraParams.tousseName = tousseName; + listStore.proxy.extraParams.queryMode = queryMode; + listStore.proxy.extraParams.tousseGroupId = tousseGroupId; + listStore.loadPage(1); + } + }, { + xtype: 'button', + text: '重置', + iconCls: 'icon_set', + handler: function () { + Ext4.getCmp("tousseName").setValue(''); + Ext4.getCmp("queryMode").setValue('精确查询'); + Ext4.getCmp("tousseGroupName").setValue(''); + Ext4.getCmp("tousseGroupId").setValue(''); + } + }] + + listStore = new Ext4.data.JsonStore({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/borrowCardinalityController/loadBorrowCardinalityList.mhtml', + reader: { + root: 'data.list', + totalProperty: 'data.count' + }, + extraParams: {} + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'tousseDefinitionName', mapping: 'tousseDefinitionName' }, + { name: 'tousseDefinitionId', mapping: 'tousseDefinitionId' }, + { name: 'borrowedCardinalNum', mapping: 'borrowedCardinalNum' }, + { name: 'cardinalNum', mapping: 'cardinalNum' }, + { name: 'orgUnitName', mapping: 'orgUnitName' }, + { name: 'orgUnitId', mapping: 'orgUnitId' } + ] + }); + + listStore.loadPage(1); + + borrowCardinalityGrid = new Ext4.grid.GridPanel({ + title: '借物基数管理', + columns: columns, + frame: false, + autoScroll: false, + store: listStore, + dockedItems: [{ + xtype: 'toolbar', + dock: 'top', + padding: '0 0 0 0', + border: false, + items: tbar + }, { + xtype: 'toolbar', + dock: 'top', + padding: '0 0 0 0', + border: false, + items: requestTbar + }, { + xtype: 'pagingtoolbar', + store: listStore, // same store GridPanel is using + dock: 'bottom', + displayInfo: true + }], + viewConfig: { + autoFill: true + }, + selModel: new Ext4.selection.CheckboxModel() + }); + + new Ext4.container.Viewport({ + layout: 'border', + items: [{ + region: 'center', + layout: 'fit', + items: [borrowCardinalityGrid] + }] + }); + +}); \ No newline at end of file