chenpei
7b0ee5efb4
feat: 人员架构统一到钉钉唯一值,接入上游组织架构动态同步
素材库与考核调研此前各有一套人事数据,彼此没有外键,靠姓名、邮箱在运行时
逐层软匹配。本次把身份判定收敛到钉钉唯一值,并让组织架构与人员状态跟随
上游 HR 系统自动更新。
人员身份
- 新增账号与权威人员档案的正式绑定表,活跃绑定双向唯一
- users.dingtalkUserId 补上唯一约束,数据库层面杜绝一人多号
- 移除钉钉登录的同名自动合并,同名冲突一律转人工核对
- 看板删除特判由比对用户名改为比对钉钉唯一值,避免同名越权
组织架构
- 新增 OrganizationUnit,直接镜像上游 HR 部门树
- 不再从员工部门路径倒推,同名部门不会再被合并
- 上游已删除的部门下线而非物理删除
人员状态
- 新增规范化的 employmentState,取代对混杂原始值做关键词匹配
- 接入上游离职表,离职判定不再依赖中文关键词
- 离职联动:归档账号并把素材托管给所在部门,默认只处理离职满 30 天者
素材归属
- 归属变更纳入正式转移,记录最初上传者、转移流水与理由
- 新增素材托管部门,归属与署名分离:托管只改维护责任,不动署名
- 编辑素材的权限判定统一到 canManageMaterial
- 修复任务-详情上传把邮箱误存为作者名的问题
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 09:53:48 +08:00
..
2026-08-12 18:04:08 +08:00
2025-12-27 18:54:46 +08:00
2025-12-27 18:54:46 +08:00
2026-05-15 12:48:36 +08:00
2026-01-27 09:33:09 +08:00
2026-01-05 17:52:42 +08:00
2026-01-12 22:37:31 +08:00
2026-08-12 18:04:08 +08:00
2026-08-12 18:04:08 +08:00
2026-08-12 18:04:08 +08:00
2026-08-12 18:04:08 +08:00
2026-07-08 14:35:15 +08:00
2026-08-14 09:53:48 +08:00
2026-08-01 23:57:48 +08:00
2026-07-29 13:46:37 +08:00
2026-08-06 10:02:57 +08:00
2026-05-15 12:48:36 +08:00
2026-05-15 12:48:36 +08:00
2026-08-12 18:04:08 +08:00
2025-12-27 18:54:46 +08:00
2026-08-12 18:04:08 +08:00
2026-05-15 12:48:36 +08:00
2026-05-15 12:48:36 +08:00
2026-08-12 18:04:08 +08:00
2026-08-12 18:04:08 +08:00
2026-01-16 16:19:44 +08:00
2026-08-12 18:04:08 +08:00
2026-07-10 10:57:16 +08:00
2026-08-12 18:04:08 +08:00
2026-07-30 14:39:30 +08:00
2026-08-05 16:49:54 +08:00