优化backend报销管理模块

This commit is contained in:
2026-08-13 17:08:38 +08:00
parent b45152599e
commit f818ecb74f
24 changed files with 2460 additions and 299 deletions
@@ -0,0 +1,3 @@
-- 报销明细发票关联统一文件表 yz_system_files(逗号分隔多个文件 ID
ALTER TABLE `yz_backend_reimbursement_items`
ADD COLUMN `receipt_file_ids` varchar(500) NOT NULL DEFAULT '' COMMENT '关联 yz_system_files.id,逗号分隔' AFTER `receipt_flag`;
@@ -1,3 +0,0 @@
ALTER TABLE `yz_backend_reimbursement_items`
ADD COLUMN `receipt_url` varchar(500) NOT NULL DEFAULT '' COMMENT '票据文件地址' AFTER `receipt_flag`,
ADD KEY `idx_receipt_url` (`receipt_url`);
@@ -0,0 +1,3 @@
-- 票据地址(多个 URL 逗号分隔,与 receipt_file_ids 对应)
ALTER TABLE `yz_backend_reimbursement_items`
ADD COLUMN `receipt_urls` varchar(500) NOT NULL DEFAULT '' COMMENT '票据文件地址,逗号分隔' AFTER `receipt_file_ids`;
@@ -0,0 +1,12 @@
-- 报销明细发票:统一使用 receipt_file_ids,移除 receipt_file_id
-- 若已存在 receipt_file_id 列,先合并数据再删除
UPDATE `yz_backend_reimbursement_items`
SET `receipt_file_ids` = CAST(`receipt_file_id` AS CHAR)
WHERE (`receipt_file_ids` = '' OR `receipt_file_ids` IS NULL)
AND `receipt_file_id` IS NOT NULL
AND `receipt_file_id` > 0;
ALTER TABLE `yz_backend_reimbursement_items`
DROP INDEX `idx_receipt_file_id`,
DROP COLUMN `receipt_file_id`;
@@ -0,0 +1,6 @@
-- receipt_url 重命名为 receipt_urls(与代码字段一致)
ALTER TABLE `yz_backend_reimbursement_items`
CHANGE COLUMN `receipt_url` `receipt_urls` varchar(500) NOT NULL DEFAULT '' COMMENT '票据文件地址,逗号分隔';
ALTER TABLE `yz_backend_reimbursement_items`
DROP INDEX `idx_receipt_url`;
@@ -0,0 +1,7 @@
-- 移除报销主表不再使用的字段:报销事由(title)、主表费用类型(expense_type)
-- 费用明细表 yz_backend_reimbursement_items 的 expense_type 保留不变
ALTER TABLE `yz_backend_reimbursements`
DROP INDEX `idx_expense_type`,
DROP COLUMN `title`,
DROP COLUMN `expense_type`;
-3
View File
@@ -31,10 +31,8 @@ CREATE TABLE IF NOT EXISTS `yz_backend_reimbursements` (
`uid` int(11) DEFAULT NULL COMMENT '用户ID(数据隔离)',
`user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '申请人ID',
`department_id` int(11) unsigned DEFAULT '0' COMMENT '部门ID',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '报销事由',
`total_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '总金额',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态:0-草稿 1-审批中 2-已通过 3-已驳回 4-已撤回 5-已打款',
`expense_type` varchar(50) NOT NULL DEFAULT '' COMMENT '费用类型主分类',
`apply_date` date NOT NULL COMMENT '申请日期',
`description` text COMMENT '备注说明',
`current_approver_id` int(11) unsigned DEFAULT '0' COMMENT '当前审批人ID',
@@ -47,7 +45,6 @@ CREATE TABLE IF NOT EXISTS `yz_backend_reimbursements` (
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_department_id` (`department_id`) USING BTREE,
KEY `idx_status` (`status`) USING BTREE,
KEY `idx_expense_type` (`expense_type`) USING BTREE,
KEY `idx_apply_date` (`apply_date`) USING BTREE,
KEY `idx_current_approver_id` (`current_approver_id`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE,