-- ============================================================ -- 待办记录表 + 接收人关联表(DM8) -- 设计:待办主题/内容只存一份,接收人独立关联,批量发送无冗余 -- 接收人名称不存储,查询时关联 PERSONAL_INFO/ENTERPRISE_INFO 实时获取 -- 前端页面跳转所需的目标页面路径、数据ID、路径参数,直接存在待办主表 -- ============================================================ CREATE TABLE todo_record ( ID VARCHAR(36) NOT NULL, MODULE_TYPE VARCHAR(50) COMMENT '来源模块', SUBJECT VARCHAR(200) NOT NULL COMMENT '待办标题', CONTENT VARCHAR(2000) COMMENT '待办内容', CREATOR_ID VARCHAR(36) COMMENT '发起人用户ID(关联sys_user)', CREATOR VARCHAR(50) NOT NULL COMMENT '发起人姓名', CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间', STATUS VARCHAR(20) DEFAULT '0' NOT NULL COMMENT '状态: 0待处理 1已完成 2已取消', COMPLETE_TIME TIMESTAMP COMMENT '完成时间', EXPIRE_TIME TIMESTAMP COMMENT '过期时间', TARGET_PAGE VARCHAR(500) COMMENT '目标页面路径', DATA_ID VARCHAR(36) COMMENT '数据ID', PATH_PARAMS VARCHAR(500) COMMENT '路径参数', SYS_ORG_CODE VARCHAR(50), PRIMARY KEY (ID) ); COMMENT ON TABLE todo_record IS '待办记录表'; CREATE TABLE todo_target ( TODO_ID VARCHAR(36) NOT NULL COMMENT '待办ID', TARGET_TYPE VARCHAR(20) NOT NULL COMMENT '类型: personal/enterprise', TARGET_ID VARCHAR(36) NOT NULL COMMENT '目标ID' ); COMMENT ON TABLE todo_target IS '待办接收人关联表'; CREATE INDEX idx_tt_target ON todo_target(TARGET_TYPE, TARGET_ID); CREATE INDEX idx_tt_todo ON todo_target(TODO_ID); ALTER TABLE todo_target ADD STATUS VARCHAR(20) DEFAULT '0'; COMMENT ON COLUMN todo_target.STATUS IS '状态: 0待处理 1已完成 2已取消';