组织调整相关数据表涉及数据表:表名描述T_HR_HROrgAdjSchm组织调整方案表T_HR_HROrgFrozen组织调整锁定表T_HR_AdminOrgUnitVer组织镜像表T_HR_OrgVerAdjRec组织调整任务记录表T_HR_positionver职位镜像表T_HR_positionverAdjRec职位调整任务记录表T_HR_personver员工镜像表T_HR_personverAdjRec员工调整任务记录表生效Handler及方法调整方案生效处理方法OrgAdjustHandler.enableSchemeAction校验及其它准备1)校验非生效或部分生效方案OrgVerAdjUtil.checkSchemeEnable2)生效前校验OrgVersionEnableFacadeControllerBean._enableBeforCheck。生效前校验分3部分:OrgVersionOrgCheckHandler.check(组织校验),OrgVersionPositionCheckHandler.check(职位校验),OrgVersionPersonCheckHandler.check(人员校验)3)停止同步扫描DigestThreadUtil.setIsSyncPause(ctx,true)调整数据分类准备1)OrgVersionPrepareOrgData组织调整记录数据分类2)OrgVersionPreparePositionData职位调整记录数据分类3)OrgVersionPreparePersonData员工调整记录数据分类调整记录表调整类型字典(T_HR_OrgVerAdjRec,T_HR_positionverAdjRec,T_HR_personverAdjRec)键(key)值(value)描述(alias)ADMIN_ADDNEW_VALUE11组织新增ADMIN_PARENT_CHANGE_VALUE12组织上级变更ADMIN_NAME_CHANGE_VALUE13组织编辑ADMIN_DISABLE_VALUE14组织封存ADMIN_ENABLE_VALUE15组织启用POSITION_ADDNEW_VALUE16职位新增POSITION_COPY_ADDNEW_VALUE17职位复制新增POSITION_DISABLE_VALUE18职位禁用POSITION_ENABLE_VALUE19职位启用POSITION_NAME_CHANGE_VALUE20职位编辑POSITION_PARENT_NAME_CHANGE_VALUE21职位上级职位变更PERSON_TRANSFER_VALUE22员工调动PERSON_OTHERJOB_END_VALUE23员工兼职终止PERSON_OTHERJOB_ADDNEW_VALUE24员工兼职新增PERSON_TRANSFER_END_VALUE25员工借调终止PERSON_TRANSFER_ADDNEW_VALUE26员工借调新增ADMIN_COPY_ADDNEW_VALUE27组织复制新增按类别一次生效调整记录组织启用OrgVersionEffectOrgUnSealUp(组织启用顺序)SELECTorgVerAdj.FIDASIDFROMT_HR_OrgVerAdjRecorgVerAdjLEFTJOINT_HR_AdminOrgUnitVeradminVerONorgVerAdj.FORGVERID=adminVer.FIDWHEREorgVerAdj.FIDIN(SELECTfPersonVerFROMT_HR_OrgVerAdjRecwherefAdjType=15andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ORDERBYadminVer.FLONGNUMBERASCOrgVersionEffectOrgAdjustFacadeControllerBean._enableOrgUnSealUpRequiredNew(组织启用操作)组织新增OrgVersionEffectOrgAddNew(组织新增顺序)OrgVersionEffectOrgAdjustFacadeControllerBean._enableAddNewOrgRequiredNew(组织新增具体逻辑)职位启用OrgVersionEffectPositionEnable(职位启用顺序)OrgVersionEffectPositionAdjustFacadeControllerBean._enablePositionEnableRequiredNew(职位启用生效逻辑)职位新增OrgVersionEffectPositionAddNew(职位新增顺序)SELECTFIDFROMT_HR_POSITIONVERWHEREFIDIN(SELECTfPositionVerFROMT_HR_positionverAdjRecwherefAdjTypein(16,17)andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ANDFPARENTPOSITIONNOTIN(SELECTfPositionVerFROMT_HR_positionverAdjRecwherefAdjTypein(16,17)andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ANDfOrgAdjSchm='schemeId'OrgVersionEffectPositionAdjustFacadeControllerBean._enablePositionAddNewRequireNew//职位新增组织移动或组织上级变更OrgVersionEffectOrgMove(组织移动顺序,组织上级变更)fAdjType=12andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId'orderbycreatetimeascOrgVersionEffectOrgAdjustFacadeControllerBean._enableOrgMoveRequiredNew//组织移动组织修改或编辑OrgVersionEffectOrgModify(组织修改顺序,组织编辑)fAdjType=13andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId'orderbycreatetimeascOrgVersionEffectOrgAdjustFacadeControllerBean._enableOrgModifyRequiredNew//组织修改职位排序OrgVersionEffectPositionSortOrgVersionEffectPositionAdjustFacadeControllerBean._enablePositionSortRequiredNew//职位排序职位修改OrgVersionEffectPositionModifySELECTorgVerAdj.FIDASIDFROMT_HR_OrgVerAdjRecorgVerAdjLEFTJOINT_HR_AdminOrgUnitVeradminVerONorgVerAdj.FORGVERID=adminVer.FIDWHEREorgVerAdj.FIDIN(SELECTfPersonVerFROMT_HR_OrgVerAdjRecwherefAdjTypein(11,27)andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ORDERBYadminVer.FLONGNUMBERASCOrgVersionEffectPositionAdjustFacadeControllerBean._enablePositionModifyRequiredNew//职位修改人员移动OrgVersionEffectPersonMovePersonAdjFacadeControllerBean._enablePersonMoveRequireNew(人员移动)1.PersonChangeControllerBean._save2.EmpPosOrgRelationFacadeControllerBean._operateHRBizDefine3.HRBizDefineManager.process4.AffairActionDefManager.operate5.EmpPosOrgRelationDomainFacadeControllerBean._primaryPositionAddNew职位封存OrgVersionEffectPositionDisableSELECTFIDFROMT_HR_POSITIONVERWHEREFIDIN(SELECTfPositionVerFROMT_HR_positionverAdjRecwherefAdjType=18andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ANDFPARENTPOSITIONIN(SELECTfPositionVerFROMT_HR_positionverAdjRecwherefAdjTypein(16,17)andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ANDfOrgAdjSchm='schemeId'OrgVersionEffectPositionAdjustFacadeControllerBean._enablePositionDisableRequiredNew(职位封存)组织封存OrgVersionEffectOrgSealUpSELECTorgVerAdj.FIDASIDFROMT_HR_OrgVerAdjRecorgVerAdjLEFTJOINT_HR_AdminOrgUnitVeradminVerONorgVerAdj.FORGVERID=adminVer.FIDWHEREorgVerAdj.FIDIN(SELECTfPersonVerFROMT_HR_OrgVerAdjRecwherefAdjType=14andfEnableStatus=0andFIsCanEffect=1andfOrgAdjSchm='schemeId')ORDERBYadminVer.FLONGNUMBERdescOrgVersionEffectOrgAdjustFacadeControllerBean._enableOrgSealUpRequiredNew(组织禁用)调整方案流程图常见问题其他方案后发先至抢占编码复制新增,编码还是用原来的编码组织调整没锁定,组织调整期间组织范围内有做业务要catch最高异常,程序错误请联系管理员,下载日志连接,提单连接组织调整的员工变动不再校验邮箱