Files
BMS/bms-back/sql/customer+supplier/customer_credit_apply.sql
T
2026-09-24 09:25:47 +08:00

73 lines
5.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================
-- 客户额度调整申请/审批表
-- 信用额度、额外额度(临时额度)调整不再直接生效:
-- 先申请(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');