Files
hzdyjs/出国申请功能修复说明.md
T
2025-10-14 16:41:19 +08:00

4.5 KiB

出国申请功能修复说明

修复日期: 2025-10-11
问题:

  1. 新增申请弹窗中"申请附件"功能需要删除
  2. 上传出国境登记表盖章文件时报错:Unknown column 'stamped_file_oss_id' in 'field list'

📋 修复内容

1. ✅ 前端修改 - 删除"申请附件"功能

修改文件: web/src/views/rs/overseas/index.vue

修改内容: 删除了新增申请弹窗中的"申请附件管理区域"(第866-899行)

影响范围:

  • 新增申请时不再显示"申请附件"上传区域
  • 移除了"添加附件"按钮
  • 移除了附件列表展示
  • 其他功能(盖章文件上传、党籍保留附件)保持不变

2. ⚠️ 数据库修复 - 添加OSS ID字段(需要手动执行)

问题原因:

  • 后端代码在更新盖章文件信息时,尝试更新 stamped_file_oss_id 和 party_retention_file_oss_id 字段
  • 但数据库表 rs_overseas_application 中缺少这两个字段
  • 导致SQL执行失败

解决方案: 执行SQL脚本添加缺失的字段

SQL脚本位置: 【立即执行】修复出国申请OSS字段.sql

执行方法:

💡 推荐方法:使用Navicat/DBeaver等图形化工具

  1. 打开 【立即执行】修复出国申请OSS字段.sql 文件
  2. 复制全部SQL语句
  3. 在Navicat中连接到 ruoyi_vue_plus 数据库
  4. 新建查询窗口,粘贴SQL语句
  5. 点击"运行"按钮
  6. 查看执行结果,确认"修复完成"

方法2:使用MySQL命令行

# 进入项目目录
cd /Users/weizzzz/Documents/Cursor/0828CURSOR/all-project

# 执行SQL脚本(请替换为实际的数据库密码)
mysql -u root -p < 【立即执行】修复出国申请OSS字段.sql

🔍 SQL脚本说明

脚本会执行以下操作:

  1. 添加盖章文件OSS ID字段

    ALTER TABLE `rs_overseas_application` 
    ADD COLUMN `stamped_file_oss_id` BIGINT(20) NULL 
    COMMENT '盖章文件OSS ID' 
    AFTER `stamped_file_upload_status`;
    
  2. 添加党籍保留附件OSS ID字段

    ALTER TABLE `rs_overseas_application` 
    ADD COLUMN `party_retention_file_oss_id` BIGINT(20) NULL 
    COMMENT '党籍保留附件OSS ID' 
    AFTER `party_retention_upload_status`;
    
  3. 添加索引提升查询性能

    ALTER TABLE `rs_overseas_application` 
    ADD INDEX `idx_stamped_file_oss_id` (`stamped_file_oss_id`),
    ADD INDEX `idx_party_retention_file_oss_id` (`party_retention_file_oss_id`);
    
  4. 智能检查: 脚本会自动检查字段是否已存在,避免重复添加


✅ 验证方法

1. 验证数据库字段

执行SQL后,运行以下查询验证字段是否成功添加:

USE ruoyi_vue_plus;

SELECT 
    COLUMN_NAME, 
    COLUMN_TYPE, 
    COLUMN_COMMENT,
    IS_NULLABLE
FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'ruoyi_vue_plus' 
AND TABLE_NAME = 'rs_overseas_application' 
AND COLUMN_NAME IN ('stamped_file_oss_id', 'party_retention_file_oss_id');

预期结果:

+-----------------------------+-------------+---------------------+-------------+
| COLUMN_NAME                 | COLUMN_TYPE | COLUMN_COMMENT      | IS_NULLABLE |
+-----------------------------+-------------+---------------------+-------------+
| stamped_file_oss_id         | bigint(20)  | 盖章文件OSS ID      | YES         |
| party_retention_file_oss_id | bigint(20)  | 党籍保留附件OSS ID  | YES         |
+-----------------------------+-------------+---------------------+-------------+

2. 验证功能

  1. 启动后端服务
  2. 登录系统,进入"人事管理 → 出国申请"
  3. 点击"新增申请"
  4. 填写必填信息
  5. 上传"出国境登记表盖章文件"
  6. 确认上传成功,没有报错

📊 修改汇总

修复项 文件 状态
删除申请附件功能 web/src/views/rs/overseas/index.vue ✅ 已完成
添加OSS ID字段 数据库表 rs_overseas_application ⚠️ 需手动执行SQL
后端代码 无需修改(代码正确) ✅ 无需修改

🚨 重要提示

  1. 必须先执行SQL脚本,否则上传盖章文件时仍会报错
  2. SQL脚本已做了智能检查,重复执行不会报错
  3. 建议在测试环境先验证后再应用到生产环境
  4. 执行SQL前建议备份数据库

📞 技术支持

如遇问题,请检查:

  1. 数据库连接是否正常
  2. 是否有ALTER TABLE权限
  3. 表 rs_overseas_application 是否存在
  4. SQL脚本执行后的输出信息

修复完成后,出国申请的盖章文件上传功能将恢复正常! ✨