Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r36105 -r36107 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 36105) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 36107) @@ -12294,7 +12294,7 @@ RecyclingApplication convertApplication = searchUseRecordConvertApplication(useRecord, tousseInstance); //判断是否可以修改申请单加急信息 - recyclingApplicationCanUpdateUrgentInfo(tousseInstance, convertApplication, ancestorID); + recyclingApplicationCanUpdateUrgentInfo(tousseInstance, convertApplication); TousseItem tousseInstanceTousseItem = null; for (TousseItem tousseItem : convertApplication.getApplicationItems()) { @@ -12544,6 +12544,17 @@ } } } + + UrgentLevel urgentLevelObj = tousseInstanceTousseItem.getUrgentLevelObj(); + if(urgentLevelObj != null && urgentLevelObj.getGrade() == null){ + throw new SystemException("更新失败,【" + urgentLevelObj.getName() + "】没有设置加急级别!"); + } + if(urgentLevelObj != null + && (maxUrgentLevel == null + || urgentLevelObj.getGrade().intValue() > maxUrgentLevel.getGrade().intValue())){ + throw new SystemException("无法修改为更低的加急级别,请联系供应室操作。"); + } + tousseInstanceTousseItem.setUrgentLevelObj(maxUrgentLevel); tousseInstanceTousseItem.setUrgent(maxUrgentLevel == null ? Constants.STR_NO : Constants.STR_YES); if(maxUrgentLevel != null){ @@ -12593,12 +12604,11 @@ * @param convertApplication * @param ancestorID */ - private void recyclingApplicationCanUpdateUrgentInfo( - TousseInstance tousseInstance, - RecyclingApplication convertApplication, Long ancestorID) { + private void recyclingApplicationCanUpdateUrgentInfo(TousseInstance tousseInstance, + RecyclingApplication convertApplication) { //更新申请单的加急等级 if(convertApplication == null){ - throw new SystemException("更新失败,未找到【" + tousseInstance.getTousseName() + "】转换的申请单!"); + throw new SystemException("更新失败,已转换的申请单中找不到【" + tousseInstance.getTousseName() + "】,请确认物品或申请单是否被删除!"); } //已经终止的申请单,不需要再联动修改 @@ -12643,7 +12653,7 @@ List convertApplications = objectDao.findByHql(hql); if(CollectionUtils.isEmpty(convertApplications)){ - return null; + throw new SystemException("更新失败,已转换的申请单中找不到【" + tousseInstance.getTousseName() + "】,请确认物品或申请单是否被删除!"); } Long ancestorID = getTousseInstanceAncestorID(tousseInstance); List recyclingApplicationList = new ArrayList();