diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgConductScoreController.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgConductScoreController.java index 50837d1f..d953092c 100644 --- a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgConductScoreController.java +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgConductScoreController.java @@ -133,6 +133,18 @@ public class XgConductScoreController extends BaseController { @PostMapping("/listByDeptId") public TableDataInfo listByDeptId(@RequestBody Map requestBody, PageQuery pageQuery) { + // 从请求体中解析分页参数 + if (requestBody.containsKey("pageNum") && requestBody.get("pageNum") != null) { + pageQuery.setPageNum(Integer.valueOf(requestBody.get("pageNum").toString())); + } else { + pageQuery.setPageNum(1); + } + if (requestBody.containsKey("pageSize") && requestBody.get("pageSize") != null) { + pageQuery.setPageSize(Integer.valueOf(requestBody.get("pageSize").toString())); + } else { + pageQuery.setPageSize(10); + } + // 从请求体中解析排序参数 if (requestBody.containsKey("orderByColumn")) { pageQuery.setOrderByColumn((String) requestBody.get("orderByColumn")); @@ -747,6 +759,7 @@ public class XgConductScoreController extends BaseController { XgConductScoreImportVo example = new XgConductScoreImportVo(); // 设置示例数据 + example.setMonth(9); example.setStudentNo("2024001"); example.setStudentName("张三"); example.setScore(85); @@ -769,19 +782,17 @@ public class XgConductScoreController extends BaseController { @Log(title = "学生操行分", businessType = BusinessType.IMPORT) @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R importData(@RequestPart("file") MultipartFile file, - @NotNull(message = "学年不能为空") Integer academicYear, - @NotNull(message = "学期不能为空") Integer semester, - @NotNull(message = "月份不能为空") Integer month, - String classId) throws Exception { - log.info("导入操行分数据,学年: {}, 学期: {}, 月份: {}, 班级ID: {}", academicYear, semester, month, classId); + @NotNull(message = "学年不能为空") Integer academicYear, + @NotNull(message = "学期不能为空") Integer semester, + String classId) throws Exception { + log.info("导入操行分数据,学年: {}, 学期: {}, 班级ID: {}", academicYear, semester, classId); log.info("导入文件名: {}, 文件大小: {} bytes", file.getOriginalFilename(), file.getSize()); try { ExcelResult result = ExcelUtil.importExcel( - file.getInputStream(), - XgConductScoreImportVo.class, - new XgConductScoreImportListener(academicYear, semester, month, classId) - ); + file.getInputStream(), + XgConductScoreImportVo.class, + new XgConductScoreImportListener(academicYear, semester, classId)); log.info("Excel导入完成,结果: {}", result.getAnalysis()); return R.ok(result.getAnalysis()); diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgConductScoreImportVo.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgConductScoreImportVo.java index 31aba675..6c519ae1 100644 --- a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgConductScoreImportVo.java +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgConductScoreImportVo.java @@ -20,6 +20,15 @@ public class XgConductScoreImportVo implements Serializable { @Serial private static final long serialVersionUID = 1L; + /** + * 月份 + */ + @ExcelProperty("月份") + @NotNull(message = "月份不能为空") + @Min(value = 1, message = "月份必须在1-12之间") + @Max(value = 12, message = "月份必须在1-12之间") + private Integer month; + /** * 学号 */ diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/listener/XgConductScoreImportListener.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/listener/XgConductScoreImportListener.java index 54b924f0..15adb148 100644 --- a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/listener/XgConductScoreImportListener.java +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/listener/XgConductScoreImportListener.java @@ -40,7 +40,6 @@ public class XgConductScoreImportListener extends AnalysisEventListener 12) { + throw new ServiceException("月份必须在1-12之间"); + } if (StringUtils.isBlank(importVo.getStudentNo())) { throw new ServiceException("学号不能为空"); } diff --git a/docs/开发文档/API/学生操行分管理API.md b/docs/开发文档/API/学生操行分管理API.md index 41d750b8..62133c06 100644 --- a/docs/开发文档/API/学生操行分管理API.md +++ b/docs/开发文档/API/学生操行分管理API.md @@ -39,7 +39,7 @@ | 查询操行分列表 | GET | /api/xg/conduct-score/list | xg:conduct:score:list | 分页查询操行分记录 | | 查询操行分详情 | GET | /api/xg/conduct-score/{id} | xg:conduct:score:query | 根据ID查询操行分详情 | | 新增操行分 | POST | /api/xg/conduct-score | xg:conduct:score:add | 创建新的操行分记录 | -| 更新操行分 | PUT | /api/xg/conduct-score/{id} | xg:conduct:score:edit | 更新指定操行分记录 | +| 更新操行分 | PUT | /api/xg/conduct-score/{id} | xg:conductScore:update | 更新指定操行分记录 | | 删除操行分 | DELETE | /api/xg/conduct-score/{ids} | xg:conduct:score:remove | 删除指定操行分记录 | #### 业务逻辑接口 @@ -369,14 +369,21 @@ ```java // 操行分管理权限 -xg:conduct:score:list // 查看操行分列表 -xg:conduct:score:query // 查看操行分详情 -xg:conduct:score:add // 新增操行分 -xg:conduct:score:edit // 编辑操行分 -xg:conduct:score:remove // 删除操行分 -xg:conduct:score:batchAdd // 批量录入操行分 -xg:conduct:score:classStudents // 查看班主任班级学生 -xg:conduct:score:semester // 学期统计查看 +xg:conductScore:list // 查看操行分列表 +xg:conductScore:list // 查看操行分列表(按部门) +xg:conductScore:batchAdd // 批量录入操行分 +xg:conductScore:batchUpdate // 批量更新操行分 +xg:conductScore:classStudents // 查看班主任班级学生 +xg:conductScore:export // 导出操行分数据 +xg:conductScore:semesterAverage // 学期平均分统计 +xg:conductScore:exportSemester // 导出学期统计 +xg:conductScore:studentRecords // 获取学生详细记录 +xg:conductScore:classDetail // 查看班级详情 +xg:conductScore:update // 更新操行分 +xg:conductScore:remove // 删除操行分 +xg:conductScore:checkPermission // 验证录入权限 +xg:conductScore:importTemplate // 导入模板 +xg:conductScore:importData // 导入数据 xg:conduct:score:export // 数据导出 xg:conduct:score:studentRecords // 获取学生详细记录 ``` diff --git a/web/src/views/xg/xsjcxx/ConductScoreInput/index.vue b/web/src/views/xg/xsjcxx/ConductScoreInput/index.vue index 215b9159..febe9ed1 100644 --- a/web/src/views/xg/xsjcxx/ConductScoreInput/index.vue +++ b/web/src/views/xg/xsjcxx/ConductScoreInput/index.vue @@ -197,7 +197,7 @@
将文件拖到此处,或点击上传