Files
fad_oa/script/sql/progress.sql

245 lines
18 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

create table oa_progress
(
progress_id bigint auto_increment comment '主键ID'
primary key,
project_id bigint default 0 not null comment '所属项目ID(可根据实际需要)',
type tinyint default 1 not null comment '进度类型1-项目进度2-付款进度(可根据实际约定)',
progress_name varchar(200) default '' not null comment '进度名称',
parent_id bigint default 0 not null comment '父进度ID0或NULL表示没有父节点',
create_by varchar(40) default '' not null comment '创建者',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_by varchar(40) default '' not null comment '更新者',
update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',
del_flag tinyint default 0 not null comment '删除标志0-正常1-删除',
sort int default 0 not null comment '排序字段(如需)',
remark varchar(500) default '' not null comment '备注(如需)',
status int default 0 null comment '状态位',
amount int default 0 null comment '设备数量',
time_remark varchar(200) null comment '时间(备注)',
contact_phone varchar(20) null comment '联系人电话'
)
comment '项目进度主表' collate = utf8mb4_general_ci
row_format = DYNAMIC;
create index idx_parent_id
on oa_progress (parent_id);
create index idx_project_id
on oa_progress (project_id);
create index idx_type
on oa_progress (type);
create table oa_progress_detail
(
detail_id bigint auto_increment comment '主键ID'
primary key,
progress_id bigint not null comment '关联的进度ID关联 project_progress.id',
detail_name varchar(50) null comment '子进度名称',
plan_start_date date null comment '计划开始日期(项目进度)',
plan_end_date date null comment '计划结束日期(项目进度)',
actual_start_date date null comment '实际开始日期(项目进度)',
actual_end_date date null comment '实际结束日期(项目进度)',
complete_percent decimal(5, 2) default 0.00 not null comment '完成百分比(项目进度)',
plan_pay_date date null comment '计划付款日期(付款进度)',
pay_amount decimal(18, 2) default 0.00 not null comment '应付金额(付款进度)',
paid_amount decimal(18, 2) default 0.00 not null comment '已付金额(付款进度)',
detail_status int default 0 null comment '子进度状态',
create_by varchar(40) default '' not null comment '创建者',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_by varchar(40) default '' not null comment '更新者',
update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',
del_flag tinyint default 0 not null comment '删除标志0-正常1-删除',
remark varchar(500) default '' not null comment '备注(如需)',
department varchar(30) null comment '负责部门'
)
comment '项目进度/付款进度扩展表' collate = utf8mb4_general_ci
row_format = DYNAMIC;
create index idx_progress_id
on oa_progress_detail (progress_id);
create table oa_project_schedule
(
schedule_id bigint auto_increment comment '项目进度主键'
primary key,
project_id bigint not null comment '项目ID',
template_id bigint null comment '引用的进度模板ID',
current_step int default 0 null comment '当前进行到的步骤序号',
start_time datetime default CURRENT_TIMESTAMP null comment '进度开始时间',
end_time datetime null comment '进度完成时间',
status int default 1 null comment '状态(1进行中 2已完成 0暂停)',
steward varchar(64) null comment '进度负责人',
create_by varchar(64) null,
create_time datetime default CURRENT_TIMESTAMP null,
update_by varchar(64) null,
update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP,
del_flag char default '0' null,
remark varchar(255) null
)
comment '项目进度主表' row_format = DYNAMIC;
create index fk_project_schedule_tpl
on oa_project_schedule (template_id);
create index idx_project
on oa_project_schedule (project_id);
create table oa_project_schedule_delay
(
delay_id bigint auto_increment comment '延期记录主键'
primary key,
track_id bigint not null comment '关联的进度步骤跟踪记录主键关联oa_project_schedule_step.track_id',
apply_user_name varchar(40) null comment '申请人姓名',
apply_time datetime default CURRENT_TIMESTAMP not null comment '申请提交时间',
apply_reason text not null comment '延期申请原因',
original_end_time datetime not null comment '原计划结束时间',
expect_end_time datetime not null comment '申请延期后的预计结束时间',
approve_user_name varchar(40) null comment '审批人姓名',
approve_time datetime null comment '审批完成时间',
approve_result tinyint null comment '审批结果0-待审批 1-审批通过 2-审批驳回',
approve_remark varchar(500) default '' null comment '审批备注/驳回原因',
delay_status tinyint default 0 not null comment '延期记录状态0-待审批 1-审批通过 2-审批驳回 3-已撤销',
create_by varchar(40) default '' not null comment '创建者',
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
update_by varchar(40) default '' not null comment '更新者',
update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间',
del_flag tinyint default 0 not null comment '删除标志0-正常1-删除',
remark varchar(500) default '' not null comment '备注(如需)'
)
comment '项目进度步骤延期记录表' row_format = DYNAMIC;
create index idx_delay_apply_user
on oa_project_schedule_delay (apply_user_name);
create index idx_delay_approve_user
on oa_project_schedule_delay (approve_user_name);
create index idx_delay_status
on oa_project_schedule_delay (delay_status);
create index idx_delay_track_id
on oa_project_schedule_delay (track_id);
create table oa_project_schedule_step
(
track_id bigint auto_increment comment '跟踪记录主键'
primary key,
accessory varchar(500) null comment '文件列表',
schedule_id bigint not null comment '所属项目进度ID',
step_order int not null comment '步骤序号',
step_name varchar(64) null comment '步骤名称(冗余存储模板名称)',
plan_start datetime null comment '计划开始',
plan_end datetime null comment '计划完成',
actual_start datetime null,
actual_end datetime null,
status int default 0 null comment '0进行中 1完成 2暂停',
create_by varchar(64) null,
create_time datetime default CURRENT_TIMESTAMP null,
update_by varchar(64) null,
update_time datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP,
del_flag char default '0' null,
header varchar(40) null comment '进度负责人',
use_flag int default 1 null comment '使用标志 1为使用',
batch_id int null comment '批次号',
tab_node varchar(64) null comment 'tab节点',
first_level_node varchar(64) null comment '一级节点(阶段节点)',
second_level_node varchar(64) null comment '二级节点(关键节点)',
start_time datetime null comment '开始时间',
original_end_time datetime null comment '原定结束时间',
end_time datetime null comment '结束时间',
node_header varchar(40) null comment '节点负责人',
related_docs varchar(1000) null comment '相关资料',
related_images varchar(1000) null comment '相关图片',
supplier_id bigint null comment '供应商ID关联oa_supplier表主键',
requirement_file text null comment '需求文件(多文件用逗号分隔)',
other json null comment '其他扩展信息JSON格式存储',
specification text null comment '规范说明',
sort_num int default 0 not null comment '排序字段(前端维护,数值越大排序越靠前)'
)
comment '项目进度步骤跟踪表' row_format = DYNAMIC;
create table sys_oa_task
(
task_id bigint not null comment 'ID'
primary key,
project_id bigint null comment '项目ID',
track_id bigint null comment '关联项目进度步骤ID',
create_user_id bigint null comment '创建者id',
worker_id bigint null comment '被分配者',
task_title varchar(126) charset utf8mb4 default '' null comment '任务主题',
task_type varchar(20) charset utf8mb4 default '0' null comment '工作类型(1接待2沟通 3方案策划等)',
task_grade char charset utf8mb4 default '0' null comment '优先级0一般 1中 2高',
collaborator varchar(64) charset utf8mb4 default '' null comment '协作人员',
begin_time datetime null comment '开始时间',
finish_time datetime null comment '结束时间',
origin_finish_time datetime null comment '最初结束时间',
postponements int default 0 null comment '推迟次数',
completed_time datetime null comment '结束时间',
temp_time datetime null comment '上次结束时间',
content text charset utf8mb4 null comment '详细描述',
state int default 0 null comment '任务状态 15申请延期 0进行中 1完成等待评分 2完成',
accessory text charset utf8mb4 null comment '附件',
files varchar(1024) charset utf8mb4 null comment '工人文件列表',
rank_number int default 10 null comment '任务完成评分',
remark varchar(256) charset utf8mb4 default '' null comment '备注',
create_by varchar(32) charset utf8mb4 default '' null comment '创建者',
create_time datetime null comment '创建时间',
update_by varchar(32) charset utf8mb4 default '' null comment '更新者',
update_time datetime null comment '更新时间',
del_flag tinyint default 0 null comment '删除标志',
task_rank int default 0 not null comment '是否置顶1为置顶0为不置顶',
own_rank int default 0 null comment '我的任务置顶',
status int default 0 null comment '任务类型0单任务1报工',
time_gap int default 0 null comment '事件间隔'
)
comment '任务管理表' collate = utf8mb4_general_ci
row_format = DYNAMIC;
create table sys_oa_project
(
project_id bigint not null comment 'ID'
primary key,
project_name varchar(126) default '' null comment '项目名称',
project_num varchar(64) default '' null comment '项目编号',
project_code varchar(30) null comment '项目代号',
project_type char null comment '项目类型(1中标2其他)',
address varchar(126) default '' null comment '项目地址',
funds decimal(24, 2) null comment '项目总款',
functionary varchar(32) default '' null comment '项目负责人',
begin_time datetime null comment '开始日期',
finish_time datetime null comment '结束日期',
original_finish_time datetime null comment '初始结束时间(项目原始计划结束时间)',
delivery varchar(64) null comment '交货期',
guarantee varchar(64) null comment '质保期',
introduction varchar(256) default '' null comment '项目介绍',
project_grade char default '0' null comment '优先级0一般 1中 2高',
project_status char default '0' null comment '状态0进行中 1完结',
product_status tinyint default 0 null comment '生产结项 (0:未结项,1已结项)',
contract_id bigint null comment '关联合同ID',
invoice_name varchar(64) collate utf8mb4_general_ci null comment '开票单位名称',
invoice_number varchar(32) collate utf8mb4_general_ci null comment '纳税人识别号',
invoice_address varchar(128) collate utf8mb4_general_ci null comment '开票地址电话',
invoice_bank varchar(128) collate utf8mb4_general_ci null comment '开户行及账号',
accessory text null comment '附件',
bail json null comment '履约保证金',
closure_files text null comment '结项文件',
signing_company tinyint null comment '签约公司(1、昆山德睿福成套设备有限公司 2、昆山福安德工程技术成套设备有限公司 3、山东福安德信息科技有限公司 4、山东首达特科技工程有限公司 5、西安擎锋智创科技有限公司 6、德讯济宁软件开发有限公司)',
remark varchar(256) null comment '备注',
create_by varchar(32) default '' null comment '创建者',
create_time datetime null comment '创建时间',
update_by varchar(32) default '' null comment '更新者',
update_time datetime null comment '更新时间',
is_postpone int default 0 null comment '是否延期',
postpone_reason varchar(1024) null comment '延期原因',
postpone_time datetime null comment '延期至日期',
postpone_count int default 0 not null comment '延期次数项目累计延期次数默认0',
color varchar(20) null comment '代表颜色',
trade_type int default 0 null comment '交易类型',
pre_pay double default 0 null comment '预付款',
customer_id bigint null comment '关联客户id',
is_top tinyint default 0 not null comment '是否置顶0不置顶1置顶'
)
comment '项目管理表' row_format = DYNAMIC;