Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardForm.js =================================================================== diff -u -r16043 -r17369 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardForm.js (.../idCardForm.js) (revision 16043) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/idCardForm.js (.../idCardForm.js) (revision 17369) @@ -24,6 +24,7 @@ {name : 'status'}, {name : 'useAmount'}, {name : 'printDate'}, + {name : 'firstRecyclingTime'}, {name : 'tousseInstanceStatusAndTime'}, {name : 'sm'}// ColumnModel增加CheckboxSelectionModel后,不加这个会报错 ]; @@ -180,11 +181,12 @@ var idCardInstancesGridCm = new Ext.grid.ColumnModel([ new top.Ext.grid.CheckboxSelectionModel ({singleSelect : false}),//checkbox 列 - {header : '条码',dataIndex : 'barcode',width : 60}, - {header : "使用次数",dataIndex : 'useAmount',width : 50}, + {header : '条码',dataIndex : 'barcode',width : 80}, + {header : "使用次数",dataIndex : 'useAmount',width : 70}, {header : "状态",dataIndex : 'status',width : 50}, - {header : "打印时间",dataIndex : 'printDate',width : 110}, - {id:'tousseInstanceStatusAndTime',header : "器械包状态",dataIndex : 'tousseInstanceStatusAndTime',width : 150,menuDisabled : true} + {header : "打印时间",dataIndex : 'printDate',width : 150}, + {header : "第一次回收时间",dataIndex : 'firstRecyclingTime',width : 120}, + {id:'tousseInstanceStatusAndTime',header : "器械包状态",dataIndex : 'tousseInstanceStatusAndTime',width : 200,menuDisabled : true} ]); idCardInstancesGridPanel = new top.Ext.grid.GridPanel({ @@ -194,11 +196,11 @@ // width:300, store : idCardInstancesGridStore, cm : idCardInstancesGridCm, - autoExpandColumn : 'tousseInstanceStatusAndTime', +// autoExpandColumn : 'tousseInstanceStatusAndTime', bodyStyle : 'border:1px solid #afd7af', - viewConfig: { - forceFit:true - }, +// viewConfig: { +// forceFit:true +// }, clicksToEdit:1, selModel : new top.Ext.grid.CheckboxSelectionModel({ singleSelect : true Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/idcardinstance/IDCardInstance.java =================================================================== diff -u -r17352 -r17369 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/idcardinstance/IDCardInstance.java (.../IDCardInstance.java) (revision 17352) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/idcardinstance/IDCardInstance.java (.../IDCardInstance.java) (revision 17369) @@ -1,6 +1,7 @@ package com.forgon.disinfectsystem.entity.idcardinstance; import java.util.Collection; +import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -46,7 +47,10 @@ * 标识牌关联的清洗项的id。一个标识牌可能会关联多个清洗项,把id拼成字符串保存,以;分隔 */ private String lastClassifiedItemIds; - + /** + * 第一次回收的时间 + */ + private Date firstRecyclingTime; public IDCardInstance() { super(); @@ -131,6 +135,15 @@ public void setLastClassifiedItemIds(String lastClassifiedItemIds) { this.lastClassifiedItemIds = lastClassifiedItemIds; } + + public Date getFirstRecyclingTime() { + return firstRecyclingTime; + } + + public void setFirstRecyclingTime(Date firstRecyclingTime) { + this.firstRecyclingTime = firstRecyclingTime; + } + /** * 获取当前关联的清洗项的id集合 * @return Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java =================================================================== diff -u -r16043 -r17369 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 16043) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 17369) @@ -17,6 +17,7 @@ import net.sf.json.util.CycleDetectionStrategy; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.time.DateUtils; import org.hibernate.Query; import org.hibernate.Session; @@ -43,6 +44,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.json.JSONUtil; +import com.forgon.tools.util.ForgonDateUtils; import com.forgon.tools.util.SqlUtils; import com.google.gson.Gson; import com.google.gson.JsonObject; @@ -363,7 +365,8 @@ String status = idCardInstance.getStatus(); String printDate = idCardInstance.getPrintDate(); String signBoardBarcode = idCardInstance.getBarcode(); - + String firstRecyclingTime = ForgonDateUtils.safelyFormatDate(idCardInstance.getFirstRecyclingTime(), com.forgon.Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM, ""); + JSONObject object = new JSONObject(); if (tousseInstance != null) { String statusAndTime = TousseInstanceUtils @@ -376,6 +379,7 @@ object.put("useAmount", idCardInstance.getUseAmount()); object.put("status", status); object.put("printDate", printDate); + object.put("firstRecyclingTime", firstRecyclingTime); object.put("idCardDefinitionID", idCardInstance.getIdCardDefinitionID()); array.add(object); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r17324 -r17369 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 17324) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 17369) @@ -1079,9 +1079,10 @@ TousseInstance idCardTousseInstance = null; if(StringUtils.isNotBlank(idCardBarcode)){ idCardInstance = idCardInstanceManager.getIDCardInstanceByBarcode(idCardBarcode); - if(idCardInstance != null){ - idCardTousseInstance = IDCardInstanceUtils.getLastOperatedTousseInstance(objectDao, idCardInstance); + if(idCardInstance == null){ + throw new RecyclingRecordException(String.format("条码为%s的标识牌实例已被删除!", idCardBarcode)); } + idCardTousseInstance = IDCardInstanceUtils.getLastOperatedTousseInstance(objectDao, idCardInstance); } //已装配 @@ -1143,6 +1144,7 @@ idCardPackingTask.setPackingTaskID(task.getId()); //包实例改成已回收状态 setIDCardTousseInstanceRecycledStatus(idCardTousseInstance,idCardBarcode); + packingManager.saveOrUpdate(idCardPackingTask); } else { if (idCardPackingTask != null) { @@ -1160,6 +1162,11 @@ throw new RecyclingRecordException("标识牌条码为"+idCardBarcode+"的器械包已装配,不能删除!"); } } + // 设置标识牌实例的第一次回收时间 + if(idCardInstance.getFirstRecyclingTime() == null){ + idCardInstance.setFirstRecyclingTime(new Date()); + } + objectDao.saveOrUpdate(idCardInstance); }else{ throw new RecyclingRecordException(idCardBarcode+",条码不存在!"); }