From f85b9b258af3acc5c411c982852b758f7bfe5c06 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Sat, 25 Oct 2025 22:33:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../XskhDisciplineRecordController.java | 22 + .../mapper/XskhDisciplineRecordMapper.java | 12 +- .../service/IXskhDisciplineRecordService.java | 22 + .../impl/XskhDisciplineRecordServiceImpl.java | 52 +- .../mapper/XskhDisciplineRecordMapper.xml | 11 +- .../code-adjust-record-2025-01-08-cursor.md | 75 - .../code-adjust-record-2025-01-14-cursor.md | 241 --- .../code-adjust-record-2025-01-15-cursor.md | 66 - .../code-adjust-record-2025-01-21-cursor.md | 137 -- mobile/src/pages.json | 16 + mobile/src/pages/index/index.vue | 22 + .../xskh/wjjlEntry/disciplineRecordForm.vue | 1811 +++++++++++++++++ mobile/src/pages/xskh/wjjlEntry/index.vue | 511 +++++ 13 files changed, 2472 insertions(+), 526 deletions(-) delete mode 100644 docs/变更管理/code-adjust-record-2025-01-08-cursor.md delete mode 100644 docs/变更管理/code-adjust-record-2025-01-14-cursor.md delete mode 100644 docs/变更管理/code-adjust-record-2025-01-15-cursor.md delete mode 100644 docs/变更管理/code-adjust-record-2025-01-21-cursor.md create mode 100644 mobile/src/pages/xskh/wjjlEntry/disciplineRecordForm.vue create mode 100644 mobile/src/pages/xskh/wjjlEntry/index.vue diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineRecordController.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineRecordController.java index be7e95fc..a692de04 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineRecordController.java +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineRecordController.java @@ -112,6 +112,18 @@ public class XskhDisciplineRecordController extends BaseController { return R.ok(xskhDisciplineRecordService.getStudentOptions(keyword)); } + /** + * 分页查询学生选项列表(用于移动端) + */ + @SaCheckPermission("disciplineRecord:disciplineRecord:query") + @GetMapping("/studentOptionsPage") + public R> getStudentOptionsPage( + @RequestParam(required = false) String keyword, + @RequestParam(required = false, defaultValue = "1") Integer pageNum, + @RequestParam(required = false, defaultValue = "20") Integer pageSize) { + return R.ok(xskhDisciplineRecordService.getStudentOptionsPage(keyword, pageNum, pageSize)); + } + /** * 查询当前登录学生的违纪处分记录列表 */ @@ -166,4 +178,14 @@ public class XskhDisciplineRecordController extends BaseController { @RequestParam String endTime) { return R.ok(xskhDisciplineRecordService.getMaxScoreByTypeAndPeriod(typeId, startTime, endTime)); } + + /** + * 查询当前用户创建的违纪记录列表(支持按学生姓名或学号搜索) + */ + @SaCheckPermission("disciplineRecord:disciplineRecord:query") + @GetMapping("/myCreated") + public TableDataInfo getMyCreatedDisciplineRecords(XskhDisciplineRecordBo bo, + PageQuery pageQuery) { + return xskhDisciplineRecordService.queryMyCreatedPageList(bo, pageQuery); + } } diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineRecordMapper.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineRecordMapper.java index 75db4990..c93965ff 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineRecordMapper.java +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineRecordMapper.java @@ -22,10 +22,14 @@ public interface XskhDisciplineRecordMapper extends BaseMapperPlus selectStudentOptions(String keyword); + List selectStudentOptions(@Param("keyword") String keyword, + @Param("pageNum") Integer pageNum, + @Param("pageSize") Integer pageSize); /** * 查询班主任班级的违纪处分记录列表(班主任专用) @@ -78,7 +82,7 @@ public interface XskhDisciplineRecordMapper extends BaseMapperPlus getStudentOptions(String keyword); + /** + * 分页查询学生选项列表(用于移动端) + * + * @param keyword 搜索关键词 + * @param pageNum 页码 + * @param pageSize 每页数量 + * @return 学生选项列表 + */ + List getStudentOptionsPage(String keyword, Integer pageNum, Integer pageSize); + /** * 查询当前登录学生的违纪处分记录列表 */ @@ -101,4 +114,13 @@ public interface IXskhDisciplineRecordService { * @return 最高总扣分 */ java.math.BigDecimal getMaxScoreByTypeAndPeriod(Long typeId, String startTime, String endTime); + + /** + * 查询当前用户创建的违纪记录列表(支持按学生姓名或学号搜索) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 违纪记录分页列表 + */ + TableDataInfo queryMyCreatedPageList(XskhDisciplineRecordBo bo, PageQuery pageQuery); } diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineRecordServiceImpl.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineRecordServiceImpl.java index 97a73cbf..69798c8e 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineRecordServiceImpl.java +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineRecordServiceImpl.java @@ -165,7 +165,15 @@ public class XskhDisciplineRecordServiceImpl implements IXskhDisciplineRecordSer */ @Override public List getStudentOptions(String keyword) { - return baseMapper.selectStudentOptions(keyword); + return baseMapper.selectStudentOptions(keyword, null, null); + } + + /** + * 分页查询学生选项列表(用于移动端) + */ + @Override + public List getStudentOptionsPage(String keyword, Integer pageNum, Integer pageSize) { + return baseMapper.selectStudentOptions(keyword, pageNum, pageSize); } /** @@ -286,4 +294,46 @@ public class XskhDisciplineRecordServiceImpl implements IXskhDisciplineRecordSer log.info("违纪类型 {} 的最高总扣分为: {}", typeId, maxScore); return maxScore; } + + /** + * 查询当前用户创建的违纪记录列表(支持按学生姓名或学号搜索) + */ + @Override + public TableDataInfo queryMyCreatedPageList(XskhDisciplineRecordBo bo, + PageQuery pageQuery) { + // 获取当前登录用户ID + Long currentUserId = LoginHelper.getUserId(); + log.info("查询用户 {} 创建的违纪记录列表", currentUserId); + + // 构建查询条件,强制只查询当前用户创建的记录 + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + + // 核心条件:只查询当前用户创建的记录 + lqw.eq(XskhDisciplineRecord::getCreateBy, currentUserId); + + // 支持按学生姓名或学号模糊搜索(使用OR连接) + if (StringUtils.isNotBlank(bo.getStudentName()) || StringUtils.isNotBlank(bo.getStudentNo())) { + String keyword = StringUtils.isNotBlank(bo.getStudentName()) ? bo.getStudentName() : bo.getStudentNo(); + lqw.and(wrapper -> wrapper + .like(XskhDisciplineRecord::getStudentName, keyword) + .or() + .like(XskhDisciplineRecord::getStudentNo, keyword)); + } + + // 其他可选查询条件 + lqw.eq(bo.getStudentId() != null, XskhDisciplineRecord::getStudentId, bo.getStudentId()); + lqw.eq(bo.getCollegeId() != null, XskhDisciplineRecord::getCollegeId, bo.getCollegeId()); + lqw.eq(bo.getMajorId() != null, XskhDisciplineRecord::getMajorId, bo.getMajorId()); + lqw.eq(bo.getClassId() != null, XskhDisciplineRecord::getClassId, bo.getClassId()); + lqw.eq(bo.getDisciplineTypeId() != null, XskhDisciplineRecord::getDisciplineTypeId, bo.getDisciplineTypeId()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), XskhDisciplineRecord::getStatus, bo.getStatus()); + + // 按创建时间倒序排列 + lqw.orderByDesc(XskhDisciplineRecord::getCreateTime); + + // 执行分页查询 + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + log.info("查询到 {} 条记录", result.getTotal()); + return TableDataInfo.build(result); + } } diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/XskhDisciplineRecordMapper.xml b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/XskhDisciplineRecordMapper.xml index ac51253f..18e6125c 100644 --- a/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/XskhDisciplineRecordMapper.xml +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/XskhDisciplineRecordMapper.xml @@ -49,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, student_id, student_no, student_name, college_id, college_name, major_id, major_name, class_id, class_name, discipline_type_id, discipline_type_name, discipline_date, discipline_reason, discipline_content, score_deduction, status, violation_source, attachment_oss_ids, create_by, create_time, create_dept, update_by, update_time, deleted, tenant_id from xskh_discipline_record - select id, student_no, name, college_id, college_name, major_id, major_name, class_id, class_name @@ -61,7 +61,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" or name like concat('%', #{keyword}, '%')) order by student_no - limit 50 + + + limit ${(pageNum - 1) * pageSize}, #{pageSize, jdbcType=INTEGER} + + + limit 50 + +