Files
fad_oa/sql/oa_postpone.sql

37 lines
2.5 KiB
MySQL
Raw Normal View History

-- ============================================================
-- 顺延强制管理 · 数据层
-- ============================================================
DROP TABLE IF EXISTS oa_postpone_record;
CREATE TABLE oa_postpone_record (
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
business_type VARCHAR(64) NOT NULL COMMENT '业务类型 task / step / requirement',
business_id BIGINT NOT NULL COMMENT '业务表主键',
business_title VARCHAR(255) DEFAULT NULL COMMENT '业务名称(冗余展示)',
owner_id BIGINT NOT NULL COMMENT '事项 owner顺延申请人',
owner_name VARCHAR(64) DEFAULT NULL,
original_deadline DATETIME NOT NULL COMMENT '本次顺延前的截止时间',
new_deadline DATETIME NOT NULL COMMENT '申请的新截止时间',
reason VARCHAR(1024) NOT NULL COMMENT '顺延理由',
postpone_seq INT NOT NULL COMMENT '这是第几次顺延(含本次)',
need_approval TINYINT NOT NULL DEFAULT 0 COMMENT '0直接生效 1需要审批',
approval_instance_id BIGINT DEFAULT NULL COMMENT '审批单 id',
status TINYINT NOT NULL DEFAULT 1 COMMENT '0待审批 1已生效 2被驳回 3已撤回',
create_by VARCHAR(64) DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_by VARCHAR(64) DEFAULT NULL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
del_flag TINYINT NOT NULL DEFAULT 0,
PRIMARY KEY (id),
KEY idx_biz (business_type, business_id),
KEY idx_owner (owner_id),
KEY idx_inst (approval_instance_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='顺延记录(任务/步骤/采购需求 通用)';
-- 在审批配置里注册 3 个新业务(第 3 次及以后顺延会调 approvalService.submit 用到)
INSERT INTO oa_approval_config (business_type, business_name, approver_ids, sign_type, enabled, remark) VALUES
('task_postpone', '任务顺延第3次起', '1', 1, 1, '默认 admin 占位,请改成项目负责人'),
('step_postpone', '进度步骤顺延第3次起', '1', 1, 1, '默认 admin 占位,请改成项目负责人'),
('req_postpone', '采购需求顺延第3次起', '1', 1, 1, '默认 admin 占位,请改成项目负责人');