Files
hzdyjs/docs/变更管理/code-adjust-record-2025-07-02-lixuming.md
T
2025-07-24 10:18:35 +08:00

7.9 KiB
Raw Blame History

心理健康测评模块数据库表字段调整记录

日期: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. 后续工作

需要更新以下组件以支持院系字段:

  1. 前端类型定义和API接口
  2. 新增和编辑表单界面
  3. 列表和详情页面
  4. 后端实体类、VO类和Mapper文件

相关文档

  • SQL脚本: docs/设计文档/database/心理健康测评/xljk_add_department_fields.sql
  • 参考院系数据: 来自系统 sys_dept 表,其中二级学院ID为101

心理健康测评功能增强:院系-专业联动实现

日期:2025-07-02 操作人:lixuming

变更内容

1. 需求实现

完成了心理健康测评模块的院系-专业两级联动功能,使得用户可以先选择院系,再选择该院系下的专业和班级。主要变更内容如下:

2. 后端实现

  1. 在实体类和VO类中添加院系ID和院系名称字段
  2. 添加获取院系列表的API接口
  3. 修改获取专业班级API接口,支持按院系过滤
  4. 在XML映射文件中添加院系字段映射

3. 前端实现

  1. 添加院系相关的类型定义

    • 添加DepartmentOption接口
    • 在XljkEvaluationVO和XljkEvaluationForm中添加院系字段
  2. 添加院系相关的API接口

    • 添加getDepartmentOptions函数获取院系列表
    • 更新getMajorClassOptions函数支持院系过滤
  3. 界面实现

    • 在新增和编辑页面的专业字段上方添加院系选择
    • 在列表页面查询条件和表格中添加院系字段
    • 实现院系选择后联动刷新专业选项

4. 数据关联和联动

  • 院系选择变化时,清空专业和班级选项,并重新加载该院系下的专业
  • 专业选择变化时,清空班级选项,并加载该专业下的班级
  • 列表查询时可按院系、专业、班级多级筛选

文件变更

  1. 后端文件:

    • XljkEvaluation.java - 添加院系字段
    • XljkEvaluationVo.java - 添加院系字段
    • XljkEvaluationMapper.xml - 添加字段映射
    • XljkEvaluationController.java - 添加院系API
    • IXljkEvaluationService.java - 添加院系服务接口
    • XljkEvaluationServiceImpl.java - 实现院系数据获取
  2. 前端文件:

    • 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. 后端实现

  1. 添加获取学生信息数据的API接口:

    • GET /xljk/evaluation/options/colleges - 获取院系列表
    • GET /xljk/evaluation/options/majors - 获取专业列表
    • GET /xljk/evaluation/options/classes - 获取班级列表
    • GET /xljk/evaluation/students - 获取学生列表
  2. 实现数据查询方法:

    • 通过SQL直接查询xg_student_info表,获取所需数据
    • 实现层级过滤:根据院系过滤专业,根据院系和专业过滤班级,根据院系、专业、班级获取学生信息

3. 前端实现

  1. 类型定义调整:

    • 替换原有的院系、专业、班级相关类型定义
    • 新增CollegeOption、MajorOption、ClassOption类型
    • 调整StudentInfo类型适配学生信息表结构
  2. 前端API调整:

    • 替换原有API接口调用
    • 实现新的数据获取和联动机制
  3. 界面交互调整:

    • 使用院系、专业、班级的名称进行数据交互
    • 学期字段改为手动输入方式
    • 修改学生性别显示规则,适配M/F字段

4. 核心调整点

  1. 数据源切换:从系统自建模拟数据切换到直接查询xg_student_info表
  2. 字段匹配:根据xg_student_info表结构对接对应字段
  3. 查询策略:使用动态SQL实现多级联动查询
  4. ID处理:兼容保留原有ID字段,但实际使用名称字段进行数据关联
  5. 前端适配:调整前端代码使其适配新的数据结构和交互方式

文件变更

  1. 后端文件:

    • XljkEvaluationController.java - 添加新API接口
    • IXljkEvaluationService.java - 添加新服务方法
    • XljkEvaluationServiceImpl.java - 实现学生信息查询逻辑
  2. 前端文件:

    • types.ts - 更新数据类型定义
    • index.ts - 更新API调用接口
    • add.vue - 更新表单处理逻辑

效果总结

通过此次调整,实现了心理健康测评功能与现有学生信息表的对接,使得测试过程中可以使用真实学生数据进行业务验证。此方案作为临时适配方案,待学生信息管理模块完全开发完成后,可考虑采用更规范的数据服务调用方式进行优化。