refactor(energy): 简化事件驱动系统(7个→3个)
- 删除旧事件:BillApprovedEvent, BillCreatedEvent, DeductionCompletedEvent, DetailAuditedEvent, DetailCreatedEvent, RecordMatchedEvent - 新增事件:BillAuditPassedEvent, DetailAuditPassedEvent - 保留事件:RecordImportedEvent - 更新监听器:AccountEventListener, BillEventListener, DetailEventListener - 清理代码中的旧事件引用和注释 优化原则:前端简单,后端健壮 事件流程:导入→匹配→生成明细→审核→扣款→生成账单→结算
This commit is contained in:
67
yudao-module-asset/sql/mysql/contract-menu-dict.sql
Normal file
67
yudao-module-asset/sql/mysql/contract-menu-dict.sql
Normal file
@@ -0,0 +1,67 @@
|
||||
-- 合同管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'合同管理', '', 2, 5, 5055,
|
||||
'contract', 'documentation', 'asset/contract/index', 0, 'Contract'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 合同管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('合同查询', 'asset:contract:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('合同创建', 'asset:contract:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('合同更新', 'asset:contract:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('合同删除', 'asset:contract:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('合同导出', 'asset:contract:export', 3, 5, @menuId, '', '', '', 0),
|
||||
('提交审批', 'asset:contract:submit-approval', 3, 6, @menuId, '', '', '', 0),
|
||||
('撤回审批', 'asset:contract:withdraw-approval', 3, 7, @menuId, '', '', '', 0),
|
||||
('终止合同', 'asset:contract:terminate', 3, 8, @menuId, '', '', '', 0),
|
||||
('续签合同', 'asset:contract:renew', 3, 9, @menuId, '', '', '', 0);
|
||||
|
||||
-- 2. 字典类型
|
||||
INSERT INTO system_dict_type (name, type, status, remark, creator, create_time, updater, update_time, deleted)
|
||||
VALUES
|
||||
('合同类型', 'asset_contract_type', 0, '车辆租赁合同类型', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('合同审批状态', 'asset_contract_approval_status', 0, '合同审批状态', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('合同状态', 'asset_contract_status', 0, '合同业务状态', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('车辆订单状态', 'asset_contract_vehicle_status', 0, '合同车辆订单状态', 'admin', NOW(), 'admin', NOW(), b'0');
|
||||
|
||||
-- 3. 字典数据 - 合同类型
|
||||
INSERT INTO system_dict_data (dict_type, label, value, sort, status, remark, creator, create_time, updater, update_time, deleted)
|
||||
VALUES
|
||||
('asset_contract_type', '试用合同', '1', 1, 0, '试用期合同', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_type', '正式合同', '2', 2, 0, '正式租赁合同', 'admin', NOW(), 'admin', NOW(), b'0');
|
||||
|
||||
-- 4. 字典数据 - 合同审批状态
|
||||
INSERT INTO system_dict_data (dict_type, label, value, sort, status, color_type, remark, creator, create_time, updater, update_time, deleted)
|
||||
VALUES
|
||||
('asset_contract_approval_status', '草稿', '0', 1, 0, 'info', '草稿状态', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_approval_status', '审批中', '1', 2, 0, 'warning', '审批中', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_approval_status', '审批通过', '2', 3, 0, 'success', '审批通过', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_approval_status', '审批拒绝', '3', 4, 0, 'danger', '审批拒绝', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_approval_status', '已撤回', '4', 5, 0, 'info', '已撤回', 'admin', NOW(), 'admin', NOW(), b'0');
|
||||
|
||||
-- 5. 字典数据 - 合同状态
|
||||
INSERT INTO system_dict_data (dict_type, label, value, sort, status, color_type, remark, creator, create_time, updater, update_time, deleted)
|
||||
VALUES
|
||||
('asset_contract_status', '草稿', '0', 1, 0, 'info', '草稿状态', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_status', '待生效', '1', 2, 0, 'warning', '待生效', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_status', '进行中', '2', 3, 0, 'success', '进行中', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_status', '已到期', '3', 4, 0, 'info', '已到期', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_status', '已终止', '4', 5, 0, 'danger', '已终止', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_status', '已续签', '5', 6, 0, 'primary', '已续签', 'admin', NOW(), 'admin', NOW(), b'0');
|
||||
|
||||
-- 6. 字典数据 - 车辆订单状态
|
||||
INSERT INTO system_dict_data (dict_type, label, value, sort, status, color_type, remark, creator, create_time, updater, update_time, deleted)
|
||||
VALUES
|
||||
('asset_contract_vehicle_status', '待交车', '0', 1, 0, 'warning', '待交车', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_vehicle_status', '已交车', '1', 2, 0, 'success', '已交车', 'admin', NOW(), 'admin', NOW(), b'0'),
|
||||
('asset_contract_vehicle_status', '已退车', '2', 3, 0, 'info', '已退车', 'admin', NOW(), 'admin', NOW(), b'0');
|
||||
74
yudao-module-asset/sql/mysql/contract-tables-supplement.sql
Normal file
74
yudao-module-asset/sql/mysql/contract-tables-supplement.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
-- 合同管理补充表(合同被授权人、变更历史、附件、车辆服务项目)
|
||||
|
||||
-- 3. 合同被授权人表
|
||||
CREATE TABLE IF NOT EXISTS `asset_contract_authorized` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`name` VARCHAR(100) NOT NULL COMMENT '姓名',
|
||||
`phone` VARCHAR(20) COMMENT '电话',
|
||||
`id_card` VARCHAR(30) COMMENT '身份证号',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_contract_id` (`contract_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同被授权人表';
|
||||
|
||||
-- 4. 合同变更历史表
|
||||
CREATE TABLE IF NOT EXISTS `asset_contract_change_history` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`change_type` VARCHAR(50) NOT NULL COMMENT '变更类型',
|
||||
`change_content` TEXT COMMENT '变更内容',
|
||||
`operator` VARCHAR(64) COMMENT '操作人',
|
||||
`operate_time` DATETIME COMMENT '操作时间',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_contract_id` (`contract_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同变更历史表';
|
||||
|
||||
-- 5. 合同附件表
|
||||
CREATE TABLE IF NOT EXISTS `asset_contract_attachment` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`attachment_type` INT COMMENT '附件类型(1=合同原件 2=盖章合同)',
|
||||
`file_id` BIGINT COMMENT '文件ID',
|
||||
`file_name` VARCHAR(255) COMMENT '文件名称',
|
||||
`file_url` VARCHAR(500) COMMENT '文件URL',
|
||||
`file_size` BIGINT COMMENT '文件大小(字节)',
|
||||
`upload_time` DATETIME COMMENT '上传时间',
|
||||
`uploader` VARCHAR(64) COMMENT '上传人',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_contract_id` (`contract_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同附件表';
|
||||
|
||||
-- 6. 合同车辆服务项目表
|
||||
CREATE TABLE IF NOT EXISTS `asset_contract_vehicle_service` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_vehicle_id` BIGINT NOT NULL COMMENT '合同车辆ID',
|
||||
`service_name` VARCHAR(200) NOT NULL COMMENT '服务项目名称',
|
||||
`service_fee` DECIMAL(10,2) COMMENT '服务费用(元)',
|
||||
`effective_date` DATE COMMENT '生效日期',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_contract_vehicle_id` (`contract_vehicle_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同车辆服务项目表';
|
||||
73
yudao-module-asset/sql/mysql/contract-tables.sql
Normal file
73
yudao-module-asset/sql/mysql/contract-tables.sql
Normal file
@@ -0,0 +1,73 @@
|
||||
-- 合同管理表结构
|
||||
|
||||
-- 1. 车辆租赁合同表
|
||||
CREATE TABLE IF NOT EXISTS `asset_contract` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_code` VARCHAR(50) NOT NULL COMMENT '合同编码',
|
||||
`contract_type` TINYINT NOT NULL COMMENT '合同类型(1=试用 2=正式)',
|
||||
`project_name` VARCHAR(200) NOT NULL COMMENT '项目名称',
|
||||
`start_date` DATE NOT NULL COMMENT '生效日期',
|
||||
`end_date` DATE NOT NULL COMMENT '结束日期',
|
||||
`payment_method` VARCHAR(100) NOT NULL COMMENT '付款方式',
|
||||
`payment_cycle` VARCHAR(100) NOT NULL COMMENT '付款周期',
|
||||
`signing_company` VARCHAR(200) NOT NULL COMMENT '签约公司(乙方)',
|
||||
`delivery_province` VARCHAR(50) NOT NULL COMMENT '交车省份',
|
||||
`delivery_city` VARCHAR(50) NOT NULL COMMENT '交车城市',
|
||||
`delivery_location` VARCHAR(255) NOT NULL COMMENT '交车地点',
|
||||
`remark` VARCHAR(500) COMMENT '备注',
|
||||
`customer_id` BIGINT NOT NULL COMMENT '客户ID',
|
||||
`customer_name` VARCHAR(100) COMMENT '客户名称(冗余)',
|
||||
`third_party_enabled` BIT(1) DEFAULT b'0' COMMENT '是否三方合同',
|
||||
`third_party_customer_id` BIGINT COMMENT '丙方客户ID',
|
||||
`third_party_name` VARCHAR(100) COMMENT '丙方名称',
|
||||
`business_dept_id` BIGINT COMMENT '业务部门ID',
|
||||
`business_manager_id` BIGINT COMMENT '业务负责人ID',
|
||||
`approval_status` TINYINT NOT NULL DEFAULT 0 COMMENT '审批状态(0=草稿 1=审批中 2=审批通过 3=审批拒绝 4=已撤回)',
|
||||
`bpm_instance_id` VARCHAR(64) COMMENT 'BPM流程实例ID',
|
||||
`contract_status` TINYINT NOT NULL DEFAULT 0 COMMENT '合同状态(0=草稿 1=待生效 2=进行中 3=已到期 4=已终止 5=已续签)',
|
||||
`effective_time` DATETIME COMMENT '实际生效时间',
|
||||
`terminate_time` DATETIME COMMENT '终止时间',
|
||||
`terminate_reason` VARCHAR(500) COMMENT '终止原因',
|
||||
`renewed_contract_id` BIGINT COMMENT '续签后的新合同ID',
|
||||
`original_contract_id` BIGINT COMMENT '原合同ID(如果是续签合同)',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_contract_code` (`contract_code`, `deleted`),
|
||||
KEY `idx_customer_id` (`customer_id`),
|
||||
KEY `idx_approval_status` (`approval_status`),
|
||||
KEY `idx_contract_status` (`contract_status`),
|
||||
KEY `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆租赁合同表';
|
||||
|
||||
-- 2. 合同车辆租赁订单表
|
||||
CREATE TABLE IF NOT EXISTS `asset_contract_vehicle` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`vehicle_id` BIGINT COMMENT '车辆ID(关联 asset_vehicle_base)',
|
||||
`brand` VARCHAR(50) NOT NULL COMMENT '品牌',
|
||||
`model` VARCHAR(100) NOT NULL COMMENT '型号',
|
||||
`plate_no` VARCHAR(20) COMMENT '车牌号',
|
||||
`vin` VARCHAR(50) COMMENT 'VIN码',
|
||||
`month_rent` DECIMAL(10,2) NOT NULL COMMENT '月租金(元)',
|
||||
`deposit` DECIMAL(10,2) NOT NULL COMMENT '保证金(元)',
|
||||
`vehicle_status` TINYINT NOT NULL DEFAULT 0 COMMENT '车辆状态(0=待交车 1=已交车 2=已退车)',
|
||||
`actual_delivery_time` DATETIME COMMENT '实际交车时间',
|
||||
`delivery_person` VARCHAR(50) COMMENT '交车人',
|
||||
`remark` VARCHAR(500) COMMENT '备注',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_contract_id` (`contract_id`),
|
||||
KEY `idx_vehicle_id` (`vehicle_id`),
|
||||
KEY `idx_plate_no` (`plate_no`),
|
||||
KEY `idx_vin` (`vin`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同车辆租赁订单表';
|
||||
27
yudao-module-asset/sql/mysql/contract.sql
Normal file
27
yudao-module-asset/sql/mysql/contract.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
-- 合同管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'合同管理', '', 2, 6, 5055,
|
||||
'contract', 'file-text', 'asset/contract/index', 0, 'Contract'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 合同管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('合同查询', 'asset:contract:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('合同创建', 'asset:contract:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('合同更新', 'asset:contract:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('合同删除', 'asset:contract:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('合同导出', 'asset:contract:export', 3, 5, @menuId, '', '', '', 0),
|
||||
('提交审批', 'asset:contract:submit-approval', 3, 6, @menuId, '', '', '', 0),
|
||||
('撤回审批', 'asset:contract:withdraw-approval', 3, 7, @menuId, '', '', '', 0),
|
||||
('终止合同', 'asset:contract:terminate', 3, 8, @menuId, '', '', '', 0),
|
||||
('续签合同', 'asset:contract:renew', 3, 9, @menuId, '', '', '', 0);
|
||||
23
yudao-module-asset/sql/mysql/customer.sql
Normal file
23
yudao-module-asset/sql/mysql/customer.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
-- 客户管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'客户管理', '', 2, 2, 5055,
|
||||
'customer', 'user', 'asset/customer/index', 0, 'Customer'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 客户管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('客户查询', 'asset:customer:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('客户创建', 'asset:customer:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('客户更新', 'asset:customer:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('客户删除', 'asset:customer:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('客户导出', 'asset:customer:export', 3, 5, @menuId, '', '', '', 0);
|
||||
44
yudao-module-asset/sql/mysql/customer_rebuild.sql
Normal file
44
yudao-module-asset/sql/mysql/customer_rebuild.sql
Normal file
@@ -0,0 +1,44 @@
|
||||
-- ==================== 客户信息表重建脚本 ====================
|
||||
-- 说明:原表列名与 Java DO 不匹配,重建以对齐
|
||||
-- 日期:2026-03-13
|
||||
-- 注意:如果 asset_customer 已有数据,请先备份!
|
||||
|
||||
-- 1. 备份旧表(如果存在)
|
||||
-- CREATE TABLE asset_customer_bak AS SELECT * FROM asset_customer;
|
||||
|
||||
-- 2. 删除旧表
|
||||
DROP TABLE IF EXISTS asset_customer;
|
||||
|
||||
-- 3. 创建新表(与 CustomerDO 字段完全对齐)
|
||||
CREATE TABLE `asset_customer` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`customer_code` varchar(50) DEFAULT NULL COMMENT '客户编号',
|
||||
`coop_status` varchar(20) DEFAULT NULL COMMENT '合作状态',
|
||||
`customer_name` varchar(100) NOT NULL COMMENT '客户名称',
|
||||
`province` varchar(50) DEFAULT NULL COMMENT '省份',
|
||||
`city` varchar(50) DEFAULT NULL COMMENT '城市',
|
||||
`address` varchar(255) DEFAULT NULL COMMENT '地址',
|
||||
`region` varchar(20) DEFAULT NULL COMMENT '区域',
|
||||
`contact` varchar(50) DEFAULT NULL COMMENT '联系人',
|
||||
`contact_mobile` varchar(20) DEFAULT NULL COMMENT '联系人手机',
|
||||
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系人座机',
|
||||
`email` varchar(100) DEFAULT NULL COMMENT '电子邮箱',
|
||||
`credit_code_or_id` varchar(50) DEFAULT NULL COMMENT '统一社会信用代码/身份证',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`tax_id` varchar(50) DEFAULT NULL COMMENT '纳税人识别号',
|
||||
`invoice_address` varchar(255) DEFAULT NULL COMMENT '发票地址',
|
||||
`invoice_phone` varchar(20) DEFAULT NULL COMMENT '发票电话',
|
||||
`account` varchar(50) DEFAULT NULL COMMENT '银行账号',
|
||||
`opening_bank` varchar(100) DEFAULT NULL COMMENT '开户行',
|
||||
`mailing_address` varchar(255) DEFAULT NULL COMMENT '邮寄地址',
|
||||
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除(0=未删除 1=已删除)',
|
||||
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_customer_code` (`customer_code`) USING BTREE COMMENT '客户编号查询',
|
||||
KEY `idx_customer_name` (`customer_name`) USING BTREE COMMENT '客户名称查询',
|
||||
KEY `idx_tenant_deleted` (`tenant_id`, `deleted`) USING BTREE COMMENT '租户隔离 + 逻辑删除'
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='客户信息表';
|
||||
23
yudao-module-asset/sql/mysql/parking.sql
Normal file
23
yudao-module-asset/sql/mysql/parking.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
-- 停车场管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'停车场管理', '', 2, 1, 5055,
|
||||
'parking', 'car', 'asset/parking/index', 0, 'Parking'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 停车场管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('停车场查询', 'asset:parking:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('停车场创建', 'asset:parking:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('停车场更新', 'asset:parking:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('停车场删除', 'asset:parking:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('停车场导出', 'asset:parking:export', 3, 5, @menuId, '', '', '', 0);
|
||||
23
yudao-module-asset/sql/mysql/supplier-menu.sql
Normal file
23
yudao-module-asset/sql/mysql/supplier-menu.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
-- 供应商管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'供应商管理', '', 2, 3, 5055,
|
||||
'supplier', 'user', 'asset/supplier/index', 0, 'Supplier'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 供应商管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('供应商查询', 'asset:supplier:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('供应商创建', 'asset:supplier:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('供应商更新', 'asset:supplier:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('供应商删除', 'asset:supplier:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('供应商导出', 'asset:supplier:export', 3, 5, @menuId, '', '', '', 0);
|
||||
23
yudao-module-asset/sql/mysql/vehicle-model.sql
Normal file
23
yudao-module-asset/sql/mysql/vehicle-model.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
-- 车型参数管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'车型参数', '', 2, 4, 5055,
|
||||
'vehicle-model', 'car', 'asset/vehicle-model/index', 0, 'VehicleModel'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 车型参数管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('车型参数查询', 'asset:vehicle-model:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('车型参数创建', 'asset:vehicle-model:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('车型参数更新', 'asset:vehicle-model:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('车型参数删除', 'asset:vehicle-model:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('车型参数导出', 'asset:vehicle-model:export', 3, 5, @menuId, '', '', '', 0);
|
||||
25
yudao-module-asset/sql/mysql/vehicle-registration.sql
Normal file
25
yudao-module-asset/sql/mysql/vehicle-registration.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
-- 车辆上牌管理菜单和权限初始化脚本
|
||||
|
||||
-- 1. 菜单 SQL
|
||||
INSERT INTO system_menu(
|
||||
name, permission, type, sort, parent_id,
|
||||
path, icon, component, status, component_name
|
||||
)
|
||||
VALUES (
|
||||
'车辆上牌', '', 2, 5, 5055,
|
||||
'vehicle-registration', 'file-text', 'asset/vehicle-registration/index', 0, 'VehicleRegistration'
|
||||
);
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menuId = LAST_INSERT_ID();
|
||||
|
||||
-- 车辆上牌管理按钮权限
|
||||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||||
VALUES
|
||||
('车辆上牌查询', 'asset:vehicle-registration:query', 3, 1, @menuId, '', '', '', 0),
|
||||
('车辆上牌创建', 'asset:vehicle-registration:create', 3, 2, @menuId, '', '', '', 0),
|
||||
('车辆上牌更新', 'asset:vehicle-registration:update', 3, 3, @menuId, '', '', '', 0),
|
||||
('车辆上牌删除', 'asset:vehicle-registration:delete', 3, 4, @menuId, '', '', '', 0),
|
||||
('车辆上牌导出', 'asset:vehicle-registration:export', 3, 5, @menuId, '', '', '', 0),
|
||||
('车辆上牌确认', 'asset:vehicle-registration:confirm', 3, 6, @menuId, '', '', '', 0),
|
||||
('车辆上牌作废', 'asset:vehicle-registration:void', 3, 7, @menuId, '', '', '', 0);
|
||||
35
yudao-module-asset/sql/mysql/vehicle-rental-flow-alter.sql
Normal file
35
yudao-module-asset/sql/mysql/vehicle-rental-flow-alter.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
-- =============================================
|
||||
-- 车辆租赁业务流程表结构增量变更
|
||||
-- 对应前端新增字段
|
||||
-- =============================================
|
||||
|
||||
-- 1. 备车记录表 - 新增字段
|
||||
ALTER TABLE `asset_vehicle_prepare`
|
||||
ADD COLUMN `vehicle_type` VARCHAR(50) COMMENT '车辆类型' AFTER `model`,
|
||||
ADD COLUMN `parking_lot` VARCHAR(100) COMMENT '停车场' AFTER `vehicle_type`,
|
||||
ADD COLUMN `preparation_type` VARCHAR(50) COMMENT '整备类型' AFTER `contract_code`,
|
||||
ADD COLUMN `mileage` INT COMMENT '里程(km)' AFTER `preparation_type`,
|
||||
ADD COLUMN `hydrogen_remaining` DECIMAL(10,2) COMMENT '剩余氢量' AFTER `mileage`,
|
||||
ADD COLUMN `hydrogen_unit` VARCHAR(10) DEFAULT '%' COMMENT '氢量单位(%/MPa/kg)' AFTER `hydrogen_remaining`,
|
||||
ADD COLUMN `battery_remaining` DECIMAL(10,2) COMMENT '剩余电量(%)' AFTER `hydrogen_unit`,
|
||||
ADD COLUMN `enlarged_text_photo` VARCHAR(1000) COMMENT '放大字照片(JSON数组)' AFTER `body_ad_photos`,
|
||||
ADD COLUMN `spare_tire_depth` DECIMAL(10,2) COMMENT '备胎胎纹深度(mm)' AFTER `has_tail_lift`,
|
||||
ADD COLUMN `spare_tire_photo` VARCHAR(1000) COMMENT '备胎照片(JSON数组)' AFTER `spare_tire_depth`,
|
||||
ADD COLUMN `remark` VARCHAR(500) COMMENT '备注' AFTER `check_list`,
|
||||
ADD COLUMN `complete_time` DATETIME COMMENT '完成时间' AFTER `status`;
|
||||
|
||||
-- 2. 交车单表 - 新增司机信息、交检清单、费用信息
|
||||
ALTER TABLE `asset_delivery_order`
|
||||
ADD COLUMN `driver_name` VARCHAR(64) COMMENT '司机姓名' AFTER `delivery_photos`,
|
||||
ADD COLUMN `driver_id_card` VARCHAR(18) COMMENT '司机身份证' AFTER `driver_name`,
|
||||
ADD COLUMN `driver_phone` VARCHAR(20) COMMENT '司机手机号' AFTER `driver_id_card`,
|
||||
ADD COLUMN `inspection_data` TEXT COMMENT '交检清单(JSON)' AFTER `driver_phone`,
|
||||
ADD COLUMN `cost_list` TEXT COMMENT '费用信息(JSON)' AFTER `inspection_data`;
|
||||
|
||||
-- 3. 交车单车辆表 - 新增电量
|
||||
ALTER TABLE `asset_delivery_order_vehicle`
|
||||
ADD COLUMN `battery_level` DECIMAL(10,2) COMMENT '交车时电量(%)' AFTER `hydrogen_level`;
|
||||
|
||||
-- 4. 还车车辆表 - 新增违章费用
|
||||
ALTER TABLE `asset_return_order_vehicle`
|
||||
ADD COLUMN `violation_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '违章费用' AFTER `unpaid_repair_fee`;
|
||||
222
yudao-module-asset/sql/mysql/vehicle-rental-flow.sql
Normal file
222
yudao-module-asset/sql/mysql/vehicle-rental-flow.sql
Normal file
@@ -0,0 +1,222 @@
|
||||
-- =============================================
|
||||
-- 车辆租赁业务流程表结构
|
||||
-- 包含:备车、交车任务、交车单、还车单
|
||||
-- =============================================
|
||||
|
||||
-- 1. 备车记录表
|
||||
CREATE TABLE IF NOT EXISTS `asset_vehicle_prepare` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`vehicle_id` BIGINT NOT NULL COMMENT '车辆ID',
|
||||
`plate_no` VARCHAR(20) COMMENT '车牌号',
|
||||
`vin` VARCHAR(50) NOT NULL COMMENT '车辆识别代码',
|
||||
`vehicle_model_id` BIGINT NOT NULL COMMENT '车型ID',
|
||||
`brand` VARCHAR(100) COMMENT '品牌',
|
||||
`model` VARCHAR(100) COMMENT '型号',
|
||||
`contract_id` BIGINT COMMENT '关联合同ID',
|
||||
`contract_code` VARCHAR(50) COMMENT '合同编码',
|
||||
`has_body_ad` BIT(1) DEFAULT b'0' COMMENT '是否有车身广告',
|
||||
`body_ad_photos` VARCHAR(1000) COMMENT '广告照片(JSON数组)',
|
||||
`has_tail_lift` BIT(1) DEFAULT b'0' COMMENT '是否有尾板',
|
||||
`trailer_plate_no` VARCHAR(20) COMMENT '挂车牌号',
|
||||
`defect_photos` VARCHAR(1000) COMMENT '瑕疵照片(JSON数组)',
|
||||
`check_list` TEXT COMMENT '备车检查清单(JSON)',
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0=待提交 1=已完成)',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_vehicle_id` (`vehicle_id`),
|
||||
INDEX `idx_contract_id` (`contract_id`),
|
||||
INDEX `idx_status` (`status`),
|
||||
INDEX `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='备车记录表';
|
||||
|
||||
-- 2. 交车任务表
|
||||
CREATE TABLE IF NOT EXISTS `asset_delivery_task` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`task_code` VARCHAR(50) NOT NULL COMMENT '交车任务编码',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`contract_code` VARCHAR(50) NOT NULL COMMENT '合同编码',
|
||||
`project_name` VARCHAR(200) NOT NULL COMMENT '项目名称',
|
||||
`customer_id` BIGINT NOT NULL COMMENT '客户ID',
|
||||
`customer_name` VARCHAR(200) NOT NULL COMMENT '客户名称',
|
||||
`expected_delivery_date_start` DATE COMMENT '预计交车开始日期',
|
||||
`expected_delivery_date_end` DATE COMMENT '预计交车结束日期',
|
||||
`billing_start_date` DATE NOT NULL COMMENT '开始计费日期',
|
||||
`delivery_province` VARCHAR(50) COMMENT '交车省份',
|
||||
`delivery_city` VARCHAR(50) COMMENT '交车城市',
|
||||
`delivery_location` VARCHAR(255) COMMENT '交车地点',
|
||||
`vehicle_count` INT NOT NULL DEFAULT 0 COMMENT '交车数量',
|
||||
`task_status` TINYINT NOT NULL DEFAULT 0 COMMENT '任务状态(0=激活 1=挂起)',
|
||||
`delivery_status` TINYINT NOT NULL DEFAULT 0 COMMENT '交车状态(0=未交车 1=已交车)',
|
||||
`need_return` BIT(1) NOT NULL DEFAULT b'1' COMMENT '是否需要还车',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_task_code` (`task_code`, `deleted`),
|
||||
INDEX `idx_contract_id` (`contract_id`),
|
||||
INDEX `idx_customer_id` (`customer_id`),
|
||||
INDEX `idx_task_status` (`task_status`),
|
||||
INDEX `idx_delivery_status` (`delivery_status`),
|
||||
INDEX `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车任务表';
|
||||
|
||||
-- 3. 交车任务车辆表
|
||||
CREATE TABLE IF NOT EXISTS `asset_delivery_task_vehicle` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`task_id` BIGINT NOT NULL COMMENT '交车任务ID',
|
||||
`contract_vehicle_id` BIGINT NOT NULL COMMENT '合同车辆ID',
|
||||
`vehicle_id` BIGINT NOT NULL COMMENT '车辆ID',
|
||||
`plate_no` VARCHAR(20) COMMENT '车牌号',
|
||||
`vin` VARCHAR(50) NOT NULL COMMENT '车辆识别代码',
|
||||
`brand` VARCHAR(100) NOT NULL COMMENT '品牌',
|
||||
`model` VARCHAR(100) NOT NULL COMMENT '型号',
|
||||
`month_rent` DECIMAL(10,2) NOT NULL COMMENT '月租金',
|
||||
`deposit` DECIMAL(10,2) NOT NULL COMMENT '保证金',
|
||||
`actual_delivery_date` DATETIME COMMENT '实际交车日期',
|
||||
`delivery_person` VARCHAR(64) COMMENT '交车人',
|
||||
`is_delivered` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否已交车',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_task_id` (`task_id`),
|
||||
INDEX `idx_vehicle_id` (`vehicle_id`),
|
||||
INDEX `idx_contract_vehicle_id` (`contract_vehicle_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车任务车辆表';
|
||||
|
||||
-- 4. 交车单表
|
||||
CREATE TABLE IF NOT EXISTS `asset_delivery_order` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`order_code` VARCHAR(50) NOT NULL COMMENT '交车单编码',
|
||||
`task_id` BIGINT NOT NULL COMMENT '交车任务ID',
|
||||
`task_code` VARCHAR(50) NOT NULL COMMENT '交车任务编码',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`contract_code` VARCHAR(50) NOT NULL COMMENT '合同编码',
|
||||
`project_name` VARCHAR(200) NOT NULL COMMENT '项目名称',
|
||||
`customer_id` BIGINT NOT NULL COMMENT '客户ID',
|
||||
`customer_name` VARCHAR(200) NOT NULL COMMENT '客户名称',
|
||||
`delivery_date` DATETIME NOT NULL COMMENT '交车日期',
|
||||
`delivery_person` VARCHAR(64) NOT NULL COMMENT '交车人',
|
||||
`delivery_location` VARCHAR(255) COMMENT '交车地点',
|
||||
`authorized_person_id` BIGINT COMMENT '被授权人ID',
|
||||
`authorized_person_name` VARCHAR(100) COMMENT '被授权人姓名',
|
||||
`authorized_person_phone` VARCHAR(20) COMMENT '被授权人电话',
|
||||
`authorized_person_id_card` VARCHAR(18) COMMENT '被授权人身份证',
|
||||
`esign_flow_id` VARCHAR(100) COMMENT 'E签宝流程ID',
|
||||
`esign_status` TINYINT DEFAULT 0 COMMENT 'E签宝状态(0=未签 1=已签)',
|
||||
`delivery_photos` VARCHAR(1000) COMMENT '交车照片(JSON数组)',
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0=待完成 1=已完成)',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_order_code` (`order_code`, `deleted`),
|
||||
INDEX `idx_task_id` (`task_id`),
|
||||
INDEX `idx_contract_id` (`contract_id`),
|
||||
INDEX `idx_status` (`status`),
|
||||
INDEX `idx_delivery_date` (`delivery_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车单表';
|
||||
|
||||
-- 5. 交车单车辆表
|
||||
CREATE TABLE IF NOT EXISTS `asset_delivery_order_vehicle` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`order_id` BIGINT NOT NULL COMMENT '交车单ID',
|
||||
`task_vehicle_id` BIGINT NOT NULL COMMENT '交车任务车辆ID',
|
||||
`vehicle_id` BIGINT NOT NULL COMMENT '车辆ID',
|
||||
`plate_no` VARCHAR(20) COMMENT '车牌号',
|
||||
`vin` VARCHAR(50) NOT NULL COMMENT '车辆识别代码',
|
||||
`brand` VARCHAR(100) NOT NULL COMMENT '品牌',
|
||||
`model` VARCHAR(100) NOT NULL COMMENT '型号',
|
||||
`mileage` INT COMMENT '交车时里程',
|
||||
`hydrogen_level` DECIMAL(10,2) COMMENT '交车时氢气量(kg)',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_order_id` (`order_id`),
|
||||
INDEX `idx_vehicle_id` (`vehicle_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车单车辆表';
|
||||
|
||||
-- 6. 还车单表
|
||||
CREATE TABLE IF NOT EXISTS `asset_return_order` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`order_code` VARCHAR(50) NOT NULL COMMENT '还车单编码',
|
||||
`contract_id` BIGINT NOT NULL COMMENT '合同ID',
|
||||
`contract_code` VARCHAR(50) NOT NULL COMMENT '合同编码',
|
||||
`project_name` VARCHAR(200) NOT NULL COMMENT '项目名称',
|
||||
`customer_id` BIGINT NOT NULL COMMENT '客户ID',
|
||||
`customer_name` VARCHAR(200) NOT NULL COMMENT '客户名称',
|
||||
`return_date` DATETIME NOT NULL COMMENT '还车日期',
|
||||
`return_person` VARCHAR(64) NOT NULL COMMENT '还车验收人',
|
||||
`return_location` VARCHAR(255) COMMENT '还车地点',
|
||||
`return_reason` VARCHAR(50) COMMENT '还车原因',
|
||||
`return_reason_desc` VARCHAR(500) COMMENT '还车原因说明',
|
||||
`total_refund_amount` DECIMAL(10,2) DEFAULT 0 COMMENT '退还总金额',
|
||||
`deposit_refund` DECIMAL(10,2) DEFAULT 0 COMMENT '退还保证金',
|
||||
`hydrogen_refund` DECIMAL(10,2) DEFAULT 0 COMMENT '氢气退款',
|
||||
`other_charges` DECIMAL(10,2) DEFAULT 0 COMMENT '其他费用',
|
||||
`return_photos` VARCHAR(1000) COMMENT '还车照片(JSON数组)',
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0=待验车 1=验车完成 2=已结算)',
|
||||
`approval_status` TINYINT NOT NULL DEFAULT 0 COMMENT '审批状态(0=草稿 1=审批中 2=审批通过 3=审批拒绝)',
|
||||
`bpm_instance_id` VARCHAR(64) COMMENT 'BPM流程实例ID',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_order_code` (`order_code`, `deleted`),
|
||||
INDEX `idx_contract_id` (`contract_id`),
|
||||
INDEX `idx_status` (`status`),
|
||||
INDEX `idx_approval_status` (`approval_status`),
|
||||
INDEX `idx_return_date` (`return_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='还车单表';
|
||||
|
||||
-- 7. 还车车辆表
|
||||
CREATE TABLE IF NOT EXISTS `asset_return_order_vehicle` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`return_order_id` BIGINT NOT NULL COMMENT '还车单ID',
|
||||
`vehicle_id` BIGINT NOT NULL COMMENT '车辆ID',
|
||||
`plate_no` VARCHAR(20) COMMENT '车牌号',
|
||||
`vin` VARCHAR(50) NOT NULL COMMENT '车辆识别代码',
|
||||
`brand` VARCHAR(100) NOT NULL COMMENT '品牌',
|
||||
`model` VARCHAR(100) NOT NULL COMMENT '型号',
|
||||
`return_mileage` INT COMMENT '还车时里程',
|
||||
`return_hydrogen_level` DECIMAL(10,2) COMMENT '还车时氢气量(kg)',
|
||||
`delivery_hydrogen_level` DECIMAL(10,2) COMMENT '交车时氢气量(kg)',
|
||||
`hydrogen_diff` DECIMAL(10,2) COMMENT '氢气差值(kg)',
|
||||
`hydrogen_unit_price` DECIMAL(10,2) COMMENT '氢气单价(元/kg)',
|
||||
`hydrogen_refund_amount` DECIMAL(10,2) COMMENT '氢气退款金额',
|
||||
`check_list` TEXT COMMENT '还车检查清单(JSON)',
|
||||
`defect_photos` VARCHAR(1000) COMMENT '瑕疵照片(JSON数组)',
|
||||
`vehicle_damage_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '车损费',
|
||||
`tool_damage_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '工具损坏费',
|
||||
`unpaid_maintenance_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '未结算保养费',
|
||||
`unpaid_repair_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '未结算维修费',
|
||||
`other_fee` DECIMAL(10,2) DEFAULT 0 COMMENT '其他费用',
|
||||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_return_order_id` (`return_order_id`),
|
||||
INDEX `idx_vehicle_id` (`vehicle_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='还车车辆表';
|
||||
Reference in New Issue
Block a user