Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js =================================================================== diff -u -r13823 -r13971 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 13823) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 13971) @@ -698,7 +698,7 @@ reviewedStatisticsGrid = new Ext.grid.GridPanel({ id : 'reviewedStatisticsGrid', title : '入筐器械包统计信息', - width : document.body.clientWidth/4, + width : document.body.clientWidth/4-50, height : enableBeginEndBarcodeScan ? 300 : 280, bodyStyle : 'border:1px solid #afd7af', store: reviewedStatisticsStore, @@ -720,14 +720,15 @@ fields: [ {name: 'id'}, {name: 'tousseName'}, - {name: 'objBarcode'} + {name: 'objBarcode'}, + {name: 'reviewTime'} ] }) }); waitSterileLoadingTousseGrid = new Ext.grid.GridPanel({ id : 'waitSterileLoadingTousseGrid', title : '待灭菌装载器械包信息', - width : document.body.clientWidth/4, + width : document.body.clientWidth/4+50, height : enableBeginEndBarcodeScan ? 300 : 280, bodyStyle : 'border:1px solid #afd7af', store: waitSterileLoadingTousseStore, @@ -736,9 +737,10 @@ }, columns: [ {header: "id", hidden: true, dataIndex: 'id'}, - {header: "名称", width: 150, sortable: true, dataIndex: 'tousseName'}, - {header: "条形码", width: 100, sortable: true, dataIndex: 'objBarcode'}, - {header: "装载", width: 50, sortable: true, dataIndex: 'objBarcode',renderer:renderformBtn} + {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} ], sm : new Ext.grid.RowSelectionModel({singleSelect:true}) }); @@ -804,7 +806,7 @@ items : [{ region : 'west', autoHeight:true, - width : document.body.clientWidth/4-10, + width : document.body.clientWidth/4+50, items : [waitSterileLoadingTousseGrid] },{ region : 'center', Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r13712 -r13971 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 13712) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 13971) @@ -964,6 +964,7 @@ columns:[ {header:'条码',width:110,dataIndex:'barcode'}, {header:'名称',width:170,dataIndex:'name'}, + {header:'审核时间',width:170,dataIndex:'reviewTime'}, {header:'删除',width:40,dataIndex:'type', renderer:function(v,p,record){ var str = "\"删除外来器械包\""; @@ -1009,6 +1010,22 @@ height : 520 , frame : false, bodyStyle : 'border:1px solid #afd7af', + tbar:['-','->',{iconCls : 'btn_ext_add_tousse',text:'一键入炉',handler:function() { + var rootNode = pendingSterilizationColumnTree.getRootNode(); + var len = rootNode.childNodes.length; + if(len == 0){ + showResult("暂无今天审核的待灭菌记录"); + } + var canAddTousse = sterilizationCanAddTousse(); + if(!canAddTousse){ + showResult("当前灭菌程序不能灭菌物品!"); + return; + } + //查询节点的数据是否存在,如果存在则进行循环 + Ext.each(rootNode.childNodes, function(cNode){ + addPendingSterilizationGoodsToRecord(cNode.attributes["objBarcode"]); + }); + }}], columns : [{ header : '条码', width : 105, @@ -1018,6 +1035,10 @@ width : 35, dataIndex : 'objAmount' },{ + header : '审核时间', + width : 135, + dataIndex : 'reviewTime' + },{ header : '载入', width : 35, dataIndex : 'type', Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r13817 -r13971 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 13817) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 13971) @@ -31,6 +31,7 @@ import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; +import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; @@ -59,6 +60,7 @@ import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.util.ForgonDateUtils; import com.google.gson.JsonArray; import com.google.gson.JsonObject; @@ -623,6 +625,7 @@ jsonObject.put("id", tousseInstance.getId()); jsonObject.put("tousseName", tousseInstance.getShowTousseName()); jsonObject.put("objBarcode", tousseInstance.getBarcode()); + jsonObject.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); jsonArray.add(jsonObject); } HttpServletResponse response = StrutsParamUtils.getResponse(); @@ -801,6 +804,7 @@ basketObj.put("objName", container.getContainerName()); basketObj.put("objBarcode", container.getBarcode()); basketObj.put("objAmount", vos.size()); + basketObj.put("reviewTime", ""); basketObj.put("type", "BASKET"); basketObj.put("uiProvider", "col"); basketObj.put("cls", "master-task"); @@ -814,6 +818,7 @@ tousseInBasket.put("objName", vo.getItemDefinition().getName()); tousseInBasket.put("objBarcode", vo.getBarcode()); tousseInBasket.put("objAmount", 1); + tousseInBasket.put("reviewTime", vo.getReviewTime()); tousseInBasket.put("type", "TOUSSE_IN"); tousseInBasket.put("uiProvider", "col"); tousseInBasket.put("leaf", true); @@ -835,6 +840,7 @@ obj.put("objName", tousseOutsideBasket.getShowTousseName()); obj.put("objBarcode", tousseOutsideBasket.getBarcode()); obj.put("objAmount", 1); + obj.put("reviewTime", ForgonDateUtils.safelyFormatDate(tousseOutsideBasket.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); obj.put("type", "TOUSSE"); obj.put("uiProvider", "col"); obj.put("leaf", true); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r13940 -r13971 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13940) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13971) @@ -69,6 +69,7 @@ import com.forgon.tools.excel.ExcelCellStyle; import com.forgon.tools.excel.ExcelHelper; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.util.ForgonDateUtils; import edu.emory.mathcs.backport.java.util.Collections; @@ -367,7 +368,7 @@ String currentOrgUnitCode = AcegiHelper.getCurrentOrgUnitCode(); //普通器械包、消毒物品、敷料包 String sql = " select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , cssdHandleTousses tt , TousseDefinition td " + "where t.id = b.id and tt.tousseDefinitionId=td.ancestorID and t.tousseDefinition_id=td.id and t.reviewBasket_id =" + reviewedBasket.getId() @@ -381,7 +382,7 @@ //外来器械包、外来器械拆分小包 if(taskGroup.equals(supplyRoomConfig.getDefalutTaskGroup())){ sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , TousseDefinition td " + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id =" + reviewedBasket.getId() @@ -391,7 +392,7 @@ //自定义器械包 if(taskGroup.equals(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){ sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , TousseDefinition td " + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') and t.reviewBasket_id =" + reviewedBasket.getId() @@ -400,7 +401,7 @@ } //外部代理灭菌 sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , TousseDefinition td " + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') and t.reviewBasket_id =" + reviewedBasket.getId() @@ -409,23 +410,23 @@ }else{ //外来器械包、外来器械拆分小包 sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , TousseDefinition td " + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id =" + reviewedBasket.getId() + " and t.orgUnitCoding='"+currentOrgUnitCode+"'" + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; //自定义器械包 sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , TousseDefinition td " + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') and t.reviewBasket_id =" + reviewedBasket.getId() + " and t.orgUnitCoding='"+currentOrgUnitCode+"'" + " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'"; //外部代理灭菌 sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType," - + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id " + + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime " + "from tousseinstance t, barcodedevice b , TousseDefinition td " + "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') and t.reviewBasket_id =" + reviewedBasket.getId() @@ -454,6 +455,8 @@ vo.setForeignProxyItemId(rs.getLong("foreignProxyItem_Id")); vo.setProxyDisinfectionId(rs.getLong("proxyDisinfection_Id")); + vo.setReviewTime(ForgonDateUtils.safelyFormatDate(rs.getTimestamp("reviewTime"), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + vo.setItemDefinition(definition); vos.add(vo); } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r13712 -r13971 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 13712) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 13971) @@ -38,6 +38,7 @@ import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; +import com.forgon.Constants; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.vo.LoginUserData; @@ -65,6 +66,7 @@ import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JsonPropertyFilter; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ForgonDateUtils; import com.forgon.util.FileUtils; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; @@ -328,6 +330,8 @@ .append(tousse.getBarcode()) .append("',name:'") .append(tousseName) + .append("',reviewTime:'") + .append(ForgonDateUtils.safelyFormatDate(tousse.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")) .append("',type:'器械包") .append("',uiProvider:'col',cls:'master-task',insideTousse:true,leaf:true}"); } @@ -361,8 +365,8 @@ jsonStr.append("{barcode:'") .append(reviewedBasket.getContainer().getBarcode()) .append("',name:'") - .append(reviewedBasket.getContainer() - .getContainerName()) + .append(reviewedBasket.getContainer().getContainerName()) + .append("',reviewTime:'") .append("',type:'篮筐") .append("',uiProvider:'col',cls:'master-task',iconCls:'task-folder',children:["); int i = 0; @@ -377,6 +381,8 @@ .append(tousseInstance.getBarcode()) .append("',name:'") .append(tousseName) + .append("',reviewTime:'") + .append(ForgonDateUtils.safelyFormatDate(tousseInstance.getReviewTime(), Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")) .append("',type:'器械包") .append("',uiProvider:'col',insideTousse:false,leaf:true,iconCls:'task'}"); if (i != tousseInstanceList2.size() - 1) { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java =================================================================== diff -u -r12331 -r13971 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java (.../TousseSimpleVO.java) (revision 12331) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java (.../TousseSimpleVO.java) (revision 13971) @@ -17,6 +17,11 @@ private String orgUnitName; private ItemDefinitionVO itemDefinition; private String barcode; + /** + * 新增加审核时间的属性,用于省医需求待灭菌及待灭菌装配的显示 + * @since 2016-06-29 by shuyongfu + */ + private String reviewTime; private Long foreignProxyItemId; private Long proxyDisinfectionId; @@ -100,6 +105,14 @@ public void setProxyDisinfectionId(Long proxyDisinfectionId) { this.proxyDisinfectionId = proxyDisinfectionId; } + + public String getReviewTime() { + return reviewTime; + } + + public void setReviewTime(String reviewTime) { + this.reviewTime = reviewTime; + } }