Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r20187 -r20326 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 20187) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 20326) @@ -669,15 +669,15 @@ * 1、扫描失败: * {success:-1,failureCause:失败原因} * 2、单个器械包: - * {success:0,tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室,includeImplant:是否为含有植入物的外来器械包} + * {success:0,tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室,includeImplant:是否为含有植入物的外来器械包,reviewTime:审核时间} * 3、单个容器(单个灭菌筐或虚拟篮筐): - * {success:1,containerName:容器名称,tousseInstanceArr:[{tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室},...]} + * {success:1,containerName:容器名称,tousseInstanceArr:[{tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室,reviewTime:审核时间},...]} * 4、不追溯器械包: - * {success:2,tousseInstanceArr:[{tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室},...]} + * {success:2,tousseInstanceArr:[{tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室,reviewTime:审核时间},...]} * 5、首尾器械包: - * {success:3,tousseInstanceArr:[{tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室},...]} + * {success:3,tousseInstanceArr:[{tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室,reviewTime:审核时间},...]} * 6、首尾虚拟篮筐: - * {success:4,tousseInstanceArr:[{virtualBasketSeqNum:虚拟篮筐编号,tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室},...]} + * {success:4,tousseInstanceArr:[{virtualBasketSeqNum:虚拟篮筐编号,tousseBarcode:器械包条码,tousseName:器械包名称,typeForSterilizationStatistics:器械包类型(注意区别于真正的类型),SterilingType:装配时选的灭菌程序,department:科室,reviewTime:审核时间},...]} */ public void loadTousseInstanceInfo() { String barcodeStr = StrutsParamUtils.getPraramValue("barcode", ""); @@ -769,6 +769,7 @@ temp.put("typeForSterilizationStatistics", sterilizationRecordManager.getTypeForSterilizationStatistics(tousseInstance1)); temp.put("SterilingType", tousseInstance1.getSterilingType()); temp.put("department", StringUtils.defaultString(tousseInstance1.getDepart(), "")); + temp.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance1.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); tousseInstanceArr.add(temp); } jsonObj.put("success", 2); @@ -793,6 +794,7 @@ jsonObj.put("SterilingType", tousseInstance.getSterilingType()); jsonObj.put("department", StringUtils.defaultString(tousseInstance.getDepart(), "")); jsonObj.put("includeImplant", includeImplant); + jsonObj.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); } } else { jsonObj.put("success", -1); @@ -848,6 +850,7 @@ temp.put("typeForSterilizationStatistics", sterilizationRecordManager.getTypeForSterilizationStatistics(tousseInstance)); temp.put("SterilingType", tousseInstance.getSterilingType()); temp.put("department", StringUtils.defaultString(tousseInstance.getDepart(), "")); + temp.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); tousseInstanceArr.add(temp); } } @@ -879,6 +882,7 @@ temp.put("typeForSterilizationStatistics", sterilizationRecordManager.getTypeForSterilizationStatistics(tousseInstance)); temp.put("SterilingType", tousseInstance.getSterilingType()); temp.put("department", StringUtils.defaultString(tousseInstance.getDepart(), "")); + temp.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); tousseInstanceArr.add(temp); } } @@ -897,6 +901,7 @@ temp.put("typeForSterilizationStatistics", sterilizationRecordManager.getTypeForSterilizationStatistics(tousseInstance)); temp.put("SterilingType", tousseInstance.getSterilingType()); temp.put("department", StringUtils.defaultString(tousseInstance.getDepart(), "")); + temp.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); tousseInstanceArr.add(temp); } } @@ -918,8 +923,8 @@ /** * 一键入炉请求action. - * 器械包节点 = {type:"器械包",barcode:"器械包条码",name:"器械包名称",typeForSterilizationStatistics:"器械包类型(注意区别于真正的类型)",sterilingType:"灭菌程序",depart:"科室"} - * 篮筐节点 = {type:"篮筐",barcode:"篮筐条码",name:"篮筐名称",dataList:[{barcode:"器械包条码",name:"器械包名称",typeForSterilizationStatistics:"器械包类型(注意区别于真正的类型)",sterilingType:"灭菌程序",depart:"科室"}...]} + * 器械包节点 = {type:"器械包",barcode:"器械包条码",name:"器械包名称",typeForSterilizationStatistics:"器械包类型(注意区别于真正的类型)",sterilingType:"灭菌程序",depart:"科室",reviewTime:"审核时间"} + * 篮筐节点 = {type:"篮筐",barcode:"篮筐条码",name:"篮筐名称",dataList:[{barcode:"器械包条码",name:"器械包名称",typeForSterilizationStatistics:"器械包类型(注意区别于真正的类型)",sterilingType:"灭菌程序",depart:"科室",reviewTime:"审核时间"}...]} * response响应参数格式: * 加载成功: * {success:true,datas:[器械包节点/篮筐节点,...]} @@ -1001,6 +1006,7 @@ returnDataJsonObject.put("typeForSterilizationStatistics", sterilizationRecordManager.getTypeForSterilizationStatistics(tousseInstance)); returnDataJsonObject.put("sterilingType", tousseInstance.getSterilingType()); returnDataJsonObject.put("depart", StringUtils.defaultString(tousseInstance.getDepart()," ")); + returnDataJsonObject.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); validateResultJsonObject.put("success" , true); validateResultJsonObject.put("dataList", returnDataJsonObject); @@ -1058,6 +1064,7 @@ jsonObject.put("typeForSterilizationStatistics", sterilizationRecordManager.getTypeForSterilizationStatistics(tousseInstance)); jsonObject.put("sterilingType", tousseInstance.getSterilingType()); jsonObject.put("depart", StringUtils.defaultString(tousseInstance.getDepart()," ")); + jsonObject.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); tousseInstanceArr.add(jsonObject); } } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r19707 -r20326 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 19707) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 20326) @@ -653,8 +653,7 @@ list = objectDao.findBySql( TousseInstance.class.getSimpleName(), sql,Integer.parseInt(start) , Integer.parseInt(limit),"barcode desc"); }else{ - list = objectDao.findBySql( - TousseInstance.class.getSimpleName(), sql); + list = objectDao.findBySql(TousseInstance.class.getSimpleName(), sql, 0, 0, "depart"); } return list; } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r20307 -r20326 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 20307) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 20326) @@ -174,8 +174,9 @@ * @param type 值为即“篮筐”或“器械包” * @param position 位置 * @param amount 数量(便于以后扫描固定条码支持修改数量的功能,目前值为均为1) + * @param reviewTime 审核时间 */ -function createNode(isParentNode,barcode,name,typeForSterilizationStatistics,depart,type,position,amount){ +function createNode(isParentNode,barcode,name,typeForSterilizationStatistics,depart,type,position,amount,reviewTime){ var node; if(isParentNode==true){ //创建父节点(灭菌筐节点或者没有入灭菌筐的器械包节点) @@ -205,6 +206,7 @@ node.attributes.type = type; node.attributes.position = position; node.attributes.amount = amount; + node.attributes.reviewTime = reviewTime; return node; } @@ -395,13 +397,14 @@ var depart = node.attributes.depart; var position = node.attributes.position; var amount = node.attributes.amount; + var reviewTime = node.attributes.reviewTime; // 没入篮筐的器械包或者篮筐 if(node.attributes.isParentNode){ if(type == '器械包'){ - var cloneNode = createNode(true,barcode,name,typeForSterilizationStatistics,depart,type,position,amount); + var cloneNode = createNode(true,barcode,name,typeForSterilizationStatistics,depart,type,position,amount,reviewTime); return cloneNode; }else{ - var cloneNode = createNode(true,barcode,name,typeForSterilizationStatistics,depart,type,position,amount); + var cloneNode = createNode(true,barcode,name,typeForSterilizationStatistics,depart,type,position,amount,reviewTime); var childNodes = node.attributes.children; if(childNodes != null){ for(var i=0;i 0){ for(var k = 0; k < tousseInstanceArr.length; k++){ var ti = tousseInstanceArr[k]; - var childNode = createNode(false,ti.barcode,ti.name,ti.typeForSterilizationStatistics,ti.depart,'器械包',position,1); + var childNode = createNode(false,ti.barcode,ti.name,ti.typeForSterilizationStatistics,ti.depart,'器械包',position,1,ti.reviewTime); parentNode.appendChild(childNode); } } @@ -914,7 +925,7 @@ /** * 将器械包移除篮筐(只能移除篮筐里面的器械包,这里只是方便用户,不需要特意回到“灭菌装载”界面操作) - * @param barcode + * @param barcode 将要被从灭菌篮筐移除的器械包条码 */ function removeGridItem(barcode) { top.Ext.Msg.confirm("删除确认","是否要将此器械包移除篮筐",function(btn){ @@ -931,11 +942,11 @@ var newChildNodes = new Array(); pNode.eachChild(function(cNode){ if(cNode.attributes.objBarcode != barcode){ - newChildNodes.push(createPendingSterilizationGoodsNode(cNode.attributes.objBarcode, cNode.attributes.objName, cNode.attributes.objAmount, cNode.attributes.type, cNode.attributes.depart)); + newChildNodes.push(createPendingSterilizationGoodsNode(cNode.attributes.objBarcode, cNode.attributes.objName, cNode.attributes.objAmount, cNode.attributes.type, cNode.attributes.depart, cNode.attributes.reviewTime)); } }); if(newChildNodes.length != 0){ - var newNode = createPendingSterilizationGoodsNode(pNode.attributes.objBarcode, pNode.attributes.objName, pNode.attributes.objAmount - 1, pNode.attributes.type,''); + var newNode = createPendingSterilizationGoodsNode(pNode.attributes.objBarcode, pNode.attributes.objName, pNode.attributes.objAmount - 1, pNode.attributes.type,'',''); rootNode.replaceChild(newNode,pNode); newNode.appendChild(newChildNodes); }else{ @@ -966,6 +977,7 @@ var objName = clickNode.attributes.name; var type = clickNode.attributes.type; var depart = clickNode.attributes.depart; + var reviewTime = clickNode.attributes.reviewTime; var array = new Array(); var isBasketUrgent = false; //篮筐是否加急 @@ -981,7 +993,7 @@ var childObjAmount = 1; var childType = 'TOUSSE_IN'; var isUrgent = '否'; - var childNode = createPendingSterilizationGoodsNode(childObjBarcode, childObjName, childObjAmount, childType , pNode.attributes.depart); + var childNode = createPendingSterilizationGoodsNode(childObjBarcode, childObjName, childObjAmount, childType , pNode.attributes.depart, pNode.attributes.reviewTime); DWREngine.setAsync(false); //如果灭菌程序不能添加器械包,要清除灭菌物品列表 SterilizationRecordTableManager.isTousseUrgent(childObjBarcode,function(result){ @@ -998,7 +1010,7 @@ type = 'TOUSSE'; } - var node = createPendingSterilizationGoodsNode(objBarcode, objName, objAmount, type, depart); + var node = createPendingSterilizationGoodsNode(objBarcode, objName, objAmount, type, depart, reviewTime); if(type == 'TOUSSE'){ var isUrgent = '否'; DWREngine.setAsync(false); @@ -1030,15 +1042,16 @@ } /** - * 生成待灭菌物品节点 + * 生成待灭菌物品节点(“将器械包移除篮筐”和“删除灭菌物品”两个操作会调用此函数) * @param objBarcode 条码(篮筐或器械包) * @param objName 名称(篮筐或器械包) * @param objAmount 数量(如果type=BASKET则表示此篮筐里面的器械包个数,其他的均为1) * @param type 类型(值为“BASKET”或者“TOUSSE”或者“TOUSSE_IN”,分别表示“篮筐”、“没入篮筐的器械包”、“入灭菌筐的器械包”) * @param depart 科室 + * @param reviewTime 审核时间 * @returns */ -function createPendingSterilizationGoodsNode(objBarcode, objName, objAmount, type, depart) { +function createPendingSterilizationGoodsNode(objBarcode, objName, objAmount, type, depart, reviewTime) { var node; if(type == 'BASKET'){ //创建父节点 @@ -1065,6 +1078,7 @@ node.attributes.objName=objName; node.attributes.objAmount=objAmount; node.attributes.type=type; + node.attributes.reviewTime=reviewTime; return node; } Index: ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js =================================================================== diff -u -r20153 -r20326 --- ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 20153) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 20326) @@ -180,6 +180,8 @@ enableRecyclingApplicationNotInvoice:true, //自定义入筐是否启用输入装载数量进行入筐操作 enableCustomIntoBasketWithCustomAmount:true, + //是否显示包实例科室(待灭菌与待灭菌装载的表格) + showDepartOfTousseInstanceSterile : true, //是否启用自定义回收的篮筐序号。目前就外来器械拆包有用 enableClassifyBasketSequence:true, //对申请单的物品申请数量是否启用干预功能(true为启用,false或者不配置都不启用)