From 1e359df1b2b7cc5f756a0f8fe854e925bc9f1bc9 Mon Sep 17 00:00:00 2001 From: LWH <2199719306@qq.com> Date: Thu, 19 Mar 2026 11:36:38 +0800 Subject: [PATCH] =?UTF-8?q?docs(teacher):=20=E6=9B=B4=E6=96=B0=E6=95=99?= =?UTF-8?q?=E5=B8=88KPI=E5=A1=AB=E5=86=99=E6=8E=A7=E5=88=B6=E5=99=A8?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在SysTeacherKpiFillingBonusPointsController中添加省略号注释 - 在SysTeacherKpiFillingGraduationGuidanceController中添加省略号注释 - 为查询详细信息方法补充文档注释 - 为导出就业指导工作列表方法补充文档注释 --- ...tStuDisciplinaryApplicationController.java | 2 +- .../RtStuDisciplinaryRelieveController.java | 18 +++++ .../IRtStuDisciplinaryRelieveService.java | 8 ++ ...StuDisciplinaryApplicationServiceImpl.java | 15 +++- .../RtStuDisciplinaryRelieveServiceImpl.java | 73 +++++++++++++++++-- 5 files changed, 108 insertions(+), 8 deletions(-) diff --git a/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryApplicationController.java b/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryApplicationController.java index 1b5e4ab..df5c797 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryApplicationController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryApplicationController.java @@ -159,7 +159,7 @@ public class RtStuDisciplinaryApplicationController extends BaseController { } @Log(title = "学生处分申请", businessType = BusinessType.IMPORT) -// @PreAuthorize("@ss.hasPermi('routine:disciplinaryApplication:import')") + @PreAuthorize("@ss.hasPermi('routine:disciplinaryApplication:import')") @PostMapping("/importData") @ApiOperation("导入学生处分申请") public AjaxResult importData(org.springframework.web.multipart.MultipartFile file, boolean updateSupport) throws Exception { diff --git a/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryRelieveController.java b/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryRelieveController.java index bf7090d..0e1dd32 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryRelieveController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/routine/RtStuDisciplinaryRelieveController.java @@ -121,6 +121,24 @@ public class RtStuDisciplinaryRelieveController extends BaseController { util.exportExcel(response, list, "学生解除处分申请数据"); } + @PostMapping("/importTemplate") + @ApiOperation("下载学生解除处分导入模板") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil(RtStuDisciplinaryRelieve.class); + util.importTemplateExcel(response, "学生解除处分申请数据导入"); + } + + @Log(title = "学生解除处分申请", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('routine:relieve:import')") + @PostMapping("/importData") + @ApiOperation("导入学生解除处分申请") + public AjaxResult importData(org.springframework.web.multipart.MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(RtStuDisciplinaryRelieve.class); + List list = util.importExcel(file.getInputStream()); + String message = rtStuDisciplinaryRelieveService.importDisciplinaryRelieve(list, updateSupport); + return success(message); + } + /** * 获取学生解除处分申请详细信息 */ diff --git a/srs-routine/src/main/java/com/srs/routine/service/IRtStuDisciplinaryRelieveService.java b/srs-routine/src/main/java/com/srs/routine/service/IRtStuDisciplinaryRelieveService.java index 2575551..5ee879b 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/IRtStuDisciplinaryRelieveService.java +++ b/srs-routine/src/main/java/com/srs/routine/service/IRtStuDisciplinaryRelieveService.java @@ -95,4 +95,12 @@ public interface IRtStuDisciplinaryRelieveService extends IService selectRtStuDisciplinaryRelieveListByXW(RtStuDisciplinaryRelieve rtStuDisciplinaryRelieve); + + /** + * 导入解除处分数据 + * @param list 解除处分数据列表 + * @param updateSupport 是否更新已经存在的数据 + * @return 导入结果信息 + */ + String importDisciplinaryRelieve(List list, boolean updateSupport); } diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java index 379cadf..40ef311 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java @@ -21,7 +21,7 @@ import org.flowable.task.api.Task; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - +import com.srs.common.utils.StringUtils; import java.util.*; /** @@ -209,7 +209,18 @@ public class RtStuDisciplinaryApplicationServiceImpl extends ServiceImpl list, boolean updateSupport) { + if (com.srs.common.utils.StringUtils.isNull(list) || list.size() == 0) { + throw new ServiceException("导入数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + + for (int i = 0; i < list.size(); i++) { + RtStuDisciplinaryRelieve rtStuDisciplinaryRelieve = list.get(i); + // 跳过 null 元素 + if (rtStuDisciplinaryRelieve == null) { + continue; + } + + // 跳过必填字段为空的行(学号为空则跳过) + if (StringUtils.isEmpty(rtStuDisciplinaryRelieve.getStuNo())) { + continue; + } + + try { + if (com.srs.common.utils.StringUtils.isNotNull(rtStuDisciplinaryRelieve.getStuNo())) { + SysUser sysUser = sysUserMapper.selectUserByUserName(rtStuDisciplinaryRelieve.getStuNo()); + if (sysUser != null) { + rtStuDisciplinaryRelieve.setStuId(sysUser.getUserId()); + rtStuDisciplinaryRelieve.setStuName(sysUser.getNickName()); + } + } + + rtStuDisciplinaryRelieve.setCreateBy(SecurityUtils.getUsername()); + rtStuDisciplinaryRelieve.setCreateTime(DateUtils.getNowDate()); + rtStuDisciplinaryRelieve.setApplicantName(SecurityUtils.getLoginUser().getUser().getNickName()); + + if (rtStuDisciplinaryRelieve.getSubmissionStatus() == null) { + rtStuDisciplinaryRelieve.setSubmissionStatus(0L); + } + + if (rtStuDisciplinaryRelieve.getPenaltyStatus() == null) { + rtStuDisciplinaryRelieve.setPenaltyStatus(1L); + } + + rtStuDisciplinaryRelieveMapper.insertRtStuDisciplinaryRelieve(rtStuDisciplinaryRelieve); + successNum++; + successMsg.append("
" + successNum + "、学号 " + rtStuDisciplinaryRelieve.getStuNo() + " 导入成功"); + } catch (Exception e) { + failureNum++; + String msg = "
" + failureNum + "、学号 " + rtStuDisciplinaryRelieve.getStuNo() + " 导入失败:"; + failureMsg.append(msg + e.getMessage()); + } + } + + if (failureNum > 0) { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } else { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + }