Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationMonitoring.js =================================================================== diff -u -r30317 -r32552 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationMonitoring.js (.../sterilizationMonitoring.js) (revision 30317) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationMonitoring.js (.../sterilizationMonitoring.js) (revision 32552) @@ -109,10 +109,15 @@ var bioreaderId = top.Ext.getCmp('bioreaderId').getValue(); SterilizationRecordTableManager.saveMonitorResult(bioreaderId,id,physicsResult,chemistryResult,biologyResult,cycleCounter,biologicalObserveDateString,biologicalMonitoringStartDateString,biologicalMonitoringEndDateString,monitorUser,monitorChecker,monitorAuditor,remark, cardPosition,monitoringTubeResult,monitoringBatchNum,monitoringTubeExpiryDate,cardPositionOfControlTube,controlTubeResult,controlBatchNum,controlTubeExpiryDate,function(result){ - if(result){ + if(result.success){ sterilizationRecordWin.close(); showResult('保存成功'); grid.dwrReload(); + if(sstsConfig.multiForeignTousseIntoSameBasket){ + if(result.sterilizationResult == '不合格'){ + addQualityMonitoring1(id); + } + } }else{ showResult("保存失败!"); } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.js =================================================================== diff -u -r31507 -r32552 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.js (.../sterilizationRecordView.js) (revision 31507) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.js (.../sterilizationRecordView.js) (revision 32552) @@ -31,6 +31,198 @@ showSterilizationImgIcon = false } +//物理监测结果 +var monitorResutlStore = new Ext.data.SimpleStore({ + fields: ['value'], + data: [['无'], ['合格'], ['不合格']] +}); +var listStore; +var monitorResultListWin; +//显示多条灭菌完成的记录 +function showMonitorResultList(){ + listStore = new Ext.data.Store({ + reader : new Ext.data.JsonReader({ + fields : ['id','sterilizerNname'] + }) + }) + var cm = new Ext.grid.ColumnModel([{ + menuDisabled: true, + header : "灭菌炉名称", + width:200, + dataIndex : 'sterilizerNname' + },{ + header: "操作", + width: 100, + renderer : gotoPage + }]); + var listGrid = new Ext.grid.GridPanel({ + store : listStore, + cm : cm, + height: 200, + frame : false, + bodyStyle : 'border:1px solid #afd7af', + anchor : '100%' + }); + var records = grid.getSelectionModel().getSelections(); + var listData = []; + for(var i = 0;i < records.length;i++){ + listData.push({ + id:records[i].get('id'), + sterilizerNname:records[i].get("sterilizer.name") + }); + } + listStore.loadData(listData); + var winG = new Ext.WindowGroup(); + winG.zseed = 8900; + monitorResultListWin = new Ext.Window({ + autoHeight:true, + title : '监测结果填写', + width:400, + draggable:true, + modal:true, + manager: winG, + closable:false, + items:[listGrid] + }); + monitorResultListWin.show(); +} + +//刷新监测列表的数据 +function reloadMonitorResultList(id){ + var listData = []; + for(var i = 0;i < listStore.data.items.length;i++){ + if(id !== listStore.data.items[i].get('id')){ + listData.push({ + id:listStore.data.items[i].get('id'), + sterilizerNname:listStore.data.items[i].get("sterilizerNname") + }); + } + } + if(listData.length > 0){ + listStore.loadData(listData); + }else { + monitorResultListWin.close(); + grid.dwrReload(); + } +} + +//DGSETYY-16:弹出监测结果填写表单 +function showMonitorResultForm(ids){ + if(typeof ids !== 'number'){ + showMonitorResultList(); + return; + } + var formObj = new Ext.FormPanel({ + id: 'monitorResultForm', + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:5px', + height: 150, + autoWidth: true, + autoScroll: true, + labelAlign: 'right', + viewConfig: { + forceFit: true + }, + items:[{ + layout: 'column', + items:[{ + columnWidth: 1, + layout: 'form', + items: [{ + xtype: 'combo', + fieldLabel: "物理监测结果", + id:'physicsResult', + name: "physicsResult", + labelWidth:90, + valueField: 'value', + displayField: 'value', + store: monitorResutlStore, + triggerAction: 'all', + mode: 'local', + value:'合格', + readOnly: true, + anchor: '90%' + },{ + xtype: 'combo', + fieldLabel: "化学监测结果", + id:'chemistryResult', + name: "chemistryResult", + labelWidth:90, + valueField: 'value', + displayField: 'value', + store: monitorResutlStore, + triggerAction: 'all', + mode: 'local', + value:'合格', + readOnly: true, + anchor: '90%' + }] + }] + }], + buttons: [{ + text: '保存', + handler: function () { + var physicsResult = Ext.getCmp('physicsResult').getValue(); + var chemistryResult = Ext.getCmp('chemistryResult').getValue(); + saveSterilizationResult(ids,physicsResult,chemistryResult,monitorResultFormWin); + } + }] + }) + var monitorResultFormWin = new Ext.Window({ + id: 'monitorResultFormWin', + layout: 'fit', + title: '监测结果填写', + border: false, + modal: true, + width: 400, + height: 150, + plain: true, + align: 'center', + closable:false, + items: [formObj] + }); + monitorResultFormWin.show(); +} + +function gotoPage(v, p, record){ + var id = record.data.id; + return "填写监测结果"; +} + +//保存监测结果 +function saveSterilizationResult(id,physicsResult,chemistryResult,monitorResultFormWin){ + Ext.Ajax.request({ + url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!updateSterilizationResult.do', + params: { + id: id, + physicsResult:physicsResult, + chemistryResult:chemistryResult + }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + var success = result.success; + if (success) { + showResult('保存成功'); + monitorResultFormWin.close(); + if(listStore){ + reloadMonitorResultList(id); + }else { + grid.dwrReload(); + } + if(result.msg == '不合格'){ + addQualityMonitoring1(id); + } + }else { + showResult(result.msg); + } + }, + failure: function (response, options) { + showResult('保存失败'); + } + }); +} + // 删除 function deleteSterilizationRecord(grid) { @@ -351,6 +543,9 @@ hideMessageBox(false); var result = Ext.decode(response.responseText); showResult(result.message, null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); + if(sstsConfig.multiForeignTousseIntoSameBasket){ + showMonitorResultForm(ids); + } grid.dwrReload(); }, failure: function (response, options) { @@ -541,19 +736,22 @@ /* * 添加质量监测 */ -function addQualityMonitoring1() { - var records = grid.getSelectionModel().getSelections(); - if (records.length == 0) { - qualityMonitoringSterilizationID = null; +function addQualityMonitoring1(id) { + if(id){ + qualityMonitoringSterilizationID = id; + }else { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + qualityMonitoringSterilizationID = null; + } + if (records.length == 1) { + var data = records[0].data; + qualityMonitoringSterilizationID = data['id']; + } else if (records.length > 1) { + showResult("一次只能选一条灭菌记录添加质量监测!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); + return false; + } } - if (records.length == 1) { - var data = records[0].data; - qualityMonitoringSterilizationID = data['id']; - } else if (records.length > 1) { - showResult("一次只能选一条灭菌记录添加质量监测!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); - return false; - } - // addQualityMonitoring(); otherPartAddQM = true; addQualityMonitoringByResponPart("灭菌管理"); } @@ -742,6 +940,7 @@ }, { id: 'failerBtn', text: '灭菌失败', + hidden:sstsConfig.enableTheSterilizationResultJudgmentFunction, handler: function () { sterilizationFailure(grid, statusFailure); sterilizerStatus = statusFailure; @@ -804,10 +1003,11 @@ //重新灭菌 function actionFun(v, p, record) { var packageSterilizationCount = record.data['packageSterilizationCount']; + var sterilizationResult = record.data['sterilizationResult']; var sterilizerName = record.data['sterilizer.name']; var frequency = record.data['frequency']; var tempId = sterilizerName + '-' + frequency; //给一个id,方便自动化测试的定位 - if (v == '灭菌失败' && packageSterilizationCount <= 1) { + if ((v == '灭菌失败' && packageSterilizationCount <= 1) || (sterilizationResult == '不合格' && sstsConfig.multiForeignTousseIntoSameBasket)) { tempId += "-failureHandle"; var str = ""; return str; @@ -835,6 +1035,20 @@ return "

" + v + "

"; } +function renderResult(v, p, record){ + var result = record.data['sterilizationResult']; + var backgroundColor = ""; + var color = ""; + if(result == '合格'){ + backgroundColor = "#74EA44"; + color = '#000'; + }else if(result == '不合格'){ + backgroundColor = "#6429AE"; + color = '#fff'; + } + return "

" + v + "

"; +} + function openSterilizerRecord(id) { openModalWindowForExt(WWWROOT + '/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerRecordView.jsp?popType=true&sterilizationRecordId=' + id, '', '灭菌器参数', '1000', '550'); } @@ -917,7 +1131,6 @@ Ext.onReady(function () { Ext.QuickTips.init(); // 记录cookie(3步) - var columns = [ { header: "灭菌员", width: 120, dataIndex: 'sterilizationUser', renderer: renderCallModifyFunction }, { header: "开始时间", width: 125, dataIndex: 'startDate', renderer: myDateFormatByMinute }, @@ -929,6 +1142,7 @@ { header: "灭菌炉", width: 160, dataIndex: 'sterilizer.name' }, { header: "炉次", width: 40, align: 'center', dataIndex: 'frequency' }, { header: "灭菌状态", width: 60, dataIndex: 'status', renderer: renderColor }, + { header: "灭菌结果", width: 60, dataIndex: 'sterilizationResult', renderer: renderResult,hidden:!((sstsConfig.hasOwnProperty('enableTheSterilizationResultJudgmentFunction')) && sstsConfig.enableTheSterilizationResultJudgmentFunction) }, { header: "生物监测状态", width: 100, align: 'center', dataIndex: 'biologicalMonitoringStatus', renderer: renderBiologicalMonitoringStatus, hidden: !sstsConfig.showBiologicalMonitoringStatus }, { header: "物理监测结果", width: 100, align: 'center', dataIndex: 'physicsResult' }, { header: "化学监测结果", width: 100, align: 'center', dataIndex: 'chemistryResult' }, @@ -1018,6 +1232,7 @@ { name: 'sterilizer.name' }, { name: 'sterilizationParaType' }, { name: 'status' }, + { name: 'sterilizationResult' }, { name: 'endDate' }, { name: 'packageSterilizationCount' }, { name: 'frequency' }, @@ -1048,7 +1263,6 @@ text: '修改', hidden: SSTS_Sterilization_Update, iconCls: 'btn_ext_application_edit', - // id : 'editTbar', id: 'modifyBtn', handler: function () { loadFormData(grid); @@ -1057,7 +1271,6 @@ text: '开始灭菌', hidden: !sstsConfig.enableSterilizationDraftStatus, iconCls: 'btn_ext_application_save', - // id : 'editTbar' id: 'beginSterilizationBtn', handler: function () { sterilizationBegin(grid); @@ -1066,7 +1279,6 @@ text: '完成灭菌', hidden: SSTS_Sterilization_Update, iconCls: 'btn_ext_application_save', - // id : 'editTbar', id: 'completeSterilizationBtn', handler: function () { sterilizationComplete(grid, statusEnd); @@ -1075,17 +1287,15 @@ text: '灭菌中断', hidden: SSTS_Sterilization_Update, iconCls: 'btn_ext_application_error', - // id : 'failureTbar', id: 'sterilizationInterruptBtn', handler: function () { sterilizerStatus = statusInterrupt; sterilizationInterrupt(grid, statusInterrupt); } }, '-', { text: '灭菌失败', - hidden: SSTS_Sterilization_Update, + hidden: sstsConfig.enableTheSterilizationResultJudgmentFunction?true:SSTS_Sterilization_Update, iconCls: 'btn_ext_application_error', - // id : 'failureTbar', id: 'sterilizationFailureBtn', handler: function () { sterilizerStatus = statusFailure; @@ -1095,7 +1305,6 @@ text: confirmBtn, hidden: !((sstsConfig.hasOwnProperty('sterilizationRecordFinishConfirm')) && sstsConfig.sterilizationRecordFinishConfirm), iconCls: 'btn_ext_application_error', - // id : 'confirmTbar', id: 'confirmBtn', handler: function () { sterilizationConfirm(grid); Index: ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationTab1.js =================================================================== diff -u -r31032 -r32552 --- ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationTab1.js (.../interfereSterilizationTab1.js) (revision 31032) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationTab1.js (.../interfereSterilizationTab1.js) (revision 32552) @@ -67,10 +67,16 @@ url : WWWROOT + '/disinfectSystem/baseData/sterilizerAction!getAllSterilizer.do?' }); sterilizerNameStore.load(); + var statusDataArr = []; + if(sstsConfig.enableTheSterilizationResultJudgmentFunction){ + statusDataArr = [statusArr[0],statusArr[1],statusArr[3]] + }else { + statusDataArr = [statusArr[0],statusArr[1],statusArr[2],statusArr[3]] + } // 灭菌状态 var statusStore = new Ext.data.SimpleStore( { fields : [ 'value'], - data : [statusArr[0],statusArr[1],statusArr[2],statusArr[3]] + data : statusDataArr }); // 灭菌目的 //远程方法请求后台查询灭菌目录