Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r16868 -r16875 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 16868) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 16875) @@ -726,18 +726,19 @@ } /** - * @param useRecord - * @param tousseInstancesMap - * @param tousseInstanceIDSet - * @param updatedTousseInstances + * 新增使用记录及已存在的使用记录更新器械包实例关联的方法 + * @param useRecord 使用记录对象,新增的话则未持久化,更新的话则已持久化,id属性有值 + * @param tousseInstancesMap 使用记录的包实例map,key为包实例id,value为包实例对象 + * @param tousseInstanceIDSet 包实例id的集合 + * @param updatedTousseInstances 更新的器械包实例集合,调用时传空集合,通过程序计算后把新增的对象赋值进来 * @param modifiedTousseInstanceMap 前台传入的器械包的信息,用于更新数据库中的对象 */ - public void newUseRecordsForUseRecord(UseRecord useRecord, + private void newUseRecordsForUseRecord(UseRecord useRecord, Map tousseInstancesMap, Collection tousseInstanceIDSet, Collection updatedTousseInstances,Map modifiedTousseInstanceMap ) { int updateObjectCount = 0; - int index = updatedTousseInstances.size(); + int index = 0; for (Long id : tousseInstanceIDSet) { TousseInstance tousseInstance = tousseInstancesMap.get(id); TousseInstance modifiedTousseInstance = modifiedTousseInstanceMap.get(id); @@ -761,6 +762,17 @@ objectDao.flush(); } } + + //循环使用记录的所有包实例,如果不是本条使用记录此次新增的包实例数据,则顺序号需要在当前基础上上调 + List tousseInstanceList = useRecord.getTousseInstanceList(objectDao); + if(CollectionUtils.isNotEmpty(tousseInstanceList)){ + for (TousseInstance tousseInstance : tousseInstanceList) { + if(!tousseInstanceIDSet.contains(tousseInstance.getId())){ + tousseInstance.setUseRecordSortNumber(tousseInstance.getUseRecordSortNumber() + tousseInstanceIDSet.size()); + objectDao.saveOrUpdate(tousseInstance); + } + } + } } private void modifyUseRecordItemProperty(Map tousseInstancesMap,