feat(pl): add pl_plan.copy_seq_no for copy-to-group sequence

Persist a tenant-scoped fixed serial for driver-plan clipboard text;
include migration backfill by create_time.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
wuzilongandCursor committed 2026-10-09 12:33:00 +08:00
1 parent 8da59453b6
commit 5357df1cc2
3 files changed
+37

No files matched your search

@@ -0,0 +1,34 @@
-- 运输计划复制发群固定序号(租户内流水)
-- MySQL 5.7
-- 2026-10-09
-- 若列已存在,跳过 ALTER(重复执行会报 Duplicate column)。
ALTER TABLE `pl_plan`
ADD COLUMN `copy_seq_no` int(11) DEFAULT NULL COMMENT '复制发群序号(租户内固定流水,首次复制时分配)' AFTER `plan_no`,
ADD KEY `idx_pl_plan_tenant_copy_seq` (`tenant_no`, `copy_seq_no`);
-- 历史回填:按租户 create_time ASC, id ASC,含软删;已有值不覆盖
-- MySQL 5.7 用户变量按租户编号(会话内执行)
SET @prev_tenant := NULL;
SET @rn := 0;
UPDATE `pl_plan` p
INNER JOIN (
SELECT
t.id,
t.seq_no
FROM (
SELECT
id,
tenant_no,
@rn := IF(@prev_tenant = tenant_no, @rn + 1, 1) AS seq_no,
@prev_tenant := tenant_no AS _tenant
FROM (
SELECT id, tenant_no, create_time
FROM `pl_plan`
ORDER BY tenant_no ASC, create_time ASC, id ASC
) ordered
) t
) ranked ON ranked.id = p.id
SET p.`copy_seq_no` = ranked.seq_no
WHERE p.`copy_seq_no` IS NULL;
+2
View File
@@ -25732,6 +25732,7 @@ DROP TABLE IF EXISTS `pl_plan`;
CREATE TABLE `pl_plan` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`plan_no` varchar(32) NOT NULL COMMENT '计划订单编号 SXDDHYYYYMMDD######',
`copy_seq_no` int(11) DEFAULT NULL COMMENT '复制发群序号(租户内固定流水,首次复制时分配)',
`create_date` date NOT NULL COMMENT '创建日期',
`plan_date` date DEFAULT NULL COMMENT '计划日期',
`belongs_company` varchar(20) NOT NULL COMMENT '归属公司 shanxia-安庆山峡 yundong-安徽云栋',
@@ -25807,6 +25808,7 @@ CREATE TABLE `pl_plan` (
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_plan_no` (`plan_no`) USING BTREE,
KEY `idx_tenant` (`tenant_no`) USING BTREE,
KEY `idx_pl_plan_tenant_copy_seq` (`tenant_no`, `copy_seq_no`) USING BTREE,
KEY `idx_plan_type` (`plan_type`) USING BTREE,
KEY `idx_follow_status` (`follow_status`) USING BTREE,
KEY `idx_plan_date` (`plan_date`) USING BTREE,