- 新增 base_project_structure_t 表,存储项目结构信息 - 新增 cm_contract_template 和 template_component 表,支持合同模板管理 - 添加合同管理相关字典类型和数据,包含合同分类等 - 添加基础配置字典类型及项目阶段、预算阶段、成本维度等字典数据 - 调整字符集和索引提升数据库性能和数据完整性保障
67 lines
3.2 KiB
SQL
67 lines
3.2 KiB
SQL
-- ----------------------------
|
|
-- Table structure for cm_contract_template
|
|
-- 合同模板表
|
|
-- ----------------------------
|
|
CREATE TABLE cm_contract_template (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '模板ID',
|
|
template_code VARCHAR(50) NOT NULL UNIQUE COMMENT '模板编码',
|
|
template_name VARCHAR(200) NOT NULL COMMENT '模板名称',
|
|
template_type VARCHAR(20) NOT NULL COMMENT '模板类型: SALE-销售, PURCHASE-采购, LEASE-租赁, SERVICE-服务, PROJECT-项目',
|
|
contract_category VARCHAR(20) NOT NULL COMMENT '合同分类: INCOME-收入, EXPENSE-支出',
|
|
business_domain VARCHAR(50) COMMENT '业务领域',
|
|
version VARCHAR(20) NOT NULL COMMENT '版本号',
|
|
status VARCHAR(20) NOT NULL DEFAULT 'DRAFT' COMMENT '状态: DRAFT-草稿, ACTIVE-生效, INACTIVE-失效',
|
|
|
|
-- 模板配置
|
|
description TEXT COMMENT '模板描述',
|
|
component_config JSON COMMENT '组件配置',
|
|
field_config JSON COMMENT '字段配置',
|
|
validation_rules JSON COMMENT '验证规则',
|
|
|
|
-- 版本控制
|
|
base_template_id BIGINT COMMENT '基于哪个模板创建',
|
|
effective_date DATE COMMENT '生效日期',
|
|
expiration_date DATE COMMENT '失效日期',
|
|
|
|
-- 系统字段
|
|
created_by BIGINT NOT NULL COMMENT '创建人',
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
updated_by BIGINT COMMENT '更新人',
|
|
updated_at TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
is_deleted TINYINT(1) DEFAULT 0 COMMENT '删除标志',
|
|
|
|
INDEX idx_template_type (template_type),
|
|
INDEX idx_status (status),
|
|
INDEX idx_business_domain (business_domain)
|
|
) COMMENT='合同模板表';
|
|
|
|
CREATE TABLE template_component (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '关系ID',
|
|
template_id BIGINT NOT NULL COMMENT '模板ID',
|
|
component_code VARCHAR(50) NOT NULL COMMENT '组件编码',
|
|
component_type VARCHAR(50) NOT NULL COMMENT '组件类型: BASIC-基础信息, PARTY-合同主体, SUBJECT-标的物, BILLING-计费, TERMS-商务条款, RECEIVABLE-应收明细, DOCUMENT-文档',
|
|
display_order INT NOT NULL DEFAULT 0 COMMENT '显示顺序',
|
|
is_required TINYINT(1) DEFAULT 1 COMMENT '是否必填',
|
|
is_visible TINYINT(1) DEFAULT 1 COMMENT '是否可见',
|
|
is_editable TINYINT(1) DEFAULT 1 COMMENT '是否可编辑',
|
|
|
|
-- 组件配置
|
|
component_config JSON COMMENT '组件配置',
|
|
data_rules JSON COMMENT '数据规则',
|
|
ui_config JSON COMMENT 'UI配置',
|
|
|
|
-- 关联关系
|
|
parent_component_code VARCHAR(50) COMMENT '父组件编码',
|
|
dependency_rules JSON COMMENT '依赖规则',
|
|
|
|
-- 系统字段
|
|
created_by BIGINT NOT NULL COMMENT '创建人',
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
updated_by BIGINT COMMENT '更新人',
|
|
updated_at TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
|
INDEX idx_template_id (template_id),
|
|
INDEX idx_component_code (component_code),
|
|
UNIQUE KEY uk_template_component (template_id, component_code),
|
|
FOREIGN KEY (template_id) REFERENCES contract_template(id) ON DELETE CASCADE
|
|
) COMMENT='模板组件关系表'; |