diff --git a/.gitignore b/.gitignore index 799a70a0..93b8b977 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,9 @@ Thumbs.db !.gitignore !bms-back/ !bms-front/ +!deploy/ + +# 部署目录:忽略真实环境变量文件,只提交模板 +deploy/.env +deploy/*.env +!deploy/.env.example diff --git a/bms-back/sql/ar/ar_balance_writeoff.sql b/bms-back/sql/ar/ar_balance_writeoff.sql deleted file mode 100644 index 765618bc..00000000 --- a/bms-back/sql/ar/ar_balance_writeoff.sql +++ /dev/null @@ -1,75 +0,0 @@ --- ===================================================================== --- 客户余额核销应收账单 V1.0 2026-09-16 --- 1) 余额核销单表 ar_balance_writeoff(资金来源:customer_account.balance) --- 2) 存量账单未核销金额重算 customer_account.used_credit 占用 --- 3) 菜单与授权:客户账单(2435) / 账单详情(2436) / 余额核销(2437) / 反核销(2438) --- ===================================================================== - --- 余额核销单:用客户账户余额核销应收账单, --- 与客户账户余额流水配合,共享 ar_bill.written_off_amount / unwritten_amount 缓存字段 -CREATE TABLE IF NOT EXISTS ar_balance_writeoff ( - writeoff_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '余额核销ID', - writeoff_no VARCHAR(50) NOT NULL COMMENT '核销单号(BWO开头)', - ar_bill_id BIGINT(20) NOT NULL COMMENT '应收账单ID', - bill_no VARCHAR(50) NOT NULL COMMENT '账单号快照', - customer_id BIGINT(20) NOT NULL COMMENT '客户ID', - account_id BIGINT(20) DEFAULT NULL COMMENT '客户账户ID', - currency VARCHAR(10) NOT NULL DEFAULT 'CNY' COMMENT '币种', - writeoff_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '本次核销金额', - balance_flow_id BIGINT(20) DEFAULT NULL COMMENT '核销扣余额流水ID', - reverse_flow_id BIGINT(20) DEFAULT NULL COMMENT '反核销回补余额流水ID', - writeoff_date DATE NOT NULL COMMENT '核销日期', - status VARCHAR(30) NOT NULL COMMENT '状态:EFFECTIVE=有效(已扣减客户余额),CANCELLED=已反核销(已回补客户余额)', - remark VARCHAR(500) DEFAULT NULL COMMENT '核销备注', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - cancel_by VARCHAR(64) DEFAULT NULL COMMENT '反核销人', - cancel_time DATETIME DEFAULT NULL COMMENT '反核销时间', - cancel_remark VARCHAR(500) DEFAULT NULL COMMENT '反核销原因', - PRIMARY KEY (writeoff_id), - UNIQUE KEY uk_ar_balance_writeoff_no (writeoff_no), - KEY idx_abw_bill (ar_bill_id, status), - KEY idx_abw_customer (customer_id, status), - KEY idx_abw_account (account_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单余额核销表'; - --- 存量数据:为仅有账单、没有账户的客户补建账户(理论上CNY账户均已自动开户) -INSERT INTO customer_account (customer_id, currency, balance, frozen_balance, total_credit, extra_credit, used_credit, tax, version, create_by, create_time, del_flag) -SELECT b.customer_id, b.currency, 0, 0, 0, 0, 0, 0, 0, 'system', NOW(), '0' -FROM ( - SELECT customer_id, currency FROM ar_bill - WHERE status IN ('CONFIRMED','PARTIAL_WRITTEN_OFF') - GROUP BY customer_id, currency -) b -LEFT JOIN customer_account a - ON a.customer_id = b.customer_id - AND a.currency COLLATE utf8mb4_general_ci = b.currency - AND a.del_flag = '0' -WHERE a.id IS NULL; - --- 已用额度 = 该客户该币种 已确认/部分核销账单的未核销金额合计 -UPDATE customer_account a -JOIN ( - SELECT customer_id, currency, SUM(unwritten_amount) AS used_total - FROM ar_bill - WHERE status IN ('CONFIRMED','PARTIAL_WRITTEN_OFF') - GROUP BY customer_id, currency -) t ON t.customer_id = a.customer_id - AND t.currency COLLATE utf8mb4_general_ci = a.currency -SET a.used_credit = t.used_total, - a.version = a.version + 1, - a.update_by = 'system', - a.update_time = NOW() -WHERE a.del_flag = '0'; - --- 菜单(父菜单 2309 = 客户/供应商管理;如环境ID不同请自行调整) -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES -(2435, '客户账单', 2309, 3, 'customerbill', 'customersuppliermanagement/customerinfo/customerbill/index', '', 1, 0, 'C', '0', '0', 'customer:bill:list', 'documentation', 'admin', NOW(), '客户应收账单只读查询'), -(2436, '账单详情', 2435, 1, '', NULL, '', 1, 0, 'F', '0', '0', 'customer:bill:query', '#', 'admin', NOW(), ''), -(2437, '余额核销', 2435, 2, '', NULL, '', 1, 0, 'F', '0', '0', 'customer:bill:writeoff', '#', 'admin', NOW(), '用客户账户余额核销应收账单'), -(2438, '取消余额核销', 2435, 3, '', NULL, '', 1, 0, 'F', '0', '0', 'customer:bill:writeoff:cancel', '#', 'admin', NOW(), '反核销'); - --- 普通角色授权(按实际角色调整) -INSERT INTO sys_role_menu (role_id, menu_id) VALUES -(2, 2435), (2, 2436), (2, 2437), (2, 2438); diff --git a/bms-back/sql/ar/ar_bank_account.sql b/bms-back/sql/ar/ar_bank_account.sql deleted file mode 100644 index 7f2fbf19..00000000 --- a/bms-back/sql/ar/ar_bank_account.sql +++ /dev/null @@ -1,33 +0,0 @@ --- 公司收款账户配置。账单生成时按币种自动选择默认账户,并将其快照保存到 ar_bill。 -SET NAMES utf8mb4; - -CREATE TABLE IF NOT EXISTS ar_bank_account ( - bank_account_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '收款账户ID', - account_name VARCHAR(100) NOT NULL COMMENT '开户名', - account_no VARCHAR(128) NOT NULL COMMENT '银行账号,应用层脱敏展示', - bank_name VARCHAR(100) NOT NULL COMMENT '开户行', - currency VARCHAR(10) NOT NULL DEFAULT 'CNY' COMMENT '币种', - is_default CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否默认账户,1是0否', - status CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态,0正常1停用', - remark VARCHAR(500) DEFAULT NULL COMMENT '备注', - create_by VARCHAR(64) NOT NULL DEFAULT 'admin' COMMENT '创建人', - create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人', - update_time DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (bank_account_id), - UNIQUE KEY uk_ar_bank_account_no_currency (account_no, currency), - KEY idx_ar_bank_account_currency (currency, status, is_default) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='公司收款账户配置'; - --- 图片提供的公司人民币收款账户。账号去除空格保存,展示时按系统安全规则脱敏。 -INSERT INTO ar_bank_account ( - account_name, account_no, bank_name, currency, is_default, status, remark -) -SELECT - N'威狮国际供应链(深圳)有限公司', '86011110001370504', N'宁波银行深圳后海支行', - 'CNY', '1', '0', N'公司人民币默认收款账户' -FROM DUAL -WHERE NOT EXISTS ( - SELECT 1 FROM ar_bank_account - WHERE account_no = '86011110001370504' AND currency = 'CNY' -); diff --git a/bms-back/sql/ar/ar_bill.sql b/bms-back/sql/ar/ar_bill.sql deleted file mode 100644 index 283a8a15..00000000 --- a/bms-back/sql/ar/ar_bill.sql +++ /dev/null @@ -1,361 +0,0 @@ --- BMS 应收 V1.0 --- --- 需求文档中的来源表 prc_bill / prc_bill_fee 在本项目已经由 --- sql/price/rename_bill_tables.sql 迁移为 prc_order_bill / prc_income_bill_fee; --- 本脚本只创建正式应收表,不改动来源表及其 VARCHAR(36) 主键。 -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - -CREATE TABLE IF NOT EXISTS ar_bill ( - ar_bill_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '应收账单ID', - bill_no VARCHAR(50) NOT NULL COMMENT '账单号', - bill_name VARCHAR(100) NOT NULL COMMENT '账单名称', - customer_id BIGINT(20) NOT NULL COMMENT '客户ID', - customer_code VARCHAR(50) NOT NULL COMMENT '客户编码快照', - customer_name VARCHAR(100) NOT NULL COMMENT '客户名称快照', - bill_period_start DATE NOT NULL COMMENT '账期开始日', - bill_period_end DATE NOT NULL COMMENT '账期结束日', - bill_date DATE NOT NULL COMMENT '账单出具日期', - currency VARCHAR(10) NOT NULL DEFAULT 'CNY' COMMENT '币种', - order_count INT(11) NOT NULL DEFAULT 0 COMMENT '订单数量', - total_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '账单应收总额', - written_off_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '已核销金额缓存', - unwritten_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '未核销金额缓存', - status VARCHAR(30) NOT NULL COMMENT '状态:DRAFT=草稿,CONFIRMED=已确认,PARTIAL_WRITTEN_OFF=部分核销,WRITTEN_OFF=已核销,VOID=已作废', - generation_status VARCHAR(20) NOT NULL DEFAULT 'READY' COMMENT '生成状态:GENERATING=生成中,READY=可用,FAILED=生成失败', - bill_version INT(11) NOT NULL DEFAULT 1 COMMENT '账单版本', - bank_account_name VARCHAR(100) DEFAULT NULL COMMENT '收款账户名称快照', - bank_account_no VARCHAR(128) DEFAULT NULL COMMENT '收款账号快照,应用层脱敏展示', - bank_name VARCHAR(100) DEFAULT NULL COMMENT '开户行快照', - remark VARCHAR(500) DEFAULT NULL COMMENT '备注或作废原因', - confirmed_by VARCHAR(64) DEFAULT NULL COMMENT '确认人', - confirmed_time DATETIME DEFAULT NULL COMMENT '确认时间', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_by VARCHAR(64) NOT NULL COMMENT '更新人', - update_time DATETIME NOT NULL COMMENT '更新时间', - PRIMARY KEY (ar_bill_id), - UNIQUE KEY uk_ar_bill_no (bill_no), - UNIQUE KEY uk_ar_bill_customer_cutoff_version (customer_id, currency, bill_period_end, bill_version), - KEY idx_ar_bill_customer_cutoff (customer_id, currency, bill_period_end), - KEY idx_ar_bill_status (status) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='正式应收账单主表'; - -CREATE TABLE IF NOT EXISTS ar_bill_generate_task ( - task_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '生成任务ID', - task_no VARCHAR(50) NOT NULL COMMENT '生成任务编号', - ar_bill_id BIGINT(20) NOT NULL COMMENT '应收账单ID', - selection_mode VARCHAR(20) NOT NULL COMMENT '选择模式:EXPLICIT=手动选择,ALL_MATCHED=全选查询结果', - request_payload LONGTEXT NOT NULL COMMENT '生成请求快照JSON', - snapshot_create_time DATETIME DEFAULT NULL COMMENT '来源订单创建时间快照', - last_source_bill_id VARCHAR(36) DEFAULT NULL COMMENT '来源订单游标', - total_count INT(11) NOT NULL DEFAULT -1 COMMENT '待处理订单数,-1表示尚未统计', - processed_count INT(11) NOT NULL DEFAULT 0 COMMENT '已处理订单数', - success_count INT(11) NOT NULL DEFAULT 0 COMMENT '成功订单数', - total_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '当前生成金额', - status VARCHAR(30) NOT NULL COMMENT '任务状态:WAITING=待处理,RUNNING=生成中,SUCCESS=生成成功,FAILED=生成失败,CANCEL_REQUESTED=取消中,CANCELED=已取消', - error_message VARCHAR(1000) DEFAULT NULL COMMENT '错误信息', - request_token VARCHAR(64) NOT NULL COMMENT '请求幂等标识', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - started_at DATETIME DEFAULT NULL COMMENT '开始时间', - heartbeat_time DATETIME DEFAULT NULL COMMENT '最近心跳时间', - finished_at DATETIME DEFAULT NULL COMMENT '完成时间', - PRIMARY KEY (task_id), - UNIQUE KEY uk_ar_bill_generate_task_no (task_no), - UNIQUE KEY uk_ar_bill_generate_request_token (request_token), - KEY idx_ar_bill_generate_status (status, create_time), - KEY idx_ar_bill_generate_creator (create_by, status, create_time), - KEY idx_ar_bill_generate_bill (ar_bill_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单异步生成任务'; - -CREATE TABLE IF NOT EXISTS ar_bill_detail ( - detail_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账单订单明细ID', - ar_bill_id BIGINT(20) NOT NULL COMMENT '应收账单ID', - prc_order_bill_id VARCHAR(36) NOT NULL COMMENT '来源计费订单ID,对应 prc_order_bill.bill_id', - detail_no INT(11) NOT NULL COMMENT '账单内顺序号', - order_no VARCHAR(64) NOT NULL COMMENT '订单号快照', - tracking_no VARCHAR(64) DEFAULT NULL COMMENT '运单号快照', - transfer_no VARCHAR(64) DEFAULT NULL COMMENT '转单号快照', - receive_time DATETIME DEFAULT NULL COMMENT '收件或入库时间', - product_code VARCHAR(50) NOT NULL COMMENT '产品代码快照', - product_name VARCHAR(100) DEFAULT NULL COMMENT '产品名称快照', - goods_description VARCHAR(500) DEFAULT NULL COMMENT '货物描述快照', - country_code CHAR(2) DEFAULT NULL COMMENT '目的国家二字码', - country_name VARCHAR(50) DEFAULT NULL COMMENT '目的国家名称', - dest_postcode VARCHAR(20) DEFAULT NULL COMMENT '目的邮编', - actual_weight DECIMAL(12,3) DEFAULT NULL COMMENT '实际重量KG', - volume_weight DECIMAL(12,3) DEFAULT NULL COMMENT '材积重量KG', - charge_weight DECIMAL(12,3) DEFAULT NULL COMMENT '计费重量KG', - pkg_length DECIMAL(10,2) DEFAULT NULL COMMENT '长度CM', - pkg_width DECIMAL(10,2) DEFAULT NULL COMMENT '宽度CM', - pkg_height DECIMAL(10,2) DEFAULT NULL COMMENT '高度CM', - currency VARCHAR(10) NOT NULL COMMENT '币种快照', - total_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '订单费用合计', - remark VARCHAR(500) DEFAULT NULL COMMENT '订单账单备注', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - PRIMARY KEY (detail_id), - UNIQUE KEY uk_ar_bill_detail_source (ar_bill_id, prc_order_bill_id), - UNIQUE KEY uk_ar_bill_detail_no (ar_bill_id, detail_no), - KEY idx_ar_bill_detail_source (prc_order_bill_id), - KEY idx_ar_bill_detail_bill_transfer_no (ar_bill_id, transfer_no), - CONSTRAINT fk_ar_bill_detail_bill FOREIGN KEY (ar_bill_id) REFERENCES ar_bill (ar_bill_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单订单快照'; - -CREATE TABLE IF NOT EXISTS ar_bill_detail_fee ( - detail_fee_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账单费用明细ID', - detail_id BIGINT(20) NOT NULL COMMENT '账单订单明细ID', - prc_income_bill_fee_id VARCHAR(36) NOT NULL COMMENT '来源收入费用ID,对应 prc_income_bill_fee.fee_id', - fee_no INT(11) NOT NULL COMMENT '订单内费用顺序号', - fee_type VARCHAR(30) NOT NULL COMMENT '费用类型快照', - fee_name VARCHAR(100) DEFAULT NULL COMMENT '费用名称快照', - sc_id BIGINT(20) DEFAULT NULL COMMENT '附加费配置ID快照', - quantity DECIMAL(12,3) DEFAULT NULL COMMENT '计费数量', - unit VARCHAR(20) DEFAULT NULL COMMENT '计费单位', - unit_price DECIMAL(15,4) DEFAULT NULL COMMENT '费用单价', - amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '费用金额', - currency VARCHAR(10) NOT NULL COMMENT '币种', - calculation_formula VARCHAR(500) DEFAULT NULL COMMENT '计算公式或说明', - round_mode VARCHAR(20) DEFAULT NULL COMMENT '取舍规则', - remark VARCHAR(500) DEFAULT NULL COMMENT '费用备注', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - PRIMARY KEY (detail_fee_id), - UNIQUE KEY uk_ar_detail_prc_income_fee (detail_id, prc_income_bill_fee_id), - KEY idx_ar_detail_fee_type (fee_type), - KEY idx_ar_detail_prc_income_fee (prc_income_bill_fee_id), - KEY idx_ar_detail_fee_order (detail_id, fee_no, detail_fee_id), - CONSTRAINT fk_ar_detail_fee_detail FOREIGN KEY (detail_id) REFERENCES ar_bill_detail (detail_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单费用快照'; - -CREATE TABLE IF NOT EXISTS ar_export_template ( - template_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '导出模板ID', - template_code VARCHAR(50) NOT NULL COMMENT '模板编码,例如 AR_CUSTOMER_BILL', - template_name VARCHAR(100) NOT NULL COMMENT '模板名称', - business_type VARCHAR(50) NOT NULL COMMENT '业务类型,例如 AR_BILL', - template_version VARCHAR(50) NOT NULL COMMENT '模板版本,已启用版本不可覆盖', - storage_type VARCHAR(20) NOT NULL DEFAULT 'CLASSPATH' COMMENT '存储类型:CLASSPATH=应用内置资源,FILE=服务器文件,OSS=对象存储,MINIO=MinIO对象存储', - storage_key VARCHAR(500) NOT NULL COMMENT '模板文件存储Key或classpath资源路径', - file_hash VARCHAR(128) DEFAULT NULL COMMENT '模板文件SHA-256校验值', - status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED=启用,DISABLED=停用', - is_default CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否默认模板:1是0否', - effective_start DATE DEFAULT NULL COMMENT '生效开始日期', - effective_end DATE DEFAULT NULL COMMENT '生效结束日期', - remark VARCHAR(500) DEFAULT NULL COMMENT '备注', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (template_id), - UNIQUE KEY uk_ar_export_template_code_version (business_type, template_code, template_version), - KEY idx_ar_export_template_default (business_type, status, is_default, effective_start, effective_end) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单导出模板管理'; - -INSERT INTO ar_export_template ( - template_code, template_name, business_type, template_version, storage_type, storage_key, - file_hash, status, is_default, create_by, create_time, remark -) -SELECT - 'AR_CUSTOMER_BILL', '应收账单默认模板', 'AR_BILL', '1.0', 'CLASSPATH', - 'templates/ar/ar_bill_template.xlsx', '735002ac3561e0579b724c0612a2c5ce2d6725bc7fd39c450b0aeff70911a45e', 'ENABLED', '1', 'system', NOW(), '系统内置默认模板' -WHERE NOT EXISTS ( - SELECT 1 FROM ar_export_template - WHERE business_type = 'AR_BILL' - AND template_code = 'AR_CUSTOMER_BILL' - AND template_version = '1.0' -); - -CREATE TABLE IF NOT EXISTS ar_bill_export ( - export_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '导出ID', - ar_bill_id BIGINT(20) NOT NULL COMMENT '应收账单ID', - file_name VARCHAR(255) NOT NULL COMMENT '下载展示名称', - file_type VARCHAR(20) NOT NULL COMMENT 'XLSX/PDF', - template_id BIGINT(20) DEFAULT NULL COMMENT '提交导出任务时绑定的模板ID', - template_code VARCHAR(50) NOT NULL COMMENT '导出模板标识', - template_version VARCHAR(50) DEFAULT NULL COMMENT '模板版本', - template_storage_type VARCHAR(20) DEFAULT NULL COMMENT '绑定模板存储类型', - template_storage_key VARCHAR(500) DEFAULT NULL COMMENT '绑定模板存储Key', - template_hash VARCHAR(128) DEFAULT NULL COMMENT '绑定模板SHA-256校验值', - storage_key VARCHAR(500) NOT NULL COMMENT '对象存储或本地文件Key', - file_size BIGINT(20) DEFAULT NULL COMMENT '文件字节数', - file_hash VARCHAR(128) DEFAULT NULL COMMENT 'SHA-256校验值', - row_count INT(11) DEFAULT NULL COMMENT '导出订单行数', - export_status VARCHAR(30) NOT NULL COMMENT '导出状态:PROCESSING=生成中,SUCCESS=成功(可下载),FAILED=失败', - export_by VARCHAR(64) NOT NULL COMMENT '导出人', - export_time DATETIME NOT NULL COMMENT '导出时间', - remark VARCHAR(500) DEFAULT NULL COMMENT '失败原因或备注', - PRIMARY KEY (export_id), - KEY idx_ar_bill_export_bill (ar_bill_id, export_time), - KEY idx_ar_bill_export_template (template_id), - KEY idx_ar_bill_export_status (export_status), - CONSTRAINT fk_ar_bill_export_bill FOREIGN KEY (ar_bill_id) REFERENCES ar_bill (ar_bill_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单导出文件元数据'; - -CREATE TABLE IF NOT EXISTS ar_bill_log ( - log_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', - ar_bill_id BIGINT(20) DEFAULT NULL COMMENT '账单ID', - object_type VARCHAR(40) NOT NULL COMMENT '对象类型:BILL=应收账单,EXPORT=账单导出,BALANCE_WRITEOFF=余额核销;历史值可能包含已下线模块类型', - object_id VARCHAR(64) NOT NULL COMMENT '通用对象ID', - operation_type VARCHAR(40) NOT NULL COMMENT '操作类型:CREATE=生成账单,GENERATE=生成校验,CONFIRM=确认账单,VOID=作废账单,EXPORT=导出账单,BALANCE_WRITEOFF=余额核销,CANCEL_BALANCE_WRITEOFF=取消余额核销', - operation_desc VARCHAR(500) DEFAULT NULL COMMENT '操作说明', - from_status VARCHAR(30) DEFAULT NULL COMMENT '变更前状态', - to_status VARCHAR(30) DEFAULT NULL COMMENT '变更后状态', - before_data TEXT COMMENT '变更前安全快照', - after_data TEXT COMMENT '变更后安全快照', - operator_id VARCHAR(64) NOT NULL COMMENT '操作人ID', - operator_name VARCHAR(100) DEFAULT NULL COMMENT '操作人名称', - operation_source VARCHAR(30) NOT NULL COMMENT '操作来源:WEB=网页端,API=接口,JOB=定时任务,IMPORT=数据导入', - request_id VARCHAR(64) DEFAULT NULL COMMENT '请求幂等标识', - trace_id VARCHAR(64) DEFAULT NULL COMMENT '链路标识', - result VARCHAR(20) NOT NULL COMMENT '执行结果:SUCCESS=成功,FAILED=失败', - error_message VARCHAR(1000) DEFAULT NULL COMMENT '失败原因', - client_ip VARCHAR(64) DEFAULT NULL COMMENT '来源IP', - create_time DATETIME NOT NULL COMMENT '日志时间', - PRIMARY KEY (log_id), - KEY idx_ar_bill_log_bill (ar_bill_id, create_time), - KEY idx_ar_bill_log_object (object_type, object_id, create_time), - KEY idx_ar_bill_log_request (request_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单操作日志'; - --- ============================================================ --- 兼容已执行旧版本脚本的增量补齐逻辑 --- 本文件是应收账单模块唯一数据库脚本,新库和存量库均可重复执行。 --- ============================================================ -SET @ar_db_name := DATABASE(); - --- 1. 异步生成任务依赖字段 -SET @ar_has_generation_status := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill' - AND COLUMN_NAME = 'generation_status' -); -SET @ar_sql := IF(@ar_has_generation_status = 0, - 'ALTER TABLE ar_bill ADD COLUMN generation_status VARCHAR(20) NOT NULL DEFAULT ''READY'' COMMENT ''生成状态:GENERATING=生成中,READY=可用,FAILED=生成失败'' AFTER status', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - --- 异步生成任务状态增加中文含义,便于数据库运维和排查。 --- 已存在 status 时只修改定义,不重复新增;兼容历史上已创建但字段不完整的任务表。 -SET @ar_has_task_status := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill_generate_task' - AND COLUMN_NAME = 'status' -); -SET @ar_sql := IF(@ar_has_task_status = 0, - 'ALTER TABLE ar_bill_generate_task ADD COLUMN status VARCHAR(30) NOT NULL COMMENT ''任务状态:WAITING=待处理,RUNNING=生成中,SUCCESS=生成成功,FAILED=生成失败,CANCEL_REQUESTED=取消中,CANCELED=已取消'' AFTER total_amount', - 'ALTER TABLE ar_bill_generate_task MODIFY COLUMN status VARCHAR(30) NOT NULL COMMENT ''任务状态:WAITING=待处理,RUNNING=生成中,SUCCESS=生成成功,FAILED=生成失败,CANCEL_REQUESTED=取消中,CANCELED=已取消'''); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - -UPDATE ar_bill -SET generation_status = 'READY' -WHERE generation_status IS NULL; - --- 2. 为异步游标查询补充来源订单索引。 --- 来源表可能尚未由价格模块脚本创建,因此这里做存在性判断。 -SET @ar_has_source_table := ( - SELECT COUNT(*) - FROM information_schema.TABLES - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'prc_order_bill' -); -SET @ar_has_source_cursor_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'prc_order_bill' - AND INDEX_NAME = 'idx_bill_ar_async_cursor' -); -SET @ar_sql := IF(@ar_has_source_table = 1 AND @ar_has_source_cursor_index = 0, - 'ALTER TABLE prc_order_bill ADD INDEX idx_bill_ar_async_cursor (customer_id, currency, ar_bill_status, create_time, bill_id)', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - --- 3. 兼容已存在的模板表和导出记录表,补齐模板字段、注释及索引。 -ALTER TABLE ar_export_template - MODIFY COLUMN storage_type VARCHAR(20) NOT NULL DEFAULT 'CLASSPATH' - COMMENT '存储类型:CLASSPATH=应用内置资源,FILE=服务器文件,OSS=对象存储,MINIO=MinIO对象存储', - MODIFY COLUMN status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' - COMMENT '状态:ENABLED=启用,DISABLED=停用'; - -SET @ar_has_template_id := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill_export' - AND COLUMN_NAME = 'template_id' -); -SET @ar_sql := IF(@ar_has_template_id = 0, - 'ALTER TABLE ar_bill_export ADD COLUMN template_id BIGINT(20) DEFAULT NULL COMMENT ''提交导出任务时绑定的模板ID'' AFTER file_type', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - -SET @ar_has_template_storage_type := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill_export' - AND COLUMN_NAME = 'template_storage_type' -); -SET @ar_sql := IF(@ar_has_template_storage_type = 0, - 'ALTER TABLE ar_bill_export ADD COLUMN template_storage_type VARCHAR(20) DEFAULT NULL COMMENT ''绑定模板存储类型'' AFTER template_version', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - -SET @ar_has_template_storage_key := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill_export' - AND COLUMN_NAME = 'template_storage_key' -); -SET @ar_sql := IF(@ar_has_template_storage_key = 0, - 'ALTER TABLE ar_bill_export ADD COLUMN template_storage_key VARCHAR(500) DEFAULT NULL COMMENT ''绑定模板存储Key'' AFTER template_storage_type', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - -SET @ar_has_template_hash := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill_export' - AND COLUMN_NAME = 'template_hash' -); -SET @ar_sql := IF(@ar_has_template_hash = 0, - 'ALTER TABLE ar_bill_export ADD COLUMN template_hash VARCHAR(128) DEFAULT NULL COMMENT ''绑定模板SHA-256校验值'' AFTER template_storage_key', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - -SET @ar_has_template_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @ar_db_name - AND TABLE_NAME = 'ar_bill_export' - AND INDEX_NAME = 'idx_ar_bill_export_template' -); -SET @ar_sql := IF(@ar_has_template_index = 0, - 'ALTER TABLE ar_bill_export ADD INDEX idx_ar_bill_export_template (template_id)', - 'SELECT 1'); -PREPARE ar_stmt FROM @ar_sql; -EXECUTE ar_stmt; -DEALLOCATE PREPARE ar_stmt; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/bms-back/sql/ar/ar_bill_cutoff_status_migration.sql b/bms-back/sql/ar/ar_bill_cutoff_status_migration.sql deleted file mode 100644 index eb761612..00000000 --- a/bms-back/sql/ar/ar_bill_cutoff_status_migration.sql +++ /dev/null @@ -1,143 +0,0 @@ --- 应收账单:订单占用状态 + 单日期截止日迁移 --- 适用于已经执行过 ar/ar_bill.sql、price/bill.sql 的数据库。 --- 若数据库中的应收明细仍使用旧来源ID列名,请先执行 ar_bill_source_id_rename.sql。 --- 请在业务低峰期执行;本脚本只做字段、索引和历史状态初始化,不删除账单明细。 -SET NAMES utf8mb4; -SET @db_name := DATABASE(); - --- 1. 给正式账单增加账单名称。历史账单使用账单号生成默认名称。 -SET @has_bill_name := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill' - AND COLUMN_NAME = 'bill_name' -); -SET @sql := IF(@has_bill_name = 0, - 'ALTER TABLE ar_bill ADD COLUMN bill_name VARCHAR(100) NULL COMMENT ''账单名称'' AFTER bill_no', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -UPDATE ar_bill -SET bill_name = CONCAT('应收账单-', bill_no) -WHERE bill_name IS NULL OR TRIM(bill_name) = ''; - -SET @sql := 'ALTER TABLE ar_bill MODIFY COLUMN bill_name VARCHAR(100) NOT NULL COMMENT ''账单名称'''; -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 给来源计费订单增加应收账单占用状态。 -SET @has_column := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND COLUMN_NAME = 'ar_bill_status' -); -SET @sql := IF(@has_column = 0, - 'ALTER TABLE prc_order_bill ADD COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT ''UNBILLED'' COMMENT ''应收账单占用状态:UNBILLED/BILLED'' AFTER currency', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SET @has_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND INDEX_NAME = 'idx_bill_ar_status' -); -SET @sql := IF(@has_index = 0, - 'ALTER TABLE prc_order_bill ADD INDEX idx_bill_ar_status (customer_id, currency, ar_bill_status, biz_date)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 根据已有账单明细回填历史订单状态。作废账单不占用订单。 -UPDATE prc_order_bill o -JOIN ( - SELECT DISTINCT d.prc_order_bill_id - FROM ar_bill_detail d - JOIN ar_bill b ON b.ar_bill_id = d.ar_bill_id - WHERE b.status <> 'VOID' -) billed ON billed.prc_order_bill_id = o.bill_id -SET o.ar_bill_status = 'BILLED' -WHERE COALESCE(o.ar_bill_status, 'UNBILLED') <> 'BILLED'; - --- 4. 账单唯一性改为“客户 + 币种 + 截止日 + 版本”。 --- 同一截止日的作废账单保留历史,新账单使用递增版本号。 -DROP TEMPORARY TABLE IF EXISTS tmp_ar_bill_versions; -CREATE TEMPORARY TABLE tmp_ar_bill_versions AS - SELECT ar_bill_id, - ROW_NUMBER() OVER ( - PARTITION BY customer_id, currency, bill_period_end - ORDER BY create_time, ar_bill_id - ) AS version_no - FROM ar_bill; - -UPDATE ar_bill a -JOIN tmp_ar_bill_versions v ON v.ar_bill_id = a.ar_bill_id -SET a.bill_version = v.version_no; -DROP TEMPORARY TABLE tmp_ar_bill_versions; - -SET @has_old_unique := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill' - AND INDEX_NAME = 'uk_ar_bill_customer_period' -); -SET @sql := IF(@has_old_unique > 0, - 'ALTER TABLE ar_bill DROP INDEX uk_ar_bill_customer_period', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SET @has_new_unique := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill' - AND INDEX_NAME = 'uk_ar_bill_customer_cutoff_version' -); -SET @sql := IF(@has_new_unique = 0, - 'ALTER TABLE ar_bill ADD UNIQUE KEY uk_ar_bill_customer_cutoff_version (customer_id, currency, bill_period_end, bill_version)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SET @has_cutoff_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill' - AND INDEX_NAME = 'idx_ar_bill_customer_cutoff' -); -SET @sql := IF(@has_cutoff_index = 0, - 'ALTER TABLE ar_bill ADD INDEX idx_ar_bill_customer_cutoff (customer_id, currency, bill_period_end)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 5. 详情页按账单加载费用时使用的排序索引。可重复执行,不会重复创建。 -SET @has_detail_fee_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND INDEX_NAME = 'idx_ar_detail_fee_order' -); -SET @sql := IF(@has_detail_fee_index = 0, - 'ALTER TABLE ar_bill_detail_fee ADD INDEX idx_ar_detail_fee_order (detail_id, fee_no, detail_fee_id)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; diff --git a/bms-back/sql/ar/ar_bill_log_balance_writeoff_comment.sql b/bms-back/sql/ar/ar_bill_log_balance_writeoff_comment.sql deleted file mode 100644 index e8e57ea0..00000000 --- a/bms-back/sql/ar/ar_bill_log_balance_writeoff_comment.sql +++ /dev/null @@ -1,10 +0,0 @@ --- 应收日志枚举中文说明:仅更新字段注释,不改变字段类型、历史数据和业务逻辑 -ALTER TABLE ar_bill_log - MODIFY COLUMN object_type VARCHAR(40) NOT NULL - COMMENT '对象类型:BILL=应收账单,EXPORT=账单导出,BALANCE_WRITEOFF=余额核销;历史值可能包含已下线模块类型', - MODIFY COLUMN operation_type VARCHAR(40) NOT NULL - COMMENT '操作类型:CREATE=生成账单,GENERATE=生成校验,CONFIRM=确认账单,VOID=作废账单,EXPORT=导出账单,BALANCE_WRITEOFF=余额核销,CANCEL_BALANCE_WRITEOFF=取消余额核销', - MODIFY COLUMN operation_source VARCHAR(30) NOT NULL - COMMENT '操作来源:WEB=网页端,API=接口,JOB=定时任务,IMPORT=数据导入', - MODIFY COLUMN result VARCHAR(20) NOT NULL - COMMENT '执行结果:SUCCESS=成功,FAILED=失败'; diff --git a/bms-back/sql/ar/ar_bill_runtime_optimization.sql b/bms-back/sql/ar/ar_bill_runtime_optimization.sql deleted file mode 100644 index adb29288..00000000 --- a/bms-back/sql/ar/ar_bill_runtime_optimization.sql +++ /dev/null @@ -1,84 +0,0 @@ --- 应收模块运行期优化脚本(不回填历史数据) --- --- 用于已经存在业务表的环境。脚本可重复执行:字段或索引已存在时自动跳过, --- 不会修改历史订单的 ar_bill_status,也不会重算历史账单版本。 -SET NAMES utf8mb4; -SET @db_name := DATABASE(); - --- 1. 账单唯一性调整。 --- 旧版本 uk_ar_bill_customer_period 会禁止同一客户同一账期再次生成账单, --- 与 bill_version 版本化方案冲突,必须删除。 -SET @has_old_bill_unique := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill' - AND INDEX_NAME = 'uk_ar_bill_customer_period' -); -SET @sql := IF(@has_old_bill_unique > 0, - 'ALTER TABLE ar_bill DROP INDEX uk_ar_bill_customer_period', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 新唯一键要求已有数据的 bill_version 已正确区分。 --- 如果这里创建失败,请先执行 ar_bill_cutoff_status_migration.sql 回填历史版本。 -SET @has_bill_version_unique := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill' - AND INDEX_NAME = 'uk_ar_bill_customer_cutoff_version' -); -SET @sql := IF(@has_bill_version_unique = 0, - 'ALTER TABLE ar_bill ADD UNIQUE KEY uk_ar_bill_customer_cutoff_version (customer_id, currency, bill_period_end, bill_version)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 计费订单应收账单占用状态。 -SET @has_ar_bill_status := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND COLUMN_NAME = 'ar_bill_status' -); -SET @sql := IF(@has_ar_bill_status = 0, - 'ALTER TABLE prc_order_bill ADD COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT ''UNBILLED'' COMMENT ''应收账单占用状态:UNBILLED/BILLED'' AFTER currency', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 订单预览、占用和释放使用的组合索引。 -SET @has_order_status_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND INDEX_NAME = 'idx_bill_ar_status' -); -SET @sql := IF(@has_order_status_index = 0, - 'ALTER TABLE prc_order_bill ADD INDEX idx_bill_ar_status (customer_id, currency, ar_bill_status, biz_date)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 4. 详情页批量关联费用时使用的排序索引。 -SET @has_detail_fee_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND INDEX_NAME = 'idx_ar_detail_fee_order' -); -SET @sql := IF(@has_detail_fee_index = 0, - 'ALTER TABLE ar_bill_detail_fee ADD INDEX idx_ar_detail_fee_order (detail_id, fee_no, detail_fee_id)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; diff --git a/bms-back/sql/ar/ar_bill_source_id_rename.sql b/bms-back/sql/ar/ar_bill_source_id_rename.sql deleted file mode 100644 index 7a0000cf..00000000 --- a/bms-back/sql/ar/ar_bill_source_id_rename.sql +++ /dev/null @@ -1,95 +0,0 @@ --- 应收账单来源ID字段命名迁移 --- --- 将历史字段名迁移为与当前来源表一致的名称: --- ar_bill_detail.prc_bill_id -> prc_order_bill_id --- ar_bill_detail_fee.prc_fee_id -> prc_income_bill_fee_id --- 脚本可重复执行,已完成迁移的字段和索引会自动跳过。 -SET NAMES utf8mb4; -SET @db_name := DATABASE(); - --- 1. 应收账单订单明细:来源计费订单ID。 -SET @has_old_detail_column := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail' - AND COLUMN_NAME = 'prc_bill_id' -); -SET @has_new_detail_column := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail' - AND COLUMN_NAME = 'prc_order_bill_id' -); -SET @sql := IF(@has_old_detail_column > 0 AND @has_new_detail_column = 0, - 'ALTER TABLE ar_bill_detail CHANGE COLUMN prc_bill_id prc_order_bill_id VARCHAR(36) NOT NULL COMMENT ''来源计费订单ID,对应 prc_order_bill.bill_id''', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 应收账单费用明细:来源收入费用ID。 -SET @has_old_fee_column := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND COLUMN_NAME = 'prc_fee_id' -); -SET @has_new_fee_column := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND COLUMN_NAME = 'prc_income_bill_fee_id' -); -SET @sql := IF(@has_old_fee_column > 0 AND @has_new_fee_column = 0, - 'ALTER TABLE ar_bill_detail_fee CHANGE COLUMN prc_fee_id prc_income_bill_fee_id VARCHAR(36) NOT NULL COMMENT ''来源收入费用ID,对应 prc_income_bill_fee.fee_id''', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 费用明细索引同步改名,避免数据库中继续保留旧字段命名。 -SET @has_old_fee_unique := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND INDEX_NAME = 'uk_ar_detail_prc_fee' -); -SET @has_new_fee_unique := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND INDEX_NAME = 'uk_ar_detail_prc_income_fee' -); -SET @sql := IF(@has_old_fee_unique > 0 AND @has_new_fee_unique = 0, - 'ALTER TABLE ar_bill_detail_fee RENAME INDEX uk_ar_detail_prc_fee TO uk_ar_detail_prc_income_fee', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SET @has_old_fee_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND INDEX_NAME = 'idx_ar_detail_prc_fee' -); -SET @has_new_fee_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail_fee' - AND INDEX_NAME = 'idx_ar_detail_prc_income_fee' -); -SET @sql := IF(@has_old_fee_index > 0 AND @has_new_fee_index = 0, - 'ALTER TABLE ar_bill_detail_fee RENAME INDEX idx_ar_detail_prc_fee TO idx_ar_detail_prc_income_fee', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; diff --git a/bms-back/sql/ar/ar_bill_transfer_no_migration.sql b/bms-back/sql/ar/ar_bill_transfer_no_migration.sql deleted file mode 100644 index 85ea28fa..00000000 --- a/bms-back/sql/ar/ar_bill_transfer_no_migration.sql +++ /dev/null @@ -1,49 +0,0 @@ --- 应收账单转单号快照迁移 --- 适用于已经执行过 ar/ar_bill.sql 的存量数据库。 --- 本脚本可重复执行,不删除账单明细,不覆盖已经存在的转单号快照。 -SET NAMES utf8mb4; -SET @db_name := DATABASE(); - --- 1. 账单明细保存生成账单时的转单号快照。 -SET @has_transfer_no := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail' - AND COLUMN_NAME = 'transfer_no' -); -SET @sql := IF(@has_transfer_no = 0, - 'ALTER TABLE ar_bill_detail ADD COLUMN transfer_no VARCHAR(64) DEFAULT NULL COMMENT ''转单号快照'' AFTER tracking_no', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 详情按账单查询转单号时使用组合索引。 -SET @has_transfer_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'ar_bill_detail' - AND INDEX_NAME = 'idx_ar_bill_detail_bill_transfer_no' -); -SET @sql := IF(@has_transfer_index = 0, - 'ALTER TABLE ar_bill_detail ADD KEY idx_ar_bill_detail_bill_transfer_no (ar_bill_id, transfer_no)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 历史数据尽力回填,仅填充空值,不覆盖账单生成时已经保存的快照。 --- 如果来源订单后续修改过转单号,回填值仅代表当前来源表值,不能视为严格历史值。 -UPDATE ar_bill_detail d -JOIN prc_order_bill p ON p.bill_id = d.prc_order_bill_id -SET d.transfer_no = p.transfer_no -WHERE d.transfer_no IS NULL - AND p.transfer_no IS NOT NULL; - --- 4. 执行后核验字段和回填数量。 -SELECT - COUNT(*) AS detail_count, - SUM(CASE WHEN transfer_no IS NOT NULL AND TRIM(transfer_no) <> '' THEN 1 ELSE 0 END) AS transfer_no_count -FROM ar_bill_detail; diff --git a/bms-back/sql/ar/ar_export_template_restore.sql b/bms-back/sql/ar/ar_export_template_restore.sql deleted file mode 100644 index f352c70e..00000000 --- a/bms-back/sql/ar/ar_export_template_restore.sql +++ /dev/null @@ -1,99 +0,0 @@ --- ================================================================ --- BMS 应收账单导出模板恢复脚本 --- --- 用途:恢复应收账单导出功能使用的内置默认模板配置。 --- 特点: --- 1. 可重复执行,不删除现有模板数据。 --- 2. 模板表不存在时自动创建;模板记录已存在时不会重复插入。 --- 3. storage_key 必须与后端 resources 下的模板路径一致。 --- ================================================================ - -SET NAMES utf8mb4; - --- 1. 创建导出模板表(表已存在时不会重复创建) -CREATE TABLE IF NOT EXISTS ar_export_template ( - template_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '导出模板ID', - template_code VARCHAR(50) NOT NULL COMMENT '模板编码,例如 AR_CUSTOMER_BILL', - template_name VARCHAR(100) NOT NULL COMMENT '模板名称', - business_type VARCHAR(50) NOT NULL COMMENT '业务类型,例如 AR_BILL', - template_version VARCHAR(50) NOT NULL COMMENT '模板版本,已启用版本不可覆盖', - storage_type VARCHAR(20) NOT NULL DEFAULT 'CLASSPATH' COMMENT '存储类型:CLASSPATH=应用内置资源,FILE=服务器文件,OSS=对象存储,MINIO=MinIO对象存储', - storage_key VARCHAR(500) NOT NULL COMMENT '模板文件存储Key或classpath资源路径', - file_hash VARCHAR(128) DEFAULT NULL COMMENT '模板文件SHA-256校验值', - status VARCHAR(20) NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED=启用,DISABLED=停用', - is_default CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否默认模板:1是0否', - effective_start DATE DEFAULT NULL COMMENT '生效开始日期', - effective_end DATE DEFAULT NULL COMMENT '生效结束日期', - remark VARCHAR(500) DEFAULT NULL COMMENT '备注', - create_by VARCHAR(64) NOT NULL COMMENT '创建人', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (template_id), - UNIQUE KEY uk_ar_export_template_code_version (business_type, template_code, template_version), - KEY idx_ar_export_template_default (business_type, status, is_default, effective_start, effective_end) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单导出模板管理'; - --- 2. 恢复系统内置的应收账单默认模板 --- 模板文件位置: --- bms-back/ruoyi-system/src/main/resources/templates/ar/ar_bill_template.xlsx -INSERT INTO ar_export_template ( - template_code, - template_name, - business_type, - template_version, - storage_type, - storage_key, - file_hash, - status, - is_default, - effective_start, - effective_end, - remark, - create_by, - create_time, - update_by, - update_time -) -SELECT - 'AR_CUSTOMER_BILL', - '应收账单默认模板', - 'AR_BILL', - '1.0', - 'CLASSPATH', - 'templates/ar/ar_bill_template.xlsx', - '735002ac3561e0579b724c0612a2c5ce2d6725bc7fd39c450b0aeff70911a45e', - 'ENABLED', - '1', - NULL, - NULL, - '系统内置默认模板', - 'system', - NOW(), - 'system', - NOW() -FROM DUAL -WHERE NOT EXISTS ( - SELECT 1 - FROM ar_export_template - WHERE business_type = 'AR_BILL' - AND template_code = 'AR_CUSTOMER_BILL' - AND template_version = '1.0' -); - --- 3. 执行后核验:应返回 1 条启用的默认模板记录 -SELECT - template_id, - template_code, - template_name, - business_type, - template_version, - storage_type, - storage_key, - status, - is_default, - file_hash -FROM ar_export_template -WHERE business_type = 'AR_BILL' - AND template_code = 'AR_CUSTOMER_BILL' - AND template_version = '1.0'; diff --git a/bms-back/sql/ar/ar_menu.sql b/bms-back/sql/ar/ar_menu.sql deleted file mode 100644 index 9d75e51f..00000000 --- a/bms-back/sql/ar/ar_menu.sql +++ /dev/null @@ -1,41 +0,0 @@ --- 应收账单菜单和权限 -SET NAMES utf8mb4; - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2400, N'应收管理', 0, 10, 'ar', NULL, '', '', 1, 0, 'M', '0', '0', '', 'money', 'admin', sysdate(), N'应收账单、余额核销与日志' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2400); - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2401, N'应收账单', 2400, 1, 'bill', 'ar/bill/index', 'ArBill', 1, 0, 'C', '0', '0', 'ar:bill:list', 'list', 'admin', sysdate(), N'正式应收账单' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2401); -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2402, N'账单查询', 2401, 1, '', NULL, 1, 0, 'F', '0', '0', 'ar:bill:query', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2402); -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2403, N'生成账单', 2401, 2, '', NULL, 1, 0, 'F', '0', '0', 'ar:bill:generate', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2403); -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2404, N'确认账单', 2401, 3, '', NULL, 1, 0, 'F', '0', '0', 'ar:bill:confirm', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2404); -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2405, N'作废账单', 2401, 4, '', NULL, 1, 0, 'F', '0', '0', 'ar:bill:void', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2405); -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2406, N'导出账单', 2401, 5, '', NULL, 1, 0, 'F', '0', '0', 'ar:bill:export', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2406); - -INSERT INTO sys_menu ( - menu_id, menu_name, parent_id, order_num, path, component, - is_frame, is_cache, menu_type, visible, status, perms, icon, - create_by, create_time -) -SELECT - 2420, N'应收日志', 2400, 3, 'log', 'ar/bill/log', - 1, 0, 'C', '0', '0', 'ar:log:list', 'log', - 'admin', sysdate() -FROM DUAL -WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2420); - -INSERT INTO sys_role_menu (role_id, menu_id) -SELECT 1, m.menu_id FROM (SELECT 2400 AS menu_id UNION SELECT 2401 UNION SELECT 2402 UNION SELECT 2403 UNION SELECT 2404 UNION SELECT 2405 UNION SELECT 2406 UNION SELECT 2420) m -WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id); diff --git a/bms-back/sql/ar/ar_order_fee_bill_status_migration.sql b/bms-back/sql/ar/ar_order_fee_bill_status_migration.sql deleted file mode 100644 index 93695b9d..00000000 --- a/bms-back/sql/ar/ar_order_fee_bill_status_migration.sql +++ /dev/null @@ -1,124 +0,0 @@ --- 应收账单来源费用状态迁移(统一脚本) --- --- 目标: --- 1. prc_order_bill.ar_bill_status:UNBILLED 未出账、PARTIAL 部分出账、BILLED 已出账; --- 2. prc_income_bill_fee.ar_bill_status:UNBILLED 未生成、BILLED 已生成; --- 3. 按现有有效应收账单关联回填费用状态,再由费用状态汇总回填订单状态。 --- --- 脚本可重复执行。执行前请备份数据库,并确认 ar_bill_detail_fee.prc_income_bill_fee_id --- 已经正确保存来源费用 ID。 -SET NAMES utf8mb4; -SET @db_name := DATABASE(); - --- 1. 来源计费订单状态字段及索引 -SET @has_order_status := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND COLUMN_NAME = 'ar_bill_status' -); -SET @sql := IF(@has_order_status = 0, - 'ALTER TABLE prc_order_bill ADD COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT ''UNBILLED'' COMMENT ''应收账单状态:UNBILLED未出账/PARTIAL部分出账/BILLED已出账'' AFTER currency', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -ALTER TABLE prc_order_bill - MODIFY COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT 'UNBILLED' - COMMENT '应收账单状态:UNBILLED未出账/PARTIAL部分出账/BILLED已出账'; - -SET @has_order_status_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND INDEX_NAME = 'idx_bill_ar_status' -); -SET @sql := IF(@has_order_status_index = 0, - 'ALTER TABLE prc_order_bill ADD KEY idx_bill_ar_status (customer_id, currency, ar_bill_status, biz_date)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 2. 来源费用状态字段及索引(兼容同事已提前加列的数据库) -SET @has_fee_status := ( - SELECT COUNT(*) - FROM information_schema.COLUMNS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_income_bill_fee' - AND COLUMN_NAME = 'ar_bill_status' -); -SET @sql := IF(@has_fee_status = 0, - 'ALTER TABLE prc_income_bill_fee ADD COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT ''UNBILLED'' COMMENT ''是否生成账单状态:UNBILLED未生成/BILLED已生成'' AFTER remark', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -ALTER TABLE prc_income_bill_fee - MODIFY COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT 'UNBILLED' - COMMENT '是否生成账单状态:UNBILLED未生成/BILLED已生成'; - -SET @has_fee_status_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_income_bill_fee' - AND INDEX_NAME = 'idx_income_fee_ar_status' -); -SET @sql := IF(@has_fee_status_index = 0, - 'ALTER TABLE prc_income_bill_fee ADD KEY idx_income_fee_ar_status (ar_bill_status)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SET @has_fee_bill_status_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_income_bill_fee' - AND INDEX_NAME = 'idx_income_fee_bill_ar_status' -); -SET @sql := IF(@has_fee_bill_status_index = 0, - 'ALTER TABLE prc_income_bill_fee ADD KEY idx_income_fee_bill_ar_status (bill_id, ar_bill_status)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- 3. 根据有效应收账单关联回填费用状态。 --- 作废账单不再占用来源费用;同一费用只要仍关联一张有效账单,就保持 BILLED。 -UPDATE prc_income_bill_fee f -LEFT JOIN ( - SELECT DISTINCT df.prc_income_bill_fee_id AS fee_id - FROM ar_bill_detail_fee df - INNER JOIN ar_bill_detail d ON d.detail_id = df.detail_id - INNER JOIN ar_bill b ON b.ar_bill_id = d.ar_bill_id - WHERE b.status <> 'VOID' -) active_fee ON active_fee.fee_id = f.fee_id -SET f.ar_bill_status = CASE - WHEN active_fee.fee_id IS NOT NULL THEN 'BILLED' - ELSE 'UNBILLED' -END; - --- 4. 根据费用状态回填订单状态。 -UPDATE prc_order_bill o -LEFT JOIN ( - SELECT bill_id, - COUNT(*) AS fee_count, - SUM(CASE WHEN ar_bill_status = 'BILLED' THEN 1 ELSE 0 END) AS billed_count, - SUM(CASE WHEN ar_bill_status = 'UNBILLED' THEN 1 ELSE 0 END) AS unbilled_count - FROM prc_income_bill_fee - GROUP BY bill_id -) fee_summary ON fee_summary.bill_id = o.bill_id -SET o.ar_bill_status = CASE - WHEN fee_summary.bill_id IS NULL THEN 'UNBILLED' - WHEN fee_summary.unbilled_count > 0 AND fee_summary.billed_count > 0 THEN 'PARTIAL' - WHEN fee_summary.unbilled_count > 0 THEN 'UNBILLED' - WHEN fee_summary.billed_count = fee_summary.fee_count THEN 'BILLED' - ELSE 'UNBILLED' -END; diff --git a/bms-back/sql/ar/ar_receipt_module_remove.sql b/bms-back/sql/ar/ar_receipt_module_remove.sql deleted file mode 100644 index d0a93a9b..00000000 --- a/bms-back/sql/ar/ar_receipt_module_remove.sql +++ /dev/null @@ -1,16 +0,0 @@ --- 应收收款独立模块下线 --- 业务闭环改为:客户收款登记/审核 -> 客户余额 -> 余额核销账单。 --- 本脚本会永久删除 ar_receipt、ar_receipt_writeoff 及其历史数据,执行前请确认已完成备份。 - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- 先删除子表,再删除收款主表 -DROP TABLE IF EXISTS ar_receipt_writeoff; -DROP TABLE IF EXISTS ar_receipt; - --- 删除应收管理下独立“应收收款”菜单及按钮权限 -DELETE FROM sys_role_menu WHERE menu_id IN (2410, 2411, 2412, 2413, 2414); -DELETE FROM sys_menu WHERE menu_id IN (2410, 2411, 2412, 2413, 2414); - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/bms-back/sql/ar/ar_status_enum_comment_migration.sql b/bms-back/sql/ar/ar_status_enum_comment_migration.sql deleted file mode 100644 index fff85ef1..00000000 --- a/bms-back/sql/ar/ar_status_enum_comment_migration.sql +++ /dev/null @@ -1,30 +0,0 @@ --- ===================================================================== --- 应收模块枚举中文说明迁移 --- --- 目的:为数据库中的状态/日志枚举补充中文业务含义,方便运维和数据排查。 --- 说明:本脚本只修改字段 COMMENT,不修改字段类型、历史数据、索引或业务状态值。 --- ALTER TABLE ... MODIFY COLUMN 可重复执行;已执行过旧注释脚本的环境也可直接执行。 --- ===================================================================== -SET NAMES utf8mb4; - -ALTER TABLE ar_balance_writeoff - MODIFY COLUMN status VARCHAR(30) NOT NULL - COMMENT '状态:EFFECTIVE=有效(已扣减客户余额),CANCELLED=已反核销(已回补客户余额)'; - -ALTER TABLE ar_bill - MODIFY COLUMN status VARCHAR(30) NOT NULL - COMMENT '状态:DRAFT=草稿,CONFIRMED=已确认,PARTIAL_WRITTEN_OFF=部分核销,WRITTEN_OFF=已核销,VOID=已作废'; - -ALTER TABLE ar_bill_export - MODIFY COLUMN export_status VARCHAR(30) NOT NULL - COMMENT '导出状态:PROCESSING=生成中,SUCCESS=成功(可下载),FAILED=失败'; - -ALTER TABLE ar_bill_log - MODIFY COLUMN object_type VARCHAR(40) NOT NULL - COMMENT '对象类型:BILL=应收账单,EXPORT=账单导出,BALANCE_WRITEOFF=余额核销;历史值可能包含已下线模块类型', - MODIFY COLUMN operation_type VARCHAR(40) NOT NULL - COMMENT '操作类型:CREATE=生成账单,GENERATE=生成校验,CONFIRM=确认账单,VOID=作废账单,EXPORT=导出账单,BALANCE_WRITEOFF=余额核销,CANCEL_BALANCE_WRITEOFF=取消余额核销', - MODIFY COLUMN operation_source VARCHAR(30) NOT NULL - COMMENT '操作来源:WEB=网页端,API=接口,JOB=定时任务,IMPORT=数据导入', - MODIFY COLUMN result VARCHAR(20) NOT NULL - COMMENT '执行结果:SUCCESS=成功,FAILED=失败'; diff --git a/bms-back/sql/bms_init.sql b/bms-back/sql/bms_init.sql new file mode 100644 index 00000000..9a269f49 --- /dev/null +++ b/bms-back/sql/bms_init.sql @@ -0,0 +1,2208 @@ +-- ============================================================ +-- BMS 全量表结构导出(no-data) +-- 来源:47.106.220.100:3307/bms +-- 生成时间:见文件提交时间 +-- 说明:仅建表结构,不含数据;导入前请先建库 bms(utf8mb4) +-- ============================================================ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- 表结构:`ar_balance_writeoff` +-- ---------------------------- +CREATE TABLE `ar_balance_writeoff` ( + `writeoff_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '余额核销ID', + `writeoff_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '核销单号(BWO开头)', + `ar_bill_id` bigint(20) NOT NULL COMMENT '应收账单ID', + `bill_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账单号快照', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `account_id` bigint(20) DEFAULT NULL COMMENT '客户账户ID', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `writeoff_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '本次核销金额', + `balance_flow_id` bigint(20) DEFAULT NULL COMMENT '核销扣余额流水ID', + `reverse_flow_id` bigint(20) DEFAULT NULL COMMENT '反核销回补流水ID', + `writeoff_date` date NOT NULL COMMENT '核销日期', + `status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '状态:EFFECTIVE=有效(已扣减客户余额),CANCELLED=已反核销(已回补客户余额)', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '核销备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `cancel_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '反核销人', + `cancel_time` datetime DEFAULT NULL COMMENT '反核销时间', + `cancel_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '反核销原因', + PRIMARY KEY (`writeoff_id`), + UNIQUE KEY `uk_ar_balance_writeoff_no` (`writeoff_no`), + KEY `idx_abw_bill` (`ar_bill_id`,`status`), + KEY `idx_abw_customer` (`customer_id`,`status`), + KEY `idx_abw_account` (`account_id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单余额核销表'; + +-- ---------------------------- +-- 表结构:`ar_bank_account` +-- ---------------------------- +CREATE TABLE `ar_bank_account` ( + `bank_account_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '收款账户ID', + `account_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '开户名', + `account_no` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '银行账号,应用层脱敏展示', + `bank_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '开户行', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `is_default` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否默认账户,1是0否', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '状态,0正常1停用', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'admin' COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`bank_account_id`), + UNIQUE KEY `uk_ar_bank_account_no_currency` (`account_no`,`currency`), + KEY `idx_ar_bank_account_currency` (`currency`,`status`,`is_default`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='公司收款账户配置'; + +-- ---------------------------- +-- 表结构:`ar_bill` +-- ---------------------------- +CREATE TABLE `ar_bill` ( + `ar_bill_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '应收账单ID', + `bill_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账单号', + `bill_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账单名称(生成时必填)', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `customer_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户编码快照', + `customer_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户名称快照', + `bill_period_start` date NOT NULL COMMENT '账期开始日(系统取所选订单最早业务日期)', + `bill_period_end` date NOT NULL COMMENT '账单截止日(用户选择,筛选业务日期不晚于此日期的订单)', + `bill_date` date NOT NULL COMMENT '账单生成/出具日期', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `order_count` int(11) NOT NULL DEFAULT '0' COMMENT '订单数量', + `total_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '账单应收总额', + `written_off_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已核销金额缓存', + `unwritten_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '未核销金额缓存', + `status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '状态:DRAFT=草稿,CONFIRMED=已确认,PARTIAL_WRITTEN_OFF=部分核销,WRITTEN_OFF=已核销,VOID=已作废', + `generation_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'READY' COMMENT '生成状态:GENERATING=生成中,READY=可用,FAILED=生成失败', + `bill_version` int(11) NOT NULL DEFAULT '1' COMMENT '账单版本', + `bank_account_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收款账户名称快照', + `bank_account_no` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收款账号快照,应用层脱敏展示', + `bank_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '开户行快照', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注或作废原因', + `confirmed_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '确认人', + `confirmed_time` datetime DEFAULT NULL COMMENT '确认时间', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ar_bill_id`), + UNIQUE KEY `uk_ar_bill_no` (`bill_no`), + UNIQUE KEY `uk_ar_bill_customer_cutoff_version` (`customer_id`,`currency`,`bill_period_end`,`bill_version`), + KEY `idx_ar_bill_status` (`status`), + KEY `idx_ar_bill_bill_date` (`bill_date`,`ar_bill_id`), + KEY `idx_ar_bill_cutoff_date` (`bill_period_end`,`ar_bill_id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='正式应收账单主表'; + +-- ---------------------------- +-- 表结构:`ar_bill_detail` +-- ---------------------------- +CREATE TABLE `ar_bill_detail` ( + `detail_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '账单订单明细ID', + `ar_bill_id` bigint(20) NOT NULL COMMENT '应收账单ID', + `prc_order_bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '来源计费订单ID,对应 prc_order_bill.bill_id', + `detail_no` int(11) NOT NULL COMMENT '账单内顺序号', + `order_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '订单号快照', + `tracking_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '运单号快照', + `transfer_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '转单号快照', + `receive_time` datetime DEFAULT NULL COMMENT '收件或入库时间', + `product_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品代码快照', + `product_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品名称快照', + `goods_description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '货物描述快照', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目的国家二字码', + `country_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目的国家名称', + `dest_postcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目的邮编', + `actual_weight` decimal(12,3) DEFAULT NULL COMMENT '实际重量KG', + `volume_weight` decimal(12,3) DEFAULT NULL COMMENT '材积重量KG', + `charge_weight` decimal(12,3) DEFAULT NULL COMMENT '计费重量KG', + `pkg_length` decimal(10,2) DEFAULT NULL COMMENT '长度CM', + `pkg_width` decimal(10,2) DEFAULT NULL COMMENT '宽度CM', + `pkg_height` decimal(10,2) DEFAULT NULL COMMENT '高度CM', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '币种快照', + `total_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '订单费用合计', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '订单账单备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY (`detail_id`), + UNIQUE KEY `uk_ar_bill_detail_source` (`ar_bill_id`,`prc_order_bill_id`), + UNIQUE KEY `uk_ar_bill_detail_no` (`ar_bill_id`,`detail_no`), + KEY `idx_ar_bill_detail_source` (`prc_order_bill_id`), + KEY `idx_ar_bill_detail_bill_transfer_no` (`ar_bill_id`,`transfer_no`), + CONSTRAINT `fk_ar_bill_detail_bill` FOREIGN KEY (`ar_bill_id`) REFERENCES `ar_bill` (`ar_bill_id`) +) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单订单快照'; + +-- ---------------------------- +-- 表结构:`ar_bill_detail_fee` +-- ---------------------------- +CREATE TABLE `ar_bill_detail_fee` ( + `detail_fee_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '账单费用明细ID', + `detail_id` bigint(20) NOT NULL COMMENT '账单订单明细ID', + `prc_income_bill_fee_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '来源收入费用ID,对应 prc_income_bill_fee.fee_id', + `fee_no` int(11) NOT NULL COMMENT '订单内费用顺序号', + `fee_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用类型快照', + `fee_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '费用名称快照', + `sc_id` bigint(20) DEFAULT NULL COMMENT '附加费配置ID快照', + `quantity` decimal(12,3) DEFAULT NULL COMMENT '计费数量', + `unit` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计费单位', + `unit_price` decimal(15,4) DEFAULT NULL COMMENT '费用单价', + `amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '费用金额', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '币种', + `calculation_formula` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计算公式或说明', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '取舍规则', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '费用备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY (`detail_fee_id`), + UNIQUE KEY `uk_ar_detail_prc_income_fee` (`detail_id`,`prc_income_bill_fee_id`), + KEY `idx_ar_detail_fee_type` (`fee_type`), + KEY `idx_ar_detail_prc_income_fee` (`prc_income_bill_fee_id`), + KEY `idx_ar_detail_fee_order` (`detail_id`,`fee_no`,`detail_fee_id`), + CONSTRAINT `fk_ar_detail_fee_detail` FOREIGN KEY (`detail_id`) REFERENCES `ar_bill_detail` (`detail_id`) +) ENGINE=InnoDB AUTO_INCREMENT=151 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单费用快照'; + +-- ---------------------------- +-- 表结构:`ar_bill_export` +-- ---------------------------- +CREATE TABLE `ar_bill_export` ( + `export_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '导出ID', + `ar_bill_id` bigint(20) NOT NULL COMMENT '应收账单ID', + `file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '下载展示名称', + `file_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'XLSX/PDF', + `template_id` bigint(20) DEFAULT NULL COMMENT '提交导出任务时绑定的模板ID', + `template_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '导出模板标识', + `template_version` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '模板版本', + `template_storage_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绑定模板存储类型', + `template_storage_key` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绑定模板存储Key', + `template_hash` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '绑定模板SHA-256校验值', + `storage_key` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '对象存储或本地文件Key', + `file_size` bigint(20) DEFAULT NULL COMMENT '文件字节数', + `file_hash` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'SHA-256校验值', + `row_count` int(11) DEFAULT NULL COMMENT '导出订单行数', + `export_status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '导出状态:PROCESSING=生成中,SUCCESS=成功(可下载),FAILED=失败', + `export_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '导出人', + `export_time` datetime NOT NULL COMMENT '导出时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '失败原因或备注', + PRIMARY KEY (`export_id`), + KEY `idx_ar_bill_export_bill` (`ar_bill_id`,`export_time`), + KEY `idx_ar_bill_export_status` (`export_status`), + KEY `idx_ar_bill_export_template` (`template_id`), + CONSTRAINT `fk_ar_bill_export_bill` FOREIGN KEY (`ar_bill_id`) REFERENCES `ar_bill` (`ar_bill_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单导出文件元数据'; + +-- ---------------------------- +-- 表结构:`ar_bill_generate_task` +-- ---------------------------- +CREATE TABLE `ar_bill_generate_task` ( + `task_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '生成任务ID', + `task_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生成任务编号', + `ar_bill_id` bigint(20) NOT NULL COMMENT '应收账单ID', + `selection_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '选择模式:EXPLICIT=手动选择,ALL_MATCHED=全选查询结果', + `request_payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生成请求快照JSON', + `snapshot_create_time` datetime DEFAULT NULL COMMENT '来源订单创建时间快照', + `last_source_bill_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源订单游标', + `total_count` int(11) NOT NULL DEFAULT '-1' COMMENT '待处理订单数,-1表示尚未统计', + `processed_count` int(11) NOT NULL DEFAULT '0' COMMENT '已处理订单数', + `success_count` int(11) NOT NULL DEFAULT '0' COMMENT '成功订单数', + `total_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '当前生成金额', + `status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务状态:WAITING=待处理,RUNNING=生成中,SUCCESS=生成成功,FAILED=生成失败,CANCEL_REQUESTED=取消中,CANCELED=已取消', + `error_message` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '错误信息', + `request_token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '请求幂等标识', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `started_at` datetime DEFAULT NULL COMMENT '开始时间', + `heartbeat_time` datetime DEFAULT NULL COMMENT '最近心跳时间', + `finished_at` datetime DEFAULT NULL COMMENT '完成时间', + PRIMARY KEY (`task_id`), + UNIQUE KEY `uk_ar_bill_generate_task_no` (`task_no`), + UNIQUE KEY `uk_ar_bill_generate_request_token` (`request_token`), + KEY `idx_ar_bill_generate_status` (`status`,`create_time`), + KEY `idx_ar_bill_generate_creator` (`create_by`,`status`,`create_time`), + KEY `idx_ar_bill_generate_bill` (`ar_bill_id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单异步生成任务'; + +-- ---------------------------- +-- 表结构:`ar_bill_log` +-- ---------------------------- +CREATE TABLE `ar_bill_log` ( + `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', + `ar_bill_id` bigint(20) DEFAULT NULL COMMENT '账单ID', + `object_type` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '对象类型:BILL=应收账单,EXPORT=账单导出,BALANCE_WRITEOFF=余额核销;历史值可能包含已下线模块类型', + `object_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '通用对象ID', + `operation_type` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型:CREATE=生成账单,GENERATE=生成校验,CONFIRM=确认账单,VOID=作废账单,EXPORT=导出账单,BALANCE_WRITEOFF=余额核销,CANCEL_BALANCE_WRITEOFF=取消余额核销', + `operation_desc` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作说明', + `from_status` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '变更前状态', + `to_status` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '变更后状态', + `before_data` text COLLATE utf8mb4_unicode_ci COMMENT '变更前安全快照', + `after_data` text COLLATE utf8mb4_unicode_ci COMMENT '变更后安全快照', + `operator_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作人ID', + `operator_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作人名称', + `operation_source` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作来源:WEB=网页端,API=接口,JOB=定时任务,IMPORT=数据导入', + `request_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求幂等标识', + `trace_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '链路标识', + `result` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '执行结果:SUCCESS=成功,FAILED=失败', + `error_message` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '失败原因', + `client_ip` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源IP', + `create_time` datetime NOT NULL COMMENT '日志时间', + PRIMARY KEY (`log_id`), + KEY `idx_ar_bill_log_bill` (`ar_bill_id`,`create_time`), + KEY `idx_ar_bill_log_object` (`object_type`,`object_id`,`create_time`), + KEY `idx_ar_bill_log_request` (`request_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单操作日志'; + +-- ---------------------------- +-- 表结构:`ar_export_template` +-- ---------------------------- +CREATE TABLE `ar_export_template` ( + `template_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '导出模板ID', + `template_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码,例如 AR_CUSTOMER_BILL', + `template_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称', + `business_type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务类型,例如 AR_BILL', + `template_version` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板版本,已启用版本不可覆盖', + `storage_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CLASSPATH' COMMENT '存储类型:CLASSPATH=应用内置资源,FILE=服务器文件,OSS=对象存储,MINIO=MinIO对象存储', + `storage_key` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板文件存储Key或classpath资源路径', + `file_hash` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '模板文件SHA-256校验值', + `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ENABLED' COMMENT '状态:ENABLED=启用,DISABLED=停用', + `is_default` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否默认模板:1是0否', + `effective_start` date DEFAULT NULL COMMENT '生效开始日期', + `effective_end` date DEFAULT NULL COMMENT '生效结束日期', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`template_id`), + UNIQUE KEY `uk_ar_export_template_code_version` (`business_type`,`template_code`,`template_version`), + KEY `idx_ar_export_template_default` (`business_type`,`status`,`is_default`,`effective_start`,`effective_end`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单导出模板管理'; + +-- ---------------------------- +-- 表结构:`bms_product` +-- ---------------------------- +CREATE TABLE `bms_product` ( + `product_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '产品ID', + `product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品对接代码,如 WSP037', + `product_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品名称', + `service_level` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时效等级:标准等', + `cargo_attr` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '走货属性:普货/F普货/带电/敏感等', + `dest_region` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目的区域:欧盟等', + `update_note` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新内容说明', + `tax_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'TAX_INCLUDED' COMMENT 'TAX_INCLUDED包税 TAX_EXCLUDED不包税', + `effective_date` date DEFAULT NULL COMMENT '目录生效日期', + `expire_date` date DEFAULT NULL COMMENT '产品失效日期(空=长期;下一版生效日=本版失效日)', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0待生效 1已生效 2已失效', + `source_sheet` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '来源Excel sheet名', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `tms_id` int(11) DEFAULT NULL COMMENT '多租户ID', + `created_by` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_by` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`product_id`) USING BTREE, + UNIQUE KEY `uk_product_code_eff` (`product_code`,`effective_date`), + KEY `idx_tax_status` (`tax_mode`,`status`) USING BTREE, + KEY `idx_product_code` (`product_code`) +) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BMS产品主表-来自产品目录'; + +-- ---------------------------- +-- 表结构:`bms_product_country` +-- ---------------------------- +CREATE TABLE `bms_product_country` ( + `detail_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '明细ID', + `product_id` bigint(20) DEFAULT NULL COMMENT '产品ID(bms_product.product_id,绑定具体产品版本行)', + `product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品代码', + `country_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '国家中文名', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ISO2,可空待补齐', + `zone_id` bigint(20) DEFAULT NULL COMMENT 'prc_zone.zone_id', + `zone_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'zone code e.g. Z1', + `zone_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'zone display name', + `weight_min` decimal(10,3) DEFAULT NULL COMMENT '重量段最小值KG(含)', + `weight_max` decimal(10,3) DEFAULT NULL COMMENT '重量段最大值KG(含)', + `freight_price` decimal(10,4) DEFAULT NULL COMMENT '运费 RMB/KG', + `registration_fee` decimal(10,2) DEFAULT NULL COMMENT '挂号费 RMB/票', + `size_limit` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '尺寸限制', + `last_mile` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '尾程派送说明', + `lead_time` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '参考时效', + `effective_date` date DEFAULT NULL COMMENT '产品价表生效日期', + `expire_date` date DEFAULT NULL COMMENT 'expire date (null=open; set to next import effective_date)', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0待生效 1已生效 2已失效', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`detail_id`) USING BTREE, + UNIQUE KEY `uk_product_country_zone_weight_eff` (`product_code`,`country_name`,`zone_code`,`weight_min`,`weight_max`,`effective_date`), + KEY `idx_country_code` (`country_code`) USING BTREE, + KEY `idx_weight_match` (`product_code`,`country_code`,`weight_min`,`weight_max`) USING BTREE, + KEY `idx_product_eff` (`product_code`,`effective_date`,`expire_date`), + KEY `idx_product_country_pid` (`product_id`), + KEY `idx_product_country_zone` (`zone_id`), + KEY `idx_product_country_zone_code` (`country_code`,`zone_code`), + CONSTRAINT `fk_product_country_pid` FOREIGN KEY (`product_id`) REFERENCES `bms_product` (`product_id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1609 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品国家服务明细-重量段+尺寸/尾程/时效(不含运费)'; + +-- ---------------------------- +-- 表结构:`bms_region` +-- ---------------------------- +CREATE TABLE `bms_region` ( + `region_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '区域ID', + `country_name_cn` varchar(100) DEFAULT NULL COMMENT '中文名', + `country_name_en` varchar(100) NOT NULL COMMENT '英文名', + `country_code_2` varchar(2) NOT NULL COMMENT 'ISO两位码', + `country_code_3` varchar(3) DEFAULT NULL COMMENT 'ISO三位码', + `continent` varchar(50) DEFAULT NULL COMMENT '洲/大区', + `sub_region` varchar(50) DEFAULT NULL COMMENT '子区域', + `currency_code` varchar(10) DEFAULT NULL COMMENT '货币代码', + `currency_name` varchar(50) DEFAULT NULL COMMENT '货币名称', + `currency_symbol` varchar(10) DEFAULT NULL COMMENT '货币符号', + `phone_prefix` varchar(10) DEFAULT NULL COMMENT '电话前缀', + `flag_emoji` varchar(10) DEFAULT NULL COMMENT '国旗emoji', + `flag_url` varchar(500) DEFAULT NULL COMMENT '国旗图片URL', + `is_independent` char(1) NOT NULL DEFAULT '1' COMMENT '是否独立(1是 0否)', + `is_eu` char(1) NOT NULL DEFAULT '0' COMMENT '是否欧盟成员(1是 0否)', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0存在 2删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`region_id`), + UNIQUE KEY `idx_country_code_2` (`country_code_2`), + KEY `idx_country_name_cn` (`country_name_cn`), + KEY `idx_country_name_en` (`country_name_en`), + KEY `idx_continent` (`continent`) +) ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT CHARSET=utf8mb4 COMMENT='国家/区域表'; + +-- ---------------------------- +-- 表结构:`bms_region_sync_log` +-- ---------------------------- +CREATE TABLE `bms_region_sync_log` ( + `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', + `sync_type` varchar(20) NOT NULL DEFAULT 'ALL' COMMENT '同步类型(ALL全量)', + `status` varchar(20) NOT NULL DEFAULT 'PROCESSING' COMMENT '状态(PENDING/PROCESSING/SUCCESS/FAILED)', + `total_count` int(11) DEFAULT '0' COMMENT 'API返回总数', + `insert_count` int(11) DEFAULT '0' COMMENT '新增数', + `update_count` int(11) DEFAULT '0' COMMENT '更新数', + `fail_count` int(11) DEFAULT '0' COMMENT '失败数', + `duration_ms` bigint(20) DEFAULT '0' COMMENT '耗时(毫秒)', + `error_msg` text COMMENT '错误信息', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`log_id`), + KEY `idx_status` (`status`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='区域数据同步日志表'; + +-- ---------------------------- +-- 表结构:`ctr_customer` +-- ---------------------------- +CREATE TABLE `ctr_customer` ( + `customer_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '客户ID', + `customer_code` varchar(50) NOT NULL COMMENT '客户编码', + `customer_name` varchar(100) NOT NULL COMMENT '客户名称', + `customer_code_dw` varchar(50) DEFAULT '' COMMENT '对外代码', + `credit_code` varchar(18) DEFAULT '' COMMENT '统一社会信用代码', + `customer_type` char(1) DEFAULT '0' COMMENT '业务类型(0直客 1同行 2集运)', + `is_enable` char(1) DEFAULT '0' COMMENT '启用状态(0正常 1停用)', + `sales_user_id` varchar(64) DEFAULT '' COMMENT '业务员用户ID', + `sales_user` varchar(50) DEFAULT '' COMMENT '业务员姓名', + `ed` decimal(15,2) DEFAULT '0.00' COMMENT '资金额度(元)', + `zq` int(11) DEFAULT '0' COMMENT '回款账期(天)', + `settlement_user_id` varchar(64) DEFAULT '' COMMENT '结算员用户ID', + `settlement_user` varchar(50) DEFAULT '' COMMENT '结算员姓名', + `service_user_id` varchar(64) DEFAULT '' COMMENT '客服用户ID', + `service_user` varchar(50) DEFAULT '' COMMENT '客服姓名', + `settlement_type` char(1) DEFAULT '0' COMMENT '结算方式(0月结 1周结 2日结)', + `temp_ed` decimal(15,2) DEFAULT '0.00' COMMENT '临时额度(元)', + `account_balance` decimal(15,2) DEFAULT '0.00' COMMENT '账户余额(元)', + `foreign_currency_balance` decimal(15,2) DEFAULT '0.00' COMMENT '外币余额(元)', + `weight_threshold` decimal(15,2) DEFAULT '0.00' COMMENT '重量阈值(kg)', + `throw_ratio` decimal(15,2) DEFAULT '0.00' COMMENT '抛比(%)', + `credit_ed` decimal(15,2) DEFAULT '0.00' COMMENT '信用额度(元)', + `product_codes` varchar(1000) DEFAULT NULL COMMENT '绑定产品代码(多个产品代码用逗号分隔,对接旧库产品编码)', + `logo_oss_id` varchar(1000) DEFAULT NULL COMMENT '客户Logo(图片,关联sys_oss.oss_id)', + `attachment_ids` varchar(1000) DEFAULT NULL COMMENT '附件资料(多个oss_id用逗号分隔,支持PDF/图片/压缩包等)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`customer_id`) +) ENGINE=InnoDB AUTO_INCREMENT=287 DEFAULT CHARSET=utf8mb4 COMMENT='客户主表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_account` +-- ---------------------------- +CREATE TABLE `ctr_customer_account` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `currency` char(3) NOT NULL DEFAULT 'CNY' COMMENT '币种,如 CNY/USD', + `balance` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '账户余额', + `frozen_balance` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '冻结余额', + `total_credit` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '总额度', + `credit_effective_date` date DEFAULT NULL COMMENT '信用额度生效日期', + `credit_expire_date` date DEFAULT NULL COMMENT '信用额度失效日期(空=长期;到期次日清零)', + `extra_credit` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '额外额度', + `extra_effective_date` date DEFAULT NULL COMMENT '临时额度生效日期', + `extra_expire_date` date DEFAULT NULL COMMENT '临时额度失效日期', + `used_credit` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已用额度', + `tax` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '税金', + `version` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁版本号', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_customer_currency` (`customer_id`,`currency`) +) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COMMENT='客户余额表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_attachment` +-- ---------------------------- +CREATE TABLE `ctr_customer_attachment` ( + `attachment_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '附件ID', + `customer_id` bigint(20) NOT NULL COMMENT '所属客户ID', + `biz_type` varchar(32) DEFAULT NULL COMMENT '业务模块(customer客户档案 / customer_receipt客户收款水单)', + `file_name` varchar(255) NOT NULL COMMENT '文件原始名称', + `file_path` varchar(500) NOT NULL COMMENT '文件存储路径(相对路径或完整URL)', + `file_size` bigint(20) DEFAULT '0' COMMENT '文件大小(字节)', + `file_type` varchar(50) DEFAULT '' COMMENT '文件类型(如:image/png, application/pdf)', + `file_extension` varchar(10) DEFAULT '' COMMENT '文件扩展名(如:jpg, pdf, doc)', + `attachment_type` char(1) NOT NULL DEFAULT '0' COMMENT '附件类型(0附件资料 1合同文件 2其他 3客户余额附件)', + `biz_id` bigint(20) DEFAULT NULL COMMENT '关联业务ID(如收款单ID,attachment_type=3时使用)', + `is_logo` char(1) DEFAULT '0' COMMENT '是否Logo(0否 1是),便于快速定位Logo', + `sort_order` int(11) DEFAULT '0' COMMENT '排序(数字越小越靠前)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`attachment_id`,`attachment_type`) USING BTREE, + KEY `idx_biz_id` (`biz_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='客户附件表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_balance_flow` +-- ---------------------------- +CREATE TABLE `ctr_customer_balance_flow` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `flow_no` varchar(64) NOT NULL COMMENT '流水号', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `account_id` bigint(20) NOT NULL COMMENT '客户账户ID', + `currency` char(3) NOT NULL DEFAULT 'CNY' COMMENT '币种', + `exchange_rate` decimal(18,8) DEFAULT '1.00000000' COMMENT '对CNY汇率(1原币=?CNY,CNY为1)', + `base_amount` decimal(18,2) DEFAULT '0.00' COMMENT '本位币金额(CNY,变动额折算)', + `biz_type` varchar(32) NOT NULL COMMENT '业务类型:RECEIPT收款/BILL_PAY账单支付/REFUND退款/ADJUST手工调整/FREEZE冻结/UNFREEZE解冻', + `biz_id` bigint(20) DEFAULT NULL COMMENT '关联业务ID,如收款单ID、账单ID', + `biz_no` varchar(64) DEFAULT NULL COMMENT '关联业务单号', + `direction` tinyint(1) NOT NULL COMMENT '变动方向:1增加,-1减少', + `amount` decimal(18,2) NOT NULL COMMENT '变动金额', + `before_balance` decimal(18,2) NOT NULL COMMENT '变动前余额', + `after_balance` decimal(18,2) NOT NULL COMMENT '变动后余额', + `before_frozen_balance` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '变动前冻结余额', + `after_frozen_balance` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '变动后冻结余额', + `operator_id` bigint(20) DEFAULT NULL COMMENT '操作人', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_flow_no` (`flow_no`), + KEY `idx_customer_time` (`customer_id`,`create_time`), + KEY `idx_account_time` (`account_id`,`create_time`), + KEY `idx_biz` (`biz_type`,`biz_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7877 DEFAULT CHARSET=utf8mb4 COMMENT='余额流水表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_company` +-- ---------------------------- +CREATE TABLE `ctr_customer_company` ( + `company_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '公司主体ID', + `customer_id` bigint(20) NOT NULL COMMENT '所属客户ID', + `company_name_full` varchar(200) DEFAULT '' COMMENT '公司全称(与主表customer_name冗余,便于单独查询展示)', + `english_name` varchar(200) DEFAULT '' COMMENT '公司英文名称', + `credit_code` varchar(18) DEFAULT '' COMMENT '统一社会信用代码(与主表冗余,保持一致性)', + `legal_person` varchar(50) DEFAULT '' COMMENT '法定代表人', + `legal_person_phone` varchar(20) DEFAULT '' COMMENT '法定代表人电话', + `legal_person_id_card` varchar(18) DEFAULT '' COMMENT '法定代表人身份证号(加密存储)', + `registered_capital` decimal(15,2) DEFAULT '0.00' COMMENT '注册资本(万元)', + `capital_currency` varchar(20) DEFAULT '人民币' COMMENT '注册资本币种(人民币/美元/港币等)', + `paid_in_capital` decimal(15,2) DEFAULT '0.00' COMMENT '实收资本(万元)', + `establish_date` date DEFAULT NULL COMMENT '成立日期', + `business_term_start` date DEFAULT NULL COMMENT '营业期限起始日', + `business_term_end` date DEFAULT NULL COMMENT '营业期限终止日', + `business_term_permanent` char(1) DEFAULT '0' COMMENT '是否长期有效(0否 1是)', + `registration_authority` varchar(100) DEFAULT '' COMMENT '登记机关(工商局名称)', + `registration_number` varchar(50) DEFAULT '' COMMENT '注册号(旧版工商注册号)', + `operating_status` varchar(20) DEFAULT '' COMMENT '经营状态(字典:存续、在业、吊销、注销、迁入、迁出、停业、清算)', + `business_scope` text COMMENT '经营范围(可能很长,用text类型)', + `shareholders` text COMMENT '主要股东信息(JSON格式存储,或纯文本描述)', + `employee_count` int(11) DEFAULT '0' COMMENT '员工人数', + `company_phone` varchar(20) DEFAULT '' COMMENT '公司电话', + `company_fax` varchar(20) DEFAULT '' COMMENT '公司传真', + `company_website` varchar(100) DEFAULT '' COMMENT '公司网址', + `company_email` varchar(100) DEFAULT '' COMMENT '公司邮箱', + `registered_province` varchar(50) DEFAULT '' COMMENT '注册省份', + `registered_city` varchar(50) DEFAULT '' COMMENT '注册城市', + `registered_district` varchar(50) DEFAULT '' COMMENT '注册区县', + `registered_address_detail` varchar(200) DEFAULT '' COMMENT '注册详细地址', + `business_license_url` varchar(500) DEFAULT NULL COMMENT '营业执照图片URL(服务器本地存储,后续可切换对象存储)', + `attachment_ids` varchar(1000) DEFAULT NULL COMMENT '其他附件(如章程、验资报告等,多个oss_id逗号分隔)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`company_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户公司主体(工商信息)表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_contact` +-- ---------------------------- +CREATE TABLE `ctr_customer_contact` ( + `contact_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '联系人ID', + `customer_id` bigint(20) NOT NULL COMMENT '所属客户ID', + `contact_name` varchar(50) NOT NULL COMMENT '联系人姓名', + `position` varchar(50) DEFAULT '' COMMENT '职位(如:采购经理、财务总监、总经理)', + `department` varchar(50) DEFAULT '' COMMENT '所属部门(如:采购部、财务部)', + `phone` varchar(20) DEFAULT '' COMMENT '手机号', + `landline` varchar(20) DEFAULT '' COMMENT '座机(含区号)', + `email` varchar(100) DEFAULT '' COMMENT '电子邮箱', + `wechat` varchar(50) DEFAULT '' COMMENT '微信号', + `qq` varchar(20) DEFAULT '' COMMENT 'QQ号', + `country` varchar(50) DEFAULT '中国' COMMENT '国家/地区', + `province` varchar(50) DEFAULT '' COMMENT '省份', + `city` varchar(50) DEFAULT '' COMMENT '城市', + `district` varchar(50) DEFAULT '' COMMENT '区/县', + `contact_address` varchar(200) DEFAULT '' COMMENT '联系详细地址(街道、门牌号)', + `postal_code` varchar(10) DEFAULT '' COMMENT '邮政编码', + `is_default` char(1) DEFAULT '0' COMMENT '是否默认联系人(0否 1是)', + `contact_type` char(1) DEFAULT '0' COMMENT '联系人类型(0业务联系人 1财务联系人 2紧急联系人 3其他)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序(数字越小越靠前)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`contact_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户联系人表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_credit_apply` +-- ---------------------------- +CREATE TABLE `ctr_customer_credit_apply` ( + `apply_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '申请单ID', + `apply_no` varchar(64) NOT NULL COMMENT '申请单号(EDSQ前缀)', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `account_id` bigint(20) DEFAULT NULL COMMENT '客户账户ID(审批通过时回写)', + `credit_type` varchar(16) NOT NULL COMMENT '额度类型:CREDIT信用额度 TEMP临时额度(额外额度)', + `adjust_mode` varchar(8) NOT NULL COMMENT '调整方式:SET设置为 ADD增加 SUB减少', + `change_amount` decimal(18,2) NOT NULL COMMENT '调整金额(恒为正数,方式看adjust_mode)', + `effective_date` date DEFAULT NULL COMMENT '临时额度生效日期', + `expire_date` date DEFAULT NULL COMMENT '临时额度失效日期(空=长期)', + `reason` varchar(255) NOT NULL COMMENT '调整原因', + `status` varchar(16) NOT NULL DEFAULT 'PENDING' COMMENT '状态:PENDING待审批 APPROVED已通过 REJECTED已驳回 CANCELLED已撤销', + `apply_by` varchar(64) DEFAULT '' COMMENT '申请人', + `apply_user_id` bigint(20) DEFAULT NULL COMMENT '申请人ID', + `apply_time` datetime DEFAULT NULL COMMENT '申请时间', + `approve_by` varchar(64) DEFAULT '' COMMENT '审批人', + `approve_user_id` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `approve_role_id` bigint(20) DEFAULT NULL COMMENT '审批占用的额度池角色ID(NULL=超管审批不占池)', + `approve_time` datetime DEFAULT NULL COMMENT '审批时间', + `approve_remark` varchar(255) DEFAULT NULL COMMENT '审批意见/驳回原因', + `flow_id` bigint(20) DEFAULT NULL COMMENT '审批通过后生成的额度流水ID(customer_credit_flow.id)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)', + PRIMARY KEY (`apply_id`), + UNIQUE KEY `uk_apply_no` (`apply_no`), + KEY `idx_customer_status` (`customer_id`,`status`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COMMENT='客户额度调整申请审批表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_credit_flow` +-- ---------------------------- +CREATE TABLE `ctr_customer_credit_flow` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `flow_no` varchar(64) NOT NULL COMMENT '流水号', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `account_id` bigint(20) NOT NULL COMMENT '客户账户ID', + `credit_type` varchar(16) NOT NULL COMMENT '额度类型:CREDIT信用额度 TEMP临时额度', + `change_type` varchar(16) NOT NULL COMMENT '变动类型:INIT初始化 ADJUST调整 EXPIRE到期失效', + `biz_type` varchar(32) DEFAULT NULL COMMENT '业务来源类型:AR_BILL应收账单 ORDER计费订单(占用/释放流水)', + `biz_id` bigint(20) DEFAULT NULL COMMENT '关联业务单据ID', + `biz_no` varchar(64) DEFAULT NULL COMMENT '关联业务单据号', + `direction` tinyint(1) NOT NULL COMMENT '变动方向:1增加 -1减少 0持平', + `before_amount` decimal(18,2) NOT NULL COMMENT '变动前额度', + `change_amount` decimal(18,2) NOT NULL COMMENT '变动额度', + `after_amount` decimal(18,2) NOT NULL COMMENT '变动后额度', + `used_credit` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '变动时已用额度快照', + `effective_date` date DEFAULT NULL COMMENT '生效日期', + `expire_date` date DEFAULT NULL COMMENT '失效日期', + `reason` varchar(255) DEFAULT NULL COMMENT '调整原因', + `adjust_mode` varchar(8) DEFAULT NULL COMMENT '调整方式:SET设置为/ADD增加/SUB减少', + `operator_id` bigint(20) DEFAULT NULL COMMENT '操作人ID', + `role_id` bigint(20) DEFAULT NULL COMMENT '额度池角色ID(审批调整流水留痕;NULL=超管/系统)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_credit_flow_no` (`flow_no`), + KEY `idx_customer_time` (`customer_id`,`create_time`), + KEY `idx_credit_type` (`credit_type`) +) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COMMENT='客户额度流水表'; + +-- ---------------------------- +-- 表结构:`ctr_customer_credit_grant` +-- ---------------------------- +CREATE TABLE `ctr_customer_credit_grant` ( + `grant_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '台账ID', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `account_id` bigint(20) NOT NULL COMMENT '客户账户ID', + `role_id` bigint(20) DEFAULT NULL COMMENT '占用的额度池角色ID(NULL=超管/不占池)', + `approve_user_id` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `apply_id` bigint(20) DEFAULT NULL COMMENT '额度申请单ID', + `flow_id` bigint(20) DEFAULT NULL COMMENT '额度流水ID', + `credit_type` varchar(16) NOT NULL COMMENT '额度类型:CREDIT信用额度 TEMP临时额度', + `amount` decimal(18,2) NOT NULL COMMENT '原始占用池金额', + `remaining` decimal(18,2) NOT NULL COMMENT '仍占用池的待释放余额', + `effective_date` date DEFAULT NULL COMMENT '生效日期', + `expire_date` date DEFAULT NULL COMMENT '失效日期', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态:0占用中 1已释放', + `release_time` datetime DEFAULT NULL COMMENT '全部释放时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)', + PRIMARY KEY (`grant_id`), + KEY `idx_role_status` (`role_id`,`status`), + KEY `idx_customer_type_status` (`customer_id`,`credit_type`,`status`), + KEY `idx_apply` (`apply_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='客户授信额度分配台账(角色池占用明细)'; + +-- ---------------------------- +-- 表结构:`ctr_customer_receipt` +-- ---------------------------- +CREATE TABLE `ctr_customer_receipt` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', + `receipt_no` varchar(64) NOT NULL COMMENT '收款单号', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `account_id` bigint(20) DEFAULT NULL COMMENT '客户账户ID', + `receipt_type` varchar(32) NOT NULL DEFAULT 'PREPAY' COMMENT '收款类型:PREPAY预充值/REPAY还款核销/MIXED混合', + `amount` decimal(18,2) NOT NULL COMMENT '收款金额', + `allocated_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '已核销金额', + `unallocated_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '待核销金额', + `currency` char(3) NOT NULL DEFAULT 'CNY' COMMENT '币种,如 CNY/USD', + `exchange_rate` decimal(18,8) DEFAULT '1.00000000' COMMENT '对CNY汇率(1原币=?CNY,CNY为1)', + `rate_source` varchar(16) NOT NULL DEFAULT 'SYSTEM' COMMENT '汇率来源:RATE_TABLE汇率表/MANUAL手工修改/SYSTEM系统默认(本币1:1)', + `rate_source_desc` varchar(100) DEFAULT NULL COMMENT '汇率来源说明(汇率表来源及命中路径/手工录入等)', + `base_amount` decimal(18,2) DEFAULT '0.00' COMMENT '本位币金额(CNY,原币金额×汇率)', + `pay_method` varchar(32) DEFAULT NULL COMMENT '收款方式:BANK_TRANSFER/ALIPAY/WECHAT/CASH/OTHER', + `bank_account_id` bigint(20) DEFAULT NULL COMMENT '客户银行账户ID(ar_bank_account)', + `bank_account_name` varchar(100) DEFAULT NULL COMMENT '客户账户户名(登记时快照)', + `bank_account_no` varchar(128) DEFAULT NULL COMMENT '客户银行账号(登记时快照)', + `bank_name` varchar(100) DEFAULT NULL COMMENT '客户开户行名称(登记时快照)', + `bank_transaction_no` varchar(64) DEFAULT NULL COMMENT '银行流水号/支付平台流水号', + `received_at` datetime NOT NULL COMMENT '收款日期', + `status` varchar(16) NOT NULL DEFAULT 'PENDING' COMMENT '状态:PENDING待确认/CONFIRMED已确认/CANCELLED已取消', + `confirmed_at` datetime DEFAULT NULL COMMENT '确认时间', + `confirmed_by` bigint(20) DEFAULT NULL COMMENT '确认人', + `invoice_status` varchar(16) NOT NULL DEFAULT 'NONE' COMMENT '开票状态:NONE未开/PART部分/ALL全部', + `version` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁版本号', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `amount_cny` decimal(18,2) DEFAULT NULL COMMENT '收款转换人民币', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_receipt_no` (`receipt_no`), + KEY `idx_customer_time` (`customer_id`,`received_at`), + KEY `idx_account` (`account_id`), + KEY `idx_status` (`status`), + KEY `idx_bank_transaction_no` (`bank_transaction_no`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='客户收款表'; + +-- ---------------------------- +-- 表结构:`gen_table` +-- ---------------------------- +CREATE TABLE `gen_table` ( + `table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `tpl_web_type` varchar(30) DEFAULT '' COMMENT '前端模板类型(element-ui模版 element-plus模版)', + `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) DEFAULT NULL COMMENT '生成功能作者', + `form_col_num` int(11) DEFAULT '1' COMMENT '表单布局(单列 双列 三列)', + `gen_type` char(1) DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表'; + +-- ---------------------------- +-- 表结构:`gen_table_column` +-- ---------------------------- +CREATE TABLE `gen_table_column` ( + `column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` bigint(20) DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) DEFAULT '' COMMENT '字典类型', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表字段'; + +-- ---------------------------- +-- 表结构:`prc_billing_task` +-- ---------------------------- +CREATE TABLE `prc_billing_task` ( + `task_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `transfer_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '转单号', + `tracking_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '运单号', + `order_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '订单号', + `bill_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费类型:PENDING待计费 REBILL重计费 REFUND退费', + `success_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'WAITING' COMMENT '是否计费成功:WAITING待处理 SUCCESS成功 FAILED失败', + `bill_time` datetime DEFAULT NULL COMMENT '计费时间', + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计费订单ID prc_order_bill.bill_id', + `error_message` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '失败原因', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`task_id`), + KEY `idx_billing_task_transfer` (`transfer_no`), + KEY `idx_billing_task_tracking` (`tracking_no`), + KEY `idx_billing_task_order` (`order_no`), + KEY `idx_billing_task_status` (`success_status`,`create_time`), + KEY `idx_billing_task_type` (`bill_type`) +) ENGINE=InnoDB AUTO_INCREMENT=7885 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='计费任务表'; + +-- ---------------------------- +-- 表结构:`prc_customer_price_set` +-- ---------------------------- +CREATE TABLE `prc_customer_price_set` ( + `customer_priceset_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '客户价格套餐id', + `price_set_id` bigint(20) NOT NULL COMMENT '价格套餐id', + `customer_id` bigint(20) NOT NULL COMMENT '客户id', + `customer_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户代码', + `customer_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户名称(展示)', + `bind_priority` int(11) NOT NULL DEFAULT '1' COMMENT '优先级,数字越小越优先', + `pr_begindate` datetime NOT NULL COMMENT '价格开始生效日期', + `pr_enddate` datetime DEFAULT NULL COMMENT '价格失效日期(空=长期)', + `price_set_note` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`customer_priceset_id`), + UNIQUE KEY `uk_customer_one_set` (`customer_id`), + KEY `idx_customer_set` (`customer_id`,`pr_begindate`,`pr_enddate`), + KEY `idx_cps_set` (`price_set_id`), + CONSTRAINT `fk_customer_price_set` FOREIGN KEY (`price_set_id`) REFERENCES `prc_price_set` (`price_set_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='客户套餐表-客户某时间段内使用的套餐'; + +-- ---------------------------- +-- 表结构:`prc_income_bill` +-- ---------------------------- +CREATE TABLE `prc_income_bill` ( + `income_bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应收主表ID', + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id,一对一', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT 'CNY' COMMENT '币种', + `product_amount` decimal(18,4) DEFAULT NULL COMMENT '产品价合计', + `redline_amount` decimal(18,4) DEFAULT NULL COMMENT '红线价合计', + `sales_amount` decimal(18,4) DEFAULT NULL COMMENT '销售价合计(当前计费结果)', + `income_total` decimal(18,4) DEFAULT NULL COMMENT '应收合计(当前等于销售价)', + `belong_saler` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '业务员/销售员', + `belong_saler_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售员编码', + `settlement_man` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结算员', + `settlement_man_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结算员编码', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`income_bill_id`), + UNIQUE KEY `uk_income_bill_order_bill` (`bill_id`), + KEY `idx_income_bill_saler` (`belong_saler`), + KEY `idx_income_bill_settlement` (`settlement_man`), + CONSTRAINT `fk_income_bill_order_bill` FOREIGN KEY (`bill_id`) REFERENCES `prc_order_bill` (`bill_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收主表(订单计费与应收费用中间层,与订单一对一)'; + +-- ---------------------------- +-- 表结构:`prc_income_bill_fee` +-- ---------------------------- +CREATE TABLE `prc_income_bill_fee` ( + `fee_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用明细ID', + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费ID', + `income_bill_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '应收主表ID,对应 prc_income_bill.income_bill_id', + `fee_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用类型(字典bms_fee_type)', + `fee_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '费用名称', + `sc_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '附加费配置ID', + `amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '金额', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'HALF_UP' COMMENT '取值方式', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `ar_bill_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'UNBILLED' COMMENT '是否生成账单状态:UNBILLED未生成/BILLED已生成', + `manual_flag` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否手动增加:0否 1是', + `create_time` datetime DEFAULT NULL, + PRIMARY KEY (`fee_id`), + UNIQUE KEY `uk_bill_fee_item` (`bill_id`,`fee_type`,`sc_id`), + KEY `idx_bill_fee_type` (`fee_type`), + KEY `idx_income_fee_income_bill` (`income_bill_id`), + KEY `idx_income_fee_ar_status` (`ar_bill_status`), + KEY `idx_income_fee_bill_ar_status` (`bill_id`,`ar_bill_status`,`fee_id`), + CONSTRAINT `fk_income_bill_fee_order` FOREIGN KEY (`bill_id`) REFERENCES `prc_order_bill` (`bill_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收费用明细'; + +-- ---------------------------- +-- 表结构:`prc_order_bill` +-- ---------------------------- +CREATE TABLE `prc_order_bill` ( + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费ID', + `bill_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'MD5(order_no)', + `order_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '订单号', + `tracking_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '运单号', + `transfer_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '转单号', + `belong_saler` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '所属销售员', + `belong_saler_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售员编码', + `settlement_man` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结算员', + `settlement_man_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结算员编码', + `service_man` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客服员', + `customer_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '客户ID', + `customer_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户代码', + `customer_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户名称', + `pieces` int(11) DEFAULT NULL COMMENT '件数', + `actual_weight` decimal(10,3) DEFAULT NULL COMMENT '实际重量KG', + `volume` decimal(12,4) DEFAULT NULL COMMENT '体积m3', + `volume_weight` decimal(10,3) DEFAULT NULL COMMENT '材积重KG', + `pkg_length` decimal(10,2) DEFAULT NULL COMMENT '长CM', + `pkg_width` decimal(10,2) DEFAULT NULL COMMENT '宽CM', + `pkg_height` decimal(10,2) DEFAULT NULL COMMENT '高CM', + `shipper_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人', + `consignee_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件人', + `dest_postcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目的邮编', + `warehouse_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '仓库', + `order_time` datetime DEFAULT NULL COMMENT '下单时间', + `order_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '订单备注', + `product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品代码', + `product_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品名称', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家二字码', + `country_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家名称', + `weight` decimal(10,3) NOT NULL COMMENT '计费重量KG', + `biz_date` date NOT NULL COMMENT '计费日期', + `tms_id` bigint(20) DEFAULT NULL COMMENT '多租户系统ID', + `match_source` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '命中来源', + `match_message` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '命中说明', + `price_set_id` bigint(20) DEFAULT NULL COMMENT '价格套餐ID', + `price_set_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套餐编码', + `price_set_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套餐名称', + `set_type` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计价类型', + `bind_priority` int(11) DEFAULT NULL COMMENT '客户套餐优先级', + `customer_priceset_id` bigint(20) DEFAULT NULL COMMENT '客户套餐绑定ID', + `psv_id` bigint(20) DEFAULT NULL COMMENT '套餐版本ID,对应 prc_price_set_version.psv_id', + `psd_id` bigint(20) DEFAULT NULL COMMENT '套餐明细ID,对应 prc_price_set_detail.psd_id', + `product_country_id` bigint(20) DEFAULT NULL COMMENT '关联 bms_product_country.detail_id', + `weight_min` decimal(10,4) DEFAULT NULL COMMENT '重量段下限', + `weight_max` decimal(10,4) DEFAULT NULL COMMENT '重量段上限', + `weight_label` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '重量段展示', + `effective_date` date DEFAULT NULL COMMENT '产品明细生效日', + `charge_weight` decimal(10,3) DEFAULT NULL COMMENT '计费重量', + `freight_rate` decimal(10,4) DEFAULT NULL COMMENT '运费单价', + `base_freight_rate` decimal(10,4) DEFAULT NULL COMMENT '折扣前单价', + `discount_percent` decimal(5,2) DEFAULT NULL COMMENT '折扣百分数', + `registration_fee` decimal(10,2) DEFAULT NULL COMMENT '挂号费', + `freight_amount` decimal(10,2) DEFAULT NULL COMMENT '运费金额', + `surcharge_amount` decimal(10,2) DEFAULT NULL COMMENT '附加费合计', + `income_total` decimal(10,2) DEFAULT NULL COMMENT '应收总额', + `pay_total` decimal(10,2) DEFAULT NULL COMMENT '应付总额', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `ar_bill_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'UNBILLED' COMMENT '应收账单状态:UNBILLED未出账/PARTIAL部分出账/BILLED已出账', + `customer_active_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户生效状态:ACTIVE正常 MISSING不存在 DISABLED停用', + `credit_arrears_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '额度欠费状态:NORMAL正常 ARREARS欠费', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`bill_id`), + UNIQUE KEY `uk_bill_order` (`order_no`), + UNIQUE KEY `uk_bill_key` (`bill_key`), + KEY `idx_bill_customer` (`customer_code`,`biz_date`), + KEY `idx_bill_product` (`product_code`,`country_code`), + KEY `idx_bill_ar_status` (`customer_id`,`currency`,`ar_bill_status`,`biz_date`), + KEY `idx_bill_ar_async_cursor` (`customer_id`,`currency`,`ar_bill_status`,`create_time`,`bill_id`), + KEY `idx_order_bill_transfer_no` (`transfer_no`), + KEY `idx_order_bill_customer_active` (`customer_active_status`), + KEY `idx_order_bill_credit_arrears` (`credit_arrears_status`), + KEY `idx_order_bill_psv` (`psv_id`), + KEY `idx_order_bill_psd` (`psd_id`), + KEY `idx_ar_order_bill_status_scope` (`customer_id`,`currency`,`ar_bill_status`,`biz_date`,`bill_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单信息主表'; + +-- ---------------------------- +-- 表结构:`prc_order_bill_ext` +-- ---------------------------- +CREATE TABLE `prc_order_bill_ext` ( + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id', + `order_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '订单号', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `upstream_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'guid', + `line_no` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '线路', + `package_num` int(11) DEFAULT NULL COMMENT '包裹数量', + `actual_volume` decimal(10,3) DEFAULT NULL COMMENT '实际体积重', + `cp_type` tinyint(4) DEFAULT NULL COMMENT '线路产品类型 1全程 2干线 3尾程', + `consignee_mobile` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件人手机', + `order_returnsign` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '退回标志,默认N表示不退回,Y标表示退回。中邮可以忽略该属性', + `trade_type` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '交易类型,值为ZYXT', + `duty_type` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关税类型,值为DDU或DDP', + `battery_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '电池类型代码,联系货代提供', + `consignee_companyname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件公司名,如有最好填写', + `consignee_address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件地址街道,必填', + `consignee_telephone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件电话,必填', + `consignee_state` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '州/省', + `consignee_city` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '城市', + `consignee_suburb` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件区,选填', + `consignee_passportno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件护照号,选填', + `consignee_email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱,选填', + `consignee_taxno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件人税号', + `consignee_taxnotype` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件人税号类型', + `consignee_taxnocountry` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件人税号国家', + `consignee_streetno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '街道号', + `consignee_doorno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '门牌号', + `shipper_taxnotype` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '税号类型,邮政产品可选值:IOSS,NO - IOSS,OTHER;DHL可选值:SDT、VAT、FTZ、DAN、EOR、CNP、EIN等(类型说明参照文档底部“DHL发件人税号类型”)', + `shipper_taxno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人税号', + `shipper_taxnocountry` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人税号国家,用国家二字码', + `customer_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户ID,必填', + `product_imagepath` text COLLATE utf8mb4_unicode_ci COMMENT '图片地址,多图片地址用分号隔开', + `order_transactionurl` text COLLATE utf8mb4_unicode_ci COMMENT '产品销售地址', + `order_cargoamount` decimal(12,5) DEFAULT NULL COMMENT '选填;用于DHL/FEDEX运费;或用于白关申报(订单实际金额,特殊渠道使用);或其他用途', + `cargo_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '包裹类型,P代表包裹,D代表文件,B代表PAK袋', + `shipper_companyname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人公司名,选填', + `shipper_address1` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人地址1,选填', + `shipper_address2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人地址2,选填', + `shipper_address3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人地址3,选填', + `shipper_city` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人城市,选填', + `shipper_state` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人州,选填', + `shipper_postcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人邮编,选填', + `shipper_country` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人国家,选填', + `shipper_telephone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人电话,选填', + `shipper_suburb` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人区,选填', + `shipper_email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人邮箱,选填', + `shipper_passportno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人护照号,选填', + `import_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商代码', + `import_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商名称', + `import_companyname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商公司名称', + `import_address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商地址', + `import_address2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商地址2', + `import_address3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商地址3', + `import_telephone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商电话', + `import_email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商邮箱', + `import_postcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商邮编', + `import_city` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商城市', + `import_state` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商州省', + `import_country` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '进口商国家', + `buyerid` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '买家ID', + `order_status` tinyint(4) DEFAULT NULL COMMENT '0-预报订单 1:确认订单 2-已中转 3- 已收货 4-已装箱 5-已出库 6-转运中 7-已上网 8-已签收 9-已退件 10-已删除 已取消', + `create_at` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人', + `pay_type` tinyint(4) DEFAULT NULL COMMENT '付款方式 0-预付 1-到付', + `line_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '线路产品编号', + `line_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '线路产品名称', + `product_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品类型(全称产品/全称B2B/尾程产品)', + `line_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '物流模式(国际快递/邮政小包)', + `cargo_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '货物类型(普货/敏感/特货)', + `product_floor_code` text COLLATE utf8mb4_unicode_ci COMMENT '渠道编码', + `order_insurance` decimal(12,5) DEFAULT NULL COMMENT '保险金额', + `product_sum_price` decimal(12,5) DEFAULT NULL COMMENT '商品总价值', + `product_sum` decimal(18,6) DEFAULT NULL COMMENT '商品总件数', + `shipper_doorno` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发件人门牌号', + `tariff_payment_account` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关税支付账号', + `topayment` decimal(12,5) DEFAULT NULL COMMENT '代收货款', + `product_floor` text COLLATE utf8mb4_unicode_ci COMMENT '渠道名称', + `latest_trajectory` text COLLATE utf8mb4_unicode_ci COMMENT '订单轨迹', + `way_bill` text COLLATE utf8mb4_unicode_ci COMMENT '电子面单', + `pickup_date` datetime DEFAULT NULL COMMENT '收件时间', + `bl_baging` tinyint(4) DEFAULT NULL COMMENT '是否装箱 0 未装箱 1 已装箱', + `bl_pickup` tinyint(4) DEFAULT NULL COMMENT '是否收件 0 未收件 1 已收件', + `bag_date` datetime DEFAULT NULL COMMENT '装箱时间', + `org_order_status` tinyint(4) DEFAULT NULL COMMENT '渠道状态 0-未下单 1-获取中 2-获取成功 3-获取失败', + `status_description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '状态描述,对当前轨迹状态的详细说明', + `zz_date` datetime DEFAULT NULL COMMENT '中转时间', + `shipping_date` datetime DEFAULT NULL COMMENT '出货时间', + `order_type` decimal(18,6) DEFAULT NULL COMMENT '0-中性面单 1-尾程面单', + `receiving_photo` text COLLATE utf8mb4_unicode_ci COMMENT '收货照片', + `freight` decimal(10,3) DEFAULT NULL COMMENT '应收总运费', + `is_receivable` tinyint(4) DEFAULT NULL COMMENT '是否已经生成应收账单[0.未生成,1.已生成]', + `is_meet` tinyint(4) DEFAULT NULL COMMENT '是否已经生成应付账单[0.未生成,1.已生成]', + `bill_no_receivable` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '应收账单编号', + `bill_no_meet` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '应付账单编号', + `country_eingth_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收件人英文国家名称', + `is_receivable_fee` tinyint(4) DEFAULT NULL COMMENT '是否已计算应收费用0-未计算 1-已计算', + `settlement_fee` decimal(10,3) DEFAULT NULL COMMENT '应收运费', + `product_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '中转产品ID', + `service_freight` decimal(10,3) DEFAULT NULL COMMENT '服务商运费', + `is_pay_fee` tinyint(4) DEFAULT NULL COMMENT '是否已计算应付费用0-未计算 1-已计算', + `has_added_surcharge` tinyint(4) DEFAULT NULL COMMENT '是否已经添加过附加费 0未添加 1 已添加', + `yf_fee` decimal(10,3) DEFAULT NULL COMMENT '应付运费', + `yf_totail_fee` decimal(10,3) DEFAULT NULL COMMENT '应付总运费', + `trajectory_status` tinyint(4) DEFAULT NULL COMMENT '轨迹状态:1.已收货、2.查询失败、3.转运中、4.派送中、5.投递失败、6.退仓、7.异常、8.已签收', + `cargo_type_name` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '货物类型中文', + `service_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '所属服务商编号', + `three_code` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '三字码', + `volume_height_old` decimal(10,2) DEFAULT NULL COMMENT '高,单位 CM', + `volume_length_old` decimal(10,2) DEFAULT NULL COMMENT '长,单位 CM', + `volume_width_old` decimal(10,2) DEFAULT NULL COMMENT '宽,单位 CM', + `register_man_old` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收货人', + `bag_no_old` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '箱号', + `air_no_old` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '航空主单号', + `box_sizi_old` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '箱子规格', + `baging_man_old` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '装箱人', + `retrieval_man_old` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '出货人', + `invoice_amount_old` text COLLATE utf8mb4_unicode_ci COMMENT '申报总价值,必填', + `invoice_title_old` text COLLATE utf8mb4_unicode_ci COMMENT '英文品名,必填', + `invoice_weight_old` text COLLATE utf8mb4_unicode_ci COMMENT '单件重', + `sku_old` text COLLATE utf8mb4_unicode_ci COMMENT '中文品名', + `hs_code_old` text COLLATE utf8mb4_unicode_ci COMMENT '海关编码', + `register_date_old` datetime DEFAULT NULL COMMENT '收件时间', + `invoice_currency_old` text COLLATE utf8mb4_unicode_ci COMMENT '申报币种', + `trajectory_sub_state` tinyint(4) DEFAULT NULL COMMENT '轨迹子状态', + `sign_in_time` datetime DEFAULT NULL COMMENT '签收时间', + `warehouse_time` datetime DEFAULT NULL COMMENT '仓库操作完成,已安排出库时间', + `declaration_time` datetime DEFAULT NULL COMMENT '送仓报关时间', + `release_time` datetime DEFAULT NULL COMMENT '报关放行时间', + `station_time` datetime DEFAULT NULL COMMENT '货站收货时间', + `takeoff_time` datetime DEFAULT NULL COMMENT '航班起飞时间', + `landing_time` datetime DEFAULT NULL COMMENT '航班落地时间', + `clearance_and_delivery_time` datetime DEFAULT NULL COMMENT '已通知清关行提货时间', + `supplier_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生产销售供应商', + `credit_code` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '社会信用代码', + `other_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其他ID', + `platform_code` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '平台代码', + `sync_shipment_status` tinyint(4) DEFAULT NULL COMMENT '物流同步状态, 0:未同步, 1: 已同步', + `update_weight` decimal(10,3) DEFAULT NULL COMMENT '客户更新重量', + `other_bag_no` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其它箱号', + `bag_flag` tinyint(4) DEFAULT NULL COMMENT '装箱标记,1: 已装箱 0:未装箱', + `online_time` datetime DEFAULT NULL COMMENT '上网时间', + `outbound_time` datetime DEFAULT NULL COMMENT '出库时间', + `air_confirm_date` datetime DEFAULT NULL COMMENT '主单号确认时间', + `shipment_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '订单配送类型', + `track_query_time` datetime DEFAULT NULL COMMENT '轨迹抓取时间', + `air_confirm_time` datetime DEFAULT NULL COMMENT '航班已配载时间', + `package_type` tinyint(4) DEFAULT NULL COMMENT '0:软包;1:硬包', + `dimensional_weight_factor` decimal(10,3) DEFAULT NULL COMMENT '计费重', + `update_by` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人', + `customer_pickup_site` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '取货地点', + `barcode_number` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '面单条形码', + `tracking_reflect_status` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '轨迹映射状态', + `remote_postcode` tinyint(4) DEFAULT NULL COMMENT '是否偏远邮编', + `clearance_time` datetime DEFAULT NULL COMMENT 'CLEARANCE_TIME', + `arrive_stock_time` datetime DEFAULT NULL COMMENT 'ARRIVE_STOCK_TIME', + `departure_time` datetime DEFAULT NULL COMMENT 'DEPARTURE_TIME', + `first_deliver_time` datetime DEFAULT NULL COMMENT 'FIRST_DELIVER_TIME', + `hs_code_tax_count` decimal(10,2) DEFAULT NULL COMMENT 'HS_CODE_TAX_COUNT', + `hs_code_tax_amount` decimal(10,4) DEFAULT NULL COMMENT 'HS_CODE_TAX_AMOUNT', + `hs_code_tax_currency` varchar(8) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'HS_CODE_TAX_CURRENCY', + `invoice_url` text COLLATE utf8mb4_unicode_ci COMMENT 'INVOICE_URL', + `clearance_no` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'CLEARANCE_NO', + `push_weight` decimal(10,3) DEFAULT NULL COMMENT 'PUSH_WEIGHT', + `internal_check_time` datetime DEFAULT NULL COMMENT 'INTERNAL_CHECK_TIME', + `air_delay_time` datetime DEFAULT NULL COMMENT 'AIR_DELAY_TIME', + `first_landing_time` datetime DEFAULT NULL COMMENT 'FIRST_LANDING_TIME', + `second_takeoff_time` datetime DEFAULT NULL COMMENT 'SECOND_TAKEOFF_TIME', + `des_port_check_time` datetime DEFAULT NULL COMMENT 'DES_PORT_CHECK_TIME', + `stay_remark` text COLLATE utf8mb4_unicode_ci COMMENT 'STAY_REMARK', + `miss_box_remark` text COLLATE utf8mb4_unicode_ci COMMENT 'MISS_BOX_REMARK', + `product_channel_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'PRODUCT_CHANNEL_ID', + `customer_track_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'CUSTOMER_TRACK_ID', + `register_site` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'REGISTER_SITE', + `package_type_financial` tinyint(4) DEFAULT NULL COMMENT '财务包裹类型,软硬包', + `mrn` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'MRN', + PRIMARY KEY (`bill_id`), + UNIQUE KEY `uk_order_bill_ext_order` (`order_no`), + CONSTRAINT `fk_order_bill_ext_bill` FOREIGN KEY (`bill_id`) REFERENCES `prc_order_bill` (`bill_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单计费扩展表'; + +-- ---------------------------- +-- 表结构:`prc_pay_bill` +-- ---------------------------- +CREATE TABLE `prc_pay_bill` ( + `pay_bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '应付主表ID', + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id,一对一', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT 'CNY' COMMENT '币种', + `product_amount` decimal(18,4) DEFAULT NULL COMMENT '产品价合计', + `redline_amount` decimal(18,4) DEFAULT NULL COMMENT '红线价合计', + `cost_amount` decimal(18,4) DEFAULT NULL COMMENT '成本价合计(当前计费结果)', + `pay_total` decimal(18,4) DEFAULT NULL COMMENT '应付合计(当前等于成本价)', + `belong_saler` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '业务员/销售员', + `belong_saler_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售员编码', + `settlement_man` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结算员', + `settlement_man_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结算员编码', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`pay_bill_id`), + UNIQUE KEY `uk_pay_bill_order_bill` (`bill_id`), + KEY `idx_pay_bill_saler` (`belong_saler`), + KEY `idx_pay_bill_settlement` (`settlement_man`), + CONSTRAINT `fk_pay_bill_order_bill` FOREIGN KEY (`bill_id`) REFERENCES `prc_order_bill` (`bill_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应付主表(订单计费与应付费用中间层,与订单一对一)'; + +-- ---------------------------- +-- 表结构:`prc_pay_bill_fee` +-- ---------------------------- +CREATE TABLE `prc_pay_bill_fee` ( + `fee_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用明细ID', + `bill_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费ID', + `pay_bill_id` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '应付主表ID,对应 prc_pay_bill.pay_bill_id', + `fee_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用类型(字典bms_fee_type)', + `fee_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '费用名称', + `sc_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '附加费配置ID', + `amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '金额', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'HALF_UP' COMMENT '取值方式', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`fee_id`), + UNIQUE KEY `uk_pay_bill_fee_item` (`bill_id`,`fee_type`,`sc_id`), + KEY `idx_pay_bill_fee_type` (`fee_type`), + KEY `idx_pay_fee_pay_bill` (`pay_bill_id`), + CONSTRAINT `fk_pay_bill_fee_order` FOREIGN KEY (`bill_id`) REFERENCES `prc_order_bill` (`bill_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应付费用明细'; + +-- ---------------------------- +-- 表结构:`prc_price_set` +-- ---------------------------- +CREATE TABLE `prc_price_set` ( + `price_set_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '价格套餐id', + `price_set_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套餐编码 SET0001', + `price_set_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报价名称', + `price_set_note` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `set_type` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'FIXED' COMMENT '计价类型 FIXED=固定价 DISCOUNT=折扣', + `default_discount` decimal(5,2) DEFAULT NULL COMMENT '默认折扣百分数 1-99,仅 DISCOUNT', + `default_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '默认套餐 Y=默认', + `calculate_sign` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '试算标记 Y=外部试算套餐', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'D' COMMENT 'D草稿 A审核中 E生效 R驳回 S停用', + `tms_id` bigint(20) DEFAULT NULL COMMENT '多租户系统ID', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`price_set_id`), + UNIQUE KEY `uk_price_set_code` (`price_set_code`), + KEY `idx_ps_status` (`status`), + KEY `idx_ps_type` (`set_type`), + KEY `idx_ps_tms` (`tms_id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='价格方案表-报价基本资料'; + +-- ---------------------------- +-- 表结构:`prc_price_set_detail` +-- ---------------------------- +CREATE TABLE `prc_price_set_detail` ( + `psd_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '套餐明细id', + `price_set_id` bigint(20) NOT NULL COMMENT '价格套餐id', + `psv_id` bigint(20) DEFAULT NULL COMMENT '套餐版本id', + `product_code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品代码', + `product_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品名称', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家二字码', + `country_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家名称', + `zone_id` bigint(20) DEFAULT NULL COMMENT 'prc_zone.zone_id', + `zone_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'zone code e.g. Z1', + `zone_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'zone display name', + `zd_id` bigint(20) DEFAULT NULL COMMENT '收费区划id', + `wsd_id` bigint(20) DEFAULT NULL COMMENT '重量段明细id', + `weight_label` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '重量段展示', + `weight_min` decimal(10,3) DEFAULT NULL COMMENT '重量段最小值KG(含)', + `weight_max` decimal(10,3) DEFAULT NULL COMMENT '重量段最大值KG(含)', + `product_country_id` bigint(20) DEFAULT NULL COMMENT 'bms_product_country.detail_id', + `fv_value` decimal(10,4) DEFAULT NULL COMMENT '运费单价 RMB/KG', + `fv_registration_fee` decimal(10,2) DEFAULT NULL COMMENT '挂号费 RMB/票', + `discount_value` decimal(5,2) DEFAULT NULL COMMENT '明细折扣百分数,DISCOUNT 可覆盖默认', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT 'round mode (dict bms_round_mode)', + `pr_id` int(11) DEFAULT NULL COMMENT '关联价格规则id', + `effective_date` date DEFAULT NULL COMMENT '生效日期', + `expire_date` date DEFAULT NULL COMMENT '失效日期(空=长期)', + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`psd_id`), + KEY `idx_psd_set` (`price_set_id`), + KEY `idx_psd_product` (`price_set_id`,`product_code`,`country_code`), + KEY `idx_psd_product_country` (`product_country_id`), + KEY `idx_psd_zone` (`zone_id`), + KEY `idx_psd_country_zone` (`price_set_id`,`product_code`,`country_code`,`zone_code`), + KEY `idx_psd_psv` (`psv_id`), + KEY `idx_psd_weight_match` (`price_set_id`,`product_code`,`country_code`,`weight_min`,`weight_max`), + KEY `idx_psd_eff` (`price_set_id`,`effective_date`,`expire_date`), + CONSTRAINT `fk_psd_psv` FOREIGN KEY (`psv_id`) REFERENCES `prc_price_set_version` (`psv_id`) ON DELETE CASCADE, + CONSTRAINT `fk_psd_set` FOREIGN KEY (`price_set_id`) REFERENCES `prc_price_set` (`price_set_id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=4095 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='价格套餐明细-固定价/折扣范围'; + +-- ---------------------------- +-- 表结构:`prc_price_set_version` +-- ---------------------------- +CREATE TABLE `prc_price_set_version` ( + `psv_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '套餐版本id', + `price_set_id` bigint(20) NOT NULL COMMENT '价格套餐id', + `version_no` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '版本号 V1/V2,自动+1', + `version_seq` int(11) NOT NULL COMMENT '版本序号,用于自动+1', + `effective_time` datetime DEFAULT NULL COMMENT '生效时间', + `expire_time` datetime DEFAULT NULL COMMENT '失效时间(空=长期;下一版本启动时写入该启动时间)', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '0 draft 3 pending 1 effect 2 expired', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`psv_id`), + UNIQUE KEY `uk_psv_set_no` (`price_set_id`,`version_no`), + UNIQUE KEY `uk_psv_set_seq` (`price_set_id`,`version_seq`), + KEY `idx_psv_set_eff` (`price_set_id`,`effective_time`), + KEY `idx_psv_status` (`status`), + CONSTRAINT `fk_psv_set` FOREIGN KEY (`price_set_id`) REFERENCES `prc_price_set` (`price_set_id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='价格套餐版本'; + +-- ---------------------------- +-- 表结构:`prc_price_set_version_surcharge` +-- ---------------------------- +CREATE TABLE `prc_price_set_version_surcharge` ( + `psvs_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '版本附加费id', + `psv_id` bigint(20) NOT NULL COMMENT '套餐版本id', + `psd_id` bigint(20) NOT NULL COMMENT '套餐明细id', + `sc_id` bigint(20) DEFAULT NULL COMMENT '来源附加费配置id', + `product_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品代码(与明细一致)', + `sc_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '附加费名称快照', + `fee_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'SURCHARGE' COMMENT '费用类型(字典bms_fee_type)', + `charge_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费方式 FIXED固定金额/WEIGHT按重量/RATE按比例', + `charge_value` decimal(18,6) NOT NULL COMMENT '计费数值快照', + `currency` char(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式(字典bms_round_mode)', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '适用国家ISO2(空=全部)', + `sc_note` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`psvs_id`), + KEY `idx_psvs_psv` (`psv_id`), + KEY `idx_psvs_psd` (`psd_id`), + KEY `idx_psvs_product` (`psv_id`,`product_code`), + KEY `idx_psvs_sc` (`sc_id`), + CONSTRAINT `fk_psvs_psd` FOREIGN KEY (`psd_id`) REFERENCES `prc_price_set_detail` (`psd_id`) ON DELETE CASCADE, + CONSTRAINT `fk_psvs_psv` FOREIGN KEY (`psv_id`) REFERENCES `prc_price_set_version` (`psv_id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=487 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='价格套餐版本附加费快照'; + +-- ---------------------------- +-- 表结构:`prc_quote` +-- ---------------------------- +CREATE TABLE `prc_quote` ( + `quote_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `quote_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '试算指纹 MD5(客户|产品|国家|重量|计费日期)', + `customer_id` bigint(20) NOT NULL COMMENT '客户ID', + `customer_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'customer code', + `product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品代码', + `product_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品名称', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家二字码', + `country_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家名称', + `dest_postcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'dest postcode', + `quote_postcode_key` varchar(20) COLLATE utf8mb4_unicode_ci GENERATED ALWAYS AS (ifnull(`dest_postcode`,'')) STORED COMMENT 'dest_postcode for unique key', + `weight` decimal(10,3) NOT NULL COMMENT '计费重量KG', + `biz_date` date NOT NULL COMMENT '计费日期', + `tms_id` bigint(20) DEFAULT NULL COMMENT '多租户系统ID', + `match_source` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '命中来源 PACKAGE_FIXED/套餐固定价 PACKAGE_DISCOUNT/套餐折扣 PRODUCT_DEFAULT/产品默认价', + `match_message` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '命中说明', + `price_set_id` bigint(20) DEFAULT NULL COMMENT '价格套餐ID', + `price_set_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套餐编码', + `price_set_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '套餐名称', + `set_type` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计价类型 FIXED=固定价 DISCOUNT=折扣', + `bind_priority` int(11) DEFAULT NULL COMMENT '客户套餐优先级', + `customer_priceset_id` bigint(20) DEFAULT NULL COMMENT '客户套餐绑定ID', + `product_country_id` bigint(20) DEFAULT NULL COMMENT '关联 bms_product_country.detail_id', + `weight_min` decimal(10,4) DEFAULT NULL COMMENT '重量段下限', + `weight_max` decimal(10,4) DEFAULT NULL COMMENT '重量段上限', + `weight_label` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '重量段展示', + `effective_date` date DEFAULT NULL COMMENT '产品明细生效日', + `charge_weight` decimal(10,3) DEFAULT NULL COMMENT '计费重量', + `freight_rate` decimal(10,4) DEFAULT NULL COMMENT '运费单价', + `base_freight_rate` decimal(10,4) DEFAULT NULL COMMENT '折扣前单价', + `discount_percent` decimal(5,2) DEFAULT NULL COMMENT '折扣百分数', + `registration_fee` decimal(10,2) DEFAULT NULL COMMENT '挂号费', + `freight_amount` decimal(10,2) DEFAULT NULL COMMENT '运费金额', + `surcharge_amount` decimal(10,2) DEFAULT NULL COMMENT '附加费合计', + `payable_total` decimal(10,2) DEFAULT NULL COMMENT '应付总额', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RMB' COMMENT '币种', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式(字典bms_round_mode)', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`quote_id`), + UNIQUE KEY `uk_quote_key` (`quote_key`), + UNIQUE KEY `uk_quote_cust_biz` (`customer_code`,`product_code`,`country_code`,`quote_postcode_key`,`weight`,`biz_date`), + KEY `idx_quote_customer` (`customer_id`,`biz_date`), + KEY `idx_quote_product` (`product_code`,`country_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='计费试算主表'; + +-- ---------------------------- +-- 表结构:`prc_quote_fee` +-- ---------------------------- +CREATE TABLE `prc_quote_fee` ( + `fee_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `quote_id` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `fee_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用类型(字典bms_fee_type)', + `fee_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '费用名称(附加费取配置名称)', + `sc_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '附加费配置ID,运费/挂号费为0', + `amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '金额', + `currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'RMB' COMMENT '币种', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'HALF_UP' COMMENT '取值方式(字典bms_round_mode)', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注(附加费明细摘要)', + `create_time` datetime DEFAULT NULL, + PRIMARY KEY (`fee_id`), + UNIQUE KEY `uk_quote_fee_item` (`quote_id`,`fee_type`,`sc_id`), + KEY `idx_quote_fee_type` (`fee_type`), + KEY `idx_quote_fee_quote_id` (`quote_id`), + CONSTRAINT `fk_quote_fee_quote` FOREIGN KEY (`quote_id`) REFERENCES `prc_quote` (`quote_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='计费试算费用明细-按费用类型一行'; + +-- ---------------------------- +-- 表结构:`prc_surcharge` +-- ---------------------------- +CREATE TABLE `prc_surcharge` ( + `sc_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '附加费配置ID', + `sc_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '附加费名称', + `fee_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'SURCHARGE' COMMENT '费用类型(字典bms_fee_type)', + `charge_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计费方式 FIXED固定金额/WEIGHT按重量/RATE按比例', + `charge_value` decimal(18,6) NOT NULL COMMENT '计费数值', + `currency` char(3) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '币种', + `round_mode` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'HALF_UP' COMMENT '取值方式(字典bms_round_mode)', + `ss_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'on' COMMENT '状态 on/of', + `country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '适用国家ISO2(空=全部)', + `sc_note` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tms_id` bigint(20) DEFAULT NULL COMMENT '租户ID', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`sc_id`), + KEY `idx_sc_ss_code` (`ss_code`), + KEY `idx_sc_country` (`country_code`), + KEY `idx_sc_tms_id` (`tms_id`) +) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='附加费配置'; + +-- ---------------------------- +-- 表结构:`prc_surcharge_rel` +-- ---------------------------- +CREATE TABLE `prc_surcharge_rel` ( + `rel_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '关联ID', + `sc_id` bigint(20) NOT NULL COMMENT '附加费配置ID prc_surcharge.sc_id', + `product_id` bigint(20) NOT NULL COMMENT '产品ID bms_product.product_id', + `product_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品对接代码 bms_product.product_code', + `detail_id` bigint(20) DEFAULT NULL COMMENT '产品明细ID bms_product_country.detail_id(空=作用于产品全部明细)', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建人', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新人', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`rel_id`), + UNIQUE KEY `uk_rel_scope` (`sc_id`,`product_id`,`detail_id`), + KEY `idx_rel_sc` (`sc_id`), + KEY `idx_rel_product` (`product_id`), + KEY `idx_rel_product_code` (`product_code`), + KEY `idx_rel_detail` (`detail_id`), + CONSTRAINT `fk_rel_product` FOREIGN KEY (`product_id`) REFERENCES `bms_product` (`product_id`) ON DELETE CASCADE, + CONSTRAINT `fk_rel_sc` FOREIGN KEY (`sc_id`) REFERENCES `prc_surcharge` (`sc_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='附加费与产品/明细关联表'; + +-- ---------------------------- +-- 表结构:`prc_weight_section_detail` +-- ---------------------------- +CREATE TABLE `prc_weight_section_detail` ( + `wsd_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'weight detail id globally unique', + `wst_id` bigint(20) NOT NULL COMMENT 'template id', + `wl_title` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'title', + `wl_startweight` decimal(18,6) NOT NULL COMMENT 'start weight', + `wl_endweight` decimal(18,6) NOT NULL COMMENT 'end weight', + `weight_billing_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'billing code', + `fv_unitweight` decimal(18,6) DEFAULT NULL COMMENT 'unit weight', + `effective_date` date DEFAULT NULL COMMENT 'effective date', + `expire_date` date DEFAULT NULL COMMENT 'expire date', + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`wsd_id`), + KEY `idx_wsd_wst_id` (`wst_id`), + CONSTRAINT `fk_wsd_wst` FOREIGN KEY (`wst_id`) REFERENCES `prc_weight_section_template` (`wst_id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='weight section detail'; + +-- ---------------------------- +-- 表结构:`prc_weight_section_template` +-- ---------------------------- +CREATE TABLE `prc_weight_section_template` ( + `wst_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'weight template id', + `wst_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'template name', + `ss_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'on' COMMENT 'status on/off', + `pg_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'product group code', + `sn_id` bigint(20) DEFAULT NULL COMMENT 'service channel id', + `ct_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'cargo type code', + `pm_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'payment method code', + `wst_note` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'note', + `tms_id` bigint(20) DEFAULT NULL COMMENT 'tenant id', + `created_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'created by', + `create_time` datetime DEFAULT NULL, + `updated_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'updated by', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`wst_id`), + KEY `idx_wst_ss_code` (`ss_code`), + KEY `idx_wst_tms_id` (`tms_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='weight section template'; + +-- ---------------------------- +-- 表结构:`prc_zone` +-- ---------------------------- +CREATE TABLE `prc_zone` ( + `zone_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'zone id', + `region_id` bigint(20) NOT NULL COMMENT 'bms_region.region_id', + `country_code` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'ISO2 country code from bms_region', + `zone_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'zone code e.g. 1', + `zone_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'display name e.g. AU(1)', + `zone_sort` int(11) DEFAULT '0' COMMENT 'sort', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'remark', + `create_time` datetime DEFAULT NULL COMMENT 'created at', + `update_time` datetime DEFAULT NULL COMMENT 'updated at', + PRIMARY KEY (`zone_id`), + UNIQUE KEY `uk_zone_region_code` (`region_id`,`zone_code`), + KEY `idx_zone_region_id` (`region_id`), + KEY `idx_zone_country_code` (`country_code`) +) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone under bms_region'; + +-- ---------------------------- +-- 表结构:`prc_zone_detail` +-- ---------------------------- +CREATE TABLE `prc_zone_detail` ( + `detail_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'detail id', + `zone_id` bigint(20) NOT NULL COMMENT 'zone id', + `postcode` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'postcode', + `create_time` datetime DEFAULT NULL COMMENT 'created at', + `update_time` datetime DEFAULT NULL COMMENT 'updated at', + PRIMARY KEY (`detail_id`), + UNIQUE KEY `uk_zd_zone_postcode` (`zone_id`,`postcode`), + KEY `idx_zd_zone_id` (`zone_id`), + KEY `idx_zd_postcode` (`postcode`), + CONSTRAINT `fk_zd_zone` FOREIGN KEY (`zone_id`) REFERENCES `prc_zone` (`zone_id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=182844 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone postcode detail'; + +-- ---------------------------- +-- 表结构:`qrtz_blob_triggers` +-- ---------------------------- +CREATE TABLE `qrtz_blob_triggers` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `blob_data` blob COMMENT '存放持久化Trigger对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Blob类型的触发器表'; + +-- ---------------------------- +-- 表结构:`qrtz_calendars` +-- ---------------------------- +CREATE TABLE `qrtz_calendars` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `calendar_name` varchar(200) NOT NULL COMMENT '日历名称', + `calendar` blob NOT NULL COMMENT '存放持久化calendar对象', + PRIMARY KEY (`sched_name`,`calendar_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='日历信息表'; + +-- ---------------------------- +-- 表结构:`qrtz_cron_triggers` +-- ---------------------------- +CREATE TABLE `qrtz_cron_triggers` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `cron_expression` varchar(200) NOT NULL COMMENT 'cron表达式', + `time_zone_id` varchar(80) DEFAULT NULL COMMENT '时区', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Cron类型的触发器表'; + +-- ---------------------------- +-- 表结构:`qrtz_fired_triggers` +-- ---------------------------- +CREATE TABLE `qrtz_fired_triggers` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `entry_id` varchar(95) NOT NULL COMMENT '调度器实例id', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `instance_name` varchar(200) NOT NULL COMMENT '调度器实例名', + `fired_time` bigint(20) NOT NULL COMMENT '触发的时间', + `sched_time` bigint(20) NOT NULL COMMENT '定时器制定的时间', + `priority` int(11) NOT NULL COMMENT '优先级', + `state` varchar(16) NOT NULL COMMENT '状态', + `job_name` varchar(200) DEFAULT NULL COMMENT '任务名称', + `job_group` varchar(200) DEFAULT NULL COMMENT '任务组名', + `is_nonconcurrent` varchar(1) DEFAULT NULL COMMENT '是否并发', + `requests_recovery` varchar(1) DEFAULT NULL COMMENT '是否接受恢复执行', + PRIMARY KEY (`sched_name`,`entry_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='已触发的触发器表'; + +-- ---------------------------- +-- 表结构:`qrtz_job_details` +-- ---------------------------- +CREATE TABLE `qrtz_job_details` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `job_name` varchar(200) NOT NULL COMMENT '任务名称', + `job_group` varchar(200) NOT NULL COMMENT '任务组名', + `description` varchar(250) DEFAULT NULL COMMENT '相关介绍', + `job_class_name` varchar(250) NOT NULL COMMENT '执行任务类名称', + `is_durable` varchar(1) NOT NULL COMMENT '是否持久化', + `is_nonconcurrent` varchar(1) NOT NULL COMMENT '是否并发', + `is_update_data` varchar(1) NOT NULL COMMENT '是否更新数据', + `requests_recovery` varchar(1) NOT NULL COMMENT '是否接受恢复执行', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务详细信息表'; + +-- ---------------------------- +-- 表结构:`qrtz_locks` +-- ---------------------------- +CREATE TABLE `qrtz_locks` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `lock_name` varchar(40) NOT NULL COMMENT '悲观锁名称', + PRIMARY KEY (`sched_name`,`lock_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储的悲观锁信息表'; + +-- ---------------------------- +-- 表结构:`qrtz_paused_trigger_grps` +-- ---------------------------- +CREATE TABLE `qrtz_paused_trigger_grps` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + PRIMARY KEY (`sched_name`,`trigger_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='暂停的触发器表'; + +-- ---------------------------- +-- 表结构:`qrtz_scheduler_state` +-- ---------------------------- +CREATE TABLE `qrtz_scheduler_state` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `instance_name` varchar(200) NOT NULL COMMENT '实例名称', + `last_checkin_time` bigint(20) NOT NULL COMMENT '上次检查时间', + `checkin_interval` bigint(20) NOT NULL COMMENT '检查间隔时间', + PRIMARY KEY (`sched_name`,`instance_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='调度器状态表'; + +-- ---------------------------- +-- 表结构:`qrtz_simple_triggers` +-- ---------------------------- +CREATE TABLE `qrtz_simple_triggers` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `repeat_count` bigint(20) NOT NULL COMMENT '重复的次数统计', + `repeat_interval` bigint(20) NOT NULL COMMENT '重复的间隔时间', + `times_triggered` bigint(20) NOT NULL COMMENT '已经触发的次数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='简单触发器的信息表'; + +-- ---------------------------- +-- 表结构:`qrtz_simprop_triggers` +-- ---------------------------- +CREATE TABLE `qrtz_simprop_triggers` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `str_prop_1` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第一个参数', + `str_prop_2` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第二个参数', + `str_prop_3` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第三个参数', + `int_prop_1` int(11) DEFAULT NULL COMMENT 'int类型的trigger的第一个参数', + `int_prop_2` int(11) DEFAULT NULL COMMENT 'int类型的trigger的第二个参数', + `long_prop_1` bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第一个参数', + `long_prop_2` bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第二个参数', + `dec_prop_1` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数', + `dec_prop_2` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数', + `bool_prop_1` varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数', + `bool_prop_2` varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='同步机制的行锁表'; + +-- ---------------------------- +-- 表结构:`qrtz_triggers` +-- ---------------------------- +CREATE TABLE `qrtz_triggers` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT '触发器的名字', + `trigger_group` varchar(200) NOT NULL COMMENT '触发器所属组的名字', + `job_name` varchar(200) NOT NULL COMMENT 'qrtz_job_details表job_name的外键', + `job_group` varchar(200) NOT NULL COMMENT 'qrtz_job_details表job_group的外键', + `description` varchar(250) DEFAULT NULL COMMENT '相关介绍', + `next_fire_time` bigint(20) DEFAULT NULL COMMENT '上一次触发时间(毫秒)', + `prev_fire_time` bigint(20) DEFAULT NULL COMMENT '下一次触发时间(默认为-1表示不触发)', + `priority` int(11) DEFAULT NULL COMMENT '优先级', + `trigger_state` varchar(16) NOT NULL COMMENT '触发器状态', + `trigger_type` varchar(8) NOT NULL COMMENT '触发器的类型', + `start_time` bigint(20) NOT NULL COMMENT '开始时间', + `end_time` bigint(20) DEFAULT NULL COMMENT '结束时间', + `calendar_name` varchar(200) DEFAULT NULL COMMENT '日程表名称', + `misfire_instr` smallint(6) DEFAULT NULL COMMENT '补偿执行的策略', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + KEY `sched_name` (`sched_name`,`job_name`,`job_group`) USING BTREE, + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='触发器详细信息表'; + +-- ---------------------------- +-- 表结构:`sup_supplier` +-- ---------------------------- +CREATE TABLE `sup_supplier` ( + `supplier_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '客户ID', + `supplier_code` varchar(50) NOT NULL COMMENT '供应商编码', + `supplier_name` varchar(100) NOT NULL COMMENT '供应商名称', + `supplier_code_dw` varchar(50) DEFAULT '' COMMENT '对外代码', + `credit_code` varchar(18) DEFAULT '' COMMENT '统一社会信用代码', + `supplier_type` char(1) DEFAULT '0' COMMENT '供应商类型(0生产商 1代理商 2个人 3物流商 4其他)', + `is_enable` char(1) DEFAULT '0' COMMENT '启用状态(0正常 1停用)', + `purchaser_user_id` varchar(64) DEFAULT '' COMMENT '采购员用户ID', + `purchaser_user` varchar(50) DEFAULT '' COMMENT '采购员姓名', + `settlement_user_id` varchar(64) DEFAULT '' COMMENT '结算员用户ID', + `settlement_user` varchar(50) DEFAULT '' COMMENT '结算员姓名', + `service_user_id` varchar(64) DEFAULT '' COMMENT '跟单员用户ID', + `service_user` varchar(50) DEFAULT '' COMMENT '跟单员姓名', + `ed` decimal(15,2) DEFAULT '0.00' COMMENT '应付额度(元)', + `zq` int(11) DEFAULT '0' COMMENT '应付账期(天)', + `settlement_type` char(1) DEFAULT '0' COMMENT '结算方式(0月结 1周结 2日结 3票结)', + `temp_ed` decimal(15,2) DEFAULT '0.00' COMMENT '临时额度(元)', + `account_balance` decimal(15,2) DEFAULT '0.00' COMMENT '应付余额(元)', + `foreign_currency_balance` decimal(15,2) DEFAULT '0.00' COMMENT '外币应付余额(元)', + `credit_ed` decimal(15,2) DEFAULT '0.00' COMMENT '信用额度(元)', + `weight_threshold` decimal(15,2) DEFAULT '0.00' COMMENT '重量阈值(kg)', + `throw_ratio` decimal(15,2) DEFAULT '0.00' COMMENT '抛比(%)', + `cooperation_start_date` date DEFAULT NULL COMMENT '合作开始日期', + `cooperation_status` char(1) DEFAULT '0' COMMENT '合作状态(0正常 1暂停 2终止)', + `channel_ids` varchar(1000) DEFAULT NULL COMMENT '绑定的渠道/服务ID(多个用逗号分隔)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`supplier_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='供应商主表'; + +-- ---------------------------- +-- 表结构:`sup_supplier_attachment` +-- ---------------------------- +CREATE TABLE `sup_supplier_attachment` ( + `attachment_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '附件ID', + `supplier_id` bigint(20) NOT NULL COMMENT '所属供应商ID', + `file_name` varchar(255) NOT NULL COMMENT '文件原始名称', + `file_path` varchar(500) NOT NULL COMMENT '文件存储路径(相对路径或完整URL)', + `file_size` bigint(20) DEFAULT '0' COMMENT '文件大小(字节)', + `file_type` varchar(50) DEFAULT '' COMMENT '文件类型(如:image/png, application/pdf)', + `file_extension` varchar(10) DEFAULT '' COMMENT '文件扩展名(如:jpg, pdf, doc)', + `attachment_type` char(1) DEFAULT '0' COMMENT '附件类型(0附件资料 1供应商Logo 2合同文件 3其他)', + `is_logo` char(1) DEFAULT '0' COMMENT '是否Logo(0否 1是),便于快速定位Logo', + `sort_order` int(11) DEFAULT '0' COMMENT '排序(数字越小越靠前)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`attachment_id`), + KEY `idx_supplier_id` (`supplier_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='供应商附件表'; + +-- ---------------------------- +-- 表结构:`sup_supplier_company` +-- ---------------------------- +CREATE TABLE `sup_supplier_company` ( + `company_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '公司主体ID', + `supplier_id` bigint(20) NOT NULL COMMENT '所属供应商ID', + `company_name_full` varchar(200) DEFAULT '' COMMENT '公司全称(与主表supplier_name冗余,便于单独查询展示)', + `english_name` varchar(200) DEFAULT '' COMMENT '公司英文名称', + `credit_code` varchar(18) DEFAULT '' COMMENT '统一社会信用代码(与主表冗余,保持一致性)', + `legal_person` varchar(50) DEFAULT '' COMMENT '法定代表人', + `legal_person_phone` varchar(20) DEFAULT '' COMMENT '法定代表人电话', + `legal_person_id_card` varchar(18) DEFAULT '' COMMENT '法定代表人身份证号(加密存储)', + `registered_capital` decimal(15,2) DEFAULT '0.00' COMMENT '注册资本(万元)', + `capital_currency` varchar(20) DEFAULT '人民币' COMMENT '注册资本币种(人民币/美元/港币等)', + `paid_in_capital` decimal(15,2) DEFAULT '0.00' COMMENT '实收资本(万元)', + `establish_date` date DEFAULT NULL COMMENT '成立日期', + `business_term_start` date DEFAULT NULL COMMENT '营业期限起始日', + `business_term_end` date DEFAULT NULL COMMENT '营业期限终止日', + `business_term_permanent` char(1) DEFAULT '0' COMMENT '是否长期有效(0否 1是)', + `registration_authority` varchar(100) DEFAULT '' COMMENT '登记机关(工商局名称)', + `registration_number` varchar(50) DEFAULT '' COMMENT '注册号(旧版工商注册号)', + `operating_status` varchar(20) DEFAULT '' COMMENT '经营状态(字典:存续、在业、吊销、注销、迁入、迁出、停业、清算)', + `business_scope` text COMMENT '经营范围(可能很长,用text类型)', + `shareholders` text COMMENT '主要股东信息(JSON格式存储,或纯文本描述)', + `employee_count` int(11) DEFAULT '0' COMMENT '员工人数', + `company_phone` varchar(20) DEFAULT '' COMMENT '公司电话', + `company_fax` varchar(20) DEFAULT '' COMMENT '公司传真', + `company_website` varchar(100) DEFAULT '' COMMENT '公司网址', + `company_email` varchar(100) DEFAULT '' COMMENT '公司邮箱', + `registered_province` varchar(50) DEFAULT '' COMMENT '注册省份', + `registered_city` varchar(50) DEFAULT '' COMMENT '注册城市', + `registered_district` varchar(50) DEFAULT '' COMMENT '注册区县', + `registered_address_detail` varchar(200) DEFAULT '' COMMENT '注册详细地址', + `business_license_oss_id` bigint(20) DEFAULT NULL COMMENT '营业执照(图片/PDF,关联sys_oss.oss_id)', + `attachment_ids` varchar(1000) DEFAULT NULL COMMENT '其他附件(如章程、验资报告等,多个oss_id逗号分隔)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`company_id`), + UNIQUE KEY `uk_supplier_id` (`supplier_id`), + KEY `idx_credit_code` (`credit_code`), + KEY `idx_legal_person` (`legal_person`), + KEY `idx_operating_status` (`operating_status`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='供应商公司主体(工商信息)表'; + +-- ---------------------------- +-- 表结构:`sup_supplier_contact` +-- ---------------------------- +CREATE TABLE `sup_supplier_contact` ( + `contact_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '联系人ID', + `supplier_id` bigint(20) NOT NULL COMMENT '所属供应商ID', + `contact_name` varchar(50) NOT NULL COMMENT '联系人姓名', + `position` varchar(50) DEFAULT '' COMMENT '职位(如:销售经理、财务总监、总经理)', + `department` varchar(50) DEFAULT '' COMMENT '所属部门(如:销售部、财务部)', + `phone` varchar(20) DEFAULT '' COMMENT '手机号', + `landline` varchar(20) DEFAULT '' COMMENT '座机(含区号)', + `email` varchar(100) DEFAULT '' COMMENT '电子邮箱', + `wechat` varchar(50) DEFAULT '' COMMENT '微信号', + `qq` varchar(20) DEFAULT '' COMMENT 'QQ号', + `country` varchar(50) DEFAULT '中国' COMMENT '国家/地区', + `province` varchar(50) DEFAULT '' COMMENT '省份', + `city` varchar(50) DEFAULT '' COMMENT '城市', + `district` varchar(50) DEFAULT '' COMMENT '区/县', + `contact_address` varchar(200) DEFAULT '' COMMENT '联系详细地址(街道、门牌号)', + `postal_code` varchar(10) DEFAULT '' COMMENT '邮政编码', + `is_default` char(1) DEFAULT '0' COMMENT '是否默认联系人(0否 1是)', + `contact_type` char(1) DEFAULT '0' COMMENT '联系人类型(0业务联系人 1财务联系人 2紧急联系人 3其他)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序(数字越小越靠前)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', + PRIMARY KEY (`contact_id`), + KEY `idx_supplier_id` (`supplier_id`), + KEY `idx_phone` (`phone`), + KEY `idx_contact_name` (`contact_name`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='供应商联系人表'; + +-- ---------------------------- +-- 表结构:`sys_config` +-- ---------------------------- +CREATE TABLE `sys_config` ( + `config_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表'; + +-- ---------------------------- +-- 表结构:`sys_dept` +-- ---------------------------- +CREATE TABLE `sys_dept` ( + `dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `order_num` int(11) DEFAULT '0' COMMENT '显示顺序', + `leader` varchar(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=utf8mb4 COMMENT='部门表'; + +-- ---------------------------- +-- 表结构:`sys_dict_data` +-- ---------------------------- +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int(11) DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=136 DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表'; + +-- ---------------------------- +-- 表结构:`sys_dict_type` +-- ---------------------------- +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE KEY `dict_type` (`dict_type`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8mb4 COMMENT='字典类型表'; + +-- ---------------------------- +-- 表结构:`sys_exchange_rate` +-- ---------------------------- +CREATE TABLE `sys_exchange_rate` ( + `rate_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汇率ID', + `from_currency` varchar(10) NOT NULL COMMENT '源币种', + `to_currency` varchar(10) NOT NULL COMMENT '目标币种', + `rate_type` char(1) DEFAULT '0' COMMENT '汇率类型(0即期汇率 1月初汇率 2月末汇率 3固定汇率)', + `exchange_rate` decimal(18,8) NOT NULL COMMENT '汇率值(1源币种=?目标币种)', + `effective_date` date NOT NULL COMMENT '生效日期', + `expire_date` date DEFAULT NULL COMMENT '失效日期', + `source` varchar(50) DEFAULT '' COMMENT '汇率来源(中国银行/央行/手工录入)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0存在 1删除)', + PRIMARY KEY (`rate_id`), + KEY `idx_currency_date` (`from_currency`,`to_currency`,`effective_date`), + KEY `idx_rate_type` (`rate_type`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COMMENT='汇率表'; + +-- ---------------------------- +-- 表结构:`sys_job` +-- ---------------------------- +CREATE TABLE `sys_job` ( + `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='定时任务调度表'; + +-- ---------------------------- +-- 表结构:`sys_job_log` +-- ---------------------------- +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) NOT NULL COMMENT '任务名称', + `job_group` varchar(64) NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', + `status` char(1) DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) DEFAULT '' COMMENT '异常信息', + `start_time` datetime DEFAULT NULL COMMENT '执行开始时间', + `end_time` datetime DEFAULT NULL COMMENT '执行结束时间', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='定时任务调度日志表'; + +-- ---------------------------- +-- 表结构:`sys_logininfor` +-- ---------------------------- +CREATE TABLE `sys_logininfor` ( + `info_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `user_name` varchar(50) DEFAULT '' COMMENT '用户账号', + `ipaddr` varchar(128) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) DEFAULT '' COMMENT '操作系统', + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`) USING BTREE, + KEY `idx_sys_logininfor_s` (`status`) USING BTREE, + KEY `idx_sys_logininfor_lt` (`login_time`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=667 DEFAULT CHARSET=utf8mb4 COMMENT='系统访问记录'; + +-- ---------------------------- +-- 表结构:`sys_menu` +-- ---------------------------- +CREATE TABLE `sys_menu` ( + `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID', + `order_num` int(11) DEFAULT '0' COMMENT '显示顺序', + `path` varchar(200) DEFAULT '' COMMENT '路由地址', + `component` varchar(255) DEFAULT NULL COMMENT '组件路径', + `query` varchar(255) DEFAULT NULL COMMENT '路由参数', + `route_name` varchar(50) DEFAULT '' COMMENT '路由名称', + `is_frame` int(11) DEFAULT '1' COMMENT '是否为外链(0是 1否)', + `is_cache` int(11) DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2444 DEFAULT CHARSET=utf8mb4 COMMENT='菜单权限表'; + +-- ---------------------------- +-- 表结构:`sys_notice` +-- ---------------------------- +CREATE TABLE `sys_notice` ( + `notice_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表'; + +-- ---------------------------- +-- 表结构:`sys_notice_read` +-- ---------------------------- +CREATE TABLE `sys_notice_read` ( + `read_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '已读主键', + `notice_id` int(11) NOT NULL COMMENT '公告id', + `user_id` bigint(20) NOT NULL COMMENT '用户id', + `read_time` datetime NOT NULL COMMENT '阅读时间', + PRIMARY KEY (`read_id`) USING BTREE, + UNIQUE KEY `uk_user_notice` (`user_id`,`notice_id`) USING BTREE COMMENT '同一用户同一公告只记录一次' +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COMMENT='公告已读记录表'; + +-- ---------------------------- +-- 表结构:`sys_oper_log` +-- ---------------------------- +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) DEFAULT '' COMMENT '模块标题', + `business_type` int(11) DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(200) DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', + `operator_type` int(11) DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) DEFAULT '' COMMENT '返回参数', + `status` int(11) DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint(20) DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`) USING BTREE, + KEY `idx_sys_oper_log_bt` (`business_type`) USING BTREE, + KEY `idx_sys_oper_log_s` (`status`) USING BTREE, + KEY `idx_sys_oper_log_ot` (`oper_time`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1354 DEFAULT CHARSET=utf8mb4 COMMENT='操作日志记录'; + +-- ---------------------------- +-- 表结构:`sys_post` +-- ---------------------------- +CREATE TABLE `sys_post` ( + `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', + `post_sort` int(11) NOT NULL COMMENT '显示顺序', + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='岗位信息表'; + +-- ---------------------------- +-- 表结构:`sys_role` +-- ---------------------------- +CREATE TABLE `sys_role` ( + `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) NOT NULL COMMENT '角色名称', + `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串', + `role_sort` int(11) NOT NULL COMMENT '显示顺序', + `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示', + `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='角色信息表'; + +-- ---------------------------- +-- 表结构:`sys_role_credit_quota` +-- ---------------------------- +CREATE TABLE `sys_role_credit_quota` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID(sys_role.role_id)', + `total_quota` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '可分配额度总额(CNY)', + `version` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁版本号', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色可分配授信额度池'; + +-- ---------------------------- +-- 表结构:`sys_role_dept` +-- ---------------------------- +CREATE TABLE `sys_role_dept` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表'; + +-- ---------------------------- +-- 表结构:`sys_role_menu` +-- ---------------------------- +CREATE TABLE `sys_role_menu` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和菜单关联表'; + +-- ---------------------------- +-- 表结构:`sys_user` +-- ---------------------------- +CREATE TABLE `sys_user` ( + `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) DEFAULT '' COMMENT '头像地址', + `password` varchar(100) DEFAULT '' COMMENT '密码', + `status` char(1) DEFAULT '0' COMMENT '账号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `pwd_update_date` datetime DEFAULT NULL COMMENT '密码最后更新时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表'; + +-- ---------------------------- +-- 表结构:`sys_user_post` +-- ---------------------------- +CREATE TABLE `sys_user_post` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- 表结构:`sys_user_role` +-- ---------------------------- +CREATE TABLE `sys_user_role` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- 表结构:`test` +-- ---------------------------- +CREATE TABLE `test` ( + `id` int(11) NOT NULL, + `tr` int(11) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + +SET FOREIGN_KEY_CHECKS = 1; + diff --git a/bms-back/sql/bms_region.sql b/bms-back/sql/bms_region.sql deleted file mode 100644 index 03ffe6c4..00000000 --- a/bms-back/sql/bms_region.sql +++ /dev/null @@ -1,90 +0,0 @@ --- ---------------------------- --- 1、国家/区域表 --- ---------------------------- -DROP TABLE IF EXISTS bms_region; -CREATE TABLE bms_region ( - region_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '区域ID', - country_name_cn VARCHAR(100) DEFAULT NULL COMMENT '中文名', - country_name_en VARCHAR(100) NOT NULL COMMENT '英文名', - country_code_2 VARCHAR(2) NOT NULL COMMENT 'ISO两位码', - country_code_3 VARCHAR(3) DEFAULT NULL COMMENT 'ISO三位码', - continent VARCHAR(50) DEFAULT NULL COMMENT '洲/大区', - sub_region VARCHAR(50) DEFAULT NULL COMMENT '子区域', - currency_code VARCHAR(10) DEFAULT NULL COMMENT '货币代码', - currency_name VARCHAR(50) DEFAULT NULL COMMENT '货币名称', - currency_symbol VARCHAR(10) DEFAULT NULL COMMENT '货币符号', - phone_prefix VARCHAR(10) DEFAULT NULL COMMENT '电话前缀', - flag_emoji VARCHAR(10) DEFAULT NULL COMMENT '国旗emoji', - flag_url VARCHAR(500) DEFAULT NULL COMMENT '国旗图片URL', - is_independent CHAR(1) NOT NULL DEFAULT '1' COMMENT '是否独立(1是 0否)', - is_eu CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否欧盟成员(1是 0否)', - status CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', - del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0存在 2删除)', - create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', - create_time DATETIME DEFAULT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - remark VARCHAR(500) DEFAULT NULL COMMENT '备注', - PRIMARY KEY (region_id), - UNIQUE INDEX idx_country_code_2 (country_code_2), - INDEX idx_country_name_cn (country_name_cn), - INDEX idx_country_name_en (country_name_en), - INDEX idx_continent (continent) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='国家/区域表'; - --- ---------------------------- --- 2、区域数据同步日志表 --- ---------------------------- -DROP TABLE IF EXISTS bms_region_sync_log; -CREATE TABLE bms_region_sync_log ( - log_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID', - sync_type VARCHAR(20) NOT NULL DEFAULT 'ALL' COMMENT '同步类型(ALL全量)', - status VARCHAR(20) NOT NULL DEFAULT 'PROCESSING' COMMENT '状态(PENDING/PROCESSING/SUCCESS/FAILED)', - total_count INT(11) DEFAULT 0 COMMENT 'API返回总数', - insert_count INT(11) DEFAULT 0 COMMENT '新增数', - update_count INT(11) DEFAULT 0 COMMENT '更新数', - fail_count INT(11) DEFAULT 0 COMMENT '失败数', - duration_ms BIGINT(20) DEFAULT 0 COMMENT '耗时(毫秒)', - error_msg TEXT DEFAULT NULL COMMENT '错误信息', - create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', - create_time DATETIME DEFAULT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (log_id), - INDEX idx_status (status), - INDEX idx_create_time (create_time) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='区域数据同步日志表'; - --- ---------------------------- --- 3、菜单数据 --- ---------------------------- --- 一级菜单: 数据管理 -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('数据管理', 0, 6, 'data', NULL, 1, 0, 'M', '0', '0', '', 'chart', 'admin', sysdate(), '数据管理目录'); - -SET @parentId = LAST_INSERT_ID(); - --- 二级菜单: 区域管理 -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('区域管理', @parentId, 1, 'region', 'data/region/index', 1, 0, 'C', '0', '0', 'data:region:list', 'international', 'admin', sysdate(), ''); - -SET @regionMenuId = LAST_INSERT_ID(); - --- 二级菜单: 同步日志 -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('同步日志', @parentId, 2, 'region/sync-log', 'data/region/sync-log/index', 1, 0, 'C', '0', '0', 'data:region:log:list', 'log', 'admin', sysdate(), ''); - --- 按钮权限 (区域管理) -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('区域查询', @regionMenuId, 1, '', NULL, 1, 0, 'F', '0', '0', 'data:region:query', '#', 'admin', sysdate(), ''); -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('区域编辑', @regionMenuId, 2, '', NULL, 1, 0, 'F', '0', '0', 'data:region:edit', '#', 'admin', sysdate(), ''); -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('区域删除', @regionMenuId, 3, '', NULL, 1, 0, 'F', '0', '0', 'data:region:remove', '#', 'admin', sysdate(), ''); -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('数据同步', @regionMenuId, 4, '', NULL, 1, 0, 'F', '0', '0', 'data:region:sync', '#', 'admin', sysdate(), ''); - --- 按钮权限 (同步日志) -SET @logMenuId = @regionMenuId + 1; -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -VALUES ('日志删除', @logMenuId, 1, '', NULL, 1, 0, 'F', '0', '0', 'data:region:log:remove', '#', 'admin', sysdate(), ''); diff --git a/bms-back/sql/customer+supplier/customer.sql b/bms-back/sql/customer+supplier/customer.sql deleted file mode 100644 index 0bb58fc6..00000000 --- a/bms-back/sql/customer+supplier/customer.sql +++ /dev/null @@ -1,55 +0,0 @@ -DROP TABLE IF EXISTS `ctr_customer`; - -CREATE TABLE `ctr_customer` ( - `customer_id` VARCHAR(32) NOT NULL AUTO_INCREMENT COMMENT '客户ID', - `customer_code` varchar(50) NOT NULL COMMENT '客户编码', - `customer_name` varchar(100) NOT NULL COMMENT '客户名称', - `customer_code_dw` varchar(50) DEFAULT '' COMMENT '对外代码', - `credit_code` varchar(18) DEFAULT '' COMMENT '统一社会信用代码', - - -- 业务类型(字典:直客、同行、集运) - `customer_type` char(1) DEFAULT '0' COMMENT '业务类型(0直客 1同行 2集运)', - `is_enable` char(1) DEFAULT '0' COMMENT '启用状态(0正常 1停用)', - - -- 销售归属 - `sales_user_id` varchar(64) DEFAULT '' COMMENT '业务员用户ID', - `sales_user` varchar(50) DEFAULT '' COMMENT '业务员姓名', - - -- 财务等信息 - `ed` decimal(15,2) DEFAULT 0.00 COMMENT '资金额度(元)', - `zq` int(11) DEFAULT 0 COMMENT '回款账期(天)', - `settlement_user_id` varchar(64) DEFAULT '' COMMENT '结算员用户ID', - `settlement_user` varchar(50) DEFAULT '' COMMENT '结算员姓名', - `service_user_id` varchar(64) DEFAULT '' COMMENT '客服用户ID', - `service_user` varchar(50) DEFAULT '' COMMENT '客服姓名', - `settlement_type` char(1) DEFAULT '0' COMMENT '结算方式(0月结 1周结 2日结)', - `temp_ed` decimal(15,2) DEFAULT 0.00 COMMENT '临时额度(元)', - `account_balance` decimal(15,2) DEFAULT 0.00 COMMENT '账户余额(元)', - `foreign_currency_balance` decimal(15,2) DEFAULT 0.00 COMMENT '外币余额(元)', - `weight_threshold` decimal(15,2) DEFAULT 0.00 COMMENT '重量阈值(kg)', - `throw_ratio` decimal(15,2) DEFAULT 0.00 COMMENT '抛比(%)', - `credit_ed` decimal(15,2) DEFAULT 0.00 COMMENT '信用额度(元)', - `product_codes` varchar(1000) DEFAULT NULL COMMENT '绑定产品代码(多个产品代码用逗号分隔,对接旧库产品编码)', - - -- ========== 附件字段(新增) ========== - `logo_oss_id` bigint(20) DEFAULT NULL COMMENT '客户Logo(图片,关联sys_oss.oss_id)', - `attachment_ids` varchar(1000) DEFAULT NULL COMMENT '附件资料(多个oss_id用逗号分隔,支持PDF/图片/压缩包等)', - - -- 备注 - `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', - - -- 若依标准审计字段 - `create_by` varchar(64) DEFAULT '' COMMENT '创建者', - `create_time` datetime DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT '' COMMENT '更新者', - `update_time` datetime DEFAULT NULL COMMENT '更新时间', - `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', - - PRIMARY KEY (`customer_id`) - - -- UNIQUE KEY `uk_customer_code` (`customer_code`), - -- UNIQUE KEY `uk_credit_code` (`credit_code`), - -- KEY `idx_sales_user_id` (`sales_user_id`), - -- KEY `idx_customer_type` (`customer_type`), - -- KEY `idx_is_enable` (`is_enable`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客户主表'; \ No newline at end of file diff --git a/bms-back/sql/customer+supplier/customer_company_url_and_receipt_bank.sql b/bms-back/sql/customer+supplier/customer_company_url_and_receipt_bank.sql deleted file mode 100644 index a497762b..00000000 --- a/bms-back/sql/customer+supplier/customer_company_url_and_receipt_bank.sql +++ /dev/null @@ -1,19 +0,0 @@ --- ============================================================= --- 1) 客户公司主体营业执照:bigint oss_id 改为 URL 字符串 --- 先按服务器本地存储(/common/upload 返回相对路径),后续可平滑切换对象存储 --- 2) 客户收款登记:增加收款银行账户(ar_bank_account 关联 + 冗余快照,防账户后续变更) --- 2026-09-20 --- ============================================================= -SET NAMES utf8mb4; - --- ---------- bms_customer_company ---------- -ALTER TABLE `bms_customer_company` - CHANGE COLUMN `business_license_oss_id` `business_license_url` VARCHAR(500) - DEFAULT NULL COMMENT '营业执照图片URL(服务器本地存储,后续可切换对象存储)'; - --- ---------- customer_receipt ---------- -ALTER TABLE `customer_receipt` - ADD COLUMN `bank_account_id` BIGINT(20) DEFAULT NULL COMMENT '收款银行账户ID(ar_bank_account)' AFTER `pay_method`, - ADD COLUMN `bank_account_name` VARCHAR(100) DEFAULT NULL COMMENT '收款账户户名(登记时快照)' AFTER `bank_account_id`, - ADD COLUMN `bank_account_no` VARCHAR(128) DEFAULT NULL COMMENT '收款银行账号(登记时快照)' AFTER `bank_account_name`, - ADD COLUMN `bank_name` VARCHAR(100) DEFAULT NULL COMMENT '开户行名称(登记时快照)' AFTER `bank_account_no`; diff --git a/bms-back/sql/customer+supplier/customer_credit_apply.sql b/bms-back/sql/customer+supplier/customer_credit_apply.sql deleted file mode 100644 index aaa527e6..00000000 --- a/bms-back/sql/customer+supplier/customer_credit_apply.sql +++ /dev/null @@ -1,72 +0,0 @@ --- ============================================================= --- 客户额度调整申请/审批表 --- 信用额度、额外额度(临时额度)调整不再直接生效: --- 先申请(PENDING)-> 审批通过(APPROVED)后才真正调整 ctr_customer_account --- 并生成 ctr_customer_credit_flow 额度流水;可驳回(REJECTED)/撤销(CANCELLED) --- 2026-09-16 --- ============================================================= -SET NAMES utf8mb4; - -CREATE TABLE IF NOT EXISTS `ctr_customer_credit_apply` ( - `apply_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '申请单ID', - `apply_no` VARCHAR(64) NOT NULL COMMENT '申请单号(EDSQ前缀)', - `customer_id` BIGINT(20) NOT NULL COMMENT '客户ID', - `account_id` BIGINT(20) DEFAULT NULL COMMENT '客户账户ID(审批通过时回写)', - `credit_type` VARCHAR(16) NOT NULL COMMENT '额度类型:CREDIT信用额度 TEMP临时额度(额外额度)', - `adjust_mode` VARCHAR(8) NOT NULL COMMENT '调整方式:SET设置为 ADD增加 SUB减少', - `change_amount` DECIMAL(18,2) NOT NULL COMMENT '调整金额(恒为正数,方式看adjust_mode)', - `effective_date` DATE DEFAULT NULL COMMENT '临时额度生效日期', - `expire_date` DATE DEFAULT NULL COMMENT '临时额度失效日期(空=长期)', - `reason` VARCHAR(255) NOT NULL COMMENT '调整原因', - `status` VARCHAR(16) NOT NULL DEFAULT 'PENDING' COMMENT '状态:PENDING待审批 APPROVED已通过 REJECTED已驳回 CANCELLED已撤销', - `apply_by` VARCHAR(64) DEFAULT '' COMMENT '申请人', - `apply_user_id` BIGINT(20) DEFAULT NULL COMMENT '申请人ID', - `apply_time` DATETIME DEFAULT NULL COMMENT '申请时间', - `approve_by` VARCHAR(64) DEFAULT '' COMMENT '审批人', - `approve_user_id` BIGINT(20) DEFAULT NULL COMMENT '审批人ID', - `approve_time` DATETIME DEFAULT NULL COMMENT '审批时间', - `approve_remark` VARCHAR(255) DEFAULT NULL COMMENT '审批意见/驳回原因', - `flow_id` BIGINT(20) DEFAULT NULL COMMENT '审批通过后生成的额度流水ID(ctr_customer_credit_flow.id)', - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', - `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)', - PRIMARY KEY (`apply_id`), - UNIQUE KEY `uk_apply_no` (`apply_no`), - KEY `idx_customer_status` (`customer_id`, `status`), - KEY `idx_status` (`status`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客户额度调整申请审批表'; - --- ============================================================= --- 菜单:额度审批(挂在 2422 客户余额管理 下,与 2434 额度调整/申请 并列) --- ============================================================= -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2439, N'额度审批', 2422, 2, '', NULL, 1, 0, 'F', '0', '0', 'customer:credit:approve', '#', 'admin', sysdate(), '客户信用/额外额度调整申请审批' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2439); - -INSERT INTO sys_role_menu (role_id, menu_id) -SELECT 2, 2439 FROM DUAL -WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu WHERE role_id = 2 AND menu_id = 2439); - --- ============================================================= --- 下线“客户账单”独立页面(需求2): --- 余额页“查看账单”改为跳转应收管理-应收账单(/ar/bill,菜单2401)并带客户条件 --- 2435 客户账单(C) / 2436 账单详情(F) 删除; --- 2437 余额核销 / 2438 取消余额核销 仍在客户余额页使用,改挂到 2422 客户余额管理 --- ============================================================= -DELETE FROM sys_role_menu WHERE menu_id IN (2435, 2436); -DELETE FROM sys_menu WHERE menu_id IN (2435, 2436); -UPDATE sys_menu SET parent_id = 2422 WHERE menu_id IN (2437, 2438); - --- ============================================================= --- 字典:客户业务类型 customer_type 补齐(原有仅 0直客) --- 0直客 1同行 2集运 --- ============================================================= -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 1, N'同行', '1', 'customer_type', '', 'info', 'N', '0', 'admin', sysdate(), '同行客户' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'customer_type' AND dict_value = '1'); -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 2, N'集运', '2', 'customer_type', '', 'warning', 'N', '0', 'admin', sysdate(), '集运客户' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'customer_type' AND dict_value = '2'); diff --git a/bms-back/sql/customer+supplier/customer_credit_flow_biz_columns.sql b/bms-back/sql/customer+supplier/customer_credit_flow_biz_columns.sql deleted file mode 100644 index 213ed539..00000000 --- a/bms-back/sql/customer+supplier/customer_credit_flow_biz_columns.sql +++ /dev/null @@ -1,10 +0,0 @@ --- ============================================================= --- 额度流水增加业务来源关联列 --- 授信额度的占用/释放由各业务模块(应收账单确认、计费订单开单/计费变动) --- 通过客户资金公共API ICustomerAccountApi 触发,流水需能反查来源单据 --- 2026-09-17 --- ============================================================= -ALTER TABLE `customer_credit_flow` - ADD COLUMN `biz_type` VARCHAR(32) DEFAULT NULL COMMENT '业务来源类型:AR_BILL应收账单 ORDER计费订单(占用/释放流水)' AFTER `change_type`, - ADD COLUMN `biz_id` BIGINT(20) DEFAULT NULL COMMENT '关联业务单据ID' AFTER `biz_type`, - ADD COLUMN `biz_no` VARCHAR(64) DEFAULT NULL COMMENT '关联业务单据号' AFTER `biz_id`; diff --git a/bms-back/sql/customer+supplier/customer_product_codes.sql b/bms-back/sql/customer+supplier/customer_product_codes.sql deleted file mode 100644 index 15fb3536..00000000 --- a/bms-back/sql/customer+supplier/customer_product_codes.sql +++ /dev/null @@ -1,23 +0,0 @@ --- ===================================================================== --- 客户绑定产品:存储口径由「产品ID逗号串」改为「产品代码逗号串」 --- 背景:后续产品数据从旧数据库迁移导入,新旧库产品ID不一致, --- 产品代码(product_code)在两库间稳定,故客户绑定关系改用代码。 --- 日期:2026-09-22 --- ===================================================================== - --- 1. 列改名(保留原数据,CHANGE 仅改列名/注释) -ALTER TABLE bms_customer - CHANGE COLUMN product_ids product_codes varchar(1000) DEFAULT NULL - COMMENT '绑定产品代码(多个产品代码用逗号分隔,对接旧库产品编码)'; - --- 2. 旧值(产品ID逗号串)按 bms_product 映射为产品代码逗号串 --- FIND_IN_SET 逐个匹配逗号串中的ID,GROUP_CONCAT 重新拼为代码串; --- 匹配不到产品的ID会被置为NULL(脏数据,可在客户编辑页重新绑定) -UPDATE bms_customer c -SET c.product_codes = ( - SELECT GROUP_CONCAT(p.product_code) - FROM bms_product p - WHERE FIND_IN_SET(p.product_id, c.product_codes) - ) -WHERE c.product_codes IS NOT NULL - AND c.product_codes <> ''; diff --git a/bms-back/sql/customer+supplier/customer_receipt_rate_source.sql b/bms-back/sql/customer+supplier/customer_receipt_rate_source.sql deleted file mode 100644 index b2ff3ef6..00000000 --- a/bms-back/sql/customer+supplier/customer_receipt_rate_source.sql +++ /dev/null @@ -1,15 +0,0 @@ --- ---------------------------- --- 客户收款单增加汇率来源留痕: --- rate_source 汇率来源类型(SYSTEM系统默认本币1:1 / RATE_TABLE汇率表自动带出 / MANUAL手工修改) --- rate_source_desc 来源说明(汇率表来源+命中路径,或手工录入说明) --- 登记收款时由后端权威判定:CNY=SYSTEM;外币汇率与收款日即期汇率表一致=RATE_TABLE,否则=MANUAL。 --- ---------------------------- -ALTER TABLE `customer_receipt` - ADD COLUMN `rate_source` VARCHAR(16) NOT NULL DEFAULT 'SYSTEM' - COMMENT '汇率来源:RATE_TABLE汇率表/MANUAL手工修改/SYSTEM系统默认(本币1:1)' AFTER `exchange_rate`, - ADD COLUMN `rate_source_desc` VARCHAR(100) DEFAULT NULL - COMMENT '汇率来源说明(汇率表来源及命中路径/手工录入等)' AFTER `rate_source`; - --- 存量数据订正:本币收款=系统默认;历史外币收款按汇率表取值口径登记,统一标记为汇率表 -UPDATE `customer_receipt` SET `rate_source` = 'SYSTEM' WHERE `currency` = 'CNY' AND `rate_source` = 'SYSTEM'; -UPDATE `customer_receipt` SET `rate_source` = 'RATE_TABLE' WHERE `currency` <> 'CNY'; diff --git a/bms-back/sql/customer+supplier/customer_supplier_menu_perms.sql b/bms-back/sql/customer+supplier/customer_supplier_menu_perms.sql deleted file mode 100644 index e1fdfa71..00000000 --- a/bms-back/sql/customer+supplier/customer_supplier_menu_perms.sql +++ /dev/null @@ -1,104 +0,0 @@ --- ---------------------------- --- 客户管理 / 供应商管理 菜单按钮权限补全 + 普通角色(role_id=2)初始授权 --- 幂等:可重复执行;已有记录不会重复插入 --- 菜单结构: --- 2309 客户/供应商管理(M) --- 2313 客户管理(C) perms -> customersupplier:customerinfo:list --- 2422 客户余额管理(C,隐藏,静态路由页面,仅作收款审核按钮挂载点) --- 2423 收款审核(F) customer:balance:review --- [新增] 客户查询/新增/修改/删除/导出 5个F按钮 --- 2314 供应商管理(C) perms -> customersupplier:supplierinfo:list --- [新增] 供应商查询/新增/修改/删除/导出 5个F按钮 --- ---------------------------- - --- 1. 两个业务菜单补 list 权限标识(后端列表接口 @PreAuthorize 要求) -UPDATE `sys_menu` SET `perms` = 'customersupplier:customerinfo:list' -WHERE `menu_id` = 2313 AND (`perms` IS NULL OR `perms` = ''); - -UPDATE `sys_menu` SET `perms` = 'customersupplier:supplierinfo:list' -WHERE `menu_id` = 2314 AND (`perms` IS NULL OR `perms` = ''); - --- 2. 客户余额管理为静态路由页面(/customersupplier/customer-money),侧边栏不应显示,避免死链 -UPDATE `sys_menu` SET `visible` = '1' -WHERE `menu_id` = 2422 AND `visible` = '0'; - --- 3. 补全客户管理 5 个按钮(F),按 perms 幂等 -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '客户查询', 2313, 1, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:query', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:query' AND `parent_id` = 2313); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '客户新增', 2313, 2, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:add', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:add' AND `parent_id` = 2313); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '客户修改', 2313, 3, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:edit', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:edit' AND `parent_id` = 2313); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '客户删除', 2313, 4, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:remove', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:remove' AND `parent_id` = 2313); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '客户导出', 2313, 5, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:customerinfo:export', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:customerinfo:export' AND `parent_id` = 2313); - --- 4. 补全供应商管理 5 个按钮(F),按 perms 幂等 -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '供应商查询', 2314, 1, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:query', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:query' AND `parent_id` = 2314); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '供应商新增', 2314, 2, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:add', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:add' AND `parent_id` = 2314); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '供应商修改', 2314, 3, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:edit', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:edit' AND `parent_id` = 2314); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '供应商删除', 2314, 4, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:remove', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:remove' AND `parent_id` = 2314); - -INSERT INTO `sys_menu` -(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, - `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `remark`) -SELECT '供应商导出', 2314, 5, '', '', '', 1, 0, 'F', '0', '0', 'customersupplier:supplierinfo:export', '#', 'admin', NOW(), '' -WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `perms` = 'customersupplier:supplierinfo:export' AND `parent_id` = 2314); - --- 5. 普通角色(role_id=2) 授权:目录 + 2个菜单 + 余额隐藏菜单 + 收款审核 + 10个新按钮(幂等) -INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) -SELECT 2, m.`menu_id` -FROM `sys_menu` m -WHERE ( - m.`menu_id` IN (2309, 2313, 2314, 2422, 2423) - OR m.`perms` IN ( - 'customersupplier:customerinfo:query', 'customersupplier:customerinfo:add', - 'customersupplier:customerinfo:edit', 'customersupplier:customerinfo:remove', - 'customersupplier:customerinfo:export', - 'customersupplier:supplierinfo:query', 'customersupplier:supplierinfo:add', - 'customersupplier:supplierinfo:edit', 'customersupplier:supplierinfo:remove', - 'customersupplier:supplierinfo:export' - ) -) -AND NOT EXISTS ( - SELECT 1 FROM `sys_role_menu` rm WHERE rm.`role_id` = 2 AND rm.`menu_id` = m.`menu_id` -); diff --git a/bms-back/sql/customer+supplier/customerye.sql b/bms-back/sql/customer+supplier/customerye.sql deleted file mode 100644 index f961cf72..00000000 --- a/bms-back/sql/customer+supplier/customerye.sql +++ /dev/null @@ -1,90 +0,0 @@ -DROP TABLE IF EXISTS `ctr_customer_account`; -CREATE TABLE `ctr_customer_account` ( - `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `customer_id` BIGINT(20) NOT NULL COMMENT '客户ID', - `currency` CHAR(3) NOT NULL DEFAULT 'CNY' COMMENT '币种,如 CNY/USD', - `balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '账户余额', - `frozen_balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '冻结余额', - `total_credit` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '总额度', - `extra_credit` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '额外额度', - `used_credit` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '已用额度', - `tax` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '税金', - `version` INT(11) NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', - `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', - `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_customer_currency` (`customer_id`, `currency`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客户余额表'; - - -DROP TABLE IF EXISTS `ctr_customer_receipt`; -CREATE TABLE `ctr_customer_receipt` ( - `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `receipt_no` VARCHAR(64) NOT NULL COMMENT '收款单号', - `customer_id` BIGINT(20) NOT NULL COMMENT '客户ID', - `account_id` BIGINT(20) DEFAULT NULL COMMENT '客户账户ID', - `receipt_type` VARCHAR(32) NOT NULL DEFAULT 'PREPAY' COMMENT '收款类型:PREPAY预充值/REPAY还款核销/MIXED混合', - `amount` DECIMAL(18,2) NOT NULL COMMENT '收款金额', - `allocated_amount` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '已核销金额', - `unallocated_amount` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '待核销金额', - `currency` CHAR(3) NOT NULL DEFAULT 'CNY' COMMENT '币种,如 CNY/USD', - `pay_method` VARCHAR(32) DEFAULT NULL COMMENT '收款方式:BANK_TRANSFER/ALIPAY/WECHAT/CASH/OTHER', - `bank_transaction_no` VARCHAR(64) DEFAULT NULL COMMENT '银行流水号/支付平台流水号', - `received_at` DATETIME NOT NULL COMMENT '收款日期', - `status` VARCHAR(16) NOT NULL DEFAULT 'PENDING' COMMENT '状态:PENDING待确认/CONFIRMED已确认/CANCELLED已取消', - `confirmed_at` DATETIME DEFAULT NULL COMMENT '确认时间', - `confirmed_by` BIGINT(20) DEFAULT NULL COMMENT '确认人', - `invoice_status` VARCHAR(16) NOT NULL DEFAULT 'NONE' COMMENT '开票状态:NONE未开/PART部分/ALL全部', - `version` INT(11) NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', - `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', - `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_receipt_no` (`receipt_no`), - KEY `idx_customer_time` (`customer_id`, `received_at`), - KEY `idx_account` (`account_id`), - KEY `idx_status` (`status`), - KEY `idx_bank_transaction_no` (`bank_transaction_no`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客户收款表'; - - -CREATE TABLE `ctr_customer_balance_flow` ( - `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `flow_no` VARCHAR(64) NOT NULL COMMENT '流水号', - `customer_id` BIGINT(20) NOT NULL COMMENT '客户ID', - `account_id` BIGINT(20) NOT NULL COMMENT '客户账户ID', - `currency` CHAR(3) NOT NULL DEFAULT 'CNY' COMMENT '币种', - `biz_type` VARCHAR(32) NOT NULL COMMENT '业务类型:RECEIPT收款/BILL_PAY账单支付/REFUND退款/ADJUST手工调整/FREEZE冻结/UNFREEZE解冻', - `biz_id` BIGINT(20) DEFAULT NULL COMMENT '关联业务ID,如收款单ID、账单ID', - `biz_no` VARCHAR(64) DEFAULT NULL COMMENT '关联业务单号', - `direction` TINYINT(1) NOT NULL COMMENT '变动方向:1增加,-1减少', - `amount` DECIMAL(18,2) NOT NULL COMMENT '变动金额', - `before_balance` DECIMAL(18,2) NOT NULL COMMENT '变动前余额', - `after_balance` DECIMAL(18,2) NOT NULL COMMENT '变动后余额', - `before_frozen_balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '变动前冻结余额', - `after_frozen_balance` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '变动后冻结余额', - `operator_id` BIGINT(20) DEFAULT NULL COMMENT '操作人', - `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', - `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_flow_no` (`flow_no`), - KEY `idx_customer_time` (`customer_id`, `create_time`), - KEY `idx_account_time` (`account_id`, `create_time`), - KEY `idx_biz` (`biz_type`, `biz_id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='余额流水表'; - --- 收款单附件复用客户附件表:attachment_type='3'(其他),biz_id 关联 ctr_customer_receipt.id -ALTER TABLE `ctr_customer_attachment` - ADD COLUMN `biz_id` BIGINT(20) DEFAULT NULL COMMENT '关联业务ID(如收款单ID,attachment_type=3时使用)' AFTER `attachment_type`, - ADD KEY `idx_biz_id` (`biz_id`); diff --git a/bms-back/sql/customer+supplier/datascope_sales_roles.sql b/bms-back/sql/customer+supplier/datascope_sales_roles.sql deleted file mode 100644 index 9fe97cf1..00000000 --- a/bms-back/sql/customer+supplier/datascope_sales_roles.sql +++ /dev/null @@ -1,37 +0,0 @@ --- ============================================================= --- 客户/供应商数据权限角色: --- 销售(sales) data_scope=5 仅本人:只看 sales_user_id/purchaser_user_id=自己 的数据 --- 销售经理(sales_mgr) data_scope=3 本部门:看所属部门人员的客户/供应商 --- 超级管理员(admin) data_scope=1 全部数据,不受限。 --- 菜单授权:客户/供应商管理目录 + 客户管理 + 供应商管理 + 客户余额管理 + 查询/新增/修改/导出按钮 --- 幂等:角色已存在则只更新 data_scope,菜单授权重复执行无副作用 --- 2026-09-21 --- ============================================================= -SET NAMES utf8mb4; - -INSERT INTO `sys_role` - (`role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, - `status`, `del_flag`, `create_by`, `create_time`, `remark`) -SELECT '销售', 'sales', 10, '5', 1, 1, '0', '0', 'admin', NOW(), '仅本人数据:只能看自己负责的客户/供应商' -FROM DUAL -WHERE NOT EXISTS (SELECT 1 FROM `sys_role` WHERE `role_key` = 'sales' AND `del_flag` = '0'); - -INSERT INTO `sys_role` - (`role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, - `status`, `del_flag`, `create_by`, `create_time`, `remark`) -SELECT '销售经理', 'sales_mgr', 11, '3', 1, 1, '0', '0', 'admin', NOW(), '本部门数据:可查看本部门销售负责的客户/供应商' -FROM DUAL -WHERE NOT EXISTS (SELECT 1 FROM `sys_role` WHERE `role_key` = 'sales_mgr' AND `del_flag` = '0'); - --- 角色数据范围以本文件为准(重复执行可纠偏) -UPDATE `sys_role` SET `data_scope` = '5' WHERE `role_key` = 'sales' AND `del_flag` = '0'; -UPDATE `sys_role` SET `data_scope` = '3' WHERE `role_key` = 'sales_mgr' AND `del_flag` = '0'; - --- 菜单授权(2309 目录 / 2313 客户管理 / 2314 供应商管理 / 2422 客户余额管理 / 2424~2433 操作按钮) -INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) -SELECT r.role_id, m.menu_id -FROM `sys_role` r -JOIN `sys_menu` m ON m.menu_id IN (2309, 2313, 2314, 2422, 2424, 2425, 2426, 2428, 2429, 2430, 2431, 2433) -WHERE r.`role_key` IN ('sales', 'sales_mgr') - AND r.`del_flag` = '0' - AND NOT EXISTS (SELECT 1 FROM `sys_role_menu` rm WHERE rm.role_id = r.role_id AND rm.menu_id = m.menu_id); diff --git a/bms-back/sql/customer+supplier/dict_customer_fund_biz_type.sql b/bms-back/sql/customer+supplier/dict_customer_fund_biz_type.sql deleted file mode 100644 index ebbda3a0..00000000 --- a/bms-back/sql/customer+supplier/dict_customer_fund_biz_type.sql +++ /dev/null @@ -1,22 +0,0 @@ --- customer fund biz_type dict (CustomerFundBizType) --- dict_type: customer_fund_biz_type - -INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) -SELECT '客户资金业务类型', 'customer_fund_biz_type', '0', 'admin', sysdate(), 'ICustomerAccountApi bizType' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'customer_fund_biz_type'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 1, '收款', 'RECEIPT', 'customer_fund_biz_type', '', 'success', 'N', '0', 'admin', sysdate(), NULL -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'customer_fund_biz_type' AND dict_value = 'RECEIPT'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 2, '应收账单', 'AR_BILL', 'customer_fund_biz_type', '', 'primary', 'N', '0', 'admin', sysdate(), NULL -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'customer_fund_biz_type' AND dict_value = 'AR_BILL'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 3, '账单核销', 'BILL_PAY', 'customer_fund_biz_type', '', 'danger', 'N', '0', 'admin', sysdate(), NULL -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'customer_fund_biz_type' AND dict_value = 'BILL_PAY'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 4, '计费订单', 'ORDER', 'customer_fund_biz_type', '', 'warning', 'Y', '0', 'admin', sysdate(), 'TMS bill sync occupy/release' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'customer_fund_biz_type' AND dict_value = 'ORDER'); diff --git a/bms-back/sql/customer+supplier/job_customer_credit_expire.sql b/bms-back/sql/customer+supplier/job_customer_credit_expire.sql deleted file mode 100644 index ad0ee552..00000000 --- a/bms-back/sql/customer+supplier/job_customer_credit_expire.sql +++ /dev/null @@ -1,15 +0,0 @@ --- ============================================================= --- 客户授信到期失效 - 纳入 RuoYi 定时任务菜单(Quartz / sys_job) --- 调用目标:customerCreditTask.expireCredits() --- cron:每天 01:30(失效日当天仍有效,严格按「早于今天」判断) --- 幂等:已存在同名调用目标则跳过 --- ============================================================= -INSERT INTO sys_job - (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark) -SELECT '客户授信到期失效', 'DEFAULT', 'customerCreditTask.expireCredits()', - '0 30 1 * * ?', '3', '1', '0', 'admin', NOW(), - '每天01:30扫描已到期的信用/临时额度并物化失效(额度清零、释放额度池、写EXPIRE流水);失效日当天仍有效' -FROM DUAL -WHERE NOT EXISTS ( - SELECT 1 FROM sys_job WHERE invoke_target = 'customerCreditTask.expireCredits()' -); diff --git a/bms-back/sql/customer+supplier/rename_module_tables_20260924.sql b/bms-back/sql/customer+supplier/rename_module_tables_20260924.sql deleted file mode 100644 index 5d9d6c60..00000000 --- a/bms-back/sql/customer+supplier/rename_module_tables_20260924.sql +++ /dev/null @@ -1,33 +0,0 @@ --- ============================================================= --- 表名按模块缩写重命名 --- 供应商模块:bms_supplier* -> sup_supplier* --- 客户模块: bms_customer* -> ctr_customer* --- customer_* -> ctr_customer_* --- 2026-09-24 --- 说明: --- 1. 14 张表均无外键约束(子表通过 customer_id/supplier_id 逻辑关联),可直接 RENAME; --- 2. RENAME TABLE 为单条 DDL,MySQL 原子执行; --- 3. 同步更新代码生成器元数据 gen_table.table_name; --- 4. 注意:bms_customer_attachment.biz_type 中的枚举值 'customer_receipt' 是业务类型, --- 不是表名,保持不变。 --- ============================================================= -SET NAMES utf8mb4; - -RENAME TABLE - bms_supplier TO sup_supplier, - bms_supplier_attachment TO sup_supplier_attachment, - bms_supplier_company TO sup_supplier_company, - bms_supplier_contact TO sup_supplier_contact, - bms_customer TO ctr_customer, - bms_customer_attachment TO ctr_customer_attachment, - bms_customer_company TO ctr_customer_company, - bms_customer_contact TO ctr_customer_contact, - customer_account TO ctr_customer_account, - customer_balance_flow TO ctr_customer_balance_flow, - customer_credit_apply TO ctr_customer_credit_apply, - customer_credit_flow TO ctr_customer_credit_flow, - customer_credit_grant TO ctr_customer_credit_grant, - customer_receipt TO ctr_customer_receipt; - --- 代码生成器元数据(类名 BmsCustomer 不变,仅表名同步) -UPDATE gen_table SET table_name = 'ctr_customer' WHERE table_name = 'bms_customer'; diff --git a/bms-back/sql/customer+supplier/role_credit_quota.sql b/bms-back/sql/customer+supplier/role_credit_quota.sql deleted file mode 100644 index 49f84f00..00000000 --- a/bms-back/sql/customer+supplier/role_credit_quota.sql +++ /dev/null @@ -1,76 +0,0 @@ --- ============================================================= --- 角色额度池 + 客户信用额度有效期 改造 --- 1. ctr_customer_account 新增信用额度生效/失效日期(与临时额度口径一致,到期次日自动清零) --- 2. ctr_customer_credit_apply 新增 approve_role_id,记录审批占用的额度池角色 --- 3. ctr_customer_credit_flow 新增 role_id,流水留痕额度池归属角色 --- 4. 新表 sys_role_credit_quota:管理员为角色设置的可分配额度总额(额度池) --- 5. 新表 ctr_customer_credit_grant:审批增量额度的占用台账(池余额=该表remaining求和) --- 2026-09-20 --- 说明:ALTER 语句非自动幂等,若字段/表已存在,对应语句会报 Duplicate/already exists,忽略即可 --- ============================================================= -SET NAMES utf8mb4; - --- ------------------------------------------------------------- --- 1. ctr_customer_account:信用额度有效期 --- ------------------------------------------------------------- -ALTER TABLE `ctr_customer_account` - ADD COLUMN `credit_effective_date` DATE DEFAULT NULL COMMENT '信用额度生效日期' AFTER `total_credit`, - ADD COLUMN `credit_expire_date` DATE DEFAULT NULL COMMENT '信用额度失效日期(空=长期;到期次日清零)' AFTER `credit_effective_date`; - --- ------------------------------------------------------------- --- 2. ctr_customer_credit_apply / ctr_customer_credit_flow:额度池归属 --- ------------------------------------------------------------- -ALTER TABLE `ctr_customer_credit_apply` - ADD COLUMN `approve_role_id` BIGINT(20) DEFAULT NULL COMMENT '审批占用的额度池角色ID(NULL=超管审批不占池)' AFTER `approve_user_id`; - -ALTER TABLE `ctr_customer_credit_flow` - ADD COLUMN `role_id` BIGINT(20) DEFAULT NULL COMMENT '额度池角色ID(审批调整流水留痕;NULL=超管/系统)' AFTER `operator_id`; - --- ------------------------------------------------------------- --- 3. 角色额度池 --- 一个角色一行;没有记录视为额度 0(该角色用户不能审批任何增量授信) --- ------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `sys_role_credit_quota` ( - `role_id` BIGINT(20) NOT NULL COMMENT '角色ID(sys_role.role_id)', - `total_quota` DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '可分配额度总额(CNY)', - `version` INT(11) NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', - `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`role_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色可分配授信额度池'; - --- ------------------------------------------------------------- --- 4. 额度分配台账 --- 审批通过的净增额度在此占一行(占用角色池);调减/到期按 FIFO 核销行余额。 --- 角色池已用 = SUM(remaining WHERE role_id=? AND status='0') --- role_id 为 NULL 表示超管审批(不占池)或历史/建档直配额度。 --- ------------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `ctr_customer_credit_grant` ( - `grant_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '台账ID', - `customer_id` BIGINT(20) NOT NULL COMMENT '客户ID', - `account_id` BIGINT(20) NOT NULL COMMENT '客户账户ID', - `role_id` BIGINT(20) DEFAULT NULL COMMENT '占用的额度池角色ID(NULL=超管/不占池)', - `approve_user_id` BIGINT(20) DEFAULT NULL COMMENT '审批人ID', - `apply_id` BIGINT(20) DEFAULT NULL COMMENT '额度申请单ID', - `flow_id` BIGINT(20) DEFAULT NULL COMMENT '额度流水ID', - `credit_type` VARCHAR(16) NOT NULL COMMENT '额度类型:CREDIT信用额度 TEMP临时额度', - `amount` DECIMAL(18,2) NOT NULL COMMENT '原始占用池金额', - `remaining` DECIMAL(18,2) NOT NULL COMMENT '仍占用池的待释放余额', - `effective_date` DATE DEFAULT NULL COMMENT '生效日期', - `expire_date` DATE DEFAULT NULL COMMENT '失效日期', - `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态:0占用中 1已释放', - `release_time` DATETIME DEFAULT NULL COMMENT '全部释放时间', - `create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者', - `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者', - `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', - `del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)', - PRIMARY KEY (`grant_id`), - KEY `idx_role_status` (`role_id`, `status`), - KEY `idx_customer_type_status` (`customer_id`, `credit_type`, `status`), - KEY `idx_apply` (`apply_id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客户授信额度分配台账(角色池占用明细)'; diff --git a/bms-back/sql/customer+supplier/supplier.sql b/bms-back/sql/customer+supplier/supplier.sql deleted file mode 100644 index d6446f7d..00000000 --- a/bms-back/sql/customer+supplier/supplier.sql +++ /dev/null @@ -1,74 +0,0 @@ --- 假设开发库表里无重要数据,直接 ALTER;如有数据需先备份迁移 --- 1) 客户主表 -ALTER TABLE ctr_customer MODIFY COLUMN customer_id varchar(32) NOT NULL COMMENT '客户ID(UUID)'; --- 2) 供应商主表 -ALTER TABLE sup_supplier MODIFY COLUMN supplier_id varchar(32) NOT NULL COMMENT '供应商ID(UUID)'; - - -select * from sys_menu - - -DROP TABLE IF EXISTS `sup_supplier`; - - -CREATE TABLE `sup_supplier` ( - -- ========== 主键 ========== - `supplier_id` VARCHAR(32) NOT NULL AUTO_INCREMENT COMMENT '供应商ID', - - -- ========== 供应商基本信息 ========== - `supplier_code` varchar(50) NOT NULL COMMENT '供应商编码', - `supplier_name` varchar(100) NOT NULL COMMENT '供应商名称', - `supplier_code_dw` varchar(50) DEFAULT '' COMMENT '对外代码', - `credit_code` varchar(18) DEFAULT '' COMMENT '统一社会信用代码', - - -- ========== 业务类型(字典:生产商、代理商、个人、物流商等) ========== - `supplier_type` char(1) DEFAULT '0' COMMENT '供应商类型(0生产商 1代理商 2个人 3物流商 4其他)', - `is_enable` char(1) DEFAULT '0' COMMENT '启用状态(0正常 1停用)', - - -- ========== 采购归属 ========== - `purchaser_user_id` varchar(64) DEFAULT '' COMMENT '采购员用户ID', - `purchaser_user` varchar(50) DEFAULT '' COMMENT '采购员姓名', - - -- ========== 财务人员(采购侧) ========== - `settlement_user_id` varchar(64) DEFAULT '' COMMENT '结算员用户ID', - `settlement_user` varchar(50) DEFAULT '' COMMENT '结算员姓名', - `service_user_id` varchar(64) DEFAULT '' COMMENT '跟单员用户ID', - `service_user` varchar(50) DEFAULT '' COMMENT '跟单员姓名', - - -- ========== 财务信息(应付侧) ========== - `ed` decimal(15,2) DEFAULT 0.00 COMMENT '应付额度(元)', -- 供应商侧:可欠款上限 - `zq` int(11) DEFAULT 0 COMMENT '应付账期(天)', -- 供应商侧:付款账期 - `settlement_type` char(1) DEFAULT '0' COMMENT '结算方式(0月结 1周结 2日结 3票结)', - `temp_ed` decimal(15,2) DEFAULT 0.00 COMMENT '临时额度(元)', - `account_balance` decimal(15,2) DEFAULT 0.00 COMMENT '应付余额(元)', -- 累计欠款余额(正数表示欠供应商的钱) - `foreign_currency_balance` decimal(15,2) DEFAULT 0.00 COMMENT '外币应付余额(元)', -- 外币欠款余额 - `credit_ed` decimal(15,2) DEFAULT 0.00 COMMENT '信用额度(元)', - - -- ========== 供应商特有字段 ========== - `weight_threshold` decimal(15,2) DEFAULT 0.00 COMMENT '重量阈值(kg)', - `throw_ratio` decimal(15,2) DEFAULT 0.00 COMMENT '抛比(%)', - `cooperation_start_date` date DEFAULT NULL COMMENT '合作开始日期', - `cooperation_status` char(1) DEFAULT '0' COMMENT '合作状态(0正常 1暂停 2终止)', - - -- ========== 绑定的产品/服务 ========== - `channel_ids` varchar(1000) DEFAULT NULL COMMENT '绑定的渠道/服务ID(多个用逗号分隔)', - - -- ========== 备注 ========== - `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', - - -- ========== 若依标准审计字段 ========== - `create_by` varchar(64) DEFAULT '' COMMENT '创建者', - `create_time` datetime DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT '' COMMENT '更新者', - `update_time` datetime DEFAULT NULL COMMENT '更新时间', - `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0正常 2删除)', - - -- ========== 主键 & 索引 ========== - PRIMARY KEY (`supplier_id`) --- UNIQUE KEY `uk_supplier_code` (`supplier_code`), --- UNIQUE KEY `uk_credit_code` (`credit_code`), --- KEY `idx_purchaser_user_id` (`purchaser_user_id`), --- KEY `idx_supplier_type` (`supplier_type`), --- KEY `idx_is_enable` (`is_enable`) - -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='供应商主表'; \ No newline at end of file diff --git a/bms-back/sql/customer+supplier/客户管理相关所有表结构.sql b/bms-back/sql/customer+supplier/客户管理相关所有表结构.sql deleted file mode 100644 index e69de29b..00000000 diff --git a/bms-back/sql/data/customer_receipt_base_currency.sql b/bms-back/sql/data/customer_receipt_base_currency.sql deleted file mode 100644 index 899f95ef..00000000 --- a/bms-back/sql/data/customer_receipt_base_currency.sql +++ /dev/null @@ -1,20 +0,0 @@ --- ---------------------------- --- 收款/流水 增加「对CNY汇率」「本位币金额(CNY)」 --- 统一本位币核算:原币登记,审核后一律折算为 CNY 入客户本位币账户 --- 汇率定义:1 单位原币 = exchange_rate 单位 CNY(CNY 本币汇率固定为 1) --- ---------------------------- - -ALTER TABLE `customer_receipt` - ADD COLUMN `exchange_rate` decimal(18,8) DEFAULT 1.00000000 COMMENT '对CNY汇率(1原币=?CNY,CNY为1)' AFTER `currency`, - ADD COLUMN `base_amount` decimal(18,2) DEFAULT 0.00 COMMENT '本位币金额(CNY,原币金额×汇率)' AFTER `exchange_rate`; - --- 历史数据(均为CNY收款):汇率1,本位币金额=原金额 -UPDATE `customer_receipt` SET `exchange_rate` = 1, `base_amount` = `amount` -WHERE `exchange_rate` = 1 AND (`base_amount` = 0 OR `base_amount` IS NULL); - -ALTER TABLE `customer_balance_flow` - ADD COLUMN `exchange_rate` decimal(18,8) DEFAULT 1.00000000 COMMENT '对CNY汇率(1原币=?CNY,CNY为1)' AFTER `currency`, - ADD COLUMN `base_amount` decimal(18,2) DEFAULT 0.00 COMMENT '本位币金额(CNY,变动额折算)' AFTER `exchange_rate`; - -UPDATE `customer_balance_flow` SET `exchange_rate` = 1, `base_amount` = `amount` -WHERE `exchange_rate` = 1 AND (`base_amount` = 0 OR `base_amount` IS NULL); diff --git a/bms-back/sql/data/sys_exchange_rate.sql b/bms-back/sql/data/sys_exchange_rate.sql deleted file mode 100644 index b358642b..00000000 --- a/bms-back/sql/data/sys_exchange_rate.sql +++ /dev/null @@ -1,37 +0,0 @@ --- ---------------------------- --- 汇率管理表 sys_exchange_rate --- 汇率定义:1 单位源币种(from_currency) = exchange_rate 单位目标币种(to_currency) --- 例:USD -> CNY, exchange_rate = 7.10000000 表示 1 USD = 7.1 CNY --- ---------------------------- -DROP TABLE IF EXISTS `sys_exchange_rate`; -CREATE TABLE `sys_exchange_rate` ( - `rate_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '汇率ID', - `from_currency` varchar(10) NOT NULL COMMENT '源币种', - `to_currency` varchar(10) NOT NULL COMMENT '目标币种', - `rate_type` char(1) DEFAULT '0' COMMENT '汇率类型(0即期汇率 1月初汇率 2月末汇率 3固定汇率)', - `exchange_rate` decimal(18,8) NOT NULL COMMENT '汇率值(1源币种=?目标币种)', - `effective_date` date NOT NULL COMMENT '生效日期', - `expire_date` date DEFAULT NULL COMMENT '失效日期', - `source` varchar(50) DEFAULT '' COMMENT '汇率来源(中国银行/央行/手工录入)', - `remark` varchar(500) DEFAULT NULL COMMENT '备注', - `create_by` varchar(64) DEFAULT '' COMMENT '创建者', - `create_time` datetime DEFAULT NULL COMMENT '创建时间', - `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0存在 1删除)', - PRIMARY KEY (`rate_id`), - KEY `idx_currency_date` (`from_currency`, `to_currency`, `effective_date`), - KEY `idx_rate_type` (`rate_type`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汇率表'; - --- ---------------------------- --- 初始常用汇率(即期,2026-09-14 生效,长期有效;请按实际行情维护) --- ---------------------------- -INSERT INTO `sys_exchange_rate` -(`from_currency`, `to_currency`, `rate_type`, `exchange_rate`, `effective_date`, `expire_date`, `source`, `remark`, `create_by`, `create_time`) -VALUES -('USD', 'CNY', '0', 7.10000000, '2026-09-14', NULL, '中国银行', '美元兑人民币即期汇率', 'admin', NOW()), -('EUR', 'CNY', '0', 7.85000000, '2026-09-14', NULL, '中国银行', '欧元兑人民币即期汇率', 'admin', NOW()), -('GBP', 'CNY', '0', 9.05000000, '2026-09-14', NULL, '中国银行', '英镑兑人民币即期汇率', 'admin', NOW()), -('HKD', 'CNY', '0', 0.91000000, '2026-09-14', NULL, '中国银行', '港币兑人民币即期汇率', 'admin', NOW()), -('JPY', 'CNY', '0', 0.04800000, '2026-09-14', NULL, '中国银行', '日元兑人民币即期汇率(1日元)', 'admin', NOW()), -('CNY', 'USD', '0', 0.14084507, '2026-09-14', NULL, '手工录入', '人民币兑美元(USD/CNY倒数)', 'admin', NOW()), -('CNY', 'EUR', '0', 0.12738854, '2026-09-14', NULL, '手工录入', '人民币兑欧元(EUR/CNY倒数)', 'admin', NOW()); diff --git a/bms-back/sql/monitor/billing_task_menu.sql b/bms-back/sql/monitor/billing_task_menu.sql deleted file mode 100644 index c3b44bc4..00000000 --- a/bms-back/sql/monitor/billing_task_menu.sql +++ /dev/null @@ -1,18 +0,0 @@ --- Billing task abnormal list under system monitor (parent_id = 2) -SET NAMES utf8mb4; - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2322, N'计费任务异常', 2, 8, 'billingTask', 'monitor/billingTask/index', '', 'BillingTaskMonitor', 1, 0, 'C', '0', '0', 'monitor:billingTask:list', 'bug', 'admin', sysdate(), N'prc_billing_task异常订单,支持手工重新同步' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2322 OR perms = 'monitor:billingTask:list'); - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2323, N'查询', 2322, 1, '', NULL, 1, 0, 'F', '0', '0', 'monitor:billingTask:list', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2323); - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2324, N'重新同步', 2322, 2, '', NULL, 1, 0, 'F', '0', '0', 'monitor:billingTask:retry', '#', 'admin', sysdate(), N'手工重试计费任务' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2324 OR perms = 'monitor:billingTask:retry'); - -INSERT INTO sys_role_menu (role_id, menu_id) -SELECT 1, m.menu_id FROM (SELECT 2322 AS menu_id UNION SELECT 2323 UNION SELECT 2324) m -WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id); diff --git a/bms-back/sql/monitor/eslog_menu.sql b/bms-back/sql/monitor/eslog_menu.sql deleted file mode 100644 index 2792c0c7..00000000 --- a/bms-back/sql/monitor/eslog_menu.sql +++ /dev/null @@ -1,14 +0,0 @@ --- ES log menu under system monitor (parent_id = 2) -SET NAMES utf8mb4; - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, query, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT 2320, N'ES日志', 2, 7, 'eslog', 'monitor/eslog/index', '', 'EsLog', 1, 0, 'C', '0', '0', 'monitor:eslog:list', 'log', 'admin', sysdate(), N'查看Elasticsearch计费同步报文' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2320); - -INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time) -SELECT 2321, N'查询', 2320, 1, '', NULL, 1, 0, 'F', '0', '0', 'monitor:eslog:list', '#', 'admin', sysdate() -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2321); - -INSERT INTO sys_role_menu (role_id, menu_id) -SELECT 1, m.menu_id FROM (SELECT 2320 AS menu_id UNION SELECT 2321) m -WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id); diff --git a/bms-back/sql/price/billing_arrears_menu.sql b/bms-back/sql/price/billing_arrears_menu.sql deleted file mode 100644 index b85dc5b5..00000000 --- a/bms-back/sql/price/billing_arrears_menu.sql +++ /dev/null @@ -1,14 +0,0 @@ --- Billing list: update credit arrears status permission (parent = price:billing:bill) -SET NAMES utf8mb4; - -SET @parent_id := (SELECT menu_id FROM sys_menu WHERE perms = 'price:billing:bill' AND menu_type = 'C' LIMIT 1); - -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT N'更新欠费状态', @parent_id, 13, '', NULL, 1, 0, 'F', '0', '0', 'price:billing:arrearsUpdate', '#', 'admin', sysdate(), N'计费列表手动更新订单额度欠费状态(需校验可用额度)' -FROM DUAL -WHERE @parent_id IS NOT NULL - AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'price:billing:arrearsUpdate'); - -INSERT INTO sys_role_menu (role_id, menu_id) -SELECT 1, menu_id FROM sys_menu WHERE perms = 'price:billing:arrearsUpdate' - AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = sys_menu.menu_id); diff --git a/bms-back/sql/price/billing_fee_menu.sql b/bms-back/sql/price/billing_fee_menu.sql deleted file mode 100644 index aa439b4a..00000000 --- a/bms-back/sql/price/billing_fee_menu.sql +++ /dev/null @@ -1,26 +0,0 @@ --- Billing list: manual fee button permissions (parent = price:billing:bill) -SET NAMES utf8mb4; - -SET @parent_id := (SELECT menu_id FROM sys_menu WHERE perms = 'price:billing:bill' AND menu_type = 'C' LIMIT 1); - -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT N'增加费用', @parent_id, 10, '', NULL, 1, 0, 'F', '0', '0', 'price:billing:feeAdd', '#', 'admin', sysdate(), N'计费详情手动增加费用' -FROM DUAL -WHERE @parent_id IS NOT NULL - AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'price:billing:feeAdd'); - -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT N'编辑费用', @parent_id, 11, '', NULL, 1, 0, 'F', '0', '0', 'price:billing:feeEdit', '#', 'admin', sysdate(), N'编辑手动增加且未生成账单的费用' -FROM DUAL -WHERE @parent_id IS NOT NULL - AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'price:billing:feeEdit'); - -INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) -SELECT N'删除费用', @parent_id, 12, '', NULL, 1, 0, 'F', '0', '0', 'price:billing:feeRemove', '#', 'admin', sysdate(), N'删除手动增加且未生成账单的费用' -FROM DUAL -WHERE @parent_id IS NOT NULL - AND NOT EXISTS (SELECT 1 FROM sys_menu WHERE perms = 'price:billing:feeRemove'); - -INSERT INTO sys_role_menu (role_id, menu_id) -SELECT 1, menu_id FROM sys_menu WHERE perms IN ('price:billing:feeAdd', 'price:billing:feeEdit', 'price:billing:feeRemove') - AND NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = sys_menu.menu_id); diff --git a/bms-back/sql/price/billing_task.sql b/bms-back/sql/price/billing_task.sql deleted file mode 100644 index 474b68e3..00000000 --- a/bms-back/sql/price/billing_task.sql +++ /dev/null @@ -1,27 +0,0 @@ --- prc_billing_task: inbound warehouse billing queue --- bill_type: PENDING / REBILL / REFUND --- success_status: WAITING / SUCCESS / FAILED --- bill_time: billing time from mobile (used as bill bizDate) -SET NAMES utf8mb4; - -CREATE TABLE IF NOT EXISTS prc_billing_task ( - task_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID', - transfer_no VARCHAR(64) DEFAULT NULL COMMENT '转单号', - tracking_no VARCHAR(64) DEFAULT NULL COMMENT '运单号', - order_no VARCHAR(64) DEFAULT NULL COMMENT '订单号', - bill_type VARCHAR(20) NOT NULL COMMENT '计费类型:PENDING待计费 REBILL重计费 REFUND退费', - success_status VARCHAR(20) NOT NULL DEFAULT 'WAITING' COMMENT '是否计费成功:WAITING待处理 SUCCESS成功 FAILED失败', - bill_time DATETIME DEFAULT NULL COMMENT '计费时间(手游/入库传入,用作计费日)', - bill_id VARCHAR(36) DEFAULT NULL COMMENT '计费订单ID prc_order_bill.bill_id', - error_message VARCHAR(1000) DEFAULT NULL COMMENT '失败原因', - create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (task_id), - KEY idx_billing_task_transfer (transfer_no), - KEY idx_billing_task_tracking (tracking_no), - KEY idx_billing_task_order (order_no), - KEY idx_billing_task_status (success_status, create_time), - KEY idx_billing_task_type (bill_type) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='计费任务表'; diff --git a/bms-back/sql/price/dict_bms_fee_type_refund.sql b/bms-back/sql/price/dict_bms_fee_type_refund.sql deleted file mode 100644 index e2a68dc0..00000000 --- a/bms-back/sql/price/dict_bms_fee_type_refund.sql +++ /dev/null @@ -1,22 +0,0 @@ --- bms_fee_type: add REFUND (refund fee type) -SET NAMES utf8mb4; - -INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) -SELECT N'费用类型', 'bms_fee_type', '0', 'admin', sysdate(), N'计费/附加费费用类型' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'bms_fee_type'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 1, N'基础运费', 'BASIC_FREIGHT', 'bms_fee_type', '', 'primary', 'N', '0', 'admin', sysdate(), NULL -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'BASIC_FREIGHT'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 2, N'挂号费', 'REGISTRATION_FEE', 'bms_fee_type', '', 'info', 'N', '0', 'admin', sysdate(), NULL -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'REGISTRATION_FEE'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 3, N'附加费', 'SURCHARGE', 'bms_fee_type', '', 'warning', 'N', '0', 'admin', sysdate(), NULL -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'SURCHARGE'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) -SELECT 4, N'退费', 'REFUND', 'bms_fee_type', '', 'danger', 'N', '0', 'admin', sysdate(), N'计费任务 billType=REFUND 负金额明细' -FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'bms_fee_type' AND dict_value = 'REFUND'); diff --git a/bms-back/sql/price/order_bill_ext.sql b/bms-back/sql/price/order_bill_ext.sql deleted file mode 100644 index 132e1519..00000000 --- a/bms-back/sql/price/order_bill_ext.sql +++ /dev/null @@ -1,12 +0,0 @@ --- prc_order_bill_ext:计费订单扩展(TAB_ORDER 剩余字段) -SET NAMES utf8mb4; - -CREATE TABLE IF NOT EXISTS prc_order_bill_ext ( - bill_id VARCHAR(36) NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id', - order_no VARCHAR(64) NOT NULL COMMENT '订单号', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (bill_id), - UNIQUE KEY uk_order_bill_ext_order (order_no), - CONSTRAINT fk_order_bill_ext_bill FOREIGN KEY (bill_id) REFERENCES prc_order_bill (bill_id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单计费扩展表'; diff --git a/bms-back/sql/price/order_bill_ext_drop_sync_json.sql b/bms-back/sql/price/order_bill_ext_drop_sync_json.sql deleted file mode 100644 index 661f056f..00000000 --- a/bms-back/sql/price/order_bill_ext_drop_sync_json.sql +++ /dev/null @@ -1,4 +0,0 @@ --- 删除 prc_order_bill_ext.sync_json -SET NAMES utf8mb4; - -ALTER TABLE prc_order_bill_ext DROP COLUMN sync_json; diff --git a/bms-back/sql/price/order_bill_psv_psd_alter.sql b/bms-back/sql/price/order_bill_psv_psd_alter.sql deleted file mode 100644 index c05d8c4b..00000000 --- a/bms-back/sql/price/order_bill_psv_psd_alter.sql +++ /dev/null @@ -1,8 +0,0 @@ --- prc_order_bill:增加套餐版本ID、套餐明细ID -SET NAMES utf8mb4; - -ALTER TABLE prc_order_bill - ADD COLUMN psv_id BIGINT DEFAULT NULL COMMENT '套餐版本ID,对应 prc_price_set_version.psv_id' AFTER customer_priceset_id, - ADD COLUMN psd_id BIGINT DEFAULT NULL COMMENT '套餐明细ID,对应 prc_price_set_detail.psd_id' AFTER psv_id, - ADD KEY idx_order_bill_psv (psv_id), - ADD KEY idx_order_bill_psd (psd_id); diff --git a/bms-back/sql/price/order_bill_saler_code_alter.sql b/bms-back/sql/price/order_bill_saler_code_alter.sql deleted file mode 100644 index e0ea8f3a..00000000 --- a/bms-back/sql/price/order_bill_saler_code_alter.sql +++ /dev/null @@ -1,10 +0,0 @@ --- prc_order_bill / prc_income_bill:增加销售员、结算员编码 -SET NAMES utf8mb4; - -ALTER TABLE prc_order_bill - ADD COLUMN belong_saler_code VARCHAR(64) DEFAULT NULL COMMENT '销售员编码' AFTER belong_saler, - ADD COLUMN settlement_man_code VARCHAR(64) DEFAULT NULL COMMENT '结算员编码' AFTER settlement_man; - -ALTER TABLE prc_income_bill - ADD COLUMN belong_saler_code VARCHAR(64) DEFAULT NULL COMMENT '销售员编码' AFTER belong_saler, - ADD COLUMN settlement_man_code VARCHAR(64) DEFAULT NULL COMMENT '结算员编码' AFTER settlement_man; diff --git a/bms-back/sql/price/order_bill_sales_and_ext_alter.sql b/bms-back/sql/price/order_bill_sales_and_ext_alter.sql deleted file mode 100644 index 41768513..00000000 --- a/bms-back/sql/price/order_bill_sales_and_ext_alter.sql +++ /dev/null @@ -1,180 +0,0 @@ --- prc_order_bill / prc_order_bill_ext:从 TAB_ORDER 补充字段 -SET NAMES utf8mb4; - -ALTER TABLE prc_order_bill - ADD COLUMN belong_saler VARCHAR(64) DEFAULT NULL COMMENT '所属销售员' AFTER transfer_no, - ADD COLUMN settlement_man VARCHAR(64) DEFAULT NULL COMMENT '结算员' AFTER belong_saler, - ADD COLUMN service_man VARCHAR(64) DEFAULT NULL COMMENT '客服员' AFTER settlement_man; - --- prc_order_bill_ext:TAB_ORDER 中尚未落在 prc_order_bill 的字段 -ALTER TABLE prc_order_bill_ext - ADD COLUMN upstream_id VARCHAR(64) DEFAULT NULL COMMENT 'guid', - ADD COLUMN line_no VARCHAR(32) DEFAULT NULL COMMENT '线路', - ADD COLUMN package_num INT DEFAULT NULL COMMENT '包裹数量', - ADD COLUMN actual_volume DECIMAL(10,3) DEFAULT NULL COMMENT '实际体积重', - ADD COLUMN cp_type TINYINT DEFAULT NULL COMMENT '线路产品类型 1全程 2干线 3尾程', - ADD COLUMN consignee_mobile VARCHAR(32) DEFAULT NULL COMMENT '收件人手机', - ADD COLUMN order_returnsign CHAR(1) DEFAULT NULL COMMENT '退回标志,默认N表示不退回,Y标表示退回。中邮可以忽略该属性', - ADD COLUMN trade_type VARCHAR(10) DEFAULT NULL COMMENT '交易类型,值为ZYXT', - ADD COLUMN duty_type VARCHAR(10) DEFAULT NULL COMMENT '关税类型,值为DDU或DDP', - ADD COLUMN battery_type VARCHAR(20) DEFAULT NULL COMMENT '电池类型代码,联系货代提供', - ADD COLUMN consignee_companyname VARCHAR(255) DEFAULT NULL COMMENT '收件公司名,如有最好填写', - ADD COLUMN consignee_address VARCHAR(255) DEFAULT NULL COMMENT '收件地址街道,必填', - ADD COLUMN consignee_telephone VARCHAR(50) DEFAULT NULL COMMENT '收件电话,必填', - ADD COLUMN consignee_state VARCHAR(100) DEFAULT NULL COMMENT '州/省', - ADD COLUMN consignee_city VARCHAR(100) DEFAULT NULL COMMENT '城市', - ADD COLUMN consignee_suburb VARCHAR(100) DEFAULT NULL COMMENT '收件区,选填', - ADD COLUMN consignee_passportno VARCHAR(50) DEFAULT NULL COMMENT '收件护照号,选填', - ADD COLUMN consignee_email VARCHAR(255) DEFAULT NULL COMMENT '邮箱,选填', - ADD COLUMN consignee_taxno VARCHAR(50) DEFAULT NULL COMMENT '收件人税号', - ADD COLUMN consignee_taxnotype VARCHAR(50) DEFAULT NULL COMMENT '收件人税号类型', - ADD COLUMN consignee_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '收件人税号国家', - ADD COLUMN consignee_streetno VARCHAR(50) DEFAULT NULL COMMENT '街道号', - ADD COLUMN consignee_doorno VARCHAR(50) DEFAULT NULL COMMENT '门牌号', - ADD COLUMN shipper_taxnotype VARCHAR(20) DEFAULT NULL COMMENT '税号类型,邮政产品可选值:IOSS,NO - IOSS,OTHER;DHL可选值:SDT、VAT、FTZ、DAN、EOR、CNP、EIN等(类型说明参照文档底部“DHL发件人税号类型”)', - ADD COLUMN shipper_taxno VARCHAR(50) DEFAULT NULL COMMENT '发件人税号', - ADD COLUMN shipper_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '发件人税号国家,用国家二字码', - ADD COLUMN customer_id VARCHAR(50) DEFAULT NULL COMMENT '客户ID,必填', - ADD COLUMN product_imagepath TEXT DEFAULT NULL COMMENT '图片地址,多图片地址用分号隔开', - ADD COLUMN order_transactionurl TEXT DEFAULT NULL COMMENT '产品销售地址', - ADD COLUMN order_cargoamount DECIMAL(12,5) DEFAULT NULL COMMENT '选填;用于DHL/FEDEX运费;或用于白关申报(订单实际金额,特殊渠道使用);或其他用途', - ADD COLUMN cargo_type CHAR(1) DEFAULT NULL COMMENT '包裹类型,P代表包裹,D代表文件,B代表PAK袋', - ADD COLUMN shipper_companyname VARCHAR(255) DEFAULT NULL COMMENT '发件人公司名,选填', - ADD COLUMN shipper_address1 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址1,选填', - ADD COLUMN shipper_address2 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址2,选填', - ADD COLUMN shipper_address3 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址3,选填', - ADD COLUMN shipper_city VARCHAR(100) DEFAULT NULL COMMENT '发件人城市,选填', - ADD COLUMN shipper_state VARCHAR(100) DEFAULT NULL COMMENT '发件人州,选填', - ADD COLUMN shipper_postcode VARCHAR(20) DEFAULT NULL COMMENT '发件人邮编,选填', - ADD COLUMN shipper_country VARCHAR(100) DEFAULT NULL COMMENT '发件人国家,选填', - ADD COLUMN shipper_telephone VARCHAR(20) DEFAULT NULL COMMENT '发件人电话,选填', - ADD COLUMN shipper_suburb VARCHAR(100) DEFAULT NULL COMMENT '发件人区,选填', - ADD COLUMN shipper_email VARCHAR(255) DEFAULT NULL COMMENT '发件人邮箱,选填', - ADD COLUMN shipper_passportno VARCHAR(50) DEFAULT NULL COMMENT '发件人护照号,选填', - ADD COLUMN import_code VARCHAR(50) DEFAULT NULL COMMENT '进口商代码', - ADD COLUMN import_name VARCHAR(255) DEFAULT NULL COMMENT '进口商名称', - ADD COLUMN import_companyname VARCHAR(255) DEFAULT NULL COMMENT '进口商公司名称', - ADD COLUMN import_address VARCHAR(255) DEFAULT NULL COMMENT '进口商地址', - ADD COLUMN import_address2 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址2', - ADD COLUMN import_address3 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址3', - ADD COLUMN import_telephone VARCHAR(20) DEFAULT NULL COMMENT '进口商电话', - ADD COLUMN import_email VARCHAR(255) DEFAULT NULL COMMENT '进口商邮箱', - ADD COLUMN import_postcode VARCHAR(20) DEFAULT NULL COMMENT '进口商邮编', - ADD COLUMN import_city VARCHAR(100) DEFAULT NULL COMMENT '进口商城市', - ADD COLUMN import_state VARCHAR(100) DEFAULT NULL COMMENT '进口商州省', - ADD COLUMN import_country VARCHAR(100) DEFAULT NULL COMMENT '进口商国家', - ADD COLUMN buyerid VARCHAR(100) DEFAULT NULL COMMENT '买家ID', - ADD COLUMN order_status TINYINT DEFAULT NULL COMMENT '0-预报订单 1:确认订单 2-已中转 3- 已收货 4-已装箱 5-已出库 6-转运中 7-已上网 8-已签收 9-已退件 10-已删除 已取消', - ADD COLUMN create_at VARCHAR(255) DEFAULT NULL COMMENT '创建人', - ADD COLUMN pay_type TINYINT DEFAULT NULL COMMENT '付款方式 0-预付 1-到付', - ADD COLUMN line_code VARCHAR(20) DEFAULT NULL COMMENT '线路产品编号', - ADD COLUMN line_name VARCHAR(100) DEFAULT NULL COMMENT '线路产品名称', - ADD COLUMN product_type VARCHAR(20) DEFAULT NULL COMMENT '产品类型(全称产品/全称B2B/尾程产品)', - ADD COLUMN line_type VARCHAR(20) DEFAULT NULL COMMENT '物流模式(国际快递/邮政小包)', - ADD COLUMN cargo_name VARCHAR(100) DEFAULT NULL COMMENT '货物类型(普货/敏感/特货)', - ADD COLUMN product_floor_code TEXT DEFAULT NULL COMMENT '渠道编码', - ADD COLUMN order_insurance DECIMAL(12,5) DEFAULT NULL COMMENT '保险金额', - ADD COLUMN product_sum_price DECIMAL(12,5) DEFAULT NULL COMMENT '商品总价值', - ADD COLUMN product_sum DECIMAL(18,6) DEFAULT NULL COMMENT '商品总件数', - ADD COLUMN shipper_doorno VARCHAR(20) DEFAULT NULL COMMENT '发件人门牌号', - ADD COLUMN tariff_payment_account VARCHAR(20) DEFAULT NULL COMMENT '关税支付账号', - ADD COLUMN topayment DECIMAL(12,5) DEFAULT NULL COMMENT '代收货款', - ADD COLUMN product_floor TEXT DEFAULT NULL COMMENT '渠道名称', - ADD COLUMN latest_trajectory TEXT DEFAULT NULL COMMENT '订单轨迹', - ADD COLUMN way_bill TEXT DEFAULT NULL COMMENT '电子面单', - ADD COLUMN pickup_date DATETIME DEFAULT NULL COMMENT '收件时间', - ADD COLUMN bl_baging TINYINT DEFAULT NULL COMMENT '是否装箱 0 未装箱 1 已装箱', - ADD COLUMN bl_pickup TINYINT DEFAULT NULL COMMENT '是否收件 0 未收件 1 已收件', - ADD COLUMN bag_date DATETIME DEFAULT NULL COMMENT '装箱时间', - ADD COLUMN org_order_status TINYINT DEFAULT NULL COMMENT '渠道状态 0-未下单 1-获取中 2-获取成功 3-获取失败', - ADD COLUMN status_description VARCHAR(255) DEFAULT NULL COMMENT '状态描述,对当前轨迹状态的详细说明', - ADD COLUMN zz_date DATETIME DEFAULT NULL COMMENT '中转时间', - ADD COLUMN shipping_date DATETIME DEFAULT NULL COMMENT '出货时间', - ADD COLUMN order_type DECIMAL(18,6) DEFAULT NULL COMMENT '0-中性面单 1-尾程面单', - ADD COLUMN receiving_photo TEXT DEFAULT NULL COMMENT '收货照片', - ADD COLUMN freight DECIMAL(10,3) DEFAULT NULL COMMENT '应收总运费', - ADD COLUMN is_receivable TINYINT DEFAULT NULL COMMENT '是否已经生成应收账单[0.未生成,1.已生成]', - ADD COLUMN is_meet TINYINT DEFAULT NULL COMMENT '是否已经生成应付账单[0.未生成,1.已生成]', - ADD COLUMN bill_no_receivable VARCHAR(255) DEFAULT NULL COMMENT '应收账单编号', - ADD COLUMN bill_no_meet VARCHAR(255) DEFAULT NULL COMMENT '应付账单编号', - ADD COLUMN country_eingth_name VARCHAR(200) DEFAULT NULL COMMENT '收件人英文国家名称', - ADD COLUMN is_receivable_fee TINYINT DEFAULT NULL COMMENT '是否已计算应收费用0-未计算 1-已计算', - ADD COLUMN settlement_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应收运费', - ADD COLUMN product_id VARCHAR(100) DEFAULT NULL COMMENT '中转产品ID', - ADD COLUMN service_freight DECIMAL(10,3) DEFAULT NULL COMMENT '服务商运费', - ADD COLUMN is_pay_fee TINYINT DEFAULT NULL COMMENT '是否已计算应付费用0-未计算 1-已计算', - ADD COLUMN has_added_surcharge TINYINT DEFAULT NULL COMMENT '是否已经添加过附加费 0未添加 1 已添加', - ADD COLUMN yf_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付运费', - ADD COLUMN yf_totail_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付总运费', - ADD COLUMN trajectory_status TINYINT DEFAULT NULL COMMENT '轨迹状态:1.已收货、2.查询失败、3.转运中、4.派送中、5.投递失败、6.退仓、7.异常、8.已签收', - ADD COLUMN cargo_type_name VARCHAR(60) DEFAULT NULL COMMENT '货物类型中文', - ADD COLUMN service_code VARCHAR(20) DEFAULT NULL COMMENT '所属服务商编号', - ADD COLUMN three_code VARCHAR(30) DEFAULT NULL COMMENT '三字码', - ADD COLUMN volume_height_old DECIMAL(10,2) DEFAULT NULL COMMENT '高,单位 CM', - ADD COLUMN volume_length_old DECIMAL(10,2) DEFAULT NULL COMMENT '长,单位 CM', - ADD COLUMN volume_width_old DECIMAL(10,2) DEFAULT NULL COMMENT '宽,单位 CM', - ADD COLUMN register_man_old VARCHAR(60) DEFAULT NULL COMMENT '收货人', - ADD COLUMN bag_no_old VARCHAR(60) DEFAULT NULL COMMENT '箱号', - ADD COLUMN air_no_old VARCHAR(60) DEFAULT NULL COMMENT '航空主单号', - ADD COLUMN box_sizi_old VARCHAR(255) DEFAULT NULL COMMENT '箱子规格', - ADD COLUMN baging_man_old VARCHAR(60) DEFAULT NULL COMMENT '装箱人', - ADD COLUMN retrieval_man_old VARCHAR(60) DEFAULT NULL COMMENT '出货人', - ADD COLUMN invoice_amount_old TEXT DEFAULT NULL COMMENT '申报总价值,必填', - ADD COLUMN invoice_title_old TEXT DEFAULT NULL COMMENT '英文品名,必填', - ADD COLUMN invoice_weight_old TEXT DEFAULT NULL COMMENT '单件重', - ADD COLUMN sku_old TEXT DEFAULT NULL COMMENT '中文品名', - ADD COLUMN hs_code_old TEXT DEFAULT NULL COMMENT '海关编码', - ADD COLUMN register_date_old DATETIME DEFAULT NULL COMMENT '收件时间', - ADD COLUMN invoice_currency_old TEXT DEFAULT NULL COMMENT '申报币种', - ADD COLUMN trajectory_sub_state TINYINT DEFAULT NULL COMMENT '轨迹子状态', - ADD COLUMN sign_in_time DATETIME DEFAULT NULL COMMENT '签收时间', - ADD COLUMN warehouse_time DATETIME DEFAULT NULL COMMENT '仓库操作完成,已安排出库时间', - ADD COLUMN declaration_time DATETIME DEFAULT NULL COMMENT '送仓报关时间', - ADD COLUMN release_time DATETIME DEFAULT NULL COMMENT '报关放行时间', - ADD COLUMN station_time DATETIME DEFAULT NULL COMMENT '货站收货时间', - ADD COLUMN takeoff_time DATETIME DEFAULT NULL COMMENT '航班起飞时间', - ADD COLUMN landing_time DATETIME DEFAULT NULL COMMENT '航班落地时间', - ADD COLUMN clearance_and_delivery_time DATETIME DEFAULT NULL COMMENT '已通知清关行提货时间', - ADD COLUMN supplier_name VARCHAR(255) DEFAULT NULL COMMENT '生产销售供应商', - ADD COLUMN credit_code VARCHAR(255) DEFAULT NULL COMMENT '社会信用代码', - ADD COLUMN other_id VARCHAR(50) DEFAULT NULL COMMENT '其他ID', - ADD COLUMN platform_code VARCHAR(255) DEFAULT NULL COMMENT '平台代码', - ADD COLUMN sync_shipment_status TINYINT DEFAULT NULL COMMENT '物流同步状态, 0:未同步, 1: 已同步', - ADD COLUMN update_weight DECIMAL(10,3) DEFAULT NULL COMMENT '客户更新重量', - ADD COLUMN other_bag_no VARCHAR(60) DEFAULT NULL COMMENT '其它箱号', - ADD COLUMN bag_flag TINYINT DEFAULT NULL COMMENT '装箱标记,1: 已装箱 0:未装箱', - ADD COLUMN online_time DATETIME DEFAULT NULL COMMENT '上网时间', - ADD COLUMN outbound_time DATETIME DEFAULT NULL COMMENT '出库时间', - ADD COLUMN air_confirm_date DATETIME DEFAULT NULL COMMENT '主单号确认时间', - ADD COLUMN shipment_type VARCHAR(50) DEFAULT NULL COMMENT '订单配送类型', - ADD COLUMN track_query_time DATETIME DEFAULT NULL COMMENT '轨迹抓取时间', - ADD COLUMN air_confirm_time DATETIME DEFAULT NULL COMMENT '航班已配载时间', - ADD COLUMN package_type TINYINT DEFAULT NULL COMMENT '0:软包;1:硬包', - ADD COLUMN dimensional_weight_factor DECIMAL(10,3) DEFAULT NULL COMMENT '计费重', - ADD COLUMN update_by VARCHAR(255) DEFAULT NULL COMMENT '更新人', - ADD COLUMN customer_pickup_site VARCHAR(255) DEFAULT NULL COMMENT '取货地点', - ADD COLUMN barcode_number VARCHAR(255) DEFAULT NULL COMMENT '面单条形码', - ADD COLUMN tracking_reflect_status VARCHAR(128) DEFAULT NULL COMMENT '轨迹映射状态', - ADD COLUMN remote_postcode TINYINT DEFAULT NULL COMMENT '是否偏远邮编', - ADD COLUMN clearance_time DATETIME DEFAULT NULL COMMENT 'CLEARANCE_TIME', - ADD COLUMN arrive_stock_time DATETIME DEFAULT NULL COMMENT 'ARRIVE_STOCK_TIME', - ADD COLUMN departure_time DATETIME DEFAULT NULL COMMENT 'DEPARTURE_TIME', - ADD COLUMN first_deliver_time DATETIME DEFAULT NULL COMMENT 'FIRST_DELIVER_TIME', - ADD COLUMN hs_code_tax_count DECIMAL(10,2) DEFAULT NULL COMMENT 'HS_CODE_TAX_COUNT', - ADD COLUMN hs_code_tax_amount DECIMAL(10,4) DEFAULT NULL COMMENT 'HS_CODE_TAX_AMOUNT', - ADD COLUMN hs_code_tax_currency VARCHAR(8) DEFAULT NULL COMMENT 'HS_CODE_TAX_CURRENCY', - ADD COLUMN invoice_url TEXT DEFAULT NULL COMMENT 'INVOICE_URL', - ADD COLUMN clearance_no VARCHAR(32) DEFAULT NULL COMMENT 'CLEARANCE_NO', - ADD COLUMN push_weight DECIMAL(10,3) DEFAULT NULL COMMENT 'PUSH_WEIGHT', - ADD COLUMN internal_check_time DATETIME DEFAULT NULL COMMENT 'INTERNAL_CHECK_TIME', - ADD COLUMN air_delay_time DATETIME DEFAULT NULL COMMENT 'AIR_DELAY_TIME', - ADD COLUMN first_landing_time DATETIME DEFAULT NULL COMMENT 'FIRST_LANDING_TIME', - ADD COLUMN second_takeoff_time DATETIME DEFAULT NULL COMMENT 'SECOND_TAKEOFF_TIME', - ADD COLUMN des_port_check_time DATETIME DEFAULT NULL COMMENT 'DES_PORT_CHECK_TIME', - ADD COLUMN stay_remark TEXT DEFAULT NULL COMMENT 'STAY_REMARK', - ADD COLUMN miss_box_remark TEXT DEFAULT NULL COMMENT 'MISS_BOX_REMARK', - ADD COLUMN product_channel_id VARCHAR(32) DEFAULT NULL COMMENT 'PRODUCT_CHANNEL_ID', - ADD COLUMN customer_track_id VARCHAR(32) DEFAULT NULL COMMENT 'CUSTOMER_TRACK_ID', - ADD COLUMN register_site VARCHAR(255) DEFAULT NULL COMMENT 'REGISTER_SITE', - ADD COLUMN package_type_financial TINYINT DEFAULT NULL COMMENT '财务包裹类型,软硬包', - ADD COLUMN mrn VARCHAR(64) DEFAULT NULL COMMENT 'MRN'; diff --git a/bms-back/sql/price/order_bill_sales_and_ext_comment.sql b/bms-back/sql/price/order_bill_sales_and_ext_comment.sql deleted file mode 100644 index e023ae9c..00000000 --- a/bms-back/sql/price/order_bill_sales_and_ext_comment.sql +++ /dev/null @@ -1,179 +0,0 @@ --- 若已执行过 ADD,可用本脚本仅更新字段注释为中文 -SET NAMES utf8mb4; - -ALTER TABLE prc_order_bill - MODIFY COLUMN belong_saler VARCHAR(64) DEFAULT NULL COMMENT '所属销售员', - MODIFY COLUMN settlement_man VARCHAR(64) DEFAULT NULL COMMENT '结算员', - MODIFY COLUMN service_man VARCHAR(64) DEFAULT NULL COMMENT '客服员'; - -ALTER TABLE prc_order_bill_ext - MODIFY COLUMN upstream_id VARCHAR(64) DEFAULT NULL COMMENT 'guid', - MODIFY COLUMN line_no VARCHAR(32) DEFAULT NULL COMMENT '线路', - MODIFY COLUMN package_num INT DEFAULT NULL COMMENT '包裹数量', - MODIFY COLUMN actual_volume DECIMAL(10,3) DEFAULT NULL COMMENT '实际体积重', - MODIFY COLUMN cp_type TINYINT DEFAULT NULL COMMENT '线路产品类型 1全程 2干线 3尾程', - MODIFY COLUMN consignee_mobile VARCHAR(32) DEFAULT NULL COMMENT '收件人手机', - MODIFY COLUMN order_returnsign CHAR(1) DEFAULT NULL COMMENT '退回标志,默认N表示不退回,Y标表示退回。中邮可以忽略该属性', - MODIFY COLUMN trade_type VARCHAR(10) DEFAULT NULL COMMENT '交易类型,值为ZYXT', - MODIFY COLUMN duty_type VARCHAR(10) DEFAULT NULL COMMENT '关税类型,值为DDU或DDP', - MODIFY COLUMN battery_type VARCHAR(20) DEFAULT NULL COMMENT '电池类型代码,联系货代提供', - MODIFY COLUMN consignee_companyname VARCHAR(255) DEFAULT NULL COMMENT '收件公司名,如有最好填写', - MODIFY COLUMN consignee_address VARCHAR(255) DEFAULT NULL COMMENT '收件地址街道,必填', - MODIFY COLUMN consignee_telephone VARCHAR(50) DEFAULT NULL COMMENT '收件电话,必填', - MODIFY COLUMN consignee_state VARCHAR(100) DEFAULT NULL COMMENT '州/省', - MODIFY COLUMN consignee_city VARCHAR(100) DEFAULT NULL COMMENT '城市', - MODIFY COLUMN consignee_suburb VARCHAR(100) DEFAULT NULL COMMENT '收件区,选填', - MODIFY COLUMN consignee_passportno VARCHAR(50) DEFAULT NULL COMMENT '收件护照号,选填', - MODIFY COLUMN consignee_email VARCHAR(255) DEFAULT NULL COMMENT '邮箱,选填', - MODIFY COLUMN consignee_taxno VARCHAR(50) DEFAULT NULL COMMENT '收件人税号', - MODIFY COLUMN consignee_taxnotype VARCHAR(50) DEFAULT NULL COMMENT '收件人税号类型', - MODIFY COLUMN consignee_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '收件人税号国家', - MODIFY COLUMN consignee_streetno VARCHAR(50) DEFAULT NULL COMMENT '街道号', - MODIFY COLUMN consignee_doorno VARCHAR(50) DEFAULT NULL COMMENT '门牌号', - MODIFY COLUMN shipper_taxnotype VARCHAR(20) DEFAULT NULL COMMENT '税号类型,邮政产品可选值:IOSS,NO - IOSS,OTHER;DHL可选值:SDT、VAT、FTZ、DAN、EOR、CNP、EIN等(类型说明参照文档底部“DHL发件人税号类型”)', - MODIFY COLUMN shipper_taxno VARCHAR(50) DEFAULT NULL COMMENT '发件人税号', - MODIFY COLUMN shipper_taxnocountry VARCHAR(2) DEFAULT NULL COMMENT '发件人税号国家,用国家二字码', - MODIFY COLUMN customer_id VARCHAR(50) DEFAULT NULL COMMENT '客户ID,必填', - MODIFY COLUMN product_imagepath TEXT DEFAULT NULL COMMENT '图片地址,多图片地址用分号隔开', - MODIFY COLUMN order_transactionurl TEXT DEFAULT NULL COMMENT '产品销售地址', - MODIFY COLUMN order_cargoamount DECIMAL(12,5) DEFAULT NULL COMMENT '选填;用于DHL/FEDEX运费;或用于白关申报(订单实际金额,特殊渠道使用);或其他用途', - MODIFY COLUMN cargo_type CHAR(1) DEFAULT NULL COMMENT '包裹类型,P代表包裹,D代表文件,B代表PAK袋', - MODIFY COLUMN shipper_companyname VARCHAR(255) DEFAULT NULL COMMENT '发件人公司名,选填', - MODIFY COLUMN shipper_address1 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址1,选填', - MODIFY COLUMN shipper_address2 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址2,选填', - MODIFY COLUMN shipper_address3 VARCHAR(255) DEFAULT NULL COMMENT '发件人地址3,选填', - MODIFY COLUMN shipper_city VARCHAR(100) DEFAULT NULL COMMENT '发件人城市,选填', - MODIFY COLUMN shipper_state VARCHAR(100) DEFAULT NULL COMMENT '发件人州,选填', - MODIFY COLUMN shipper_postcode VARCHAR(20) DEFAULT NULL COMMENT '发件人邮编,选填', - MODIFY COLUMN shipper_country VARCHAR(100) DEFAULT NULL COMMENT '发件人国家,选填', - MODIFY COLUMN shipper_telephone VARCHAR(20) DEFAULT NULL COMMENT '发件人电话,选填', - MODIFY COLUMN shipper_suburb VARCHAR(100) DEFAULT NULL COMMENT '发件人区,选填', - MODIFY COLUMN shipper_email VARCHAR(255) DEFAULT NULL COMMENT '发件人邮箱,选填', - MODIFY COLUMN shipper_passportno VARCHAR(50) DEFAULT NULL COMMENT '发件人护照号,选填', - MODIFY COLUMN import_code VARCHAR(50) DEFAULT NULL COMMENT '进口商代码', - MODIFY COLUMN import_name VARCHAR(255) DEFAULT NULL COMMENT '进口商名称', - MODIFY COLUMN import_companyname VARCHAR(255) DEFAULT NULL COMMENT '进口商公司名称', - MODIFY COLUMN import_address VARCHAR(255) DEFAULT NULL COMMENT '进口商地址', - MODIFY COLUMN import_address2 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址2', - MODIFY COLUMN import_address3 VARCHAR(255) DEFAULT NULL COMMENT '进口商地址3', - MODIFY COLUMN import_telephone VARCHAR(20) DEFAULT NULL COMMENT '进口商电话', - MODIFY COLUMN import_email VARCHAR(255) DEFAULT NULL COMMENT '进口商邮箱', - MODIFY COLUMN import_postcode VARCHAR(20) DEFAULT NULL COMMENT '进口商邮编', - MODIFY COLUMN import_city VARCHAR(100) DEFAULT NULL COMMENT '进口商城市', - MODIFY COLUMN import_state VARCHAR(100) DEFAULT NULL COMMENT '进口商州省', - MODIFY COLUMN import_country VARCHAR(100) DEFAULT NULL COMMENT '进口商国家', - MODIFY COLUMN buyerid VARCHAR(100) DEFAULT NULL COMMENT '买家ID', - MODIFY COLUMN order_status TINYINT DEFAULT NULL COMMENT '0-预报订单 1:确认订单 2-已中转 3- 已收货 4-已装箱 5-已出库 6-转运中 7-已上网 8-已签收 9-已退件 10-已删除 已取消', - MODIFY COLUMN create_at VARCHAR(255) DEFAULT NULL COMMENT '创建人', - MODIFY COLUMN pay_type TINYINT DEFAULT NULL COMMENT '付款方式 0-预付 1-到付', - MODIFY COLUMN line_code VARCHAR(20) DEFAULT NULL COMMENT '线路产品编号', - MODIFY COLUMN line_name VARCHAR(100) DEFAULT NULL COMMENT '线路产品名称', - MODIFY COLUMN product_type VARCHAR(20) DEFAULT NULL COMMENT '产品类型(全称产品/全称B2B/尾程产品)', - MODIFY COLUMN line_type VARCHAR(20) DEFAULT NULL COMMENT '物流模式(国际快递/邮政小包)', - MODIFY COLUMN cargo_name VARCHAR(100) DEFAULT NULL COMMENT '货物类型(普货/敏感/特货)', - MODIFY COLUMN product_floor_code TEXT DEFAULT NULL COMMENT '渠道编码', - MODIFY COLUMN order_insurance DECIMAL(12,5) DEFAULT NULL COMMENT '保险金额', - MODIFY COLUMN product_sum_price DECIMAL(12,5) DEFAULT NULL COMMENT '商品总价值', - MODIFY COLUMN product_sum DECIMAL(18,6) DEFAULT NULL COMMENT '商品总件数', - MODIFY COLUMN shipper_doorno VARCHAR(20) DEFAULT NULL COMMENT '发件人门牌号', - MODIFY COLUMN tariff_payment_account VARCHAR(20) DEFAULT NULL COMMENT '关税支付账号', - MODIFY COLUMN topayment DECIMAL(12,5) DEFAULT NULL COMMENT '代收货款', - MODIFY COLUMN product_floor TEXT DEFAULT NULL COMMENT '渠道名称', - MODIFY COLUMN latest_trajectory TEXT DEFAULT NULL COMMENT '订单轨迹', - MODIFY COLUMN way_bill TEXT DEFAULT NULL COMMENT '电子面单', - MODIFY COLUMN pickup_date DATETIME DEFAULT NULL COMMENT '收件时间', - MODIFY COLUMN bl_baging TINYINT DEFAULT NULL COMMENT '是否装箱 0 未装箱 1 已装箱', - MODIFY COLUMN bl_pickup TINYINT DEFAULT NULL COMMENT '是否收件 0 未收件 1 已收件', - MODIFY COLUMN bag_date DATETIME DEFAULT NULL COMMENT '装箱时间', - MODIFY COLUMN org_order_status TINYINT DEFAULT NULL COMMENT '渠道状态 0-未下单 1-获取中 2-获取成功 3-获取失败', - MODIFY COLUMN status_description VARCHAR(255) DEFAULT NULL COMMENT '状态描述,对当前轨迹状态的详细说明', - MODIFY COLUMN zz_date DATETIME DEFAULT NULL COMMENT '中转时间', - MODIFY COLUMN shipping_date DATETIME DEFAULT NULL COMMENT '出货时间', - MODIFY COLUMN order_type DECIMAL(18,6) DEFAULT NULL COMMENT '0-中性面单 1-尾程面单', - MODIFY COLUMN receiving_photo TEXT DEFAULT NULL COMMENT '收货照片', - MODIFY COLUMN freight DECIMAL(10,3) DEFAULT NULL COMMENT '应收总运费', - MODIFY COLUMN is_receivable TINYINT DEFAULT NULL COMMENT '是否已经生成应收账单[0.未生成,1.已生成]', - MODIFY COLUMN is_meet TINYINT DEFAULT NULL COMMENT '是否已经生成应付账单[0.未生成,1.已生成]', - MODIFY COLUMN bill_no_receivable VARCHAR(255) DEFAULT NULL COMMENT '应收账单编号', - MODIFY COLUMN bill_no_meet VARCHAR(255) DEFAULT NULL COMMENT '应付账单编号', - MODIFY COLUMN country_eingth_name VARCHAR(200) DEFAULT NULL COMMENT '收件人英文国家名称', - MODIFY COLUMN is_receivable_fee TINYINT DEFAULT NULL COMMENT '是否已计算应收费用0-未计算 1-已计算', - MODIFY COLUMN settlement_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应收运费', - MODIFY COLUMN product_id VARCHAR(100) DEFAULT NULL COMMENT '中转产品ID', - MODIFY COLUMN service_freight DECIMAL(10,3) DEFAULT NULL COMMENT '服务商运费', - MODIFY COLUMN is_pay_fee TINYINT DEFAULT NULL COMMENT '是否已计算应付费用0-未计算 1-已计算', - MODIFY COLUMN has_added_surcharge TINYINT DEFAULT NULL COMMENT '是否已经添加过附加费 0未添加 1 已添加', - MODIFY COLUMN yf_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付运费', - MODIFY COLUMN yf_totail_fee DECIMAL(10,3) DEFAULT NULL COMMENT '应付总运费', - MODIFY COLUMN trajectory_status TINYINT DEFAULT NULL COMMENT '轨迹状态:1.已收货、2.查询失败、3.转运中、4.派送中、5.投递失败、6.退仓、7.异常、8.已签收', - MODIFY COLUMN cargo_type_name VARCHAR(60) DEFAULT NULL COMMENT '货物类型中文', - MODIFY COLUMN service_code VARCHAR(20) DEFAULT NULL COMMENT '所属服务商编号', - MODIFY COLUMN three_code VARCHAR(30) DEFAULT NULL COMMENT '三字码', - MODIFY COLUMN volume_height_old DECIMAL(10,2) DEFAULT NULL COMMENT '高,单位 CM', - MODIFY COLUMN volume_length_old DECIMAL(10,2) DEFAULT NULL COMMENT '长,单位 CM', - MODIFY COLUMN volume_width_old DECIMAL(10,2) DEFAULT NULL COMMENT '宽,单位 CM', - MODIFY COLUMN register_man_old VARCHAR(60) DEFAULT NULL COMMENT '收货人', - MODIFY COLUMN bag_no_old VARCHAR(60) DEFAULT NULL COMMENT '箱号', - MODIFY COLUMN air_no_old VARCHAR(60) DEFAULT NULL COMMENT '航空主单号', - MODIFY COLUMN box_sizi_old VARCHAR(255) DEFAULT NULL COMMENT '箱子规格', - MODIFY COLUMN baging_man_old VARCHAR(60) DEFAULT NULL COMMENT '装箱人', - MODIFY COLUMN retrieval_man_old VARCHAR(60) DEFAULT NULL COMMENT '出货人', - MODIFY COLUMN invoice_amount_old TEXT DEFAULT NULL COMMENT '申报总价值,必填', - MODIFY COLUMN invoice_title_old TEXT DEFAULT NULL COMMENT '英文品名,必填', - MODIFY COLUMN invoice_weight_old TEXT DEFAULT NULL COMMENT '单件重', - MODIFY COLUMN sku_old TEXT DEFAULT NULL COMMENT '中文品名', - MODIFY COLUMN hs_code_old TEXT DEFAULT NULL COMMENT '海关编码', - MODIFY COLUMN register_date_old DATETIME DEFAULT NULL COMMENT '收件时间', - MODIFY COLUMN invoice_currency_old TEXT DEFAULT NULL COMMENT '申报币种', - MODIFY COLUMN trajectory_sub_state TINYINT DEFAULT NULL COMMENT '轨迹子状态', - MODIFY COLUMN sign_in_time DATETIME DEFAULT NULL COMMENT '签收时间', - MODIFY COLUMN warehouse_time DATETIME DEFAULT NULL COMMENT '仓库操作完成,已安排出库时间', - MODIFY COLUMN declaration_time DATETIME DEFAULT NULL COMMENT '送仓报关时间', - MODIFY COLUMN release_time DATETIME DEFAULT NULL COMMENT '报关放行时间', - MODIFY COLUMN station_time DATETIME DEFAULT NULL COMMENT '货站收货时间', - MODIFY COLUMN takeoff_time DATETIME DEFAULT NULL COMMENT '航班起飞时间', - MODIFY COLUMN landing_time DATETIME DEFAULT NULL COMMENT '航班落地时间', - MODIFY COLUMN clearance_and_delivery_time DATETIME DEFAULT NULL COMMENT '已通知清关行提货时间', - MODIFY COLUMN supplier_name VARCHAR(255) DEFAULT NULL COMMENT '生产销售供应商', - MODIFY COLUMN credit_code VARCHAR(255) DEFAULT NULL COMMENT '社会信用代码', - MODIFY COLUMN other_id VARCHAR(50) DEFAULT NULL COMMENT '其他ID', - MODIFY COLUMN platform_code VARCHAR(255) DEFAULT NULL COMMENT '平台代码', - MODIFY COLUMN sync_shipment_status TINYINT DEFAULT NULL COMMENT '物流同步状态, 0:未同步, 1: 已同步', - MODIFY COLUMN update_weight DECIMAL(10,3) DEFAULT NULL COMMENT '客户更新重量', - MODIFY COLUMN other_bag_no VARCHAR(60) DEFAULT NULL COMMENT '其它箱号', - MODIFY COLUMN bag_flag TINYINT DEFAULT NULL COMMENT '装箱标记,1: 已装箱 0:未装箱', - MODIFY COLUMN online_time DATETIME DEFAULT NULL COMMENT '上网时间', - MODIFY COLUMN outbound_time DATETIME DEFAULT NULL COMMENT '出库时间', - MODIFY COLUMN air_confirm_date DATETIME DEFAULT NULL COMMENT '主单号确认时间', - MODIFY COLUMN shipment_type VARCHAR(50) DEFAULT NULL COMMENT '订单配送类型', - MODIFY COLUMN track_query_time DATETIME DEFAULT NULL COMMENT '轨迹抓取时间', - MODIFY COLUMN air_confirm_time DATETIME DEFAULT NULL COMMENT '航班已配载时间', - MODIFY COLUMN package_type TINYINT DEFAULT NULL COMMENT '0:软包;1:硬包', - MODIFY COLUMN dimensional_weight_factor DECIMAL(10,3) DEFAULT NULL COMMENT '计费重', - MODIFY COLUMN update_by VARCHAR(255) DEFAULT NULL COMMENT '更新人', - MODIFY COLUMN customer_pickup_site VARCHAR(255) DEFAULT NULL COMMENT '取货地点', - MODIFY COLUMN barcode_number VARCHAR(255) DEFAULT NULL COMMENT '面单条形码', - MODIFY COLUMN tracking_reflect_status VARCHAR(128) DEFAULT NULL COMMENT '轨迹映射状态', - MODIFY COLUMN remote_postcode TINYINT DEFAULT NULL COMMENT '是否偏远邮编', - MODIFY COLUMN clearance_time DATETIME DEFAULT NULL COMMENT 'CLEARANCE_TIME', - MODIFY COLUMN arrive_stock_time DATETIME DEFAULT NULL COMMENT 'ARRIVE_STOCK_TIME', - MODIFY COLUMN departure_time DATETIME DEFAULT NULL COMMENT 'DEPARTURE_TIME', - MODIFY COLUMN first_deliver_time DATETIME DEFAULT NULL COMMENT 'FIRST_DELIVER_TIME', - MODIFY COLUMN hs_code_tax_count DECIMAL(10,2) DEFAULT NULL COMMENT 'HS_CODE_TAX_COUNT', - MODIFY COLUMN hs_code_tax_amount DECIMAL(10,4) DEFAULT NULL COMMENT 'HS_CODE_TAX_AMOUNT', - MODIFY COLUMN hs_code_tax_currency VARCHAR(8) DEFAULT NULL COMMENT 'HS_CODE_TAX_CURRENCY', - MODIFY COLUMN invoice_url TEXT DEFAULT NULL COMMENT 'INVOICE_URL', - MODIFY COLUMN clearance_no VARCHAR(32) DEFAULT NULL COMMENT 'CLEARANCE_NO', - MODIFY COLUMN push_weight DECIMAL(10,3) DEFAULT NULL COMMENT 'PUSH_WEIGHT', - MODIFY COLUMN internal_check_time DATETIME DEFAULT NULL COMMENT 'INTERNAL_CHECK_TIME', - MODIFY COLUMN air_delay_time DATETIME DEFAULT NULL COMMENT 'AIR_DELAY_TIME', - MODIFY COLUMN first_landing_time DATETIME DEFAULT NULL COMMENT 'FIRST_LANDING_TIME', - MODIFY COLUMN second_takeoff_time DATETIME DEFAULT NULL COMMENT 'SECOND_TAKEOFF_TIME', - MODIFY COLUMN des_port_check_time DATETIME DEFAULT NULL COMMENT 'DES_PORT_CHECK_TIME', - MODIFY COLUMN stay_remark TEXT DEFAULT NULL COMMENT 'STAY_REMARK', - MODIFY COLUMN miss_box_remark TEXT DEFAULT NULL COMMENT 'MISS_BOX_REMARK', - MODIFY COLUMN product_channel_id VARCHAR(32) DEFAULT NULL COMMENT 'PRODUCT_CHANNEL_ID', - MODIFY COLUMN customer_track_id VARCHAR(32) DEFAULT NULL COMMENT 'CUSTOMER_TRACK_ID', - MODIFY COLUMN register_site VARCHAR(255) DEFAULT NULL COMMENT 'REGISTER_SITE', - MODIFY COLUMN package_type_financial TINYINT DEFAULT NULL COMMENT '财务包裹类型,软硬包', - MODIFY COLUMN mrn VARCHAR(64) DEFAULT NULL COMMENT 'MRN'; diff --git a/bms-back/sql/price/order_bill_status_alter.sql b/bms-back/sql/price/order_bill_status_alter.sql deleted file mode 100644 index 21d03fe0..00000000 --- a/bms-back/sql/price/order_bill_status_alter.sql +++ /dev/null @@ -1,12 +0,0 @@ --- prc_order_bill: transfer_no + customer/credit status flags --- customer_active_status: ACTIVE / MISSING / DISABLED --- credit_arrears_status: NORMAL / ARREARS -SET NAMES utf8mb4; - -ALTER TABLE prc_order_bill - ADD COLUMN transfer_no VARCHAR(64) DEFAULT NULL COMMENT '转单号' AFTER tracking_no, - ADD COLUMN customer_active_status VARCHAR(20) DEFAULT NULL COMMENT '客户生效状态:ACTIVE正常 MISSING不存在 DISABLED停用' AFTER ar_bill_status, - ADD COLUMN credit_arrears_status VARCHAR(20) DEFAULT NULL COMMENT '额度欠费状态:NORMAL正常 ARREARS欠费' AFTER customer_active_status, - ADD KEY idx_order_bill_transfer_no (transfer_no), - ADD KEY idx_order_bill_customer_active (customer_active_status), - ADD KEY idx_order_bill_credit_arrears (credit_arrears_status); diff --git a/bms-back/sql/price/prc_income_bill.sql b/bms-back/sql/price/prc_income_bill.sql deleted file mode 100644 index 53bbdbe8..00000000 --- a/bms-back/sql/price/prc_income_bill.sql +++ /dev/null @@ -1,38 +0,0 @@ --- ===================================================================== --- 应收主表 prc_income_bill --- 位于 prc_order_bill(订单主表)与 prc_income_bill_fee(应收费用明细)之间 --- 与 prc_order_bill 一对一(bill_id UNIQUE) --- 价格层:产品价 / 红线价 / 销售价(当前计费结果) --- 人员:业务员、结算员 --- 说明:计费落库时写入;费用明细关联 income_bill_id --- ===================================================================== -SET NAMES utf8mb4; - -CREATE TABLE IF NOT EXISTS prc_income_bill ( - income_bill_id VARCHAR(36) NOT NULL COMMENT '应收主表ID', - bill_id VARCHAR(36) NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id,一对一', - currency VARCHAR(10) DEFAULT 'CNY' COMMENT '币种', - - -- 价格层(后续统计;当前计费写入销售价/应收合计) - product_amount DECIMAL(18,4) DEFAULT NULL COMMENT '产品价合计', - redline_amount DECIMAL(18,4) DEFAULT NULL COMMENT '红线价合计', - sales_amount DECIMAL(18,4) DEFAULT NULL COMMENT '销售价合计(当前计费结果)', - income_total DECIMAL(18,4) DEFAULT NULL COMMENT '应收合计(当前等于销售价)', - - -- 人员 - belong_saler VARCHAR(64) DEFAULT NULL COMMENT '业务员/销售员', - belong_saler_code VARCHAR(64) DEFAULT NULL COMMENT '销售员编码', - settlement_man VARCHAR(64) DEFAULT NULL COMMENT '结算员', - settlement_man_code VARCHAR(64) DEFAULT NULL COMMENT '结算员编码', - - create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - - PRIMARY KEY (income_bill_id), - UNIQUE KEY uk_income_bill_order_bill (bill_id), - KEY idx_income_bill_saler (belong_saler), - KEY idx_income_bill_settlement (settlement_man), - CONSTRAINT fk_income_bill_order_bill FOREIGN KEY (bill_id) REFERENCES prc_order_bill (bill_id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收主表(订单计费与应收费用中间层,与订单一对一)'; diff --git a/bms-back/sql/price/prc_income_bill_fee_add_ar_bill_status.sql b/bms-back/sql/price/prc_income_bill_fee_add_ar_bill_status.sql deleted file mode 100644 index 80f7b99d..00000000 --- a/bms-back/sql/price/prc_income_bill_fee_add_ar_bill_status.sql +++ /dev/null @@ -1,6 +0,0 @@ --- prc_income_bill_fee: ar_bill_status (UNBILLED/BILLED) -SET NAMES utf8mb4; - -ALTER TABLE prc_income_bill_fee - ADD COLUMN ar_bill_status VARCHAR(20) NOT NULL DEFAULT 'UNBILLED' COMMENT '是否生成账单状态:UNBILLED未生成/BILLED已生成' AFTER remark, - ADD KEY idx_income_fee_ar_status (ar_bill_status); diff --git a/bms-back/sql/price/prc_income_bill_fee_add_income_bill_id.sql b/bms-back/sql/price/prc_income_bill_fee_add_income_bill_id.sql deleted file mode 100644 index 1fd76eff..00000000 --- a/bms-back/sql/price/prc_income_bill_fee_add_income_bill_id.sql +++ /dev/null @@ -1,7 +0,0 @@ --- prc_income_bill_fee 增加应收主表关联 income_bill_id --- 保留 bill_id 以兼容既有按订单计费查询 / AR -SET NAMES utf8mb4; - -ALTER TABLE prc_income_bill_fee - ADD COLUMN income_bill_id VARCHAR(36) DEFAULT NULL COMMENT '应收主表ID,对应 prc_income_bill.income_bill_id' AFTER bill_id, - ADD KEY idx_income_fee_income_bill (income_bill_id); diff --git a/bms-back/sql/price/prc_income_bill_fee_add_manual_flag.sql b/bms-back/sql/price/prc_income_bill_fee_add_manual_flag.sql deleted file mode 100644 index 30d22b21..00000000 --- a/bms-back/sql/price/prc_income_bill_fee_add_manual_flag.sql +++ /dev/null @@ -1,5 +0,0 @@ --- prc_income_bill_fee: manual_flag -SET NAMES utf8mb4; - -ALTER TABLE prc_income_bill_fee - ADD COLUMN manual_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否手动增加:0否 1是' AFTER ar_bill_status; diff --git a/bms-back/sql/price/prc_pay_bill.sql b/bms-back/sql/price/prc_pay_bill.sql deleted file mode 100644 index 8e9c4601..00000000 --- a/bms-back/sql/price/prc_pay_bill.sql +++ /dev/null @@ -1,38 +0,0 @@ --- ===================================================================== --- 应付主表 prc_pay_bill --- 位于 prc_order_bill(订单主表)与 prc_pay_bill_fee(应付费用明细)之间 --- 与 prc_order_bill 一对一(bill_id UNIQUE) --- 价格层:产品价 / 红线价 / 成本价(当前计费结果) --- 人员:业务员、结算员 --- 说明:计费落库时写入;费用明细关联 pay_bill_id --- ===================================================================== -SET NAMES utf8mb4; - -CREATE TABLE IF NOT EXISTS prc_pay_bill ( - pay_bill_id VARCHAR(36) NOT NULL COMMENT '应付主表ID', - bill_id VARCHAR(36) NOT NULL COMMENT '计费订单ID,对应 prc_order_bill.bill_id,一对一', - currency VARCHAR(10) DEFAULT 'CNY' COMMENT '币种', - - -- 价格层(后续统计;当前计费写入应付合计) - product_amount DECIMAL(18,4) DEFAULT NULL COMMENT '产品价合计', - redline_amount DECIMAL(18,4) DEFAULT NULL COMMENT '红线价合计', - cost_amount DECIMAL(18,4) DEFAULT NULL COMMENT '成本价合计(当前计费结果)', - pay_total DECIMAL(18,4) DEFAULT NULL COMMENT '应付合计(当前等于成本价)', - - -- 人员 - belong_saler VARCHAR(64) DEFAULT NULL COMMENT '业务员/销售员', - belong_saler_code VARCHAR(64) DEFAULT NULL COMMENT '销售员编码', - settlement_man VARCHAR(64) DEFAULT NULL COMMENT '结算员', - settlement_man_code VARCHAR(64) DEFAULT NULL COMMENT '结算员编码', - - create_by VARCHAR(64) DEFAULT '' COMMENT '创建者', - create_time DATETIME NOT NULL COMMENT '创建时间', - update_by VARCHAR(64) DEFAULT '' COMMENT '更新者', - update_time DATETIME DEFAULT NULL COMMENT '更新时间', - - PRIMARY KEY (pay_bill_id), - UNIQUE KEY uk_pay_bill_order_bill (bill_id), - KEY idx_pay_bill_saler (belong_saler), - KEY idx_pay_bill_settlement (settlement_man), - CONSTRAINT fk_pay_bill_order_bill FOREIGN KEY (bill_id) REFERENCES prc_order_bill (bill_id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应付主表(订单计费与应付费用中间层,与订单一对一)'; diff --git a/bms-back/sql/price/prc_pay_bill_fee_add_pay_bill_id.sql b/bms-back/sql/price/prc_pay_bill_fee_add_pay_bill_id.sql deleted file mode 100644 index bb5d0974..00000000 --- a/bms-back/sql/price/prc_pay_bill_fee_add_pay_bill_id.sql +++ /dev/null @@ -1,7 +0,0 @@ --- prc_pay_bill_fee 增加应付主表关联 pay_bill_id --- 保留 bill_id 以兼容既有按订单计费查询 -SET NAMES utf8mb4; - -ALTER TABLE prc_pay_bill_fee - ADD COLUMN pay_bill_id VARCHAR(36) DEFAULT NULL COMMENT '应付主表ID,对应 prc_pay_bill.pay_bill_id' AFTER bill_id, - ADD KEY idx_pay_fee_pay_bill (pay_bill_id); diff --git a/bms-back/sql/price/tms_order_bill_status_query.sql b/bms-back/sql/price/tms_order_bill_status_query.sql deleted file mode 100644 index f41b4143..00000000 --- a/bms-back/sql/price/tms_order_bill_status_query.sql +++ /dev/null @@ -1,30 +0,0 @@ --- TMS 订单状态查询接口:为运单号精确查询补充索引。 --- 订单号已有唯一索引,转单号已有索引;当前表结构通常缺少 tracking_no 索引。 --- 脚本可重复执行。 -SET NAMES utf8mb4; -SET @db_name := DATABASE(); - -SET @has_tracking_index := ( - SELECT COUNT(*) - FROM information_schema.STATISTICS - WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND INDEX_NAME = 'idx_order_bill_tracking_no' -); -SET @sql := IF(@has_tracking_index = 0, - 'ALTER TABLE prc_order_bill ADD INDEX idx_order_bill_tracking_no (tracking_no)', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - -SELECT - TABLE_NAME, - INDEX_NAME, - COLUMN_NAME, - NON_UNIQUE -FROM information_schema.STATISTICS -WHERE TABLE_SCHEMA = @db_name - AND TABLE_NAME = 'prc_order_bill' - AND INDEX_NAME IN ('uk_bill_order', 'idx_order_bill_tracking_no', 'idx_order_bill_transfer_no') -ORDER BY INDEX_NAME, SEQ_IN_INDEX; diff --git a/bms-back/sql/quartz.sql b/bms-back/sql/quartz.sql deleted file mode 100644 index cee613b7..00000000 --- a/bms-back/sql/quartz.sql +++ /dev/null @@ -1,174 +0,0 @@ -DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; -DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; -DROP TABLE IF EXISTS QRTZ_LOCKS; -DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_TRIGGERS; -DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; -DROP TABLE IF EXISTS QRTZ_CALENDARS; - --- ---------------------------- --- 1、存储每一个已配置的 jobDetail 的详细信息 --- ---------------------------- -create table QRTZ_JOB_DETAILS ( - sched_name varchar(120) not null comment '调度名称', - job_name varchar(200) not null comment '任务名称', - job_group varchar(200) not null comment '任务组名', - description varchar(250) null comment '相关介绍', - job_class_name varchar(250) not null comment '执行任务类名称', - is_durable varchar(1) not null comment '是否持久化', - is_nonconcurrent varchar(1) not null comment '是否并发', - is_update_data varchar(1) not null comment '是否更新数据', - requests_recovery varchar(1) not null comment '是否接受恢复执行', - job_data blob null comment '存放持久化job对象', - primary key (sched_name, job_name, job_group) -) engine=innodb comment = '任务详细信息表'; - --- ---------------------------- --- 2、 存储已配置的 Trigger 的信息 --- ---------------------------- -create table QRTZ_TRIGGERS ( - sched_name varchar(120) not null comment '调度名称', - trigger_name varchar(200) not null comment '触发器的名字', - trigger_group varchar(200) not null comment '触发器所属组的名字', - job_name varchar(200) not null comment 'qrtz_job_details表job_name的外键', - job_group varchar(200) not null comment 'qrtz_job_details表job_group的外键', - description varchar(250) null comment '相关介绍', - next_fire_time bigint(13) null comment '上一次触发时间(毫秒)', - prev_fire_time bigint(13) null comment '下一次触发时间(默认为-1表示不触发)', - priority integer null comment '优先级', - trigger_state varchar(16) not null comment '触发器状态', - trigger_type varchar(8) not null comment '触发器的类型', - start_time bigint(13) not null comment '开始时间', - end_time bigint(13) null comment '结束时间', - calendar_name varchar(200) null comment '日程表名称', - misfire_instr smallint(2) null comment '补偿执行的策略', - job_data blob null comment '存放持久化job对象', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group) -) engine=innodb comment = '触发器详细信息表'; - --- ---------------------------- --- 3、 存储简单的 Trigger,包括重复次数,间隔,以及已触发的次数 --- ---------------------------- -create table QRTZ_SIMPLE_TRIGGERS ( - sched_name varchar(120) not null comment '调度名称', - trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', - trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', - repeat_count bigint(7) not null comment '重复的次数统计', - repeat_interval bigint(12) not null comment '重复的间隔时间', - times_triggered bigint(10) not null comment '已经触发的次数', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = '简单触发器的信息表'; - --- ---------------------------- --- 4、 存储 Cron Trigger,包括 Cron 表达式和时区信息 --- ---------------------------- -create table QRTZ_CRON_TRIGGERS ( - sched_name varchar(120) not null comment '调度名称', - trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', - trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', - cron_expression varchar(200) not null comment 'cron表达式', - time_zone_id varchar(80) comment '时区', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = 'Cron类型的触发器表'; - --- ---------------------------- --- 5、 Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候) --- ---------------------------- -create table QRTZ_BLOB_TRIGGERS ( - sched_name varchar(120) not null comment '调度名称', - trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', - trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', - blob_data blob null comment '存放持久化Trigger对象', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = 'Blob类型的触发器表'; - --- ---------------------------- --- 6、 以 Blob 类型存储存放日历信息, quartz可配置一个日历来指定一个时间范围 --- ---------------------------- -create table QRTZ_CALENDARS ( - sched_name varchar(120) not null comment '调度名称', - calendar_name varchar(200) not null comment '日历名称', - calendar blob not null comment '存放持久化calendar对象', - primary key (sched_name, calendar_name) -) engine=innodb comment = '日历信息表'; - --- ---------------------------- --- 7、 存储已暂停的 Trigger 组的信息 --- ---------------------------- -create table QRTZ_PAUSED_TRIGGER_GRPS ( - sched_name varchar(120) not null comment '调度名称', - trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', - primary key (sched_name, trigger_group) -) engine=innodb comment = '暂停的触发器表'; - --- ---------------------------- --- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息 --- ---------------------------- -create table QRTZ_FIRED_TRIGGERS ( - sched_name varchar(120) not null comment '调度名称', - entry_id varchar(95) not null comment '调度器实例id', - trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', - trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', - instance_name varchar(200) not null comment '调度器实例名', - fired_time bigint(13) not null comment '触发的时间', - sched_time bigint(13) not null comment '定时器制定的时间', - priority integer not null comment '优先级', - state varchar(16) not null comment '状态', - job_name varchar(200) null comment '任务名称', - job_group varchar(200) null comment '任务组名', - is_nonconcurrent varchar(1) null comment '是否并发', - requests_recovery varchar(1) null comment '是否接受恢复执行', - primary key (sched_name, entry_id) -) engine=innodb comment = '已触发的触发器表'; - --- ---------------------------- --- 9、 存储少量的有关 Scheduler 的状态信息,假如是用于集群中,可以看到其他的 Scheduler 实例 --- ---------------------------- -create table QRTZ_SCHEDULER_STATE ( - sched_name varchar(120) not null comment '调度名称', - instance_name varchar(200) not null comment '实例名称', - last_checkin_time bigint(13) not null comment '上次检查时间', - checkin_interval bigint(13) not null comment '检查间隔时间', - primary key (sched_name, instance_name) -) engine=innodb comment = '调度器状态表'; - --- ---------------------------- --- 10、 存储程序的悲观锁的信息(假如使用了悲观锁) --- ---------------------------- -create table QRTZ_LOCKS ( - sched_name varchar(120) not null comment '调度名称', - lock_name varchar(40) not null comment '悲观锁名称', - primary key (sched_name, lock_name) -) engine=innodb comment = '存储的悲观锁信息表'; - --- ---------------------------- --- 11、 Quartz集群实现同步机制的行锁表 --- ---------------------------- -create table QRTZ_SIMPROP_TRIGGERS ( - sched_name varchar(120) not null comment '调度名称', - trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', - trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', - str_prop_1 varchar(512) null comment 'String类型的trigger的第一个参数', - str_prop_2 varchar(512) null comment 'String类型的trigger的第二个参数', - str_prop_3 varchar(512) null comment 'String类型的trigger的第三个参数', - int_prop_1 int null comment 'int类型的trigger的第一个参数', - int_prop_2 int null comment 'int类型的trigger的第二个参数', - long_prop_1 bigint null comment 'long类型的trigger的第一个参数', - long_prop_2 bigint null comment 'long类型的trigger的第二个参数', - dec_prop_1 numeric(13,4) null comment 'decimal类型的trigger的第一个参数', - dec_prop_2 numeric(13,4) null comment 'decimal类型的trigger的第二个参数', - bool_prop_1 varchar(1) null comment 'Boolean类型的trigger的第一个参数', - bool_prop_2 varchar(1) null comment 'Boolean类型的trigger的第二个参数', - primary key (sched_name, trigger_name, trigger_group), - foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -) engine=innodb comment = '同步机制的行锁表'; - -commit; \ No newline at end of file diff --git a/bms-back/sql/ry_20260417.sql b/bms-back/sql/ry_20260417.sql deleted file mode 100644 index bf2c1a76..00000000 --- a/bms-back/sql/ry_20260417.sql +++ /dev/null @@ -1,723 +0,0 @@ --- ---------------------------- --- 1、部门表 --- ---------------------------- -drop table if exists sys_dept; -create table sys_dept ( - dept_id bigint(20) not null auto_increment comment '部门id', - parent_id bigint(20) default 0 comment '父部门id', - ancestors varchar(50) default '' comment '祖级列表', - dept_name varchar(30) default '' comment '部门名称', - order_num int(4) default 0 comment '显示顺序', - leader varchar(20) default null comment '负责人', - phone varchar(11) default null comment '联系电话', - email varchar(50) default null comment '邮箱', - status char(1) default '0' comment '部门状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - primary key (dept_id) -) engine=innodb auto_increment=200 comment = '部门表'; - --- ---------------------------- --- 初始化-部门表数据 --- ---------------------------- -insert into sys_dept values(100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); -insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); - - --- ---------------------------- --- 2、用户信息表 --- ---------------------------- -drop table if exists sys_user; -create table sys_user ( - user_id bigint(20) not null auto_increment comment '用户ID', - dept_id bigint(20) default null comment '部门ID', - user_name varchar(30) not null comment '用户账号', - nick_name varchar(30) not null comment '用户昵称', - user_type varchar(2) default '00' comment '用户类型(00系统用户)', - email varchar(50) default '' comment '用户邮箱', - phonenumber varchar(11) default '' comment '手机号码', - sex char(1) default '0' comment '用户性别(0男 1女 2未知)', - avatar varchar(100) default '' comment '头像地址', - password varchar(100) default '' comment '密码', - status char(1) default '0' comment '账号状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - login_ip varchar(128) default '' comment '最后登录IP', - login_date datetime comment '最后登录时间', - pwd_update_date datetime comment '密码最后更新时间', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (user_id) -) engine=innodb auto_increment=100 comment = '用户信息表'; - --- ---------------------------- --- 初始化-用户信息表数据 --- ---------------------------- -insert into sys_user values(1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), sysdate(), 'admin', sysdate(), '', null, '管理员'); -insert into sys_user values(2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), sysdate(), 'admin', sysdate(), '', null, '测试员'); - - --- ---------------------------- --- 3、岗位信息表 --- ---------------------------- -drop table if exists sys_post; -create table sys_post -( - post_id bigint(20) not null auto_increment comment '岗位ID', - post_code varchar(64) not null comment '岗位编码', - post_name varchar(50) not null comment '岗位名称', - post_sort int(4) not null comment '显示顺序', - status char(1) not null comment '状态(0正常 1停用)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (post_id) -) engine=innodb comment = '岗位信息表'; - --- ---------------------------- --- 初始化-岗位信息表数据 --- ---------------------------- -insert into sys_post values(1, 'ceo', '董事长', 1, '0', 'admin', sysdate(), '', null, ''); -insert into sys_post values(2, 'se', '项目经理', 2, '0', 'admin', sysdate(), '', null, ''); -insert into sys_post values(3, 'hr', '人力资源', 3, '0', 'admin', sysdate(), '', null, ''); -insert into sys_post values(4, 'user', '普通员工', 4, '0', 'admin', sysdate(), '', null, ''); - - --- ---------------------------- --- 4、角色信息表 --- ---------------------------- -drop table if exists sys_role; -create table sys_role ( - role_id bigint(20) not null auto_increment comment '角色ID', - role_name varchar(30) not null comment '角色名称', - role_key varchar(100) not null comment '角色权限字符串', - role_sort int(4) not null comment '显示顺序', - data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', - menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示', - dept_check_strictly tinyint(1) default 1 comment '部门树选择项是否关联显示', - status char(1) not null comment '角色状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (role_id) -) engine=innodb auto_increment=100 comment = '角色信息表'; - --- ---------------------------- --- 初始化-角色信息表数据 --- ---------------------------- -insert into sys_role values('1', '超级管理员', 'admin', 1, 1, 1, 1, '0', '0', 'admin', sysdate(), '', null, '超级管理员'); -insert into sys_role values('2', '普通角色', 'common', 2, 2, 1, 1, '0', '0', 'admin', sysdate(), '', null, '普通角色'); - - --- ---------------------------- --- 5、菜单权限表 --- ---------------------------- -drop table if exists sys_menu; -create table sys_menu ( - menu_id bigint(20) not null auto_increment comment '菜单ID', - menu_name varchar(50) not null comment '菜单名称', - parent_id bigint(20) default 0 comment '父菜单ID', - order_num int(4) default 0 comment '显示顺序', - path varchar(200) default '' comment '路由地址', - component varchar(255) default null comment '组件路径', - query varchar(255) default null comment '路由参数', - route_name varchar(50) default '' comment '路由名称', - is_frame int(1) default 1 comment '是否为外链(0是 1否)', - is_cache int(1) default 0 comment '是否缓存(0缓存 1不缓存)', - menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)', - visible char(1) default 0 comment '菜单状态(0显示 1隐藏)', - status char(1) default 0 comment '菜单状态(0正常 1停用)', - perms varchar(100) default null comment '权限标识', - icon varchar(100) default '#' comment '菜单图标', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default '' comment '备注', - primary key (menu_id) -) engine=innodb auto_increment=2000 comment = '菜单权限表'; - --- ---------------------------- --- 初始化-菜单信息表数据 --- ---------------------------- --- 一级菜单 -insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', sysdate(), '', null, '系统管理目录'); -insert into sys_menu values('2', '系统监控', '0', '2', 'monitor', null, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', sysdate(), '', null, '系统监控目录'); -insert into sys_menu values('3', '系统工具', '0', '3', 'tool', null, '', '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', sysdate(), '', null, '系统工具目录'); -insert into sys_menu values('4', '若依官网', '0', '4', 'http://ruoyi.vip', null, '', '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', sysdate(), '', null, '若依官网地址'); --- 二级菜单 -insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', sysdate(), '', null, '用户管理菜单'); -insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', sysdate(), '', null, '角色管理菜单'); -insert into sys_menu values('102', '菜单管理', '1', '3', 'menu', 'system/menu/index', '', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', sysdate(), '', null, '菜单管理菜单'); -insert into sys_menu values('103', '部门管理', '1', '4', 'dept', 'system/dept/index', '', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', sysdate(), '', null, '部门管理菜单'); -insert into sys_menu values('104', '岗位管理', '1', '5', 'post', 'system/post/index', '', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', sysdate(), '', null, '岗位管理菜单'); -insert into sys_menu values('105', '字典管理', '1', '6', 'dict', 'system/dict/index', '', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', sysdate(), '', null, '字典管理菜单'); -insert into sys_menu values('106', '参数设置', '1', '7', 'config', 'system/config/index', '', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', sysdate(), '', null, '参数设置菜单'); -insert into sys_menu values('107', '通知公告', '1', '8', 'notice', 'system/notice/index', '', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', sysdate(), '', null, '通知公告菜单'); -insert into sys_menu values('108', '日志管理', '1', '9', 'log', '', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', sysdate(), '', null, '日志管理菜单'); -insert into sys_menu values('109', '在线用户', '2', '1', 'online', 'monitor/online/index', '', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', sysdate(), '', null, '在线用户菜单'); -insert into sys_menu values('110', '定时任务', '2', '2', 'job', 'monitor/job/index', '', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', sysdate(), '', null, '定时任务菜单'); -insert into sys_menu values('111', '数据监控', '2', '3', 'druid', 'monitor/druid/index', '', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', sysdate(), '', null, '数据监控菜单'); -insert into sys_menu values('112', '服务监控', '2', '4', 'server', 'monitor/server/index', '', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', sysdate(), '', null, '服务监控菜单'); -insert into sys_menu values('113', '缓存监控', '2', '5', 'cache', 'monitor/cache/index', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', sysdate(), '', null, '缓存监控菜单'); -insert into sys_menu values('114', '缓存列表', '2', '6', 'cacheList', 'monitor/cache/list', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', sysdate(), '', null, '缓存列表菜单'); -insert into sys_menu values('115', '表单构建', '3', '1', 'build', 'tool/build/index', '', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', sysdate(), '', null, '表单构建菜单'); -insert into sys_menu values('116', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', sysdate(), '', null, '代码生成菜单'); -insert into sys_menu values('117', '系统接口', '3', '3', 'swagger', 'tool/swagger/index', '', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', sysdate(), '', null, '系统接口菜单'); --- 三级菜单 -insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', sysdate(), '', null, '操作日志菜单'); -insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', sysdate(), '', null, '登录日志菜单'); --- 用户管理按钮 -insert into sys_menu values('1000', '用户查询', '100', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1001', '用户新增', '100', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1002', '用户修改', '100', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1003', '用户删除', '100', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1004', '用户导出', '100', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1005', '用户导入', '100', '6', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1006', '重置密码', '100', '7', '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', sysdate(), '', null, ''); --- 角色管理按钮 -insert into sys_menu values('1007', '角色查询', '101', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1008', '角色新增', '101', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1009', '角色修改', '101', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1010', '角色删除', '101', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1011', '角色导出', '101', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', sysdate(), '', null, ''); --- 菜单管理按钮 -insert into sys_menu values('1012', '菜单查询', '102', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1013', '菜单新增', '102', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1014', '菜单修改', '102', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1015', '菜单删除', '102', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', sysdate(), '', null, ''); --- 部门管理按钮 -insert into sys_menu values('1016', '部门查询', '103', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1017', '部门新增', '103', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1018', '部门修改', '103', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1019', '部门删除', '103', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', sysdate(), '', null, ''); --- 岗位管理按钮 -insert into sys_menu values('1020', '岗位查询', '104', '1', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1021', '岗位新增', '104', '2', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1022', '岗位修改', '104', '3', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1023', '岗位删除', '104', '4', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1024', '岗位导出', '104', '5', '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', sysdate(), '', null, ''); --- 字典管理按钮 -insert into sys_menu values('1025', '字典查询', '105', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1026', '字典新增', '105', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1027', '字典修改', '105', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1028', '字典删除', '105', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1029', '字典导出', '105', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', sysdate(), '', null, ''); --- 参数设置按钮 -insert into sys_menu values('1030', '参数查询', '106', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1031', '参数新增', '106', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1032', '参数修改', '106', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1033', '参数删除', '106', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1034', '参数导出', '106', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', sysdate(), '', null, ''); --- 通知公告按钮 -insert into sys_menu values('1035', '公告查询', '107', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1036', '公告新增', '107', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1037', '公告修改', '107', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1038', '公告删除', '107', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', sysdate(), '', null, ''); --- 操作日志按钮 -insert into sys_menu values('1039', '操作查询', '500', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1040', '操作删除', '500', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1041', '日志导出', '500', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', sysdate(), '', null, ''); --- 登录日志按钮 -insert into sys_menu values('1042', '登录查询', '501', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1043', '登录删除', '501', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1044', '日志导出', '501', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1045', '账户解锁', '501', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', sysdate(), '', null, ''); --- 在线用户按钮 -insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', sysdate(), '', null, ''); --- 定时任务按钮 -insert into sys_menu values('1049', '任务查询', '110', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1050', '任务新增', '110', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1051', '任务修改', '110', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1052', '任务删除', '110', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1053', '状态修改', '110', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1054', '任务导出', '110', '6', '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', sysdate(), '', null, ''); --- 代码生成按钮 -insert into sys_menu values('1055', '生成查询', '116', '1', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1056', '生成修改', '116', '2', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1057', '生成删除', '116', '3', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1058', '导入代码', '116', '4', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1059', '预览代码', '116', '5', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', sysdate(), '', null, ''); -insert into sys_menu values('1060', '生成代码', '116', '6', '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', sysdate(), '', null, ''); - - --- ---------------------------- --- 6、用户和角色关联表 用户N-1角色 --- ---------------------------- -drop table if exists sys_user_role; -create table sys_user_role ( - user_id bigint(20) not null comment '用户ID', - role_id bigint(20) not null comment '角色ID', - primary key(user_id, role_id) -) engine=innodb comment = '用户和角色关联表'; - --- ---------------------------- --- 初始化-用户和角色关联表数据 --- ---------------------------- -insert into sys_user_role values ('1', '1'); -insert into sys_user_role values ('2', '2'); - - --- ---------------------------- --- 7、角色和菜单关联表 角色1-N菜单 --- ---------------------------- -drop table if exists sys_role_menu; -create table sys_role_menu ( - role_id bigint(20) not null comment '角色ID', - menu_id bigint(20) not null comment '菜单ID', - primary key(role_id, menu_id) -) engine=innodb comment = '角色和菜单关联表'; - --- ---------------------------- --- 初始化-角色和菜单关联表数据 --- ---------------------------- -insert into sys_role_menu values ('2', '1'); -insert into sys_role_menu values ('2', '2'); -insert into sys_role_menu values ('2', '3'); -insert into sys_role_menu values ('2', '4'); -insert into sys_role_menu values ('2', '100'); -insert into sys_role_menu values ('2', '101'); -insert into sys_role_menu values ('2', '102'); -insert into sys_role_menu values ('2', '103'); -insert into sys_role_menu values ('2', '104'); -insert into sys_role_menu values ('2', '105'); -insert into sys_role_menu values ('2', '106'); -insert into sys_role_menu values ('2', '107'); -insert into sys_role_menu values ('2', '108'); -insert into sys_role_menu values ('2', '109'); -insert into sys_role_menu values ('2', '110'); -insert into sys_role_menu values ('2', '111'); -insert into sys_role_menu values ('2', '112'); -insert into sys_role_menu values ('2', '113'); -insert into sys_role_menu values ('2', '114'); -insert into sys_role_menu values ('2', '115'); -insert into sys_role_menu values ('2', '116'); -insert into sys_role_menu values ('2', '117'); -insert into sys_role_menu values ('2', '500'); -insert into sys_role_menu values ('2', '501'); -insert into sys_role_menu values ('2', '1000'); -insert into sys_role_menu values ('2', '1001'); -insert into sys_role_menu values ('2', '1002'); -insert into sys_role_menu values ('2', '1003'); -insert into sys_role_menu values ('2', '1004'); -insert into sys_role_menu values ('2', '1005'); -insert into sys_role_menu values ('2', '1006'); -insert into sys_role_menu values ('2', '1007'); -insert into sys_role_menu values ('2', '1008'); -insert into sys_role_menu values ('2', '1009'); -insert into sys_role_menu values ('2', '1010'); -insert into sys_role_menu values ('2', '1011'); -insert into sys_role_menu values ('2', '1012'); -insert into sys_role_menu values ('2', '1013'); -insert into sys_role_menu values ('2', '1014'); -insert into sys_role_menu values ('2', '1015'); -insert into sys_role_menu values ('2', '1016'); -insert into sys_role_menu values ('2', '1017'); -insert into sys_role_menu values ('2', '1018'); -insert into sys_role_menu values ('2', '1019'); -insert into sys_role_menu values ('2', '1020'); -insert into sys_role_menu values ('2', '1021'); -insert into sys_role_menu values ('2', '1022'); -insert into sys_role_menu values ('2', '1023'); -insert into sys_role_menu values ('2', '1024'); -insert into sys_role_menu values ('2', '1025'); -insert into sys_role_menu values ('2', '1026'); -insert into sys_role_menu values ('2', '1027'); -insert into sys_role_menu values ('2', '1028'); -insert into sys_role_menu values ('2', '1029'); -insert into sys_role_menu values ('2', '1030'); -insert into sys_role_menu values ('2', '1031'); -insert into sys_role_menu values ('2', '1032'); -insert into sys_role_menu values ('2', '1033'); -insert into sys_role_menu values ('2', '1034'); -insert into sys_role_menu values ('2', '1035'); -insert into sys_role_menu values ('2', '1036'); -insert into sys_role_menu values ('2', '1037'); -insert into sys_role_menu values ('2', '1038'); -insert into sys_role_menu values ('2', '1039'); -insert into sys_role_menu values ('2', '1040'); -insert into sys_role_menu values ('2', '1041'); -insert into sys_role_menu values ('2', '1042'); -insert into sys_role_menu values ('2', '1043'); -insert into sys_role_menu values ('2', '1044'); -insert into sys_role_menu values ('2', '1045'); -insert into sys_role_menu values ('2', '1046'); -insert into sys_role_menu values ('2', '1047'); -insert into sys_role_menu values ('2', '1048'); -insert into sys_role_menu values ('2', '1049'); -insert into sys_role_menu values ('2', '1050'); -insert into sys_role_menu values ('2', '1051'); -insert into sys_role_menu values ('2', '1052'); -insert into sys_role_menu values ('2', '1053'); -insert into sys_role_menu values ('2', '1054'); -insert into sys_role_menu values ('2', '1055'); -insert into sys_role_menu values ('2', '1056'); -insert into sys_role_menu values ('2', '1057'); -insert into sys_role_menu values ('2', '1058'); -insert into sys_role_menu values ('2', '1059'); -insert into sys_role_menu values ('2', '1060'); - --- ---------------------------- --- 8、角色和部门关联表 角色1-N部门 --- ---------------------------- -drop table if exists sys_role_dept; -create table sys_role_dept ( - role_id bigint(20) not null comment '角色ID', - dept_id bigint(20) not null comment '部门ID', - primary key(role_id, dept_id) -) engine=innodb comment = '角色和部门关联表'; - --- ---------------------------- --- 初始化-角色和部门关联表数据 --- ---------------------------- -insert into sys_role_dept values ('2', '100'); -insert into sys_role_dept values ('2', '101'); -insert into sys_role_dept values ('2', '105'); - - --- ---------------------------- --- 9、用户与岗位关联表 用户1-N岗位 --- ---------------------------- -drop table if exists sys_user_post; -create table sys_user_post -( - user_id bigint(20) not null comment '用户ID', - post_id bigint(20) not null comment '岗位ID', - primary key (user_id, post_id) -) engine=innodb comment = '用户与岗位关联表'; - --- ---------------------------- --- 初始化-用户与岗位关联表数据 --- ---------------------------- -insert into sys_user_post values ('1', '1'); -insert into sys_user_post values ('2', '2'); - - --- ---------------------------- --- 10、操作日志记录 --- ---------------------------- -drop table if exists sys_oper_log; -create table sys_oper_log ( - oper_id bigint(20) not null auto_increment comment '日志主键', - title varchar(50) default '' comment '模块标题', - business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)', - method varchar(200) default '' comment '方法名称', - request_method varchar(10) default '' comment '请求方式', - operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)', - oper_name varchar(50) default '' comment '操作人员', - dept_name varchar(50) default '' comment '部门名称', - oper_url varchar(255) default '' comment '请求URL', - oper_ip varchar(128) default '' comment '主机地址', - oper_location varchar(255) default '' comment '操作地点', - oper_param varchar(2000) default '' comment '请求参数', - json_result varchar(2000) default '' comment '返回参数', - status int(1) default 0 comment '操作状态(0正常 1异常)', - error_msg varchar(2000) default '' comment '错误消息', - oper_time datetime comment '操作时间', - cost_time bigint(20) default 0 comment '消耗时间', - primary key (oper_id), - key idx_sys_oper_log_bt (business_type), - key idx_sys_oper_log_s (status), - key idx_sys_oper_log_ot (oper_time) -) engine=innodb auto_increment=100 comment = '操作日志记录'; - - --- ---------------------------- --- 11、字典类型表 --- ---------------------------- -drop table if exists sys_dict_type; -create table sys_dict_type -( - dict_id bigint(20) not null auto_increment comment '字典主键', - dict_name varchar(100) default '' comment '字典名称', - dict_type varchar(100) default '' comment '字典类型', - status char(1) default '0' comment '状态(0正常 1停用)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (dict_id), - unique (dict_type) -) engine=innodb auto_increment=100 comment = '字典类型表'; - -insert into sys_dict_type values(1, '用户性别', 'sys_user_sex', '0', 'admin', sysdate(), '', null, '用户性别列表'); -insert into sys_dict_type values(2, '菜单状态', 'sys_show_hide', '0', 'admin', sysdate(), '', null, '菜单状态列表'); -insert into sys_dict_type values(3, '系统开关', 'sys_normal_disable', '0', 'admin', sysdate(), '', null, '系统开关列表'); -insert into sys_dict_type values(4, '任务状态', 'sys_job_status', '0', 'admin', sysdate(), '', null, '任务状态列表'); -insert into sys_dict_type values(5, '任务分组', 'sys_job_group', '0', 'admin', sysdate(), '', null, '任务分组列表'); -insert into sys_dict_type values(6, '系统是否', 'sys_yes_no', '0', 'admin', sysdate(), '', null, '系统是否列表'); -insert into sys_dict_type values(7, '通知类型', 'sys_notice_type', '0', 'admin', sysdate(), '', null, '通知类型列表'); -insert into sys_dict_type values(8, '通知状态', 'sys_notice_status', '0', 'admin', sysdate(), '', null, '通知状态列表'); -insert into sys_dict_type values(9, '操作类型', 'sys_oper_type', '0', 'admin', sysdate(), '', null, '操作类型列表'); -insert into sys_dict_type values(10, '系统状态', 'sys_common_status', '0', 'admin', sysdate(), '', null, '登录状态列表'); - - --- ---------------------------- --- 12、字典数据表 --- ---------------------------- -drop table if exists sys_dict_data; -create table sys_dict_data -( - dict_code bigint(20) not null auto_increment comment '字典编码', - dict_sort int(4) default 0 comment '字典排序', - dict_label varchar(100) default '' comment '字典标签', - dict_value varchar(100) default '' comment '字典键值', - dict_type varchar(100) default '' comment '字典类型', - css_class varchar(100) default null comment '样式属性(其他样式扩展)', - list_class varchar(100) default null comment '表格回显样式', - is_default char(1) default 'N' comment '是否默认(Y是 N否)', - status char(1) default '0' comment '状态(0正常 1停用)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (dict_code) -) engine=innodb auto_increment=100 comment = '字典数据表'; - -insert into sys_dict_data values(1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', sysdate(), '', null, '性别男'); -insert into sys_dict_data values(2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', sysdate(), '', null, '性别女'); -insert into sys_dict_data values(3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', sysdate(), '', null, '性别未知'); -insert into sys_dict_data values(4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '显示菜单'); -insert into sys_dict_data values(5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '隐藏菜单'); -insert into sys_dict_data values(6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态'); -insert into sys_dict_data values(7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '停用状态'); -insert into sys_dict_data values(8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态'); -insert into sys_dict_data values(9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '停用状态'); -insert into sys_dict_data values(10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', sysdate(), '', null, '默认分组'); -insert into sys_dict_data values(11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', sysdate(), '', null, '系统分组'); -insert into sys_dict_data values(12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '系统默认是'); -insert into sys_dict_data values(13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '系统默认否'); -insert into sys_dict_data values(14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', sysdate(), '', null, '通知'); -insert into sys_dict_data values(15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', sysdate(), '', null, '公告'); -insert into sys_dict_data values(16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态'); -insert into sys_dict_data values(17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '关闭状态'); -insert into sys_dict_data values(18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '其他操作'); -insert into sys_dict_data values(19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '新增操作'); -insert into sys_dict_data values(20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '修改操作'); -insert into sys_dict_data values(21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '删除操作'); -insert into sys_dict_data values(22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '授权操作'); -insert into sys_dict_data values(23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '导出操作'); -insert into sys_dict_data values(24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '导入操作'); -insert into sys_dict_data values(25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '强退操作'); -insert into sys_dict_data values(26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', sysdate(), '', null, '生成操作'); -insert into sys_dict_data values(27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '清空操作'); -insert into sys_dict_data values(28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '正常状态'); -insert into sys_dict_data values(29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', sysdate(), '', null, '停用状态'); - - --- ---------------------------- --- 13、参数配置表 --- ---------------------------- -drop table if exists sys_config; -create table sys_config ( - config_id int(5) not null auto_increment comment '参数主键', - config_name varchar(100) default '' comment '参数名称', - config_key varchar(100) default '' comment '参数键名', - config_value varchar(500) default '' comment '参数键值', - config_type char(1) default 'N' comment '系统内置(Y是 N否)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (config_id) -) engine=innodb auto_increment=100 comment = '参数配置表'; - -insert into sys_config values(1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' ); -insert into sys_config values(2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, '初始化密码 123456' ); -insert into sys_config values(3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, '深色主题theme-dark,浅色主题theme-light' ); -insert into sys_config values(4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', sysdate(), '', null, '是否开启验证码功能(true开启,false关闭)'); -insert into sys_config values(5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', sysdate(), '', null, '是否开启注册用户功能(true开启,false关闭)'); -insert into sys_config values(6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', sysdate(), '', null, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); -insert into sys_config values(7, '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', sysdate(), '', null, '0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框'); -insert into sys_config values(8, '用户管理-账号密码更新周期', 'sys.account.passwordValidateDays', '0', 'Y', 'admin', sysdate(), '', null, '密码更新周期(填写数字,数据初始化值为0不限制,若修改必须为大于0小于365的正整数),如果超过这个周期登录系统时,则在登录时就会提醒修改密码对话框'); -insert into sys_config values(9, '用户管理-密码字符范围', 'sys.account.chrtype', '0', 'Y', 'admin', sysdate(), '', null, '默认任意字符范围,0任意(密码可以输入任意字符),1数字(密码只能为0-9数字),2英文字母(密码只能为a-z和A-Z字母),3字母和数字(密码必须包含字母,数字),4字母数字和特殊字符(目前支持的特殊字符包括:~!@#$%^&*()-=_+)'); - - --- ---------------------------- --- 14、系统访问记录 --- ---------------------------- -drop table if exists sys_logininfor; -create table sys_logininfor ( - info_id bigint(20) not null auto_increment comment '访问ID', - user_name varchar(50) default '' comment '用户账号', - ipaddr varchar(128) default '' comment '登录IP地址', - login_location varchar(255) default '' comment '登录地点', - browser varchar(50) default '' comment '浏览器类型', - os varchar(50) default '' comment '操作系统', - status char(1) default '0' comment '登录状态(0成功 1失败)', - msg varchar(255) default '' comment '提示消息', - login_time datetime comment '访问时间', - primary key (info_id), - key idx_sys_logininfor_s (status), - key idx_sys_logininfor_lt (login_time) -) engine=innodb auto_increment=100 comment = '系统访问记录'; - - --- ---------------------------- --- 15、定时任务调度表 --- ---------------------------- -drop table if exists sys_job; -create table sys_job ( - job_id bigint(20) not null auto_increment comment '任务ID', - job_name varchar(64) default '' comment '任务名称', - job_group varchar(64) default 'DEFAULT' comment '任务组名', - invoke_target varchar(500) not null comment '调用目标字符串', - cron_expression varchar(255) default '' comment 'cron执行表达式', - misfire_policy varchar(20) default '3' comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', - concurrent char(1) default '1' comment '是否并发执行(0允许 1禁止)', - status char(1) default '0' comment '状态(0正常 1暂停)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default '' comment '备注信息', - primary key (job_id, job_name, job_group) -) engine=innodb auto_increment=100 comment = '定时任务调度表'; - -insert into sys_job values(1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); -insert into sys_job values(2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); -insert into sys_job values(3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, ''); - - --- ---------------------------- --- 16、定时任务调度日志表 --- ---------------------------- -drop table if exists sys_job_log; -create table sys_job_log ( - job_log_id bigint(20) not null auto_increment comment '任务日志ID', - job_name varchar(64) not null comment '任务名称', - job_group varchar(64) not null comment '任务组名', - invoke_target varchar(500) not null comment '调用目标字符串', - job_message varchar(500) comment '日志信息', - status char(1) default '0' comment '执行状态(0正常 1失败)', - exception_info varchar(2000) default '' comment '异常信息', - start_time datetime comment '执行开始时间', - end_time datetime comment '执行结束时间', - create_time datetime comment '创建时间', - primary key (job_log_id) -) engine=innodb comment = '定时任务调度日志表'; - - --- ---------------------------- --- 17、通知公告表 --- ---------------------------- -drop table if exists sys_notice; -create table sys_notice ( - notice_id int(4) not null auto_increment comment '公告ID', - notice_title varchar(50) not null comment '公告标题', - notice_type char(1) not null comment '公告类型(1通知 2公告)', - notice_content longblob default null comment '公告内容', - status char(1) default '0' comment '公告状态(0正常 1关闭)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(255) default null comment '备注', - primary key (notice_id) -) engine=innodb auto_increment=10 comment = '通知公告表'; - --- ---------------------------- --- 初始化-公告信息表数据 --- ---------------------------- -insert into sys_notice values('1', '温馨提醒:2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', sysdate(), '', null, '管理员'); -insert into sys_notice values('2', '维护通知:2018-07-01 若依系统凌晨维护', '1', '维护内容', '0', 'admin', sysdate(), '', null, '管理员'); -insert into sys_notice values('3', '若依开源框架介绍', '1', '
项目介绍
RuoYi开源项目是为企业用户定制的后台脚手架框架,为企业打造的一站式解决方案,降低企业开发成本,提升开发效率。主要包括用户管理、角色管理、部门管理、菜单管理、参数管理、字典管理、岗位管理、定时任务、服务监控、登录日志、操作日志、代码生成等功能。其中,还支持多数据源、数据权限、国际化、Redis缓存、Docker部署、滑动验证码、第三方认证登录、分布式事务、分布式文件存储、分库分表处理等技术特点。

官网及演示
若依官网地址: http://ruoyi.vip
若依文档地址: http://doc.ruoyi.vip
演示地址【不分离版】: http://demo.ruoyi.vip
演示地址【分离版本】: http://vue.ruoyi.vip
演示地址【微服务版】: http://cloud.ruoyi.vip
演示地址【移动端版】: http://h5.ruoyi.vip