245 lines
18 KiB
SQL
245 lines
18 KiB
SQL
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 '父进度ID,0或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;
|
||
|