Index: ssts-web/src/main/webapp/disinfectsystem/common/sterilingMode.js =================================================================== diff -u -r27137 -r35777 --- ssts-web/src/main/webapp/disinfectsystem/common/sterilingMode.js (.../sterilingMode.js) (revision 27137) +++ ssts-web/src/main/webapp/disinfectsystem/common/sterilingMode.js (.../sterilingMode.js) (revision 35777) @@ -5,9 +5,14 @@ * @param orginalSterilingMode 原有物品的灭菌方式 * @param action 操作字眼,如"审核","载入","入筐"等 */ -function getDiffSterilingModeMessage(currentTousseName , currentSterilingMode , orginalSterilingMode , action){ - return "【"+ currentTousseName +"】"+ (currentSterilingMode ? ("属于【"+ currentSterilingMode +"】物品") : "") - +"与原有"+ (orginalSterilingMode ? ("【"+ orginalSterilingMode +"】物品") : "物品灭菌方式") +"不一致,不能" + (action ? action : "载入"); +function getDiffSterilingModeMessage(currentTousseName, currentSterilingMode, orginalSterilingMode, action, type) { + if (type == '篮筐') { + return "【" + currentTousseName + "】中含有" + "【" + currentSterilingMode + "】物品" + + "与灭菌程序的" + (orginalSterilingMode ? ("【" + orginalSterilingMode + "】") : "灭菌方式") + "不一致,不能" + (action ? action : "载入"); + } else { + return "【" + currentTousseName + "】" + (currentSterilingMode ? ("属于【" + currentSterilingMode + "】") : "") + + "与灭菌程序的" + (orginalSterilingMode ? ("【" + orginalSterilingMode + "】") : "灭菌方式") + "不一致,不能" + (action ? action : "载入"); + } } /** @@ -16,16 +21,16 @@ * @param message * @parma callback 关闭对话框后的回调函数 */ -function noticeDiffSterilingMessage(extComponent , message , callback){ +function noticeDiffSterilingMessage(extComponent, message, callback) { var alertModeOfDiffSterileMethod = sstsConfig.alertModeOfDiffSterileMethod; - if(alertModeOfDiffSterileMethod == 2){ - if(callback){ - extComponent.MessageBox.alert("警告信息",message, callback); - }else{ - extComponent.MessageBox.alert("警告信息",message); + if (alertModeOfDiffSterileMethod == 2) { + if (callback) { + extComponent.MessageBox.alert("警告信息", message, callback); + } else { + extComponent.MessageBox.alert("警告信息", message); } - }else{ - showResultWithoutSpeak(message); + } else { + showMultipleResult(message); } speakMessage(message); } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r35411 -r35777 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 35411) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 35777) @@ -112,6 +112,7 @@ } if (!isExist) { top.Ext.getCmp('sterilizationType').setValue(''); + top.Ext.getCmp('hiddenSterilingMode2').setValue(''); oldSterilizationType = ''; } } @@ -211,6 +212,22 @@ }); } +//根据灭菌程序获取灭菌方式 +function getSterilizationMode(sterilingType) { + Ext.Ajax.request({ + url: WWWROOT + "/disinfectSystem/baseData/sterilisationAction!getSterilizationModeBySterilingType.do", + params: { + sterilingType: sterilingType + }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + if (result && result.sterilingMode) { + top.Ext.getCmp('hiddenSterilingMode2').setValue(result.sterilingMode); + } + } + }); +} + //删除已添加耗材 function deleteSterilizationPurpose(detailId, batchBarcode) { for (var k = 0; k < sterilizationPurposeStore.getCount(); k++) { @@ -808,6 +825,7 @@ } top.Ext.getCmp('sterilizationPurpose').setValue(''); top.Ext.getCmp('sterilizationPurposeId').setValue(''); + top.Ext.getCmp('hiddenSterilingMode2').setValue(''); } } @@ -837,11 +855,14 @@ }); //选择默认灭菌目的 getSterilizationPurposeFun(sterilizationType); + //获取灭菌方式 + getSterilizationMode(sterilizationType); } else { if (resultArray[3] == "强制提醒") { top.Ext.MessageBox.alert("请确认", resultArray[2], function (button, text) { top.Ext.getCmp('sterilizationType').setValue(''); + top.Ext.getCmp('hiddenSterilingMode2').setValue(''); oldSterilizationType = ''; }); } else { @@ -860,6 +881,8 @@ }); //选择默认灭菌目的 getSterilizationPurposeFun(sterilizationType); + //获取灭菌方式 + getSterilizationMode(sterilizationType); } else { top.Ext.getCmp('sterilizationType').setValue(oldSterilizationType); } @@ -895,6 +918,7 @@ top.Ext.MessageBox.alert("请确认", result.confirmMessage, function (button, text) { top.Ext.getCmp('sterilizationType').setValue(''); + top.Ext.getCmp('hiddenSterilingMode2').setValue(''); oldSterilizationType = ''; }); } else { @@ -911,6 +935,8 @@ }); //选择默认灭菌目的 getSterilizationPurposeFun(sterilizationType); + //获取灭菌方式 + getSterilizationMode(sterilizationType); } else { top.Ext.getCmp('sterilizationType').setValue(oldSterilizationType); } @@ -927,6 +953,8 @@ }); //选择默认灭菌目的 getSterilizationPurposeFun(sterilizationType); + //获取灭菌方式 + getSterilizationMode(sterilizationType); } }, @@ -1779,6 +1807,15 @@ }); sterilizationRecordWin.getEl().unmask(); return; + } else if (sterilingModeFromSterilingGoodsDetailGrid.length == 0) { + var hiddenSterilingMode2 = top.Ext.getCmp('hiddenSterilingMode2').getValue(); + if (hiddenSterilingMode2 !== sterilingMode) { + noticeDiffSterilingMessage(top.Ext, getDiffSterilingModeMessage(tousseName, sterilingMode, hiddenSterilingMode2), function () { + top.Ext.getCmp('inputBarcode').focus(); + }); + sterilizationRecordWin.getEl().unmask(); + return; + } } var newIncludeImplant = '否'; @@ -1856,6 +1893,15 @@ }); sterilizationRecordWin.getEl().unmask(); return; + } else if (sterilingModeFromSterilingGoodsDetailGrid.length == 0) { + var hiddenSterilingMode2 = top.Ext.getCmp('hiddenSterilingMode2').getValue(); + if (hiddenSterilingMode2 !== sterilingMode) { + noticeDiffSterilingMessage(top.Ext, getDiffSterilingModeMessage(containerName, sterilingMode, hiddenSterilingMode2, '载入', '篮筐'), function () { + top.Ext.getCmp('inputBarcode').focus(); + }); + sterilizationRecordWin.getEl().unmask(); + return; + } } if (sterilingMode) { if (!sterilingModeObject[sterilingMode]) { @@ -2000,6 +2046,15 @@ }); sterilizationRecordWin.getEl().unmask(); return; + } else if (sterilingModeFromSterilingGoodsDetailGrid.length == 0) { + var hiddenSterilingMode2 = top.Ext.getCmp('hiddenSterilingMode2').getValue(); + if (hiddenSterilingMode2 !== sterilingMode) { + noticeDiffSterilingMessage(top.Ext, getDiffSterilingModeMessage(tousseName, sterilingMode, hiddenSterilingMode2), function () { + top.Ext.getCmp('inputBarcode').focus(); + }); + sterilizationRecordWin.getEl().unmask(); + return; + } } } @@ -2098,6 +2153,15 @@ }); sterilizationRecordWin.getEl().unmask(); return; + } else if (sterilingModeFromSterilingGoodsDetailGrid.length == 0) { + var hiddenSterilingMode2 = top.Ext.getCmp('hiddenSterilingMode2').getValue(); + if (hiddenSterilingMode2 !== sterilingMode) { + noticeDiffSterilingMessage(top.Ext, getDiffSterilingModeMessage(tousseName, sterilingMode, hiddenSterilingMode2), function () { + top.Ext.getCmp('inputBarcode').focus(); + }); + sterilizationRecordWin.getEl().unmask(); + return; + } } } @@ -3283,12 +3347,70 @@ if (includeImplant == '是') { showMultipleResult('篮筐内物品含有植入物,请做生物监测', null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); } - //将篮筐与器械包加载到灭菌列表中 - loadContainerAndTousseToGrid(result.datas); - for (var i = 0; i < waitSterilingBarcodeArray.length; i++) { - //移除今天审核待灭菌物品的数据 - removePendingSterilizationGoods(waitSterilingBarcodeArray[i]); + + var hiddenSterilingMode2 = top.Ext.getCmp('hiddenSterilingMode2').getValue(); + var newDatas = []; + var barcodes = []; + for (var i = 0; i < result.datas.length; i++) { + var name = result.datas[i].name; + var type = result.datas[i].type; + if (type == '篮筐') { + if (result.datas[i].dataList && result.datas[i].dataList.length > 0) { + var isTrue = false; + var oldSterilingMode; + for (var j = 0; j < result.datas[i].dataList.length; j++) { + var sterilingMode = result.datas[i].dataList[j].sterilingMode; + var sterilingType = result.datas[i].dataList[j].sterilingType; + if (top.Ext.getCmp('sterilizationType').getValue() != sterilingType) { + showMultipleResult("[" + name + "]中物品的灭菌程序和所选的灭菌程序不同!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage, true); + } + if (sterilingMode !== hiddenSterilingMode2) { + oldSterilingMode = sterilingMode; + isTrue = false; + break; + } else { + isTrue = true; + } + } + if (isTrue) { + if (result.datas[i]) { + newDatas.push(result.datas[i]); + barcodes.push(result.datas[i].barcode); + } + } else { + noticeDiffSterilingMessage(top.Ext, getDiffSterilingModeMessage(name, oldSterilingMode, hiddenSterilingMode2, '载入', '篮筐')); + } + } + } else { + var sterilingMode = result.datas[i].sterilingMode; + var sterilingType = result.datas[i].sterilingType; + + if (top.Ext.getCmp('sterilizationType').getValue() != sterilingType) { + showMultipleResult("器械包[" + name + "]的灭菌程序和所选的灭菌程序不同!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage, true); + } + if (sterilingMode !== hiddenSterilingMode2) { + noticeDiffSterilingMessage(top.Ext, getDiffSterilingModeMessage(name, sterilingMode, hiddenSterilingMode2)); + } else { + if (result.datas[i]) { + newDatas.push(result.datas[i]); + barcodes.push(result.datas[i].barcode); + } + } + } } + + if (newDatas.length > 0) { + //将篮筐与器械包加载到灭菌列表中 + loadContainerAndTousseToGrid(result.datas); + } + if (barcodes.length > 0) { + for (var i = 0; i < waitSterilingBarcodeArray.length; i++) { + //移除今天审核待灭菌物品的数据 + if (barcodes.indexOf(waitSterilingBarcodeArray[i]) >= 0) { + removePendingSterilizationGoods(waitSterilingBarcodeArray[i]); + } + } + } for (var i = 0; i < fixedBarcodeArr.length; i++) { scanFixedBarcode(fixedBarcodeArr[i], true); } @@ -3678,6 +3800,7 @@ pendingSterilizationColumnTree.loader.load(pendingSterilizationColumnTree.root, function () { }); } top.Ext.getCmp('sterilizationType').setValue(''); + top.Ext.getCmp('hiddenSterilingMode2').setValue(''); top.Ext.getCmp('sterilizationPurpose').setValue(''); top.Ext.getCmp('sterilizationPurposeId').setValue(''); oldSterilizationType = ''; @@ -3812,6 +3935,10 @@ layout: 'form', cls: changeFontColor ? 'edit-5char-labelwidth labelColorForRed' : 'edit-5char-labelwidth', items: [{ + xtype: 'hidden', + id: 'hiddenSterilingMode2', + name: 'hiddenSterilingMode2' + }, { xtype: 'combo', fieldLabel: "灭菌程序", valueField: 'sterilizationType', @@ -3838,6 +3965,7 @@ } var frequency = top.Ext.getCmp('frequency').getValue(); isHaveDoneNoticeSterilisation(sterilizerName, record.data.sterilizationType, frequency); + getSterilizationMode(record.data.sterilizationType) } } }]