Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitorView.js =================================================================== diff -u -r14966 -r15135 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitorView.js (.../sterileBasketMonitorView.js) (revision 14966) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitorView.js (.../sterileBasketMonitorView.js) (revision 15135) @@ -4,10 +4,107 @@ var washingMachineStore;// 清洗程序 var rinserStore;// 清洗机 var barcode = ''; +var itemsInBasketGrid; //右边灭菌篮筐的历史装载记录的视图 +var treeStore; //右边灭菌篮筐的历史装载记录的数据储存器 +var barcodeTemp = ''; //输入的条码字符串 + +/*--------------------------- +功能:停止事件冒泡 +---------------------------*/ +function stopBubble(e) { + //如果提供了事件对象,则这是一个非IE浏览器 + if ( e && e.stopPropagation ) + //因此它支持W3C的stopPropagation()方法 + e.stopPropagation(); + else + //否则,我们需要使用IE的方式来取消事件冒泡 + window.event.cancelBubble = true; +} +//阻止浏览器的默认行为 +function stopDefault( e ) { + //阻止默认浏览器动作(W3C) + if ( e && e.preventDefault ) + e.preventDefault(); + //IE中阻止函数器默认动作的方式 + else + window.event.returnValue = false; + return false; +} + +function loadBarcodeDevice(barcodeTemp){ + + if(barcodeTemp.length >= 9){ + var barcode = barcodeTemp.substring(barcodeTemp.length-9,barcodeTemp.length); + barcodeTemp=''; + + Ext4.Ajax.request({ + url : WWWROOT + '/disinfectSystem/tousseInstanceAction!checkBarcode.do', + method : 'POST', + params : {barcode : barcode}, + success : function(response, options) { + var result = Ext4.decode(response.responseText); + if (result.success) { + itemsInBasketGrid.setTitle("灭菌筐【" + result.containerName + "】历史装载记录"); + treeStore.proxy.extraParams = {barcode : barcode}; + treeStore.reload(); + } else { + alert("请扫描灭菌篮筐的条码!"); + } + + }, + failure : function(response, options) { + alert("数据加载异常!"); + } + }); + + }else{ + alert('条码长度不符合规范。'); + } + +} + + +//在页面无需将光标定位在输入框相应全局的扫描枪事件 +function showKeyDown(){ + + if(event.keyCode == 48 || event.keyCode == 96){ + barcodeTemp += '0'; + }else if(event.keyCode == 49 || event.keyCode == 97){ + barcodeTemp += '1'; + }else if(event.keyCode == 50 || event.keyCode == 98){ + barcodeTemp += '2'; + }else if(event.keyCode == 51 || event.keyCode == 99){ + barcodeTemp += '3'; + }else if(event.keyCode == 52 || event.keyCode == 100){ + barcodeTemp += '4'; + }else if(event.keyCode == 53 || event.keyCode == 101){ + barcodeTemp += '5'; + }else if(event.keyCode == 54 || event.keyCode == 102){ + barcodeTemp += '6'; + }else if(event.keyCode == 55 || event.keyCode == 103){ + barcodeTemp += '7'; + }else if(event.keyCode == 56 || event.keyCode == 104){ + barcodeTemp += '8'; + }else if(event.keyCode == 57 || event.keyCode == 105){ + barcodeTemp += '9'; + }else if(event.keyCode == 13){ + loadBarcodeDevice(barcodeTemp); + barcodeTemp=''; + } + stopBubble(event); + stopDefault(event); +} + + + + Ext4.onReady(function() { Ext4.QuickTips.init(); Ext4.BLANK_IMAGE_URL = WWWROOT + '/ext/resources/images/default/s.gif'; + window.focus(); + document.onkeydown = showKeyDown; + var columns = [ {text : "篮筐名",width : 180,dataIndex : 'containerName'}, {text : "篮筐状态",width : 100,dataIndex : 'status',renderer: function(v,p,record){ @@ -52,10 +149,12 @@ , listeners : { itemclick: function( dv, record, item, index, e ){ - var barcode = record.get('barcode'); - itemsInBasketGrid.setTitle("灭菌筐【" + record.get('containerName') + "】历史装载记录"); - treeStore.proxy.extraParams = {barcode : barcode}; - treeStore.reload(); + if (treeStore) { + var barcode = record.get('barcode'); + itemsInBasketGrid.setTitle("灭菌筐【" + record.get('containerName') + "】历史装载记录"); + treeStore.proxy.extraParams = {barcode : barcode}; + treeStore.reload(); + } } } }); @@ -79,6 +178,10 @@ xtype : 'treecolumn', // 必须有此定义,否则不能显示文件夹图标 dataIndex : 'objName' },{ + header : '科室', + width : 70, + dataIndex : 'depart' + },{ header : '条形码', width : 80, dataIndex : 'objBarcode' @@ -106,11 +209,12 @@ {name : 'objName'}, {name : 'objBarcode'}, {name : 'status'}, + {name : 'depart'}, //(cjr) {name : 'sterileEndTime'}, {name : 'amount'} ]}); - var treeStore = new Ext4.data.TreeStore({ + treeStore = new Ext4.data.TreeStore({ model: cModel, proxy: { type: 'ajax', @@ -119,7 +223,7 @@ folderSort: true }); - var itemsInBasketGrid = Ext4.create('columnTreeGrid', { + itemsInBasketGrid = Ext4.create('columnTreeGrid', { id : 'itemsInBasketGrid', flex : 1, border : false, Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r15119 -r15135 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 15119) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 15135) @@ -548,6 +548,7 @@ JSONArray array = new JSONArray(); List baskets = tousseInstanceManager.getTousseInstanceByBasket(basketBarcode); + boolean flag = true; if(baskets != null){ for (ReviewedBasket basket : baskets) { String sql = "where po.reviewBasket_id = " + basket.getId(); @@ -572,6 +573,7 @@ obj.put("objBarcode", instance.getBarcode()); obj.put("sterileEndTime", instance.getSterileEndTime()); obj.put("status", instance.getStatus()); + obj.put("depart", instance.getDepart()); obj.put("leaf", true); children.add(obj); @@ -580,9 +582,10 @@ } basketObj.put("children", children); - basketObj.put("expanded", false); + basketObj.put("expanded", flag); //(cjr) basketObj.put("expandable", true); array.add(basketObj); + flag = false; } } HttpServletResponse response = StrutsParamUtils.getResponse(); @@ -1163,4 +1166,36 @@ e.printStackTrace(); } } + + /** + * 扫描灭菌篮筐时,验证灭菌篮筐的条码是否合格 + * + */ + public void checkBarcode() { + + JSONObject jSONObject = new JSONObject(); + String basketBarcode = StrutsParamUtils.getPraramValue("barcode", ""); + if(StringUtils.isNotBlank(basketBarcode)){ + Container container = containerManager.getContainerByBarcode(basketBarcode); + if (container != null && Container.CONTAINER_PURPOSE_DISINFECTION.equals(container.getPurpose())) { + String containerName = getContainerNameByBasketBarcode(basketBarcode); + jSONObject.put("success", true); + jSONObject.put("containerName", containerName); + } else { + jSONObject.put("success", false); + } + + + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setCharacterEncoding("UTF-8"); + PrintWriter out; + try { + out = response.getWriter(); + out.print(jSONObject.toString()); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } }