Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/service/IDCardInstanceManagerImpl.java =================================================================== diff -u -r33302 -r34327 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/service/IDCardInstanceManagerImpl.java (.../IDCardInstanceManagerImpl.java) (revision 33302) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/service/IDCardInstanceManagerImpl.java (.../IDCardInstanceManagerImpl.java) (revision 34327) @@ -330,6 +330,7 @@ if (availableDefinitions.size() == 1) { IDCardDefinition chosenDefinition = availableDefinitions.get(0); availableInstances.get(0).setStatus(IDCardInstance.STATUS_LOST); + availableInstances.get(0).setLostDate(new Date()); idCardInstance.setStatus(IDCardInstance.STATUS_USING); idCardInstance.setCodeOfLostDepart(codeOfLostDepart); @@ -378,6 +379,7 @@ .getIDCardDefinitionByIDCardInstanceId(selected .getId().toString()); selected.setStatus(IDCardInstance.STATUS_LOST); + selected.setLostDate(new Date()); scanned.setStatus(IDCardInstance.STATUS_USING); scanned.setIdCardDefinitionID(idCardDefinition.getId()); Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.96_4.9.97.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.96_4.9.97.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.96_4.9.97.sql (revision 34327) @@ -0,0 +1,7 @@ +update idcardinstance set lostDate=( +(select max(operationtime) from MaterialErrorDamageDetail md +where md.idCardInstanceId= (select min(iii.id) from idcardinstance iii +where iii.idcarddefinitionid=idcardinstance.idcarddefinitionid and iii.id>idcardinstance.id )) +) +where status='已丢失' +and lostDate is null; \ No newline at end of file Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/dwr/table/IdCardInstanceTableManager.java =================================================================== diff -u -r17382 -r34327 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/dwr/table/IdCardInstanceTableManager.java (.../IdCardInstanceTableManager.java) (revision 17382) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/dwr/table/IdCardInstanceTableManager.java (.../IdCardInstanceTableManager.java) (revision 34327) @@ -2,30 +2,48 @@ import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; import com.forgon.component.grid.GridManager; +import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; -import com.forgon.disinfectsystem.idcardinstance.service.IDCardInstanceManager; +import com.forgon.tools.util.SqlUtils; public class IdCardInstanceTableManager { private GridManager gridManager; - private IDCardInstanceManager idCardInstanceManager; - + private DateQueryAdapter dateQueryAdapter; + + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { + this.dateQueryAdapter = dateQueryAdapter; + } public void setGridManager(GridManager gridManager) { this.gridManager = gridManager; } - - public void setIdCardInstanceManager( - IDCardInstanceManager idCardInstanceManager) { - this.idCardInstanceManager = idCardInstanceManager; - } - public String getIdCardInstanceTableList( Map> parameterMap) { + Map sqlWhereParamMap = gridManager + .getParamFromView(parameterMap); + String whereSql = " where 1=1 "; + String status = sqlWhereParamMap.get("status"); + whereSql += SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("po.status", status, ","); + String tousseName = sqlWhereParamMap.get("tousseName"); + whereSql += SqlUtils.getWhereSqlByfilterFieldAndStringValue("po.tousseName", tousseName); + String firstRecyclingTimeStart = sqlWhereParamMap.get("firstRecyclingTimeStart"); + String firstRecyclingTimeEnd = sqlWhereParamMap.get("firstRecyclingTimeEnd"); + if(StringUtils.isNotBlank(firstRecyclingTimeStart) && StringUtils.isNotBlank(firstRecyclingTimeEnd)){ + whereSql += " and po.firstRecyclingTime between " + dateQueryAdapter.dateAdapter(firstRecyclingTimeStart) + + " and " + dateQueryAdapter.dateAdapter(firstRecyclingTimeEnd); + } + String lostDateStart = sqlWhereParamMap.get("lostDateStart"); + String lostDateEnd = sqlWhereParamMap.get("lostDateEnd"); + if(StringUtils.isNotBlank(lostDateStart) && StringUtils.isNotBlank(lostDateEnd)){ + whereSql += " and po.lostDate between " + dateQueryAdapter.dateAdapter(lostDateStart) + + " and " + dateQueryAdapter.dateAdapter(lostDateEnd); + } return gridManager.renderGrid(parameterMap, - IDCardInstance.class.getSimpleName(), "where 1=1", null); + IDCardInstance.class.getSimpleName(), whereSql, null); } } Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r34253 -r34327 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 34253) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 34327) @@ -27,7 +27,7 @@ "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.30","4.9.31","4.9.32","4.9.33","4.9.34","4.9.35","4.9.36","4.9.37","4.9.38","4.9.39","4.9.40","4.9.41","4.9.42","4.9.43","4.9.44", "4.9.45","4.9.46","4.9.47","4.9.48","4.9.49","4.9.50","4.9.51","4.9.52","4.9.53","4.9.54","4.9.55","4.9.56","4.9.57","4.9.58","4.9.59","4.9.60","4.9.61","4.9.62", "4.9.63","4.9.64","4.9.65","4.9.66","4.9.67","4.9.68","4.9.69","4.9.70","4.9.71","4.9.72","4.9.73","4.9.74","4.9.75","4.9.76","4.9.77","4.9.78","4.9.79","4.9.80","4.9.81","4.9.82","4.9.83","4.9.84","4.9.85", - "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92","4.9.93","4.9.94","4.9.95","4.9.96"}; + "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92","4.9.93","4.9.94","4.9.95","4.9.96","4.9.97"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] { Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java =================================================================== diff -u -r34303 -r34327 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 34303) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 34327) @@ -695,11 +695,11 @@ IDCardDefinition idCardDefinition) { Session session = objectDao.getHibernateSession(); Query query = session - .createQuery("update IDCardInstance set status = :status where idCardDefinitionID = :id"); + .createQuery("update IDCardInstance set status = :status,lostDate= :lostDate where idCardDefinitionID = :id"); query.setParameter("status", IDCardInstance.STATUS_LOST); + query.setParameter("lostDate", new Date()); query.setParameter("id", idCardDefinition.getId()); - query.executeUpdate(); } @@ -798,6 +798,7 @@ if (StringUtils.equals(idCardInstance.getStatus(), IDCardInstance.STATUS_USING)) { idCardInstance.setStatus(IDCardInstance.STATUS_LOST); + idCardInstance.setLostDate(new Date()); objectDao.update(idCardInstance); } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/idcardinstance/IDCardInstance.java =================================================================== diff -u -r23492 -r34327 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/idcardinstance/IDCardInstance.java (.../IDCardInstance.java) (revision 23492) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/idcardinstance/IDCardInstance.java (.../IDCardInstance.java) (revision 34327) @@ -64,7 +64,10 @@ * 器械包名字 */ private String tousseName; - + /** + * 丢失时间 + */ + private Date lostDate; public IDCardInstance() { super(); setType(BarcodeDevice.BARCODE_TYPE_SIGNBOARD); @@ -169,7 +172,15 @@ public void setTousseName(String tousseName) { this.tousseName = tousseName; } + + public Date getLostDate() { + return lostDate; + } + public void setLostDate(Date lostDate) { + this.lostDate = lostDate; + } + /** * 获取当前关联的清洗项的id集合 * @return