Files
hzdyjs/test/学生信息字段录入验证指南.md
T
2025-07-16 18:11:31 +08:00

4.8 KiB
Raw Blame History

学生信息字段录入验证指南

问题背景

用户反馈新增学生信息时,以下字段没有正常录入:

  • 宿舍楼、宿舍号
  • 过敏史、病史
  • 开户支行、持卡人姓名
  • 家庭信息(紧急联系人、父母信息、家庭收入等)
  • 扩展信息(特长、获奖、违纪记录、社会活动等)

修复内容

1. 后端实体类修复

文件:backend/ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/domain/XgStudentInfo.java

修复的字段:

  • familyIncome - 添加 @TableField("family_income")
  • familyEconomicStatus - 添加 @TableField("family_economic_status")
  • familyMembers - 添加 @TableField("family_members")
  • allergies - 添加 @TableField("allergies")
  • specialties - 添加 @TableField("specialties")
  • awards - 添加 @TableField("awards")
  • violations - 添加 @TableField("violations")

2. 前端字段名称修复

文件:web/src/views/xg-xx/studentInfo/components/StudentEditDialog.vue

修复的字段:

  • emergencyContact → emergencyContactName
  • emergencyPhone → emergencyContactPhone
  • emergencyRelation → emergencyContactRelation

3. 数据库字段确保完整

脚本:backend/script/sql/20-fix-student-fields-mapping.sql

验证步骤

第一步:执行数据库修复脚本

# 进入项目根目录
cd /path/to/your/project

# 执行数据库修复脚本
mysql -u root -p hzdyjs_xg < backend/script/sql/20-fix-student-fields-mapping.sql

第二步:重启后端服务

# 重启后端服务以加载修复后的代码
cd backend
./hot-start.sh

第三步:验证前端表单

  1. 打开浏览器访问:http://localhost
  2. 登录系统
  3. 进入:学工管理 → 学生信息管理
  4. 点击"新增"按钮
  5. 检查表单是否包含以下标签页:
    • 基本信息
    • 学籍信息
    • 联系信息
    • 家庭信息
    • 特殊情况
    • 扩展信息
    • 银行信息

第四步:填写测试数据

在新增学生表单中填写以下测试数据:

基本信息

  • 学号:TEST001
  • 姓名:测试学生
  • 性别:男
  • 出生日期:2000-01-01
  • 身份证号:110101200001010001

联系信息

  • 宿舍楼:A栋
  • 宿舍号:101

家庭信息

  • 紧急联系人:张三
  • 联系电话:13800138000
  • 关系:父亲
  • 父亲姓名:张三
  • 父亲电话:13800138000
  • 家庭年收入:5-10万
  • 家庭成员数:3

扩展信息

  • 过敏史:花粉过敏
  • 病史:无重大疾病
  • 特长:篮球
  • 获奖情况:三好学生
  • 违纪记录:无
  • 社会活动:志愿服务

银行信息

  • 持卡人姓名:测试学生
  • 开户支行:中国建设银行杭州西湖支行

第五步:提交并验证

  1. 点击"新增"按钮提交表单
  2. 查看是否提交成功
  3. 在学生列表中找到刚创建的学生
  4. 点击"详情"查看学生信息
  5. 验证所有填写的字段是否正确显示

第六步:数据库验证

-- 查询刚创建的学生信息
SELECT 
    student_no,
    name,
    dormitory_building,
    dormitory_room,
    allergies,
    medical_history,
    bank_branch,
    card_holder_name,
    emergency_contact_name,
    emergency_contact_phone,
    father_name,
    mother_name,
    family_income,
    family_members,
    specialties,
    awards,
    violations,
    social_activities
FROM xg_student_info 
WHERE student_no = 'TEST001';

预期结果

成功标准

  • ✅ 所有字段都能正常填写
  • ✅ 表单提交成功
  • ✅ 详情页面显示所有字段值
  • ✅ 数据库中所有字段都有对应的值

失败排查

如果仍有字段无法录入,请检查:

  1. 数据库字段是否存在

    SHOW COLUMNS FROM xg_student_info LIKE '%字段名%';
    
  2. 实体类是否有@TableField注解

    @TableField("database_field_name")
    private String fieldName;
    
  3. 前端字段名称是否匹配

    // 检查form对象中的字段名称
    form: {
        fieldName: ''
    }
    

测试脚本

自动化测试

# 运行Python测试脚本
python3 test/学生信息录入字段完整性测试.py

数据库检查

# 运行SQL检查脚本
mysql -u root -p hzdyjs_xg < test/学生信息字段录入问题检查.sql

常见问题

Q1:提交时报错"字段不存在"

解决方案:执行数据库修复脚本,确保所有字段都存在

Q2:字段有值但显示为空

解决方案:检查实体类的@TableField注解是否正确

Q3:前端表单字段显示异常

解决方案:检查前端字段名称是否与后端实体类匹配

联系支持

如果验证过程中遇到问题,请:

  1. 查看控制台错误信息
  2. 检查数据库连接状态
  3. 确认代码修改已生效
  4. 联系技术支持提供详细错误信息