Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js =================================================================== diff -u -r14674 -r14769 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 14674) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 14769) @@ -552,12 +552,25 @@ var tousseInstanceRecord = Ext.data.Record.create([ {name: 'id', type: 'long'}, + {name: 'depart', type: 'string'}, {name: 'tousseDefinitionName', type: 'string'}, {name: 'barcode', type: 'string'} ]); var contentHeight = document.body.scrollHeight; + //篮筐物品明细grid的列头,根据可配置的参数进行动态定义 + var tousseGridColumnArray = []; + if(sstsConfig.showDepartOfTousseInstanceSterile == true){ + tousseGridColumnArray.push({header: "科室", width: 250, sortable: true, dataIndex: 'depart'}); + tousseGridColumnArray.push({header: "器械包名称", width: 150, sortable: true, dataIndex: 'tousseDefinitionName'}); + tousseGridColumnArray.push({header: "条码", width: 100, sortable: true, dataIndex: 'barcode'}); + }else{ + tousseGridColumnArray.push({header: "器械包名称", width: 250, sortable: true, dataIndex: 'tousseDefinitionName'}); + tousseGridColumnArray.push({header: "条码", width: 200, sortable: true, dataIndex: 'barcode'}); + } + tousseGridColumnArray.push({header: "移除", width: 50, dataIndex: 'barcode', renderer : showDelBtn}); + var tousseGrid = new Ext.grid.GridPanel({ id : 'tousseGrid', title : '篮筐物品明细', @@ -568,11 +581,7 @@ viewConfig: { forceFit:true }, - columns: [ - {header: "器械包名称", width: 250, sortable: true, dataIndex: 'tousseDefinitionName'}, - {header: "条码", width: 200, sortable: true, dataIndex: 'barcode'}, - {header: "移除", width: 50, dataIndex: 'barcode', renderer : showDelBtn} - ], + columns: tousseGridColumnArray, sm : new Ext.grid.RowSelectionModel({singleSelect:true}) }); @@ -755,6 +764,18 @@ ] }) }); + + //待灭菌装载器械包信息grid的列头,根据可配置的参数进行动态定义 + var waitSterileLoadingTousseGridColumnArray = []; + waitSterileLoadingTousseGridColumnArray.push({header: "id", hidden: true, dataIndex: 'id'}); + if(sstsConfig.showDepartOfTousseInstanceSterile == true){ + waitSterileLoadingTousseGridColumnArray.push({header: "科室", width: 120, sortable: true, dataIndex: 'depart',hidden:!sstsConfig.showDepartOfTousseInstanceSterile}); + } + waitSterileLoadingTousseGridColumnArray.push({header: "名称", width: 120, sortable: true, dataIndex: 'tousseName'}); + waitSterileLoadingTousseGridColumnArray.push({header: "条形码", width: 80, sortable: true, dataIndex: 'objBarcode'}); + waitSterileLoadingTousseGridColumnArray.push({header: "审核时间", width: 110, sortable: true, dataIndex: 'reviewTime'}); + waitSterileLoadingTousseGridColumnArray.push({header: "装载", width: 40, sortable: true, dataIndex: 'objBarcode',renderer:renderformBtn}); + waitSterileLoadingTousseGrid = new Ext.grid.GridPanel({ id : 'waitSterileLoadingTousseGrid', title : '待灭菌装载器械包信息', @@ -767,14 +788,7 @@ /*viewConfig: { forceFit:true },*/ - columns: [ - {header: "id", hidden: true, dataIndex: 'id'}, - {header: "科室", width: 120, sortable: true, dataIndex: 'depart'}, - {header: "名称", width: 120, sortable: true, dataIndex: 'tousseName'}, - {header: "条形码", width: 80, sortable: true, dataIndex: 'objBarcode'}, - {header: "审核时间", width: 110, sortable: true, dataIndex: 'reviewTime'}, - {header: "装载", width: 40, sortable: true, dataIndex: 'objBarcode',renderer:renderformBtn} - ], + columns: waitSterileLoadingTousseGridColumnArray, sm : new Ext.grid.RowSelectionModel({singleSelect:true}) }); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r14290 -r14769 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 14290) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 14769) @@ -339,6 +339,7 @@ .append("',reviewTime:'") .append(ForgonDateUtils.safelyFormatDate(tousse.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")) .append("',type:'器械包") + .append("',depart:'" + StringUtils.defaultString(tousse.getDepart(), "")) .append("',uiProvider:'col',cls:'master-task',insideTousse:true,leaf:true}"); } } @@ -390,6 +391,7 @@ .append("',reviewTime:'") .append(ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")) .append("',type:'器械包") + .append("',depart:'" + StringUtils.defaultString(tousseInstance.getDepart(), "")) .append("',uiProvider:'col',insideTousse:false,leaf:true,iconCls:'task'}"); if (i != tousseInstanceList2.size() - 1) { jsonStr.append(","); @@ -521,6 +523,13 @@ * 扫描灭菌物品条码 * params:barcode 器械包或灭菌篮筐条码或虚拟篮筐,或器械包条码段、虚拟篮筐编号段,用分号分隔 * saveBarcode 已显示在columnGrid中的条码 + * 响应消息格式(success分别对应-1:失败、0:单个器械包、1:单个容器(单个灭菌框或虚拟篮筐)、2:不追溯器械包、3:首尾器械包、4:首尾虚拟篮筐) + * 1. failure,-1,您扫描的是消毒物品条码,该物品不需要灭菌 + * 2. success,0, [条码]:[名称]:[灭菌程序]:[科室]:true + * 3. success,1, ,[篮筐]:[条码]:[名称]:[灭菌程序]:true + * 4. success,2, [条码]:[名称]:[灭菌程序]:[科室]:true + * 5. success,3, [条码]:[名称]:[灭菌程序]:[科室]:true ,[条码]:[名称]:[灭菌程序]:[科室]:true + * 6. success,4, ,[篮筐]:[条码]:[名称]:[灭菌程序]:true ,[篮筐]:[条码]:[名称]:[灭菌程序]:true */ public void loadTousseInstanceInfo() { String barcodeStr = StrutsParamUtils.getPraramValue("barcode", ""); @@ -570,7 +579,7 @@ result += "," + tousseInstance.getBarcode() + ":" + tousseName + ":" + tousseInstance - .getSterilingType(); + .getSterilingType() + ":" + StringUtils.defaultString(tousseInstance.getDepart(), ""); // 超重、超大外来器械用配置的灭菌方式 if (TousseDefinition.BIG_PACKAGE_TRUE .equals(tousseInstance @@ -617,7 +626,7 @@ + tousseInstance.getVirtualBasketSeqNum() + ":"+ tousseInstance.getBarcode() + ":" + tousseName + ":" + tousseInstance - .getSterilingType(); + .getSterilingType() + ":" + StringUtils.defaultString(tousseInstance.getDepart(), ""); // 超重、超大外来器械用配置的灭菌方式 if (TousseDefinition.BIG_PACKAGE_TRUE .equals(tousseInstance @@ -760,7 +769,7 @@ result += ("," + tousseInstance1.getBarcode() + ":" + tousseName + ":" + tousseInstance1 - .getSterilingType()); + .getSterilingType()) + ":" + StringUtils.defaultString(tousseInstance.getDepart(), ""); // 超重、超大外来器械用配置的灭菌方式 if (TousseDefinition.BIG_PACKAGE_TRUE .equals(tousseInstance1 @@ -909,7 +918,7 @@ result += "," + tousseInstance.getBarcode() + ":" + tousseName + ":" + tousseInstance - .getSterilingType(); + .getSterilingType() + ":" + StringUtils.defaultString(tousseInstance.getDepart(), ""); // 超重、超大外来器械用配置的灭菌方式 if (TousseDefinition.BIG_PACKAGE_TRUE .equals(tousseInstance Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r14727 -r14769 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 14727) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 14769) @@ -672,9 +672,10 @@ } countLoop++; - jsonStr.append("{" + "objName:'" - + tousseInstance.getShowTousseName() + "'," - + "objBarcode:'" + tousseInstance.getBarcode() + "'" + jsonStr.append("{" + "objName:\"" + + tousseInstance.getShowTousseName() + "\"," + + "objBarcode:'" + tousseInstance.getBarcode() + "\"," + + "depart:\"" + tousseInstance.getDepart() + "\"" + "}"); } jsonStr.append("]"); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r14728 -r14769 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 14728) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 14769) @@ -170,14 +170,19 @@ /** * 创建节点 + * isParentNode 是否父节点(一般如为篮筐则为true,为器械包则为false) + * barcode 条码(篮筐或器械包) + * name 名称(篮筐或器械包) + * type 类型即篮筐或器械包 + * insideTousse */ -function createNode(isParentNode,barcode,name,type,insideTousse){ +function createNode(isParentNode,barcode,name,depart,type,insideTousse){ var node; if(isParentNode==true){ //创建父节点 node = new top.Ext.tree.TreeNode({ id:Ext.id(), - text:barcode, + text:sstsConfig.showDepartOfTousseInstanceSterile == true ? depart : barcode, cls:'master-task', uiProvider:top.Ext.tree.ColumnNodeUI, leaf:false, @@ -187,12 +192,13 @@ //创建子节点 node = new top.Ext.tree.TreeNode({ id:Ext.id(), - text:barcode, + text:sstsConfig.showDepartOfTousseInstanceSterile == true ? depart : barcode, iconCls:'task', uiProvider:top.Ext.tree.ColumnNodeUI, leaf:true, expanded:true }); + node.attributes.depart=depart; } //********************** 节点保存的属性值 ****************************// node.attributes.barcode=barcode; @@ -350,7 +356,8 @@ if (result != null && result != 'null') { var str = result.split(","); if(str[1] == 0){//器械包(单个) - var sterilingType = str[3]; + var sterilingType = str[3];//灭菌程序 + var tousseDepart = str[4];//科室 if(sterilingType.length > 0){ var sterilization = top.Ext.getCmp('sterilizationType').getValue(); if(str[4] == 'true' || str[4] == true){//超大超重拆分包用指定的灭菌方式 @@ -372,7 +379,7 @@ var rootNode = sterilizationColumnTree.getRootNode(); - var parentNode = createNode(true,barcodeStr,str[2],'器械包',true); + var parentNode = createNode(true,barcodeStr,str[2],tousseDepart,'器械包',true); //speakContent = str[2]; var firstChildNode = rootNode.item(0); @@ -424,7 +431,7 @@ top.Ext.getCmp('sterilizationType').setValue(sterilingType); } var rootNode = sterilizationColumnTree.getRootNode(); - var parentNode = createNode(true,barcodeStr,str[2],'篮筐',true); + var parentNode = createNode(true,barcodeStr,str[2],'','篮筐',true); speakContent = str[2]; var firstChildNode = rootNode.item(0); if(firstChildNode == null || firstChildNode == undefined){ @@ -434,9 +441,10 @@ } for(var i=3;i"; + if (record.type == '篮筐' || record.insideTousse == true) { + if(currentStatus != statusEnd && currentStatus != statusFailure){ + return str; + } + } + return ''; + } + }); + sterilizationColumnTree = new top.Ext.tree.ColumnTree({ rootVisible:false, autoScroll:true, @@ -1012,22 +1044,7 @@ title:'灭菌物品列表', frame : false, bodyStyle : 'border:1px solid #afd7af', - columns:[ - {header:'条码',width:110,dataIndex:'barcode'}, - {header:'名称',width:170,dataIndex:'name'}, - {header:'加急',width:170,dataIndex:'isUrgent',hidden:true}, - {header:'审核时间',width:170,dataIndex:'reviewTime',hidden:true}, - {header:'删除',width:40,dataIndex:'type', - renderer:function(v,p,record){ - var str = "\"删除外来器械包\""; - if (record.type == '篮筐' || record.insideTousse == true) { - if(currentStatus != statusEnd && currentStatus != statusFailure){ - return str; - } - } - return ''; - } - }], + columns:sterilizationColumnTreeColumnArray, loader: new top.Ext.tree.TreeLoader({ url : WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!loadSterilizationGoods.do', baseParams : {id:id}, @@ -1052,8 +1069,137 @@ var urlParam = Ext.urlEncode({ status :currentStatus }); + + //灭菌物品列表grid的列头,根据可配置的参数进行动态定义 + var pendingSterilizationColumnTreeColumnArray = []; + if(sstsConfig.showDepartOfTousseInstanceSterile == true){ + pendingSterilizationColumnTreeColumnArray.push({ + header : '科室', + width : 210, + dataIndex : 'depart',hidden:false + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '名称', + width : 150, + dataIndex : 'objName' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '数量', + width : 35, + dataIndex : 'objAmount' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '条码', + width : 105, + dataIndex : 'objBarcode' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '审核时间', + width : 135, + dataIndex : 'reviewTime' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '载入', + width : 35, + dataIndex : 'type', + renderer : function(v,p,record){ + var str = "\"\""; + if (record.type == 'BASKET' || record.type == 'TOUSSE') { + if(currentStatus != statusEnd && currentStatus != statusFailure){ + return str; + } + } + return ''; + } + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '加急', + width : 35, + dataIndex : 'isUrgent', + renderer : function(v, p, record) { + if (v == '是') { + return '' + v + ''; + }else{ + return '' + '否' + ''; + } + } + }); + + }else{ + pendingSterilizationColumnTreeColumnArray.push({ + header : '条码', + width : 105, + dataIndex : 'objBarcode' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '数量', + width : 35, + dataIndex : 'objAmount' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '加急', + width : 35, + dataIndex : 'isUrgent', + renderer : function(v, p, record) { + if (v == '是') { + return '' + v + ''; + }else{ + return '' + '否' + ''; + } + } + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '审核时间', + width : 135, + dataIndex : 'reviewTime' + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '载入', + width : 35, + dataIndex : 'type', + renderer : function(v,p,record){ + var str = "\"\""; + if (record.type == 'BASKET' || record.type == 'TOUSSE') { + if(currentStatus != statusEnd && currentStatus != statusFailure){ + return str; + } + } + return ''; + } + }); + + pendingSterilizationColumnTreeColumnArray.push({ + header : '名称', + width : 150, + dataIndex : 'objName' + }); + } + pendingSterilizationColumnTreeColumnArray.push({ + header : '删除', + width : 40, + dataIndex : 'type', + renderer : function(v,p,record){ + var str = "\"\""; + if (record.type == 'TOUSSE' || record.type == 'TOUSSE_IN') { + if(currentStatus != statusEnd && currentStatus != statusFailure){ + return str; + } + } + return ''; + } + }); /** - * 待灭菌物品列表 + * 今天审核的待灭菌物品列表 */ pendingSterilizationColumnTree = new top.Ext.tree.ColumnTree({ rootVisible : false, @@ -1078,64 +1224,7 @@ addPendingSterilizationGoodsToRecord(cNode.attributes["objBarcode"]); }); }}], - columns : [{ - header : '科室', - width : 210, - dataIndex : 'depart' - },{ - header : '名称', - width : 150, - dataIndex : 'objName' - },{ - header : '数量', - width : 35, - dataIndex : 'objAmount' - },{ - header : '条码', - width : 105, - dataIndex : 'objBarcode' - },{ - header : '审核时间', - width : 135, - dataIndex : 'reviewTime' - },{ - header : '载入', - width : 35, - dataIndex : 'type', - renderer : function(v,p,record){ - var str = "\"\""; - if (record.type == 'BASKET' || record.type == 'TOUSSE') { - if(currentStatus != statusEnd && currentStatus != statusFailure){ - return str; - } - } - return ''; - } - },{ - header : '加急', - width : 35, - dataIndex : 'isUrgent', - renderer : function(v, p, record) { - if (v == '是') { - return '' + v + ''; - }else{ - return '' + '否' + ''; - } - } - },{ - header : '删除', - width : 40, - dataIndex : 'type', - renderer : function(v,p,record){ - var str = "\"\""; - if (record.type == 'TOUSSE' || record.type == 'TOUSSE_IN') { - if(currentStatus != statusEnd && currentStatus != statusFailure){ - return str; - } - } - return ''; - } - }], + columns : pendingSterilizationColumnTreeColumnArray, loader : new top.Ext.tree.TreeLoader({ url : WWWROOT + '/disinfectSystem/tousseInstanceAction!getTodayPendingSterilizationTousseAndBasket.do?'+urlParam, uiProviders:{ Index: ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js =================================================================== diff -u -r14685 -r14769 --- ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 14685) +++ ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 14769) @@ -88,5 +88,7 @@ // 科室申请版本:1或者没有配置沿用之前的版本,2:独立出科室申领的几个申请功能 recyclingApplicationVersion : 2, //隐藏外部代理灭菌的部分元素(页面属性),为true时部分隐藏,未配置或配置为其它值时与原来保持一致 - hiddenForeignProxyPartElement : true + hiddenForeignProxyPartElement : true, + //是否显示包实例科室(待灭菌与待灭菌装载的表格) + showDepartOfTousseInstanceSterile : true } \ No newline at end of file