额度审批

This commit is contained in:
luojiaquan
2026-09-17 09:00:26 +08:00
parent 6487146117
commit 324da1baa1
14 changed files with 974 additions and 439 deletions
@@ -0,0 +1,72 @@
-- =============================================================
-- 客户额度调整申请/审批表
-- 信用额度、额外额度(临时额度)调整不再直接生效:
-- 先申请(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');