Index: ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js =================================================================== diff -u -r23221 -r24092 --- ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js (.../reviewView.js) (revision 23221) +++ ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js (.../reviewView.js) (revision 24092) @@ -283,6 +283,25 @@ } /** + * 获取左边审核列表里的包的灭菌方式 + * 如果列表的包数量为0,则返回null + * 如果列表的包数量大于0时,则则第一个包的灭菌方式,如果灭菌方式为空,则返回空字符串:"" + */ +function getSterilingModeFromLeftReviewGrid (){ + var store = Ext.getCmp('forReviewGrid').getStore(); + var tousseCount = store.getCount(); + if(tousseCount == 0){ + return null; + } + var record = store.getAt(0); + var sterilingMode = record.get('sterilingMode'); + if(!sterilingMode){ + return ""; + } + return sterilingMode; +} + +/** * 进入审核列表对应的函数 */ function batchAddToussesToReviewedGrid(){ @@ -292,6 +311,27 @@ showResult("请选择器械包!" , null , sstsConfig.messagePauseTimeOnReviewPage); return false; } + + //如果篮筐名称与条码都不为空时才进行判断 + if(Ext.getCmp("basketName").getValue() != null && Ext.getCmp('basketBarcode').getValue() != null){ + //左边审核列表的包的灭菌方式 + var sterilingModeFromLeftReviewGrid = getSterilingModeFromLeftReviewGrid(); + var firstSterilingMode = selectedRecords[0].data["sterilingMode"]; + //判断所选中的包里是否有灭菌方式不同的包,如果有则进行提示不能扫入,没有再判断是否有和左边审核列表中的包的灭菌方式不一致,如果有则进行提示不能扫入 + if((sterilingModeFromLeftReviewGrid || sterilingModeFromLeftReviewGrid === "") + && firstSterilingMode != sterilingModeFromLeftReviewGrid){ + showResult("【"+ selectedRecords[0].data["tousseDefinition.name"] +"】属于【"+ selectedRecords[0].data["sterilingMode"] +"】物品与原有"+ (sterilingModeFromLeftReviewGrid ? ("【"+ sterilingModeFromLeftReviewGrid +"】物品") : "物品灭菌方式") +"不一致,不能入框审核"); + return false; + } + if(selectedRecords.length > 1){ + for(var i = 1;i < selectedRecords.length;i++){ + if(firstSterilingMode != selectedRecords[i].data["sterilingMode"]){ + showResult("【"+ selectedRecords[i].data["tousseDefinition.name"] +"】属于【"+ selectedRecords[i].data["sterilingMode"] +"】物品与原有"+ (sterilingModeFromLeftReviewGrid ? ("【"+ sterilingModeFromLeftReviewGrid +"】物品") : "物品灭菌方式") +"不一致,不能入框审核"); + return false; + } + } + } + } var records = selectedRecords; //读取config.js的配置:审核页面点进入审核列表按钮,所选的器械包灭菌程序与审核确认列表的器械包的灭菌程序不同的不会被添加至左边的已审核列表,true表示不会被添加至左边,默认及false表示会被添加至左边 @@ -564,6 +604,7 @@ var sterilizer = records[i].data['packingRecord.sterilizer']; var frequency = records[i].data['packingRecord.frequency']; var sterilingMethod = records[i].data['sterilingType']; + var sterilingMode = records[i].data['sterilingMode']; var virtualBasketSeqNum = records[i].data['virtualBasketSeqNum']; var barcode = records[i].data.barcode; var sterileStartDate = records[i].data['sterileStartDate']; @@ -581,6 +622,7 @@ sterileStartDate: sterileStartDate, frequency: frequency, sterilingMethod:sterilingMethod, + sterilingMode:sterilingMode, packageType: packageType, virtualBasketSeqNum:virtualBasketSeqNum }); @@ -1060,6 +1102,7 @@ {header : "装配人",width : 50,dataIndex : 'operator',sortable:false}, {header : "装配时间",width : 105,dataIndex : 'operationTime', renderer : myDateFormatByMinute,sortable:false}, {header : "灭菌程序",width : 60,dataIndex : 'sterilingType',sortable:false}, + {header : "灭菌方式",width : 60,dataIndex : 'sterilingMode',sortable:false}, {id:'operationRemark',header : "有效期至",width : 105,dataIndex : 'validUntil', renderer : myDateFormat,sortable:false} ]; @@ -1075,6 +1118,7 @@ {name : 'sterileStartDate'}, {name : 'status'}, {name : 'sterilingType'}, + {name : 'sterilingMode'}, {name : 'validUntil'}, {name : 'packageType'}, {name : 'scanned'}, @@ -1106,6 +1150,7 @@ iconCls : 'btn_ext_application_side', hidden : !sstsConfig.printLabelWhenReviewing && sstsConfig.hideEnterReviewListButton, handler : function() { + //批量载入至左边的待审核列表 batchAddToussesToReviewedGrid(); } },'-',{ @@ -1244,13 +1289,14 @@ {name: 'barcode',type: 'string'}, {name: 'tousseDefinitionName',type: 'string'}, {name: 'sterilingMethod', type: 'string'}, + {name: 'sterilingMode', type: 'string'}, {name: 'sterilizer', type: 'string'}, {name: 'frequency', type: 'string'} ] }); store.loadData(myData); - /** 待审核器械包 **/ + /** 左边页面的已加入的待审核器械包grid **/ var forReviewGrid = new Ext.grid.GridPanel({ id: 'forReviewGrid', buttonAlign : 'center', @@ -1263,6 +1309,7 @@ {header : "包装类型",width : 80,dataIndex : 'packageType',sortable:false}, {header : "灭菌开始日期",width : 80,dataIndex : 'sterileStartDate',sortable:false}, {header : "灭菌程序",width : 80,dataIndex : 'sterilingMethod',hidden:false}, + {header : "灭菌方式",width : 80,dataIndex : 'sterilingMode',hidden:false}, {id:'operationRemark',header : "虚拟篮筐",width : 80,dataIndex : 'virtualBasketSeqNum',hidden:true}, {id : 'deleteItem',header : '删除',width : 60,menuDisabled : true, renderer : function(v, p, record) { @@ -1414,13 +1461,24 @@ Ext.getCmp('barcode').setValue(''); return; } + + //左边审核列表的包的灭菌方式 + var sterilingModeFromLeftReviewGrid = getSterilingModeFromLeftReviewGrid(); + //判断所选中的包里是否有灭菌方式不同的包,如果有则进行提示不能扫入,没有再判断是否有和左边审核列表中的包的灭菌方式不一致,如果有则进行提示不能扫入 + if((sterilingModeFromLeftReviewGrid || sterilingModeFromLeftReviewGrid === "") + && obj.sterilingMode != sterilingModeFromLeftReviewGrid){ + showResult("【"+ obj.tousseName +"】属于【"+ obj["sterilingMode"] +"】物品与原有"+ (sterilingModeFromLeftReviewGrid ? ("【"+ sterilingModeFromLeftReviewGrid +"】物品") : "物品灭菌方式") +"不一致,不能入框审核"); + return false; + } + var tousseInstance = new tousseInstanceRecord({ id: obj.tousseId, tousseDefinitionName: obj.tousseName, barcode: obj.barcode, packageType: obj.packageType, sterileStartDate: obj.sterileStartDate, sterilingMethod:obj.sterilingMethod, + sterilingMode:obj.sterilingMode, virtualBasketSeqNum:obj.virtualBasketSeqNum }); Ext.getCmp('forReviewGrid').getStore().insert(0,tousseInstance); @@ -1448,6 +1506,7 @@ packageType: tousseInstanceArray[i].packageType, sterileStartDate: tousseInstanceArray[i].sterileStartDate, sterilingMethod:tousseInstanceArray[i].sterilingMethod, + sterilingMode:tousseInstanceArray[i].sterilingMode, virtualBasketSeqNum:tousseInstanceArray[i].virtualBasketSeqNum }); @@ -1543,6 +1602,28 @@ Ext.getCmp('barcodeEnd').setValue(''); return; } + + //如果篮筐名称与条码都不为空时才进行判断 + if(Ext.getCmp("basketName").getValue() != null && Ext.getCmp('basketBarcode').getValue() != null){ + //左边审核列表的包的灭菌方式 + var sterilingModeFromLeftReviewGrid = getSterilingModeFromLeftReviewGrid(); + var firstSterilingMode = tousseInstanceArray[0].data["sterilingMode"]; + //判断所选中的包里是否有灭菌方式不同的包,如果有则进行提示不能扫入,没有再判断是否有和左边审核列表中的包的灭菌方式不一致,如果有则进行提示不能扫入 + if((sterilingModeFromLeftReviewGrid || sterilingModeFromLeftReviewGrid === "") + && firstSterilingMode != sterilingModeFromLeftReviewGrid){ + showResult("【"+ tousseInstanceArray[0]["tousseDefinition.name"] +"】属于【"+ tousseInstanceArray[i]["sterilingMode"] +"】物品与原有"+ (sterilingModeFromLeftReviewGrid ? ("【"+ sterilingModeFromLeftReviewGrid +"】物品") : "物品灭菌方式") +"不一致,不能入框审核"); + return false; + } + if(tousseInstanceArray.length > 1){ + for(var i = 1;i < tousseInstanceArray.length;i++){ + if(firstSterilingMode != tousseInstanceArray[i]["sterilingMode"]){ + showResult("【"+ tousseInstanceArray[i]["tousseName"] +"】属于【"+ tousseInstanceArray[i]["sterilingMode"] +"】物品与原有"+ (sterilingModeFromLeftReviewGrid ? ("【"+ sterilingModeFromLeftReviewGrid +"】物品") : "物品灭菌方式") +"不一致,不能入框审核"); + return false; + } + } + } + } + var alreadyAdd = 0; var speakBasket = new SpeakBasket(); for(var i = 0;i < tousseInstanceArray.length;i++){ @@ -1679,6 +1760,7 @@ {name: 'tousseDefinitionName', type: 'string'}, {name: 'barcode', type: 'string'}, {name :'sterilingMethod',type:'string'}, + {name :'sterilingMode',type:'string'}, {name :'virtualBasketSeqNum',type:'string'} ]);