新增收付款模块
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
-- 首付款管理 / 汇票台账
|
||||
CREATE TABLE IF NOT EXISTS `blade_bill_ledger` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`tenant_id` varchar(12) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000',
|
||||
`create_user` bigint(20) DEFAULT NULL,
|
||||
`create_dept` bigint(20) DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT NULL,
|
||||
`update_user` bigint(20) DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT NULL,
|
||||
`status` int(11) DEFAULT '1',
|
||||
`is_deleted` int(11) DEFAULT '0',
|
||||
`bill_no` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT '票据号码',
|
||||
`issuer_id` bigint(20) NOT NULL COMMENT '出票单位客商ID',
|
||||
`issuer_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '出票单位',
|
||||
`receiver_id` bigint(20) DEFAULT NULL COMMENT '收票单位ID',
|
||||
`receiver_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '收票单位',
|
||||
`bill_type` varchar(30) COLLATE utf8mb4_general_ci NOT NULL COMMENT '汇票类型:issued开票、received收票',
|
||||
`face_amount` decimal(18,2) NOT NULL COMMENT '票面金额',
|
||||
`available_balance` decimal(18,2) NOT NULL COMMENT '可用余额',
|
||||
`issue_date` date NOT NULL COMMENT '出票日期',
|
||||
`maturity_date` date NOT NULL COMMENT '到期日期',
|
||||
`available_dept_ids_json` longtext COLLATE utf8mb4_general_ci NOT NULL COMMENT '可用部门ID列表',
|
||||
`available_dept_names` varchar(500) COLLATE utf8mb4_general_ci NOT NULL COMMENT '可用部门名称',
|
||||
`fee_bearer_id` bigint(20) NOT NULL COMMENT '费用承担方客商ID',
|
||||
`fee_bearer_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '费用承担方',
|
||||
`confirmed_discount_rate` decimal(8,4) DEFAULT NULL COMMENT '双方确认贴现率(%)',
|
||||
`issuing_bank` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '出票行',
|
||||
`bank_discount_reference_rate` decimal(8,4) DEFAULT NULL COMMENT '银行贴现参考率(%)',
|
||||
`estimated_discount_fee` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '预计贴现费用',
|
||||
`attachments_json` longtext COLLATE utf8mb4_general_ci COMMENT '附件JSON',
|
||||
`remark` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_bill_ledger_no` (`tenant_id`,`bill_no`),
|
||||
KEY `idx_bill_ledger_maturity` (`tenant_id`,`maturity_date`),
|
||||
KEY `idx_bill_ledger_parties` (`tenant_id`,`issuer_name`,`receiver_name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='汇票台账';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `blade_bill_ledger_usage` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`tenant_id` varchar(12) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000',
|
||||
`create_user` bigint(20) DEFAULT NULL,
|
||||
`create_dept` bigint(20) DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT NULL,
|
||||
`update_user` bigint(20) DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT NULL,
|
||||
`status` int(11) DEFAULT '1',
|
||||
`is_deleted` int(11) DEFAULT '0',
|
||||
`bill_ledger_id` bigint(20) NOT NULL COMMENT '汇票台账ID',
|
||||
`payment_application_id` bigint(20) NOT NULL COMMENT '付款申请ID',
|
||||
`application_no` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '申请单号',
|
||||
`used_amount` decimal(18,2) NOT NULL COMMENT '使用金额',
|
||||
`use_dept_id` bigint(20) DEFAULT NULL COMMENT '使用部门ID',
|
||||
`use_dept_name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '使用部门',
|
||||
`usage_status` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'approved' COMMENT '状态:approved已使用、released已释放',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_bill_ledger_usage_payment` (`tenant_id`,`payment_application_id`),
|
||||
KEY `idx_bill_ledger_usage_ledger` (`tenant_id`,`bill_ledger_id`,`usage_status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='汇票使用记录';
|
||||
|
||||
-- 以下结构升级支持重复执行,兼容前一次已执行 DDL、仅菜单插入失败的场景
|
||||
SET @ddl_sql = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE `blade_payment_application` ADD COLUMN `bill_ledger_id` bigint(20) DEFAULT NULL COMMENT ''汇票台账ID'' AFTER `payment_method`',
|
||||
'SELECT 1')
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'blade_payment_application'
|
||||
AND COLUMN_NAME = 'bill_ledger_id'
|
||||
);
|
||||
PREPARE ddl_stmt FROM @ddl_sql;
|
||||
EXECUTE ddl_stmt;
|
||||
DEALLOCATE PREPARE ddl_stmt;
|
||||
|
||||
SET @ddl_sql = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE `blade_payment_application` ADD COLUMN `bill_no` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''票据号码'' AFTER `bill_ledger_id`',
|
||||
'SELECT 1')
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'blade_payment_application'
|
||||
AND COLUMN_NAME = 'bill_no'
|
||||
);
|
||||
PREPARE ddl_stmt FROM @ddl_sql;
|
||||
EXECUTE ddl_stmt;
|
||||
DEALLOCATE PREPARE ddl_stmt;
|
||||
|
||||
SET @ddl_sql = (
|
||||
SELECT IF(COUNT(*) = 0,
|
||||
'ALTER TABLE `blade_payment_application` ADD KEY `idx_payment_application_bill_ledger` (`bill_ledger_id`)',
|
||||
'SELECT 1')
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'blade_payment_application'
|
||||
AND INDEX_NAME = 'idx_payment_application_bill_ledger'
|
||||
);
|
||||
PREPARE ddl_stmt FROM @ddl_sql;
|
||||
EXECUTE ddl_stmt;
|
||||
DEALLOCATE PREPARE ddl_stmt;
|
||||
|
||||
INSERT INTO `blade_menu`
|
||||
(`id`,`parent_id`,`code`,`name`,`alias`,`path`,`source`,`sort`,`category`,`action`,`is_open`,`component`,`remark`,`is_deleted`)
|
||||
VALUES
|
||||
(2090000000000001200,0,'first_payment_management','首付款管理','first_payment_management','/payment','iconfont icon-caidanguanli',6,1,0,1,NULL,'',0),
|
||||
(2090000000000001280,2090000000000001200,'bill_ledger','汇票台账','bill_ledger','/payment/bill-ledger','',6,1,0,1,NULL,'',0),
|
||||
(2090000000000001281,2090000000000001280,'bill_ledger_view','查看','bill_ledger_view','','',1,2,0,1,NULL,'',0),
|
||||
(2090000000000001282,2090000000000001280,'bill_ledger_add','新增','bill_ledger_add','','',2,2,0,1,NULL,'',0),
|
||||
(2090000000000001283,2090000000000001280,'bill_ledger_edit','编辑','bill_ledger_edit','','',3,2,0,1,NULL,'',0),
|
||||
(2090000000000001284,2090000000000001280,'bill_ledger_delete','删除','bill_ledger_delete','','',4,2,0,1,NULL,'',0)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`name`=VALUES(`name`),
|
||||
`path`=VALUES(`path`),
|
||||
`component`=VALUES(`component`),
|
||||
`is_deleted`=0;
|
||||
Reference in New Issue
Block a user