-- ============================================================= -- 客户额度调整申请/审批表 -- 信用额度、额外额度(临时额度)调整不再直接生效: -- 先申请(PENDING)-> 审批通过(APPROVED)后才真正调整 customer_account -- 并生成 customer_credit_flow 额度流水;可驳回(REJECTED)/撤销(CANCELLED) -- 2026-09-16 -- ============================================================= SET NAMES utf8mb4; CREATE TABLE IF NOT EXISTS `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(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');