|
@@ -0,0 +1,49 @@
|
|
|
|
|
+-- 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
|
|
|
|
|
+ );
|