This commit is contained in:
zlwu committed 2026-09-24 09:59:26 +08:00
1 parent 8248e5ef15
commit b9b4cc2673
57 files changed
+42800 -30473

No files matched your search

@@ -1,24 +0,0 @@
-- 采集地区 — 工作人员绑定(可多名负责人)
-- Spec: docs/superpowers/specs/2026-09-18-collection-region-staff-binding-design.md
SET NAMES utf8mb4;
CREATE TABLE IF NOT EXISTS `biz_collection_region_staff` (
`id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID',
`region_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '采集地区ID',
`user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '系统用户ID',
`is_leader` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否地区负责人 1是0否',
`tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_crs_region` (`region_id`, `del_flag`) USING BTREE,
KEY `idx_crs_user` (`user_id`, `del_flag`) USING BTREE,
KEY `idx_crs_tenant` (`tenant_no`, `del_flag`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='采集地区工作人员';
@@ -0,0 +1,18 @@
-- 菜单更名:细胞采集基础信息维护 → 采集地区及医院
-- 对应前端路由/静态菜单:sqxp.ts、backend/app/api/menu.py
UPDATE `sys_menu`
SET
`menu_name` = '采集地区及医院',
`update_time` = NOW()
WHERE `id` = '123'
AND `del_flag` = 0;
-- 兼容按权限标识匹配(若环境环境 id 不同)
UPDATE `sys_menu`
SET
`menu_name` = '采集地区及医院',
`update_time` = NOW()
WHERE `del_flag` = 0
AND `perms` = 'biz:collectionRegion:list'
AND `menu_name` <> '采集地区及医院';
@@ -0,0 +1,97 @@
-- 评论 @ 用户:查看授权(不写入抄送任务)
ALTER TABLE `oa_instance_comment`
ADD COLUMN `mention_user_ids_json` text COLLATE utf8mb4_unicode_ci NULL COMMENT '评论@用户ID列表 JSON' AFTER `revoked_time`;
CREATE TABLE IF NOT EXISTS `oa_instance_view_grant` (
`id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID',
`instance_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '实例ID',
`user_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '被授权查看人',
`source` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'comment_mention' COMMENT 'comment_mention',
`comment_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源评论ID,撤回评论不删除授权',
`granted_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '授权人',
`tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` smallint(6) NOT NULL DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_oa_view_grant_user` (`tenant_no`,`instance_id`,`user_id`),
KEY `idx_oa_view_grant_user_time` (`tenant_no`,`user_id`,`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OA审批实例查看授权';
-- 移动端「提到我的」:挂在与「抄送我的」相同的父菜单下,并复制其角色授权
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
)
SELECT
MD5(CONCAT('oa-mention-', s.`tenant_no`, '-', s.`id`)),
'提到我的',
s.`parent_id`,
s.`menu_type`,
'/pages/oa/mentions/index',
s.`component`,
'oa:mention',
s.`is_frame`,
s.`visible`,
s.`status`,
s.`tenant_no`,
IFNULL(s.`order_num`, 0) + 1,
'评论@后可查看的审批单',
s.`create_by`,
s.`create_dept_id`,
NOW(),
s.`update_by`,
NOW(),
0
FROM `sys_menu` s
WHERE s.`del_flag` = 0
AND s.`menu_name` = '抄送我的'
AND s.`path` LIKE '%oa/cc%'
AND NOT EXISTS (
SELECT 1 FROM `sys_menu` x
WHERE x.`del_flag` = 0
AND x.`tenant_no` = s.`tenant_no`
AND x.`path` LIKE '%oa/mentions%'
);
INSERT INTO `sys_role_menu` (
`id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
)
SELECT
MD5(CONCAT('oa-mention-role-', rm.`role_id`, '-', m.`id`)),
rm.`role_id`,
m.`id`,
m.`tenant_no`,
NULL,
NULL,
rm.`create_by`,
IFNULL(rm.`create_dept_id`, ''),
NOW(),
rm.`update_by`,
NOW(),
0
FROM `sys_menu` m
JOIN `sys_menu` cc
ON cc.`del_flag` = 0
AND cc.`tenant_no` = m.`tenant_no`
AND cc.`parent_id` = m.`parent_id`
AND cc.`menu_name` = '抄送我的'
AND cc.`path` LIKE '%oa/cc%'
JOIN `sys_role_menu` rm
ON rm.`del_flag` = 0
AND rm.`menu_id` = cc.`id`
WHERE m.`del_flag` = 0
AND m.`path` LIKE '%oa/mentions%'
AND NOT EXISTS (
SELECT 1 FROM `sys_role_menu` x
WHERE x.`del_flag` = 0
AND x.`role_id` = rm.`role_id`
AND x.`menu_id` = m.`id`
);
@@ -0,0 +1,68 @@
-- =============================================================================
-- 清空 OA 审批「运行时实例」数据(上线前清理测试数据用)
--
-- 删除范围(物理删除):
-- oa_instance_view_grant 评论@产生的查看授权
-- oa_instance_comment 实例评论
-- oa_relation 关联审批
-- oa_instance_event 实例操作事件
-- oa_task 待办/已办/抄送任务
-- oa_instance 审批实例
-- oa_instance_draft 发起审批草稿(非模板设计草稿)
--
-- 保留(不删除):
-- oa_app_group / oa_app / oa_app_version 流程定义与已发布版本
-- oa_receive_account 收款账户主数据
--
-- 使用前请先备份;默认清理全部租户。若只清某一租户,取消下方 @tenant_no 注释并赋值。
-- =============================================================================
-- SET @tenant_no = 'zkxw';
START TRANSACTION;
-- 1) 评论查看授权
DELETE FROM `oa_instance_view_grant`
-- WHERE `tenant_no` = @tenant_no
;
-- 2) 实例评论
DELETE FROM `oa_instance_comment`
-- WHERE `tenant_no` = @tenant_no
;
-- 3) 关联审批
DELETE FROM `oa_relation`
-- WHERE `tenant_no` = @tenant_no
;
-- 4) 实例事件
DELETE FROM `oa_instance_event`
-- WHERE `tenant_no` = @tenant_no
;
-- 5) 审批任务
DELETE FROM `oa_task`
-- WHERE `tenant_no` = @tenant_no
;
-- 6) 审批实例
DELETE FROM `oa_instance`
-- WHERE `tenant_no` = @tenant_no
;
-- 7) 发起草稿
DELETE FROM `oa_instance_draft`
-- WHERE `tenant_no` = @tenant_no
;
COMMIT;
-- 执行后核对(期望均为 0)
SELECT 'oa_instance_view_grant' AS tbl, COUNT(*) AS cnt FROM `oa_instance_view_grant`
UNION ALL SELECT 'oa_instance_comment', COUNT(*) FROM `oa_instance_comment`
UNION ALL SELECT 'oa_relation', COUNT(*) FROM `oa_relation`
UNION ALL SELECT 'oa_instance_event', COUNT(*) FROM `oa_instance_event`
UNION ALL SELECT 'oa_task', COUNT(*) FROM `oa_task`
UNION ALL SELECT 'oa_instance', COUNT(*) FROM `oa_instance`
UNION ALL SELECT 'oa_instance_draft', COUNT(*) FROM `oa_instance_draft`;