1.0.193.sql 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. -- =============================================================================
  2. -- S8-S1-EXCEPTION-FLOW-ROLE-REBIND-1
  3. -- 目的:为 S1 产销协同/订单交付异常建立真实待办接收角色与账号,并把
  4. -- TB001 / EXCEPTION_REPORT「异常提报」节点 approverIds 从 sys_admin(1300000000101)
  5. -- 改绑到 ROLE_S1_EXCEPTION_HANDLER(1329908000150)。
  6. -- 安全:全幂等(NOT EXISTS 守卫 + FlowJson 唯一子串 REPLACE);
  7. -- 不删 sys_admin / Demo01 / Demo02;不动历史 ApprovalFlowInstance / ApprovalFlowTask
  8. -- (StartFlow 用 FlowJsonSnapshot,改定义只影响之后新发起的实例,异常 391 既有 2 待办不变)。
  9. -- 密码:sys_password(=系统默认密码) 的 SM2 密文(与 App.json 内 committed 公私钥一致,跨环境可解);
  10. -- 绝不写明文。账号默认密码=系统 sys_password,业务上线前必须修改。
  11. -- 组织/岗位:OrgId=运营中心(789819155853381)、PosId=部门经理(1300000000106),均为现有有效值。
  12. -- =============================================================================
  13. -- 1) 新建角色 ROLE_S1_EXCEPTION_HANDLER / S1异常处理员(幂等)
  14. INSERT INTO SysRole (Id, Name, Code, OrderNo, DataScope, Remark, Status, TenantId, CreateTime)
  15. SELECT 1329908000150, 'S1异常处理员', 'ROLE_S1_EXCEPTION_HANDLER', 800, 4,
  16. 'S8 S1 异常待办承接角色(S8-S1-EXCEPTION-FLOW-ROLE-REBIND-1)', 1, 1300000000001, '2026-06-22 00:00:00'
  17. FROM DUAL
  18. WHERE NOT EXISTS (SELECT 1 FROM SysRole WHERE Id = 1329908000150 OR Code = 'ROLE_S1_EXCEPTION_HANDLER');
  19. -- 2) 新建账号 s1_exception_handler / S1异常处理员(密码=sys_password 的 SM2 密文;幂等)
  20. INSERT INTO SysUser
  21. (Id, Account, Password, RealName, NickName, Sex, Age, CardType, CultureLevel, OrderNo,
  22. Status, AccountType, PosId, OrgId, LangCode, TenantId, Remark, CreateTime)
  23. SELECT 1329908000151, 's1_exception_handler', '0479c50cccb95b65f1f9429a5a8f771c0774b4b9061418e15704f92dd3c2fc2a52d67865d2f869ab672110bc5969529cc5b7e8c67fd6b9b28de6a238021ddf8e89cf99482ac696fcc21110fa23a5d00390d8f5e466877240c3fd94a30334114eb5cc0761f4a1706be52bd83f3229', 'S1异常处理员', 'S1异常处理员',
  24. 0, 0, 0, 0, 100, 1, 777, 1300000000106, 789819155853381, 'zh-CN', 1300000000001,
  25. 'S8 S1 异常待办接收账号(S8-S1-EXCEPTION-FLOW-ROLE-REBIND-1);默认密码=系统 sys_password,上线前必须修改',
  26. '2026-06-22 00:00:00'
  27. FROM DUAL
  28. WHERE NOT EXISTS (SELECT 1 FROM SysUser WHERE Id = 1329908000151 OR Account = 's1_exception_handler');
  29. -- 3) 绑定 账号 → 角色(幂等)
  30. INSERT INTO SysUserRole (Id, UserId, RoleId)
  31. SELECT 1329908000152, 1329908000151, 1329908000150
  32. FROM DUAL
  33. WHERE NOT EXISTS (SELECT 1 FROM SysUserRole WHERE UserId = 1329908000151 AND RoleId = 1329908000150);
  34. -- 4) TB001「异常提报」节点改绑:approverIds 1300000000101→1329908000150;approverNames 系统管理员→S1异常处理员
  35. -- 唯一子串 REPLACE:第二次执行时原串已不存在 → 自然 no-op(幂等)。approverType 保持 Role,multiApproveMode 不变。
  36. UPDATE ApprovalFlow
  37. SET FlowJson = REPLACE(
  38. REPLACE(FlowJson, '"approverIds":"1300000000101"', '"approverIds":"1329908000150"'),
  39. '"approverNames":"系统管理员"', '"approverNames":"S1异常处理员"')
  40. WHERE Id = 799217842180165 AND Code = 'TB001' AND BizType = 'EXCEPTION_REPORT';