4.8 KiB
4.8 KiB
学生信息字段录入验证指南
问题背景
用户反馈新增学生信息时,以下字段没有正常录入:
- 宿舍楼、宿舍号
- 过敏史、病史
- 开户支行、持卡人姓名
- 家庭信息(紧急联系人、父母信息、家庭收入等)
- 扩展信息(特长、获奖、违纪记录、社会活动等)
修复内容
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→emergencyContactNameemergencyPhone→emergencyContactPhoneemergencyRelation→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
第三步:验证前端表单
- 打开浏览器访问:
http://localhost - 登录系统
- 进入:学工管理 → 学生信息管理
- 点击"新增"按钮
- 检查表单是否包含以下标签页:
- 基本信息
- 学籍信息
- 联系信息
- 家庭信息
- 特殊情况
- 扩展信息
- 银行信息
第四步:填写测试数据
在新增学生表单中填写以下测试数据:
基本信息
- 学号:TEST001
- 姓名:测试学生
- 性别:男
- 出生日期:2000-01-01
- 身份证号:110101200001010001
联系信息
- 宿舍楼:A栋
- 宿舍号:101
家庭信息
- 紧急联系人:张三
- 联系电话:13800138000
- 关系:父亲
- 父亲姓名:张三
- 父亲电话:13800138000
- 家庭年收入:5-10万
- 家庭成员数:3
扩展信息
- 过敏史:花粉过敏
- 病史:无重大疾病
- 特长:篮球
- 获奖情况:三好学生
- 违纪记录:无
- 社会活动:志愿服务
银行信息
- 持卡人姓名:测试学生
- 开户支行:中国建设银行杭州西湖支行
第五步:提交并验证
- 点击"新增"按钮提交表单
- 查看是否提交成功
- 在学生列表中找到刚创建的学生
- 点击"详情"查看学生信息
- 验证所有填写的字段是否正确显示
第六步:数据库验证
-- 查询刚创建的学生信息
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';
预期结果
成功标准
- ✅ 所有字段都能正常填写
- ✅ 表单提交成功
- ✅ 详情页面显示所有字段值
- ✅ 数据库中所有字段都有对应的值
失败排查
如果仍有字段无法录入,请检查:
-
数据库字段是否存在
SHOW COLUMNS FROM xg_student_info LIKE '%字段名%'; -
实体类是否有@TableField注解
@TableField("database_field_name") private String fieldName; -
前端字段名称是否匹配
// 检查form对象中的字段名称 form: { fieldName: '' }
测试脚本
自动化测试
# 运行Python测试脚本
python3 test/学生信息录入字段完整性测试.py
数据库检查
# 运行SQL检查脚本
mysql -u root -p hzdyjs_xg < test/学生信息字段录入问题检查.sql
常见问题
Q1:提交时报错"字段不存在"
解决方案:执行数据库修复脚本,确保所有字段都存在
Q2:字段有值但显示为空
解决方案:检查实体类的@TableField注解是否正确
Q3:前端表单字段显示异常
解决方案:检查前端字段名称是否与后端实体类匹配
联系支持
如果验证过程中遇到问题,请:
- 查看控制台错误信息
- 检查数据库连接状态
- 确认代码修改已生效
- 联系技术支持提供详细错误信息