feat(oa): add return, resubmit, and multi-round approval progress
Align with DingTalk semantics: reject ends the instance, return keeps it for initiator edits, and revoke-and-resubmit creates a linked new instance. Progress timeline projects rounds via oa_instance_event. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
265d790ea6
commit
26800865cd
13 files changed
+4736
-72
No files matched your search
@@ -0,0 +1,34 @@
|
||||
-- OA 审批进度多轮 + 打回 + 撤销重提关联
|
||||
-- MySQL 5.7 / utf8mb4
|
||||
|
||||
ALTER TABLE oa_instance
|
||||
ADD COLUMN source_instance_id VARCHAR(64) NULL COMMENT '撤销重提所关联的原实例ID' AFTER status,
|
||||
ADD COLUMN current_round INT NOT NULL DEFAULT 1 COMMENT '当前提交轮次,从1起' AFTER source_instance_id;
|
||||
|
||||
-- status 语义:running / returned / completed / rejected / cancelled
|
||||
-- returned = 已打回,待发起人修改再提交
|
||||
|
||||
ALTER TABLE oa_task
|
||||
ADD COLUMN round_no INT NOT NULL DEFAULT 1 COMMENT '所属提交轮次' AFTER sign_mode;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS oa_instance_event (
|
||||
id VARCHAR(64) NOT NULL COMMENT '主键ID',
|
||||
instance_id VARCHAR(64) NOT NULL COMMENT '实例ID',
|
||||
round_no INT NOT NULL DEFAULT 1 COMMENT '轮次',
|
||||
event_type VARCHAR(32) NOT NULL COMMENT 'submit/return/withdraw/complete/reject_end',
|
||||
actor_user_id VARCHAR(64) NULL COMMENT '操作人',
|
||||
task_id VARCHAR(64) NULL COMMENT '关联任务(打回时)',
|
||||
node_key VARCHAR(64) NULL COMMENT '节点key',
|
||||
comment_text VARCHAR(512) NULL COMMENT '意见',
|
||||
tenant_no VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
|
||||
order_num INT NULL COMMENT '排序号',
|
||||
remark VARCHAR(512) NULL COMMENT '备注',
|
||||
create_by VARCHAR(64) NULL COMMENT '创建人id',
|
||||
create_dept_id VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
|
||||
create_time DATETIME NOT NULL COMMENT '创建时间',
|
||||
update_by VARCHAR(64) NULL COMMENT '更新人id',
|
||||
update_time DATETIME NOT NULL COMMENT '更新时间',
|
||||
del_flag SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
|
||||
PRIMARY KEY (id),
|
||||
KEY idx_oa_evt_inst (instance_id, del_flag, create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA实例操作事件(进度轴)';
|
||||
Reference in new issue
Block a user