Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r28753 -r28775 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 28753) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 28775) @@ -4938,20 +4938,27 @@ tousseNameAndTypeToTousseItem.put(key, oldItem); } - Map urgentLevelMap = new HashMap(); + //根据加急级别名称查询加急级别(加急级别名称不允许重复,且不能为空字符串) + Map urgentLevelMap = new HashMap(); List urgentLevelList = new ArrayList(); - List urgentLevelIds = new ArrayList(); + List urgentLevelNames = new ArrayList(); for(TousseItem newItem : recyclingApplication .getApplicationItems()){ - if(com.forgon.Constants.STR_YES.equals(newItem.getUrgent())){ - urgentLevelIds.add(newItem.getUrgentLevelObj().getId()); + if(com.forgon.Constants.STR_YES.equals(newItem.getUrgent()) && StringUtils.isNotBlank(newItem.getUrgentLevel())){ + urgentLevelNames.add(newItem.getUrgentLevel()); } } - if(CollectionUtils.isNotEmpty(urgentLevelIds)){ - urgentLevelList = objectDao.getCollection(UrgentLevel.class.getSimpleName(), "id", urgentLevelIds); + for (TousseItem oldItem : existApplication + .getApplicationItems()) { + if(com.forgon.Constants.STR_YES.equals(oldItem.getUrgent()) && StringUtils.isNotBlank(oldItem.getUrgentLevel())){ + urgentLevelNames.add(oldItem.getUrgentLevel()); + } + } + if(CollectionUtils.isNotEmpty(urgentLevelNames)){ + urgentLevelList = objectDao.getCollection(UrgentLevel.class.getSimpleName(), "name", urgentLevelNames); if(CollectionUtils.isNotEmpty(urgentLevelList)){ for (UrgentLevel level : urgentLevelList) { - urgentLevelMap.put(level.getId(), level); + urgentLevelMap.put(level.getName(), level); } } } @@ -5020,16 +5027,14 @@ // 加急设置 if(com.forgon.Constants.STR_YES.equals(oldItem.getUrgent()) || com.forgon.Constants.STR_YES.equals(newItem.getUrgent())){ - UrgentLevel urgentLevel = oldItem.getUrgentLevelObj(); + UrgentLevel urgentLevel = urgentLevelMap.get(oldItem.getUrgentLevel() == null ? "" : oldItem.getUrgentLevel()); if(urgentLevel == null){ - //urgentLevel = (UrgentLevel) objectDao.getById(UrgentLevel.class.getSimpleName(), newItem.getUrgentLevelObj().getId()); - if(newItem.getUrgentLevelObj() != null){ - urgentLevel = urgentLevelMap.get(newItem.getUrgentLevelObj().getId()); + if(newItem.getUrgentLevel() != null){ + urgentLevel = urgentLevelMap.get(newItem.getUrgentLevel()); } } else { - UrgentLevel newLevel = newItem.getUrgentLevelObj(); + UrgentLevel newLevel = urgentLevelMap.get(newItem.getUrgentLevel() == null ? "" : newItem.getUrgentLevel()); if(newLevel != null){ - newLevel = urgentLevelMap.get(newItem.getUrgentLevelObj().getId()); if(newLevel != null && newLevel.getGrade().intValue() > urgentLevel.getGrade().intValue()){ urgentLevel = newLevel; } @@ -5091,7 +5096,7 @@ tousseItem.setUrgentAmount(newItem.getUrgentAmount()); tousseItem.setUrgent(newItem.getUrgent()); tousseItem.setUrgentLevel(newItem.getUrgentLevel()); - tousseItem.setUrgentLevelObj(newItem.getUrgentLevelObj()); + tousseItem.setUrgentLevelObj(urgentLevelMap.get(newItem.getUrgentLevel())); needToBeAdded.add(tousseItem);