yxk-20260714
拆分我的待阅已阅并新增抄送轻量列表接口 - 新增抄送阅读状态支持,ext_act_task_cc 增加 isRead/readTime 映射 - 新增抄送已阅接口,校验当前用户必须为抄送接收人 - 新增我的抄送轻量列表接口 /act/process/extActTaskCc/myList - 轻量列表以 ext_act_task_cc 为主表查询,返回业务标题、流程名称、抄送节点、发起人、抄送人、抄送时间、已阅时间等字段 - 前端拆分为我的待阅、我的已阅页面,旧我的抄送页面兼容待阅 - 前端列表切换到轻量接口,移除办理人、开始时间、结束时间、耗时等历史任务字段 - 加宽业务标题列,门户待阅预览同步调整 - 新增 Flyway 菜单迁移和抄送查询索引
This commit is contained in:
+88
@@ -0,0 +1,88 @@
|
||||
-- 抄送阅读状态字段:兼容已手工加字段的环境,缺失时自动补齐。
|
||||
SET @add_cc_is_read_sql = IF(
|
||||
(SELECT COUNT(1)
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'ext_act_task_cc'
|
||||
AND column_name = 'is_read') = 0,
|
||||
'ALTER TABLE `ext_act_task_cc` ADD COLUMN `is_read` tinyint(1) DEFAULT 0 COMMENT ''是否已阅:0待阅,1已阅'' AFTER `cc_user_name`',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE add_cc_is_read_stmt FROM @add_cc_is_read_sql;
|
||||
EXECUTE add_cc_is_read_stmt;
|
||||
DEALLOCATE PREPARE add_cc_is_read_stmt;
|
||||
|
||||
SET @add_cc_read_time_sql = IF(
|
||||
(SELECT COUNT(1)
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'ext_act_task_cc'
|
||||
AND column_name = 'read_time') = 0,
|
||||
'ALTER TABLE `ext_act_task_cc` ADD COLUMN `read_time` datetime DEFAULT NULL COMMENT ''已阅时间'' AFTER `is_read`',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE add_cc_read_time_stmt FROM @add_cc_read_time_sql;
|
||||
EXECUTE add_cc_read_time_stmt;
|
||||
DEALLOCATE PREPARE add_cc_read_time_stmt;
|
||||
|
||||
UPDATE `ext_act_task_cc`
|
||||
SET `is_read` = 0
|
||||
WHERE `is_read` IS NULL;
|
||||
|
||||
-- 旧“我的抄送”菜单沿用原 ID 改为“我的待阅”,保留既有角色/部门授权关系。
|
||||
UPDATE `sys_permission`
|
||||
SET `name` = '我的待阅',
|
||||
`url` = '/task/myUnreadCcTaskList',
|
||||
`component` = 'super/bpm/process/personalOffice/myCcTask/MyUnreadCcTaskList',
|
||||
`sort_no` = 3.00,
|
||||
`update_by` = 'admin',
|
||||
`update_time` = NOW()
|
||||
WHERE `id` = '1527569492930560001';
|
||||
|
||||
-- 新增“我的已阅”菜单。
|
||||
INSERT IGNORE INTO `sys_permission`(
|
||||
`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`,
|
||||
`menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`,
|
||||
`hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`,
|
||||
`del_flag`, `rule_flag`, `status`, `internal_or_external`
|
||||
) VALUES (
|
||||
'2026071300010000001', '1526860315136425986', '我的已阅', '/task/myReadCcTaskList',
|
||||
'super/bpm/process/personalOffice/myCcTask/MyReadCcTaskList', 1, NULL, NULL,
|
||||
1, NULL, '0', 4.00, 0, NULL, 1, 0,
|
||||
0, 0, NULL, 'admin', NOW(), NULL, NULL,
|
||||
0, 0, NULL, 0
|
||||
);
|
||||
|
||||
-- 将已拥有“我的待阅”的角色同步授权到“我的已阅”。
|
||||
INSERT INTO `sys_role_permission`(`id`, `role_id`, `permission_id`, `data_rule_ids`, `operate_date`, `operate_ip`)
|
||||
SELECT
|
||||
MD5(CONCAT('cc-read-role:', srp.`role_id`)),
|
||||
srp.`role_id`,
|
||||
'2026071300010000001',
|
||||
srp.`data_rule_ids`,
|
||||
NOW(),
|
||||
srp.`operate_ip`
|
||||
FROM `sys_role_permission` srp
|
||||
WHERE srp.`permission_id` = '1527569492930560001'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_role_permission` target
|
||||
WHERE target.`role_id` = srp.`role_id`
|
||||
AND target.`permission_id` = '2026071300010000001'
|
||||
);
|
||||
|
||||
-- 将已拥有“我的待阅”的部门同步授权到“我的已阅”。
|
||||
INSERT INTO `sys_depart_permission`(`id`, `depart_id`, `permission_id`, `data_rule_ids`)
|
||||
SELECT
|
||||
MD5(CONCAT('cc-read-depart:', sdp.`depart_id`)),
|
||||
sdp.`depart_id`,
|
||||
'2026071300010000001',
|
||||
sdp.`data_rule_ids`
|
||||
FROM `sys_depart_permission` sdp
|
||||
WHERE sdp.`permission_id` = '1527569492930560001'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM `sys_depart_permission` target
|
||||
WHERE target.`depart_id` = sdp.`depart_id`
|
||||
AND target.`permission_id` = '2026071300010000001'
|
||||
);
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
-- 我的待阅/已阅轻量列表按接收人、阅读状态和抄送时间查询。
|
||||
SET @add_cc_read_index_sql = IF(
|
||||
(SELECT COUNT(1)
|
||||
FROM information_schema.statistics
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'ext_act_task_cc'
|
||||
AND index_name = 'idx_ext_act_task_cc_user_read_time') = 0,
|
||||
'ALTER TABLE `ext_act_task_cc` ADD INDEX `idx_ext_act_task_cc_user_read_time` (`cc_user_name`, `is_read`, `create_time`)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE add_cc_read_index_stmt FROM @add_cc_read_index_sql;
|
||||
EXECUTE add_cc_read_index_stmt;
|
||||
DEALLOCATE PREPARE add_cc_read_index_stmt;
|
||||
Reference in New Issue
Block a user