| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- -- 将 AIDOP 租户的【送货标签】和【送货单】打印模板复制到租户 838257186181189
- -- SysPrint 表:主键 Id(雪花ID),租户字段 TenantId
- SET @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 @dst_tenant = 838257186181189;
- -- 校验源租户存在
- SELECT IF(@src_tenant IS NULL, ERROR('AIDOP 租户未找到'), 'OK: source tenant_id = ') AS chk, @src_tenant;
- -- 校验目标租户存在
- SELECT IF((SELECT COUNT(*) FROM SysTenant WHERE Id = @dst_tenant) = 0, ERROR('目标租户不存在'), 'OK: target tenant_id = ') AS chk, @dst_tenant;
- -- 查看源模板(执行前先确认)
- SELECT Id, Name, PrintType, LENGTH(Template) AS tpl_len
- FROM SysPrint
- WHERE TenantId = @src_tenant
- AND Name IN ('送货标签', '送货单');
- -- 复制:生成新 Id(基于 UNIX_TIMESTAMP 微秒 + 随机偏移,避免冲突)
- INSERT INTO SysPrint (Id, Name, Template, PrintType, ClientServiceAddress, PrintParam, OrderNo, Status, Remark, PrintDataDemo, TenantId, CreateTime)
- SELECT
- FLOOR(UNIX_TIMESTAMP(NOW(6)) * 1000000) + FLOOR(RAND() * 99999) AS Id,
- p.Name,
- p.Template,
- p.PrintType,
- p.ClientServiceAddress,
- p.PrintParam,
- p.OrderNo,
- p.Status,
- p.Remark,
- p.PrintDataDemo,
- @dst_tenant,
- NOW()
- FROM SysPrint p
- WHERE p.TenantId = @src_tenant
- AND p.Name IN ('送货标签', '送货单')
- AND NOT EXISTS (
- SELECT 1 FROM SysPrint p2
- WHERE p2.TenantId = @dst_tenant AND p2.Name = p.Name
- );
- -- 验证复制结果
- SELECT Id, Name, PrintType, LENGTH(Template) AS tpl_len, TenantId
- FROM SysPrint
- WHERE TenantId = @dst_tenant
- AND Name IN ('送货标签', '送货单');
|