Просмотр исходного кода

组织修改后保存时,添加判断是否需要更新当前组织及下属组织的人员身份信息

luojing 5 лет назад
Родитель
Сommit
be929ccd65

+ 4 - 3
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionEdit.java

@@ -77,7 +77,7 @@ class ActionEdit extends BaseAction {
 			if (this.duplicateName(business, unit)) {
 				throw new ExceptionDuplicateName(unit.getName());
 			}
-			/** 判断是否修改了组织类别,如果修改了,需要重新计算当前组织及下属组织的组织级别 */
+			/** 判断是否修改了组织级别或组织名称,如果修改了,需要重新计算当前组织及下属组织的组织级别 */
 			checkFlag = this.checkUnitTypeName(oldUnit,unit);
 			if(checkFlag){
 				business.unit().adjustInherit(unit);
@@ -86,7 +86,7 @@ class ActionEdit extends BaseAction {
 			emc.commit();
 			ApplicationCache.notify(Unit.class);
 			
-			/** 判断是否修改了组织类别,如果修改了,需要重新计算当前组织及下属组织成员的身份(组织名称,组织级别名称) */
+			/** 判断是否修改了组织级别或组织名称,如果修改了,需要重新计算当前组织及下属组织成员的身份(组织名称,组织级别名称) */
 			if(checkFlag){
 				this.updateIdentityUnitNameAndUnitLevelName(effectivePerson, flag, jsonElement);
 			}
@@ -213,10 +213,11 @@ class ActionEdit extends BaseAction {
 	private boolean checkUnitTypeName(Unit oldUnit, Unit unit) throws Exception {
 		List<String> oldUnitType = oldUnit.getTypeList();
 		String oldName = oldUnit.getName();
+		String oldSuperior = oldUnit.getSuperior();
 		List<String> unitType = unit.getTypeList();
 		String Name = unit.getName();
 		//判断两个list是否相同
-		if (oldUnitType.retainAll(unitType) || !oldName.equals(Name)) {
+		if (oldUnitType.retainAll(unitType) || (!oldName.equals(Name)) || (!oldSuperior.equals(unit.getSuperior()))) {
 			return true;
 		}
 		return false;