Files
LCXiaoguan/script/sql/分期方案初始化脚本.sql

173 lines
9.8 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 `t_businessunit` (
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
`BuName` VARCHAR ( 128 ) NOT NULL COMMENT '公司名称',
`BUGUID` CHAR ( 36 ) NOT NULL COMMENT '公司GUID',
`HierarchicalCode` VARCHAR ( 128 ) NOT NULL COMMENT '层级编码',
`ParentGUID` CHAR ( 36 ) DEFAULT NULL COMMENT '父级GUID',
`IfEnd` INT DEFAULT NULL COMMENT '是否末级',
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '公司表';
CREATE TABLE `t_project` (
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
`ProjName` VARCHAR ( 128 ) NOT NULL COMMENT '项目名称',
`ProjGUID` CHAR ( 36 ) NOT NULL COMMENT '项目GUID',
`BUGUID` CHAR ( 36 ) NOT NULL COMMENT '公司GUID',
`HierarchicalCode` VARCHAR ( 128 ) NOT NULL COMMENT '层级编码',
`ParentGUID` CHAR ( 36 ) DEFAULT NULL COMMENT '父级GUID',
`IfEnd` INT DEFAULT NULL COMMENT '是否末级',
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目表';
CREATE TABLE `t_room` (
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
`Name` VARCHAR ( 128 ) NOT NULL COMMENT '房间名称',
`RoomGUID` CHAR ( 36 ) NOT NULL COMMENT '房间GUID',
`ProjGUID` CHAR ( 36 ) NOT NULL COMMENT '项目GUID',
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '房间表';
CREATE TABLE `t_periodicpolicy` (
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
`scheme_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '方案名称',
`filling_instruction` TEXT COMMENT '填报说明',
`effective_date` DATE DEFAULT NULL COMMENT '生效日期',
`invalid_date` DATE DEFAULT NULL COMMENT '失效日期',
`creator` VARCHAR ( 128 ) DEFAULT NULL COMMENT '创建人',
`create_date` DATE DEFAULT NULL COMMENT '创建日期',
`ProjGUIDs` TEXT COMMENT '分期GUID',
`ProjNames` TEXT COMMENT '分期名称',
`approveStatus` VARCHAR ( 128 ) DEFAULT NULL COMMENT '审批状态',
`scheme_type` VARCHAR ( 128 ) DEFAULT NULL COMMENT '分期方案类型',
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '分期方案表';
CREATE TABLE t_policy (
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
`periodicPolicyId` INT DEFAULT NULL COMMENT '分期方案主键ID',
`policy_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '政策名称',
`building_names` TEXT COMMENT '楼栋名称',
`building_ids` TEXT COMMENT '楼栋Id',
`effective_date` DATE DEFAULT NULL COMMENT '生效日期',
`expiration_date` DATE DEFAULT NULL COMMENT '失效日期',
`usable_houses_count` INT DEFAULT NULL COMMENT '可使用房源(套数)',
`creator` VARCHAR ( 128 ) DEFAULT NULL COMMENT '创建人',
`create_date` DATE DEFAULT NULL COMMENT '创建日期',
`remarks` TEXT COMMENT '备注',
`description` TEXT COMMENT '说明',
`category` VARCHAR ( 128 ) NOT NULL COMMENT '类别',
`payment_type` VARCHAR ( 128 ) NOT NULL COMMENT '付款方式类型',
`down_payment_ratio` VARCHAR(20) DEFAULT NULL COMMENT '首付比例(%)',
`payment_method` VARCHAR ( 50 ) DEFAULT NULL COMMENT '付款方式',
`policy_type` VARCHAR ( 50 ) DEFAULT NULL COMMENT '政策类型',
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '分期政策表';
CREATE TABLE `t_payment_details` (
`id` CHAR ( 36 ) NOT NULL DEFAULT (uuid()),
`policy_id` VARCHAR ( 36 ) DEFAULT NULL COMMENT '政策主键ID',
`policy_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '政策名称',
`building_name` VARCHAR ( 128 ) DEFAULT NULL COMMENT '楼栋名称',
`effective_date` DATE DEFAULT NULL COMMENT '生效日期',
`available_units` INT DEFAULT NULL COMMENT '可使用房源(套数)',
`creatorId` VARCHAR ( 36 ) DEFAULT NULL COMMENT '创建人Id',
`creator` VARCHAR ( 128 ) DEFAULT NULL COMMENT '创建人',
`remark` TEXT COMMENT '备注',
`category` VARCHAR ( 128 ) DEFAULT NULL COMMENT '类别',
`payment_time` VARCHAR ( 100 ) DEFAULT NULL COMMENT '付款时间(如"小订/认购签署日期"',
`days_within` INT DEFAULT NULL COMMENT '几天内',
`months_within` INT DEFAULT NULL COMMENT '几个月内',
`payment_type` VARCHAR ( 50 ) DEFAULT NULL COMMENT '款项类型(如"非贷款类房款"',
`item_name` VARCHAR ( 50 ) DEFAULT NULL COMMENT '款项名称(如"定金"',
`ratio` DECIMAL ( 10, 4 ) DEFAULT NULL COMMENT '比例保留4位小数',
`currency` VARCHAR ( 50 ) DEFAULT NULL COMMENT '币种(如"合同币种"',
`installment` INT DEFAULT NULL COMMENT '分期',
`amount` DECIMAL ( 10, 2 ) DEFAULT NULL COMMENT '金额保留2位小数',
`deduct_deposit` TINYINT ( 1 ) DEFAULT NULL COMMENT '是否扣除定金1为是0为否',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` VARCHAR ( 20 ) DEFAULT '000000' COMMENT '租户编号',
`create_dept` BIGINT DEFAULT NULL COMMENT '创建部门ID',
`create_by` BIGINT DEFAULT NULL COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` TINYINT ( 1 ) DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '付款明细表';
-- 添加索引优化查询性能
-- 分期方案表索引
CREATE INDEX idx_periodicpolicy_scheme_name ON t_periodicpolicy(scheme_name);
CREATE INDEX idx_periodicpolicy_effective_date ON t_periodicpolicy(effective_date);
CREATE INDEX idx_periodicpolicy_invalid_date ON t_periodicpolicy(invalid_date);
CREATE INDEX idx_periodicpolicy_scheme_type ON t_periodicpolicy(scheme_type);
CREATE INDEX idx_periodicpolicy_tenant_id ON t_periodicpolicy(tenant_id);
CREATE INDEX idx_periodicpolicy_del_flag ON t_periodicpolicy(del_flag);
-- 分期政策表索引
CREATE INDEX idx_policy_periodicPolicyId ON t_policy(periodicPolicyId);
CREATE INDEX idx_policy_effective_date ON t_policy(effective_date);
CREATE INDEX idx_policy_expiration_date ON t_policy(expiration_date);
CREATE INDEX idx_policy_category ON t_policy(category);
CREATE INDEX idx_policy_payment_type ON t_policy(payment_type);
CREATE INDEX idx_policy_down_payment_ratio ON t_policy(down_payment_ratio);
CREATE INDEX idx_policy_tenant_id ON t_policy(tenant_id);
CREATE INDEX idx_policy_del_flag ON t_policy(del_flag);
-- 付款明细表索引
CREATE INDEX idx_payment_details_policy_id ON t_payment_details(policy_id);
CREATE INDEX idx_payment_details_payment_type ON t_payment_details(payment_type);
CREATE INDEX idx_payment_details_item_name ON t_payment_details(item_name);
CREATE INDEX idx_payment_details_days_within ON t_payment_details(days_within);
CREATE INDEX idx_payment_details_months_within ON t_payment_details(months_within);
CREATE INDEX idx_payment_details_tenant_id ON t_payment_details(tenant_id);
CREATE INDEX idx_payment_details_del_flag ON t_payment_details(del_flag);
-- 项目表索引
CREATE INDEX idx_project_projguid ON t_project(ProjGUID);
CREATE INDEX idx_project_buguid ON t_project(BUGUID);
CREATE INDEX idx_project_tenant_id ON t_project(tenant_id);
CREATE INDEX idx_project_del_flag ON t_project(del_flag);
-- 房间表索引
CREATE INDEX idx_room_roomguid ON t_room(RoomGUID);
CREATE INDEX idx_room_projguid ON t_room(ProjGUID);
CREATE INDEX idx_room_tenant_id ON t_room(tenant_id);
CREATE INDEX idx_room_del_flag ON t_room(del_flag);
-- 业务单元表索引
CREATE INDEX idx_businessunit_buguid ON t_businessunit(BUGUID);
CREATE INDEX idx_businessunit_tenant_id ON t_businessunit(tenant_id);
CREATE INDEX idx_businessunit_del_flag ON t_businessunit(del_flag);