1.0.317.sql 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. -- =============================================================================
  2. -- 1.0.317:租户隔离批次 4 — Demo 租户注册、S8 演示数据迁移、租户基线补种、qms DEFAULT 去除
  3. -- DemoTenantId=797403760988230 / DemoFactoryId=797403760988231 / DemoRootOrgId=797403760988232
  4. -- KPI 模板租户=797403760988229(AIDOP)
  5. -- 幂等可重跑;执行前建议 §9.1 备份 ado_s8_order_flow_* 相关表
  6. -- =============================================================================
  7. -- ── 0) 迁移前检查:tenant_id=1 且 data_source<>SEED 的行(若有则不要盲目迁,先报负责人)──
  8. -- SELECT 'ado_s8_order_flow_order' AS tbl, data_source, COUNT(*) AS cnt
  9. -- FROM ado_s8_order_flow_order WHERE tenant_id = 1 AND IFNULL(data_source,'') <> 'SEED'
  10. -- UNION ALL
  11. -- SELECT 'ado_s8_order_flow_stage', data_source, COUNT(*) FROM ado_s8_order_flow_stage WHERE tenant_id = 1 AND IFNULL(data_source,'') <> 'SEED';
  12. SET @demo_tenant_id = 797403760988230;
  13. SET @demo_factory_id = 797403760988231;
  14. SET @demo_root_org = 797403760988232;
  15. SET @demo_user_id = 797403760988233;
  16. SET @demo_pos_id = 797403760988234;
  17. SET @kpi_template_tid = 797403760988229;
  18. -- ── 1) 注册 AIDOP-Demo 租户(最小字段,对照 AIDOP 租户 797403760988229)──
  19. INSERT INTO SysOrg (Id, Pid, Name, Code, Type, Level, OrderNo, Status, Remark, TenantId, CreateTime)
  20. SELECT @demo_root_org, 0, 'AIDOP-Demo', 'AIDOP-Demo', '201', 1, 100, 1, 'S8/S0 演示租户根机构', @demo_tenant_id, NOW()
  21. FROM DUAL
  22. WHERE NOT EXISTS (SELECT 1 FROM SysOrg WHERE Id = @demo_root_org);
  23. INSERT INTO SysOrg (Id, Pid, Name, Code, Type, Level, OrderNo, Status, Remark, TenantId, CreateTime)
  24. SELECT @demo_factory_id, @demo_root_org, 'Demo工厂', 'AIDOP-Demo-F001', '501', 2, 101, 1, 'S8 订单流演示工厂', @demo_tenant_id, NOW()
  25. FROM DUAL
  26. WHERE NOT EXISTS (SELECT 1 FROM SysOrg WHERE Id = @demo_factory_id);
  27. INSERT INTO SysPos (Id, Name, Code, OrderNo, Remark, Status, TenantId, CreateTime)
  28. SELECT @demo_pos_id, '管理员-AIDOP-Demo', 'AIDOP-Demo', 100, 'AIDOP-Demo 演示租户', 1, @demo_tenant_id, NOW()
  29. FROM DUAL
  30. WHERE NOT EXISTS (SELECT 1 FROM SysPos WHERE Id = @demo_pos_id);
  31. INSERT INTO SysUser
  32. (Id, Account, Password, RealName, NickName, Sex, Age, CardType, CultureLevel, OrderNo,
  33. Status, AccountType, PosId, OrgId, LangCode, TenantId, Remark, CreateTime, Birthday)
  34. SELECT @demo_user_id, 'AIDOPDemoTenant', u.Password, 'Demo管理员', 'Demo管理员',
  35. 0, 0, 0, 0, 100, 1, 777, @demo_pos_id, @demo_factory_id, 'zh-CN', @demo_tenant_id,
  36. 'AIDOP-Demo 演示租户管理员(UpdateScript 1.0.317)', NOW(), '2000-01-01'
  37. FROM SysUser u
  38. WHERE u.Id = 797403762421829
  39. AND NOT EXISTS (SELECT 1 FROM SysUser WHERE Id = @demo_user_id);
  40. INSERT INTO SysTenant
  41. (Id, UserId, OrgId, TenantType, DbType, OrderNo, Remark, Status, Title, CreateTime)
  42. SELECT @demo_tenant_id, @demo_user_id, @demo_root_org, 0, 0, 100, 'AIDOP-Demo 演示租户', 1, 'AIDOP-Demo', NOW()
  43. FROM DUAL
  44. WHERE NOT EXISTS (SELECT 1 FROM SysTenant WHERE Id = @demo_tenant_id);
  45. -- ── 2) S8 演示数据:tenant_id=1 & data_source=SEED → Demo 租户/工厂 ──
  46. UPDATE ado_s8_order_flow_order
  47. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  48. WHERE tenant_id = 1 AND data_source = 'SEED';
  49. UPDATE ado_s8_order_flow_stage
  50. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  51. WHERE tenant_id = 1 AND data_source = 'SEED';
  52. UPDATE ado_s8_order_flow_substep
  53. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  54. WHERE tenant_id = 1 AND data_source = 'SEED';
  55. UPDATE ado_s8_order_flow_substep_unit
  56. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  57. WHERE tenant_id = 1 AND data_source = 'SEED';
  58. UPDATE ado_s8_order_flow_snapshot
  59. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  60. WHERE tenant_id = 1 AND data_source = 'SEED';
  61. UPDATE ado_s8_order_flow_procurement_pivot
  62. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  63. WHERE tenant_id = 1 AND data_source = 'SEED';
  64. -- 该表无 data_source 列,仅按 tenant_id=1 迁移(演示期全为种子数据)
  65. UPDATE ado_s8_order_flow_product_design_drawing
  66. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  67. WHERE tenant_id = 1;
  68. UPDATE ado_s8_order_flow_manufacturing_process
  69. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  70. WHERE tenant_id = 1 AND data_source = 'SEED';
  71. UPDATE ado_s8_order_flow_manufacturing_loss_factor
  72. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  73. WHERE tenant_id = 1 AND data_source = 'SEED';
  74. UPDATE ado_s8_order_flow_manufacturing_operator
  75. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  76. WHERE tenant_id = 1 AND data_source = 'SEED';
  77. UPDATE ado_s8_order_flow_final_assembly_gate
  78. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  79. WHERE tenant_id = 1 AND data_source = 'SEED';
  80. UPDATE ado_s8_order_flow_final_assembly_parallel
  81. SET tenant_id = @demo_tenant_id, factory_id = @demo_factory_id
  82. WHERE tenant_id = 1 AND data_source = 'SEED';
  83. -- S0 示范组织改挂 Demo 租户(代码种子 S0OrgSeedData 同步)
  84. UPDATE SysOrg
  85. SET TenantId = @demo_tenant_id, Pid = @demo_root_org
  86. WHERE Id = 1329900200001 AND TenantId <> @demo_tenant_id;
  87. UPDATE SysOrg
  88. SET TenantId = @demo_tenant_id
  89. WHERE Id IN (1329900200002, 1329900200003) AND TenantId <> @demo_tenant_id;
  90. -- ── 3/4) S8 角色补种 + KPI 模板复制:挪到 1.0.318(避免本脚本阻塞启动;见该文件)──
  91. -- ── 5) qms_* 表 tenant_id 列去除 DEFAULT 1300000000001(避免新 INSERT silently 落默认租户)──
  92. ALTER TABLE `qms_fqcbj` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  93. ALTER TABLE `qms_gcjyd` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  94. ALTER TABLE `qms_gcjydzb` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  95. ALTER TABLE `qms_qcp_insappnentry` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  96. ALTER TABLE `qms_qcp_inspbill` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  97. ALTER TABLE `qms_qcp_inspecapplyn` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  98. ALTER TABLE `qms_qcpp_inspbill` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';
  99. ALTER TABLE `qms_qcpp_inspbillst` MODIFY COLUMN `tenant_id` BIGINT NOT NULL COMMENT 'tenant_id WP0-D4';