| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- -- 1.0.387: 从 AIDOP 租户复制 3 条客户主数据到 UATTEST_CHL 租户,充实 S0 客户信息维护页演示数据。
- --
- -- 源:AIDOP 租户(org code = 'AIDOP')CustMaster 中 Cust = 10000000 / 10000002 / 10000004
- -- (瑞贝德 / 通广 / 岛包,Class 分别为 1 / 2 / 3,覆盖三种客户分类)
- -- 目标:UATTEST_CHL 租户(org code = 'UATTEST_CHL')
- --
- -- 作用域列改写(必须):
- -- 唯一键 uk_CustMaster_factory_cust = UNIQUE(factory_ref_id, Cust),**不含 tenant_id**。
- -- 若沿用源租户的 factory_ref_id 会与源行撞唯一键,故 company_ref_id / factory_ref_id / Domain
- -- 一律取目标租户既有行的口径(当前为 838257186320453 / 838257186320453 / '2410'),
- -- 而不是照搬源租户的 1000 / 1000 / '8010'。
- --
- -- 只复制源库确实有值的列(Cust / SortName / Class / TaxClass / TaxIn)。
- -- 币种 Curr、销售员 Salesperson1/Slspsn2、发至 ShipTo、全称 CustFullName 在**所有租户**
- -- 的 CustMaster 中均为空,属全局数据现状,本脚本不臆造填充,页面对应列仍为空白。
- --
- -- 幂等:目标租户已存在同 Cust 则跳过;源租户或目标租户不存在的库上为空操作。
- SET @uat_cust_src_tenant := (
- SELECT t.Id FROM SysTenant t JOIN SysOrg o ON o.Id = t.OrgId
- WHERE o.Code = 'AIDOP' AND t.Status = 1 LIMIT 1);
- SET @uat_cust_dst_tenant := (
- SELECT t.Id FROM SysTenant t JOIN SysOrg o ON o.Id = t.OrgId
- WHERE o.Code = 'UATTEST_CHL' AND t.Status = 1 LIMIT 1);
- -- 目标租户既有作用域口径(取现存行,保持与该租户其它客户一致)
- SET @uat_cust_company := (SELECT company_ref_id FROM CustMaster WHERE tenant_id = @uat_cust_dst_tenant LIMIT 1);
- SET @uat_cust_factory := (SELECT factory_ref_id FROM CustMaster WHERE tenant_id = @uat_cust_dst_tenant LIMIT 1);
- SET @uat_cust_domain := (SELECT Domain FROM CustMaster WHERE tenant_id = @uat_cust_dst_tenant LIMIT 1);
- INSERT INTO CustMaster
- (company_ref_id, factory_ref_id, tenant_id, Domain, Cust, SortName,
- Class, TaxClass, TaxIn, IsActive, IsConfirm, CreateUser, CreateTime)
- SELECT @uat_cust_company, @uat_cust_factory, @uat_cust_dst_tenant, @uat_cust_domain,
- src.Cust, src.SortName, src.Class, src.TaxClass, src.TaxIn,
- 1, 1, 'UAT-CUST-SEED', NOW()
- FROM CustMaster src
- WHERE src.tenant_id = @uat_cust_src_tenant
- AND src.Cust IN ('10000000', '10000002', '10000004')
- AND @uat_cust_src_tenant IS NOT NULL
- AND @uat_cust_dst_tenant IS NOT NULL
- AND @uat_cust_factory IS NOT NULL
- AND NOT EXISTS (
- SELECT 1 FROM CustMaster x
- WHERE x.tenant_id = @uat_cust_dst_tenant
- AND x.factory_ref_id = @uat_cust_factory
- AND x.Cust = src.Cust
- );
|