7.9 KiB
心理健康测评模块数据库表字段调整记录
日期:2025-07-02 操作人:lixuming
变更内容
1. 问题描述
在访问心理健康测评模块时,系统报错:
Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'create_dept' in 'field list'
经分析,问题是数据库表字段与实体类定义不一致。实体类通过继承 BaseEntity 包含 createDept 字段,但数据库表中不存在对应的 create_dept 列。
2. 解决方案
在数据库表中添加缺失的 create_dept 字段,并设置初始值。
3. 执行的SQL语句
-- 向xljk_evaluation表添加create_dept字段
ALTER TABLE xljk_evaluation ADD COLUMN create_dept bigint NOT NULL COMMENT '创建部门' AFTER tenant_id;
-- 向xljk_evaluation_detail表添加create_dept字段
ALTER TABLE xljk_evaluation_detail ADD COLUMN create_dept bigint NOT NULL COMMENT '创建部门' AFTER tenant_id;
-- 设置初始值:使用create_by字段的值作为create_dept的值
UPDATE xljk_evaluation SET create_dept = create_by;
UPDATE xljk_evaluation_detail SET create_dept = create_by;
4. 变更结果
两个表都成功添加了 create_dept 字段,并设置了初始值。
5. 影响范围
此变更使数据库表结构与实体类定义一致,解决了因字段缺失导致的SQL查询错误,使心理健康测评模块可以正常访问和使用。
相关文档
- 实体类:
org.dromara.xljk.domain.XljkEvaluation继承自TenantEntity,后者继承自BaseEntity BaseEntity类包含createDept字段,对应数据库中的create_dept列
心理健康测评模块添加院系字段
日期:2025-07-02 操作人:lixuming
变更内容
1. 需求描述
在心理健康测评新增界面中,需要在专业字段上方增加一个院系字段,实现院系-专业的两级联动。
2. 解决方案
在数据库表中添加院系ID和院系名称字段,并为已有数据设置默认值。
3. 执行的SQL语句
-- 在心理健康测评表中添加院系ID和院系名称字段
ALTER TABLE xljk_evaluation
ADD COLUMN department_id bigint NOT NULL COMMENT '院系ID' AFTER id,
ADD COLUMN department_name varchar(100) NOT NULL COMMENT '院系名称' AFTER department_id;
-- 更新已有数据,设置默认值
UPDATE xljk_evaluation SET department_id = 103, department_name = '智能控制学院' WHERE 1=1;
-- 为院系ID字段添加索引以提高查询效率
ALTER TABLE xljk_evaluation ADD INDEX idx_department_id (department_id);
4. 变更结果
成功添加了院系字段,并为已有数据设置了默认值。
5. 后续工作
需要更新以下组件以支持院系字段:
- 前端类型定义和API接口
- 新增和编辑表单界面
- 列表和详情页面
- 后端实体类、VO类和Mapper文件
相关文档
- SQL脚本:
docs/设计文档/database/心理健康测评/xljk_add_department_fields.sql - 参考院系数据: 来自系统
sys_dept表,其中二级学院ID为101
心理健康测评功能增强:院系-专业联动实现
日期:2025-07-02 操作人:lixuming
变更内容
1. 需求实现
完成了心理健康测评模块的院系-专业两级联动功能,使得用户可以先选择院系,再选择该院系下的专业和班级。主要变更内容如下:
2. 后端实现
- 在实体类和VO类中添加院系ID和院系名称字段
- 添加获取院系列表的API接口
- 修改获取专业班级API接口,支持按院系过滤
- 在XML映射文件中添加院系字段映射
3. 前端实现
-
添加院系相关的类型定义
- 添加
DepartmentOption接口 - 在
XljkEvaluationVO和XljkEvaluationForm中添加院系字段
- 添加
-
添加院系相关的API接口
- 添加
getDepartmentOptions函数获取院系列表 - 更新
getMajorClassOptions函数支持院系过滤
- 添加
-
界面实现
- 在新增和编辑页面的专业字段上方添加院系选择
- 在列表页面查询条件和表格中添加院系字段
- 实现院系选择后联动刷新专业选项
4. 数据关联和联动
- 院系选择变化时,清空专业和班级选项,并重新加载该院系下的专业
- 专业选择变化时,清空班级选项,并加载该专业下的班级
- 列表查询时可按院系、专业、班级多级筛选
文件变更
-
后端文件:
XljkEvaluation.java- 添加院系字段XljkEvaluationVo.java- 添加院系字段XljkEvaluationMapper.xml- 添加字段映射XljkEvaluationController.java- 添加院系APIIXljkEvaluationService.java- 添加院系服务接口XljkEvaluationServiceImpl.java- 实现院系数据获取
-
前端文件:
types.ts- 添加院系相关类型index.ts- 添加院系API接口add.vue- 添加院系选择和联动edit.vue- 添加院系字段index.vue- 添加院系查询和显示
效果总结
通过添加院系字段和实现联动,使心理健康测评的数据组织更符合学校管理结构,提高了数据管理的层次性和使用体验。用户可以按院系-专业-班级的自然组织结构进行操作,提升了系统易用性。
心理健康测评模块与学生信息管理关联适配
日期:2025-07-02 操作人:lixuming
变更内容
1. 需求背景
由于学生信息管理模块尚未完全开发完成,需要关联现有的xg_student_info表数据用于心理健康测评的业务验证。主要调整内容包括:
- 将院系字段关联至xg_student_info.college_name
- 将专业字段关联至xg_student_info.major_name
- 将班级字段关联至xg_student_info.class_name
- 学期字段由下拉选择改为手动填写
2. 后端实现
-
添加获取学生信息数据的API接口:
- GET /xljk/evaluation/options/colleges - 获取院系列表
- GET /xljk/evaluation/options/majors - 获取专业列表
- GET /xljk/evaluation/options/classes - 获取班级列表
- GET /xljk/evaluation/students - 获取学生列表
-
实现数据查询方法:
- 通过SQL直接查询xg_student_info表,获取所需数据
- 实现层级过滤:根据院系过滤专业,根据院系和专业过滤班级,根据院系、专业、班级获取学生信息
3. 前端实现
-
类型定义调整:
- 替换原有的院系、专业、班级相关类型定义
- 新增CollegeOption、MajorOption、ClassOption类型
- 调整StudentInfo类型适配学生信息表结构
-
前端API调整:
- 替换原有API接口调用
- 实现新的数据获取和联动机制
-
界面交互调整:
- 使用院系、专业、班级的名称进行数据交互
- 学期字段改为手动输入方式
- 修改学生性别显示规则,适配M/F字段
4. 核心调整点
- 数据源切换:从系统自建模拟数据切换到直接查询xg_student_info表
- 字段匹配:根据xg_student_info表结构对接对应字段
- 查询策略:使用动态SQL实现多级联动查询
- ID处理:兼容保留原有ID字段,但实际使用名称字段进行数据关联
- 前端适配:调整前端代码使其适配新的数据结构和交互方式
文件变更
-
后端文件:
- XljkEvaluationController.java - 添加新API接口
- IXljkEvaluationService.java - 添加新服务方法
- XljkEvaluationServiceImpl.java - 实现学生信息查询逻辑
-
前端文件:
- types.ts - 更新数据类型定义
- index.ts - 更新API调用接口
- add.vue - 更新表单处理逻辑
效果总结
通过此次调整,实现了心理健康测评功能与现有学生信息表的对接,使得测试过程中可以使用真实学生数据进行业务验证。此方案作为临时适配方案,待学生信息管理模块完全开发完成后,可考虑采用更规范的数据服务调用方式进行优化。