✨ 完善核销用户记录和毛利报表导出日志

This commit is contained in:
caojia
2026-10-19 16:43:14 +08:00
parent a754e8dcc6
commit 383ef55e00
14 changed files with 103 additions and 24 deletions
@@ -0,0 +1,30 @@
-- 为余额核销记录增加核销人与反核销人用户主键。
-- 本脚本仅调整表结构;历史记录保持 NULL,新操作由服务写入当前登录用户ID。
SET @column_exists := (
SELECT COUNT(1) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ar_balance_writeoff'
AND COLUMN_NAME = 'create_user_id'
);
SET @sql := IF(@column_exists = 0,
'ALTER TABLE `ar_balance_writeoff` ADD COLUMN `create_user_id` bigint(20) DEFAULT NULL COMMENT ''核销人用户ID'' AFTER `remark`',
'ALTER TABLE `ar_balance_writeoff` MODIFY COLUMN `create_user_id` bigint(20) DEFAULT NULL COMMENT ''核销人用户ID'' AFTER `remark`'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @column_exists := (
SELECT COUNT(1) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ar_balance_writeoff'
AND COLUMN_NAME = 'cancel_user_id'
);
SET @sql := IF(@column_exists = 0,
'ALTER TABLE `ar_balance_writeoff` ADD COLUMN `cancel_user_id` bigint(20) DEFAULT NULL COMMENT ''反核销人用户ID'' AFTER `create_time`',
'ALTER TABLE `ar_balance_writeoff` MODIFY COLUMN `cancel_user_id` bigint(20) DEFAULT NULL COMMENT ''反核销人用户ID'' AFTER `create_time`'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
+3
View File
@@ -25,8 +25,10 @@ CREATE TABLE `ar_balance_writeoff` (
`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_user_id` bigint(20) DEFAULT NULL COMMENT '核销人用户ID',
`create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建人',
`create_time` datetime NOT NULL COMMENT '创建时间',
`cancel_user_id` bigint(20) DEFAULT NULL COMMENT '反核销人用户ID',
`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 '反核销原因',
@@ -2268,6 +2270,7 @@ CREATE TABLE IF NOT EXISTS `prc_profit_report_export` (
`storage_key` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '下载目录下的文件Key',
`row_count` int(11) DEFAULT NULL COMMENT '导出记录数',
`export_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'PROCESSING生成中,SUCCESS成功,FAILED失败',
`export_user_id` bigint(20) DEFAULT NULL COMMENT '导出人用户ID',
`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 '失败原因',
@@ -6,6 +6,7 @@ CREATE TABLE IF NOT EXISTS `prc_profit_report_export` (
`storage_key` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '下载目录下的文件Key',
`row_count` int(11) DEFAULT NULL COMMENT '导出记录数',
`export_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'PROCESSING生成中,SUCCESS成功,FAILED失败',
`export_user_id` bigint(20) DEFAULT NULL COMMENT '导出人用户ID',
`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 '失败原因',
@@ -13,3 +14,18 @@ CREATE TABLE IF NOT EXISTS `prc_profit_report_export` (
KEY `idx_profit_report_export_user_time` (`export_by`, `export_time`),
KEY `idx_profit_report_export_status` (`export_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='毛利报表导出日志';
-- 已存在的表补充导出用户ID;再次执行时仅校正字段位置与定义。
SET @column_exists := (
SELECT COUNT(1) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'prc_profit_report_export'
AND COLUMN_NAME = 'export_user_id'
);
SET @sql := IF(@column_exists = 0,
'ALTER TABLE `prc_profit_report_export` ADD COLUMN `export_user_id` bigint(20) DEFAULT NULL COMMENT ''导出人用户ID'' AFTER `export_status`',
'ALTER TABLE `prc_profit_report_export` MODIFY COLUMN `export_user_id` bigint(20) DEFAULT NULL COMMENT ''导出人用户ID'' AFTER `export_status`'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
+15
View File
@@ -24,6 +24,7 @@ CREATE TABLE IF NOT EXISTS `prc_profit_report_export` (
`storage_key` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '下载目录下的文件Key',
`row_count` int(11) DEFAULT NULL COMMENT '导出记录数',
`export_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'PROCESSING生成中,SUCCESS成功,FAILED失败',
`export_user_id` bigint(20) DEFAULT NULL COMMENT '导出人用户ID',
`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 '失败原因',
@@ -32,6 +33,20 @@ CREATE TABLE IF NOT EXISTS `prc_profit_report_export` (
KEY `idx_profit_report_export_status` (`export_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='毛利报表导出日志';
SET @column_exists := (
SELECT COUNT(1) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'prc_profit_report_export'
AND COLUMN_NAME = 'export_user_id'
);
SET @sql := IF(@column_exists = 0,
'ALTER TABLE `prc_profit_report_export` ADD COLUMN `export_user_id` bigint(20) DEFAULT NULL COMMENT ''导出人用户ID'' AFTER `export_status`',
'ALTER TABLE `prc_profit_report_export` MODIFY COLUMN `export_user_id` bigint(20) DEFAULT NULL COMMENT ''导出人用户ID'' AFTER `export_status`'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @index_exists := (
SELECT COUNT(1) FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'prc_order_bill'