diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7b016a8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsNeedCardStuServiceImpl.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsNeedCardStuServiceImpl.java index d699676..b9dbb85 100644 --- a/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsNeedCardStuServiceImpl.java +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsNeedCardStuServiceImpl.java @@ -111,7 +111,7 @@ public class DmsNeedCardStuServiceImpl extends ServiceImpl list = rtStuAtSchoolService.selectRtStuAtSchoolList(rtStuAtSchool); return getDataTable(list); @@ -54,8 +54,7 @@ public class RtStuAtSchoolController extends BaseController { @Log(title = "测试", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("导出测试列表") - public void export(HttpServletResponse response, RtStuAtSchool rtStuAtSchool) - { + public void export(HttpServletResponse response, RtStuAtSchool rtStuAtSchool) { List list = rtStuAtSchoolService.selectRtStuAtSchoolList(rtStuAtSchool); ExcelUtil util = new ExcelUtil(RtStuAtSchool.class); util.exportExcel(response, list, "测试数据"); @@ -67,8 +66,7 @@ public class RtStuAtSchoolController extends BaseController { @PreAuthorize("@ss.hasPermi('routine:school:query')") @GetMapping(value = "/{id}") @ApiOperation("获取测试详细信息") - public AjaxResult getInfo(@PathVariable("id") Integer id) - { + public AjaxResult getInfo(@PathVariable("id") Integer id) { return success(rtStuAtSchoolService.selectRtStuAtSchoolById(id)); } @@ -79,8 +77,7 @@ public class RtStuAtSchoolController extends BaseController { @Log(title = "测试", businessType = BusinessType.INSERT) @PostMapping("/add") @ApiOperation("新增测试") - public AjaxResult add(@RequestBody RtStuAtSchool rtStuAtSchool) - { + public AjaxResult add(@RequestBody RtStuAtSchool rtStuAtSchool) { return toAjax(rtStuAtSchoolService.insertRtStuAtSchool(rtStuAtSchool)); } @@ -91,8 +88,7 @@ public class RtStuAtSchoolController extends BaseController { @Log(title = "测试", businessType = BusinessType.UPDATE) @PostMapping("/update") @ApiOperation("修改测试") - public AjaxResult edit(@RequestBody RtStuAtSchool rtStuAtSchool) - { + public AjaxResult edit(@RequestBody RtStuAtSchool rtStuAtSchool) { return toAjax(rtStuAtSchoolService.updateRtStuAtSchool(rtStuAtSchool)); } @@ -103,8 +99,7 @@ public class RtStuAtSchoolController extends BaseController { @Log(title = "测试", businessType = BusinessType.DELETE) @PostMapping("/{ids}") @ApiOperation("删除测试") - public AjaxResult remove(@PathVariable Integer[] ids) - { + public AjaxResult remove(@PathVariable Integer[] ids) { return toAjax(rtStuAtSchoolService.deleteRtStuAtSchoolByIds(ids)); } } diff --git a/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java b/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java index 3a2e1f4..fd177de 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/survey/SurItineraryController.java @@ -202,6 +202,13 @@ public class SurItineraryController extends BaseController { return surItineraryService.manyLeaveAudit(ids); } + @PreAuthorize("@ss.hasPermi('survey:itinerary:leaveAudit')") + @PostMapping("/manyLeaveReject") + @ApiOperation("辅导员批量离校审核驳回") + public AjaxResult manyLeaveReject(@RequestBody Long[] ids){ + return surItineraryService.manyLeaveReject(ids); + } + @PreAuthorize("@ss.hasPermi('survey:itinerary:leaveAudit')") @PostMapping("/leaveAudit") @ApiOperation("辅导员离校审核") @@ -355,13 +362,12 @@ public class SurItineraryController extends BaseController { /** * 修改学生假期返校 */ - @PreAuthorize("@ss.hasPermi('survey:itinerary:edit')") @Log(title = "学生假期返校", businessType = BusinessType.UPDATE) @PostMapping("/update") @ApiOperation("修改学生假期返校") public AjaxResult edit(@RequestBody SurItinerary surItinerary) { - return toAjax(surItineraryService.updateSurItinerary(surItinerary)); + return toAjax(surItineraryService.updateById(surItinerary)); } /** diff --git a/srs-admin/src/main/resources/application.yml b/srs-admin/src/main/resources/application.yml index a1b5d53..0933744 100644 --- a/srs-admin/src/main/resources/application.yml +++ b/srs-admin/src/main/resources/application.yml @@ -83,7 +83,7 @@ spring: # 地址 host: localhost #正式环境redis # host: 47.112.118.149 #测试开发地址 - # 端口,默认为6379 +# 端口,默认为6379 port: 6379 # 数据库索引 database: 0 diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/CphGoodAudit.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/CphGoodAudit.java index 52c7e58..cdb7d90 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/CphGoodAudit.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/CphGoodAudit.java @@ -1,6 +1,7 @@ package com.srs.comprehensive.domain; import java.util.Date; + import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.*; import com.srs.common.annotation.Excel; @@ -23,10 +24,10 @@ import lombok.Builder; @NoArgsConstructor @AllArgsConstructor @Builder -@ApiModel(value = "CphGoodAudit对象" , description = "评优审核") +@ApiModel(value = "CphGoodAudit对象", description = "评优审核") @TableName("cph_good_audit") public class CphGoodAudit extends BaseEntity { -private static final long serialVersionUID=1L; + private static final long serialVersionUID = 1L; /** * 评优审核表id @@ -73,7 +74,7 @@ private static final long serialVersionUID=1L; @ApiModelProperty("辅导员审核时间") @TableField("fdy_time") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "辅导员审核时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "辅导员审核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date fdyTime; /** @@ -106,7 +107,7 @@ private static final long serialVersionUID=1L; @ApiModelProperty("学院审核时间") @TableField("dept_time") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "学院审核时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "学院审核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date deptTime; /** @@ -139,7 +140,7 @@ private static final long serialVersionUID=1L; @ApiModelProperty("学工审核时间") @TableField("final_time") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "学工审核时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "学工审核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date finalTime; /** @@ -158,4 +159,4 @@ private static final long serialVersionUID=1L; private String delFlag; - } +} diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsClass.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsClass.java index 89da329..1d0595d 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsClass.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsClass.java @@ -89,6 +89,12 @@ public class SrsClass extends BaseEntity { }) private CphTeacher teacher; + /** + * 辅导员名称 + */ + @TableField(exist = false) + private String teacherName; + // /** // * 辅导员 // */ diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/Vo/ExcelGoodClass.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/Vo/ExcelGoodClass.java index c6e5951..d31d338 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/Vo/ExcelGoodClass.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/Vo/ExcelGoodClass.java @@ -1,13 +1,14 @@ package com.srs.comprehensive.domain.Vo; import com.srs.common.annotation.Excel; +import com.srs.common.core.domain.BaseEntity; /** * @author zhy * @date 2024-05-21 15:05 * @description */ -public class ExcelGoodClass { +public class ExcelGoodClass extends BaseEntity { @Excel(name = "学院") public String deptName; diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsClassMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsClassMapper.xml index 4119610..c2a0879 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsClassMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsClassMapper.xml @@ -68,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and class_name like concat('%', #{className}, '%') and d.dept_id = #{deptId} and status = #{status} + and t.name like concat('%', #{teacherName}, '%') order by class_code desc diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApprovalRecordMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApprovalRecordMapper.xml index 8c60228..a251a73 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApprovalRecordMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApprovalRecordMapper.xml @@ -33,35 +33,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + select a.*, d.major_type_name, g.step as latest_step, g.status as latest_status + from srs_knrd_apply as a + left join srs_student as b on a.xh = b.stu_no + left join srs_class as c on b.class_id = c.class_id + left join srs_majors as d on c.major_id = d.major_id + left join cph_teacher as e on c.teacher_id = e.teacher_id + left join sys_dept_map as f on d.college_id = f.old_dept_id + left join ( + SELECT r1.* + FROM srs_knrd_approval_record r1 + INNER JOIN ( + SELECT apply_id, MAX(id) as max_id + FROM srs_knrd_approval_record + GROUP BY apply_id + ) r2 ON r1.apply_id = r2.apply_id AND r1.id = r2.max_id + ) as g on g.apply_id = a.id + where a.step != 0 and a.step != 1 + and d.college_id = #{collegeId} + and e.employee_id = #{tNo} + and f.new_dept_id = #{deptId} + and a.xh = #{stuNo} + and a.sfzhm = #{sfzhm} + and a.xm like concat('%',#{xm},'%') + and a.xh like concat('%',#{xh},'%') + and (a.bjpyyj = #{yj} or a.ejxyldqmyj = #{yj} or a.xsqmyj = #{yj}) + and a.apply_year like CONCAT('%',#{applyYear},'%') + order by a.id desc + - left join ( - SELECT * FROM srs_knrd_approval_record as record where id in( - select MAX(id) FROM srs_knrd_approval_record GROUP BY apply_id - ) - ) as g on g.apply_id = a.id - where a.step !=0 and a.step !=1 - and d.college_id = #{collegeId} - - and e.employee_id = #{tNo} - and f.new_dept_id = #{deptId} - and a.xh = #{stuNo} - and a.sfzhm = #{sfzhm} - and a.xm like concat('%',#{xm},'%') - and a.xh like concat('%',#{xh},'%') - and (a.bjpyyj = #{yj} or a.ejxyldqmyj = #{yj} or xsqmyj = #{yj}) - and a.apply_year like CONCAT('%',#{applyYear},'%') - - order by a.id desc - diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml index 54ccb48..3cb4ae2 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml @@ -229,87 +229,97 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into srs_zxj_apply diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/BoStartListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/BoStartListener.java index 56419f2..629d6bf 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/BoStartListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/BoStartListener.java @@ -80,7 +80,7 @@ public class BoStartListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 //weChatUtil.sendTextMessage(userName, content); @@ -122,7 +122,7 @@ public class BoStartListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/CounselorListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/CounselorListener.java index 668b3f0..ca80054 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/CounselorListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/CounselorListener.java @@ -90,7 +90,7 @@ public class CounselorListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/LeadAuditListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/LeadAuditListener.java index 6d79f9d..e3b787d 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/LeadAuditListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/LeadAuditListener.java @@ -149,7 +149,7 @@ public class LeadAuditListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/LeadEentListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/LeadEentListener.java index 62d7871..ca6b7b0 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/LeadEentListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/LeadEentListener.java @@ -106,7 +106,7 @@ public class LeadEentListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/LeadStartListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/LeadStartListener.java index e1ff947..a596ad1 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/LeadStartListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/LeadStartListener.java @@ -82,7 +82,7 @@ public class LeadStartListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveApproveListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveApproveListener.java index 037883f..5ca8a69 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveApproveListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveApproveListener.java @@ -105,7 +105,7 @@ public class LeaveApproveListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); // 发送消息的方法 diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveStartApproveListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveStartApproveListener.java index d5cbc3c..fa029db 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveStartApproveListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/LeaveStartApproveListener.java @@ -81,7 +81,7 @@ public class LeaveStartApproveListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/SecondaryLeaderListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/SecondaryLeaderListener.java index 43d0b1f..f64ca53 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/SecondaryLeaderListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/SecondaryLeaderListener.java @@ -85,7 +85,7 @@ public class SecondaryLeaderListener implements ExecutionListener { // WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // // // 构造包含超链接的消息内容 -// String content = "您有待处理任务,请点击前往处理"; +// String content = "您有待处理任务,请点击前往处理"; // // // 步骤 4: 使用 userName 作为接收人发送消息 // //weChatUtil.sendTextMessage(userName, content); @@ -117,7 +117,7 @@ public class SecondaryLeaderListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有待处理任务,请点击前往处理"; + String content = "您有待处理任务,请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/ArchivingNotifyListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/ArchivingNotifyListener.java index eb5710c..edafa78 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/ArchivingNotifyListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/ArchivingNotifyListener.java @@ -60,7 +60,7 @@ public class ArchivingNotifyListener implements ExecutionListener { List userNameList = disciplinaryMapper.getUserNamesByUserIdList(userIdList); if (userNameList != null && !userNameList.isEmpty()) { String toUser = String.join("|", userNameList); - String weChatMessage = "您有一条新的学生违纪归档任务待处理,请点击前往处理。"; + String weChatMessage = "您有一条新的学生违纪归档任务待处理,请点击前往处理。"; weChatUtil.sendTextMessage(toUser, weChatMessage); log.info("已成功向归档角色 ({}) 发送企业微信通知。", ARCHIVING_ROLE_KEY); } else { @@ -73,7 +73,7 @@ public class ArchivingNotifyListener implements ExecutionListener { String activityId = (nextElement != null) ? nextElement.getId() : "Activity_1agoizv"; // 节点的ID作为备用 String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。"; - String link = "请点击前往处理。"; + String link = "请点击前往处理。"; String hiddenIdentifier = String.format("", execution.getProcessInstanceId(), activityId); String internalMessageContent = messageText + link + hiddenIdentifier; @@ -103,4 +103,4 @@ public class ArchivingNotifyListener implements ExecutionListener { } return null; } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/EJXYSJListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/EJXYSJListener.java index b3dac44..e1ceb03 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/EJXYSJListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/EJXYSJListener.java @@ -39,7 +39,7 @@ public class EJXYSJListener implements ExecutionListener { // 构造包含超链接的消息内容 String content = "您有一条新的学生违纪审批任务待处理," + - "请点击前往处理"; + "请点击前往处理"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorNotificationListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorNotificationListener.java index b0efd5d..d496edb 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorNotificationListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorNotificationListener.java @@ -50,12 +50,12 @@ public class InitiatorNotificationListener implements ExecutionListener { // --- 2. 准备通知内容 (解决taskName为空的问题) --- String nextTaskName = getNextTaskName(execution); - String weChatMessage = "您提交的学生违纪处分申请已有最终处理结果,请点击前往处理。"; + String weChatMessage = "您提交的学生违纪处分申请已有最终处理结果,请点击前往处理。"; String internalMessageText = "您有一条新的【" + nextTaskName + "】待办任务需要处理。"; String hiddenIdentifier = String.format("", execution.getProcessInstanceId(), ((SequenceFlow) execution.getCurrentFlowElement()).getTargetRef()); - String internalMessageContent = internalMessageText + "请点击前往处理。" + hiddenIdentifier; + String internalMessageContent = internalMessageText + "请点击前往处理。" + hiddenIdentifier; // --- 3. 发送企业微信通知 --- sendWeChatNotification(initiatorUserId, weChatMessage); @@ -118,4 +118,4 @@ public class InitiatorNotificationListener implements ExecutionListener { } return "结果接收"; } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorResultListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorResultListener.java index 0aede46..96594ba 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorResultListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/InitiatorResultListener.java @@ -46,7 +46,7 @@ public class InitiatorResultListener implements ExecutionListener { if (initiatorUserName != null && !initiatorUserName.isEmpty()) { // 4. 发送通知 WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); - String content = "您提交的学生违纪处分申请已有最终处理结果,请点击前往处理。\""; + String content = "您提交的学生违纪处分申请已有最终处理结果,请点击前往处理。\""; weChatUtil.sendTextMessage(initiatorUserName, content); log.info("已成功向流程发起人 ({}) 发送结果通知。", initiatorUserName); @@ -58,4 +58,4 @@ public class InitiatorResultListener implements ExecutionListener { log.error("向流程发起人发送结果通知时出现异常。流程将继续。错误详情: {}", e.getMessage(), e); } } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/MultiInstanceMessageListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/MultiInstanceMessageListener.java index 505dda3..db98f99 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/MultiInstanceMessageListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/MultiInstanceMessageListener.java @@ -47,7 +47,7 @@ public class MultiInstanceMessageListener implements ExecutionListener { // --- 步骤 3: 准备消息内容 --- String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。"; - String link = "请点击前往处理。"; + String link = "请点击前往处理。"; String hiddenIdentifier = String.format("", execution.getProcessInstanceId(), activityId); @@ -92,4 +92,4 @@ public class MultiInstanceMessageListener implements ExecutionListener { return 1L; } } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/SchoolLeaderApprovalListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/SchoolLeaderApprovalListener.java index 7cc5c74..2f2cb07 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/SchoolLeaderApprovalListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/SchoolLeaderApprovalListener.java @@ -60,7 +60,7 @@ public class SchoolLeaderApprovalListener implements ExecutionListener { List userNameList = disciplinaryMapper.getUserNamesByUserIdList(userIdList); if (userNameList != null && !userNameList.isEmpty()) { String toUser = String.join("|", userNameList); - String weChatMessage = "校领导您有一条新的学生违纪审批任务待处理,请点击前往处理。"; + String weChatMessage = "校领导您有一条新的学生违纪审批任务待处理,请点击前往处理。"; weChatUtil.sendTextMessage(toUser, weChatMessage); log.info("已成功向校领导 (角色: {}) 发送企业微信通知。", LEADER_ROLE_KEY); } @@ -71,7 +71,7 @@ public class SchoolLeaderApprovalListener implements ExecutionListener { String activityId = (nextElement != null) ? nextElement.getId() : "Activity_0ftj9eo"; String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。"; - String link = "请点击前往处理。"; + String link = "请点击前往处理。"; String hiddenIdentifier = String.format("", execution.getProcessInstanceId(), activityId); String internalMessageContent = messageText + link + hiddenIdentifier; @@ -101,4 +101,4 @@ public class SchoolLeaderApprovalListener implements ExecutionListener { } return null; } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/StuInfoListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/StuInfoListener.java index 02eab77..fc71688 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/StuInfoListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/StuInfoListener.java @@ -106,7 +106,7 @@ public class StuInfoListener implements ExecutionListener { String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。"; - String link = "请点击前往处理。"; + String link = "请点击前往处理。"; String hiddenIdentifier = String.format("", execution.getProcessInstanceId(), activityId); String internalMessageContent = messageText + link + hiddenIdentifier; @@ -134,4 +134,4 @@ public class StuInfoListener implements ExecutionListener { } return null; } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/WSSListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/WSSListener.java index 92bc73d..b3fc036 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/WSSListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/WSSListener.java @@ -43,7 +43,7 @@ public class WSSListener implements ExecutionListener { String toUser = String.join("|", userNameList); WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); - String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; + String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; weChatUtil.sendTextMessage(toUser, content); log.info("已成功向角色 '{}' 的成员发送通知。接收人: {}", TARGET_ROLE_KEY, toUser); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XGLDSHListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XGLDSHListener.java index 1768dcf..9b99b1f 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XGLDSHListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XGLDSHListener.java @@ -54,7 +54,7 @@ public class XGLDSHListener implements ExecutionListener { String toUser = String.join("|", userNameList); String content = "您有一条新的学生违纪审批任务待处理," + - "请点击前往处理"; + "请点击前往处理"; weChatUtil.sendTextMessage(toUser, content); log.info("流程实例 [{}]: 已成功向角色 '{}' 成员发送企微通知,接收人: {}", processInstanceId, roleKey, toUser); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XLZXListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XLZXListener.java index 34058cd..b725545 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XLZXListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XLZXListener.java @@ -43,7 +43,7 @@ public class XLZXListener implements ExecutionListener { String toUser = String.join("|", userNameList); WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); - String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; + String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; weChatUtil.sendTextMessage(toUser, content); log.info("已成功向角色 '{}' 的成员发送通知。接收人: {}", TARGET_ROLE_KEY, toUser); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XSJYGLKListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XSJYGLKListener.java index 1db63d0..507d513 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XSJYGLKListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XSJYGLKListener.java @@ -58,7 +58,7 @@ public class XSJYGLKListener implements ExecutionListener { String toUser = String.join("|", userNameList); WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); - String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; + String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; weChatUtil.sendTextMessage(toUser, content); log.info("已成功向角色 '{}' 的成员发送企业微信通知。接收人: {}", roleKey, toUser); @@ -69,4 +69,4 @@ public class XSJYGLKListener implements ExecutionListener { log.error("向角色 '{}' 发送企业微信通知时出现异常。流程将继续。错误详情: {}", roleKey, e.getMessage(), e); } } -} \ No newline at end of file +} diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XWGSListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XWGSListener.java index 79cacd1..a461d36 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XWGSListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XWGSListener.java @@ -45,7 +45,7 @@ public class XWGSListener implements ExecutionListener { WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class); // 构造包含超链接的消息内容 - String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; + String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; // 步骤 4: 使用 userName 作为接收人发送消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XYWJCLWYHListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XYWJCLWYHListener.java index fd1296a..e5fc810 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XYWJCLWYHListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/disciplinary/XYWJCLWYHListener.java @@ -62,7 +62,7 @@ public class XYWJCLWYHListener implements ExecutionListener { return; } String toUser = String.join("|", userNameList); - String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; + String content = "您有一条新的学生违纪审批任务待处理,请点击前往处理。"; weChatUtil.sendTextMessage(toUser, content); log.info("流程实例 [{}]: 已成功向'委员会'发送企微通知。", processInstanceId); } catch (Exception e) { diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuCounselorListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuCounselorListener.java index 4f9ddce..a80fd84 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuCounselorListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuCounselorListener.java @@ -50,7 +50,7 @@ public class StuCounselorListener implements ExecutionListener { // 构造包含超链接的消息内容 String content = "您有一条新的学生违纪审批任务待处理," + - "点此查看"; + "点此查看"; // 发送企业微信消息 weChatUtil.sendTextMessage(userName, content); diff --git a/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuReceiveListener.java b/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuReceiveListener.java index 1366b3e..d9d4e61 100644 --- a/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuReceiveListener.java +++ b/srs-flowable/src/main/java/com/srs/flowable/listener/relieve/StuReceiveListener.java @@ -37,7 +37,7 @@ public class StuReceiveListener implements ExecutionListener { String content = "您的违纪处理流程有新的进展:" + approveResult + "," + - "点此查看详情"; + "点此查看详情"; // 发送企业微信消息 weChatUtil.sendTextMessage(stuUserName, content); diff --git a/srs-quartz/src/main/java/com/srs/quartz/task/RegTask.java b/srs-quartz/src/main/java/com/srs/quartz/task/RegTask.java index e7abb6e..5e42ab1 100644 --- a/srs-quartz/src/main/java/com/srs/quartz/task/RegTask.java +++ b/srs-quartz/src/main/java/com/srs/quartz/task/RegTask.java @@ -26,22 +26,13 @@ public class RegTask { { List list= srsStuCheckService.getSrsStucheckList(); for (SrsStuCheck m:list) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ksh",m.getKsh()); - queryWrapper.last("limit 1"); - SrsStuCheck srsStuCheck=checkService.getOne(queryWrapper); - if(srsStuCheck!=null){ - continue; - }else{ - SrsStuCheck addSrsStuCheck=new SrsStuCheck(); - addSrsStuCheck.setIsCheck(m.getIsCheck()); - addSrsStuCheck.setKsh(m.getKsh()); - addSrsStuCheck.setCheckTime(m.getCheckTime()); - addSrsStuCheck.setCreateTime(getNowDate()); - addSrsStuCheck.setCreateBy("RegTask"); - checkService.save(addSrsStuCheck); - } - + SrsStuCheck srsStuCheck=new SrsStuCheck(); + srsStuCheck.setIsCheck(m.getIsCheck()); + srsStuCheck.setKsh(m.getKsh()); + srsStuCheck.setCheckTime(m.getCheckTime()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("ksh",m.getKsh()); + checkService.update(srsStuCheck,updateWrapper); } } diff --git a/srs-routine/src/main/java/com/srs/routine/domain/RtStuAtSchool.java b/srs-routine/src/main/java/com/srs/routine/domain/RtStuAtSchool.java index ef77e18..e5f5ea3 100644 --- a/srs-routine/src/main/java/com/srs/routine/domain/RtStuAtSchool.java +++ b/srs-routine/src/main/java/com/srs/routine/domain/RtStuAtSchool.java @@ -1,6 +1,7 @@ package com.srs.routine.domain; import java.util.Date; + import com.fasterxml.jackson.annotation.JsonFormat; import com.srs.common.annotation.Excel; import com.baomidou.mybatisplus.annotation.*; @@ -10,7 +11,6 @@ import lombok.*; import com.srs.common.core.domain.BaseEntity; - /** * 测试对象 rt_stu_at_school * @@ -22,10 +22,10 @@ import com.srs.common.core.domain.BaseEntity; @NoArgsConstructor @AllArgsConstructor @Builder -@ApiModel(value = "RtStuAtSchool对象" , description = "在校证明") +@ApiModel(value = "RtStuAtSchool对象", description = "在校证明") @TableName("rt_stu_at_school") -public class RtStuAtSchool extends BaseEntity{ -private static final long serialVersionUID=1L; +public class RtStuAtSchool extends BaseEntity { + private static final long serialVersionUID = 1L; /** * 学生id @@ -88,7 +88,7 @@ private static final long serialVersionUID=1L; @ApiModelProperty("申请时间") @TableField("stu_created") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "申请时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") private Date stuCreated; /** @@ -101,7 +101,6 @@ private static final long serialVersionUID=1L; /** * 原因 - */ @ApiModelProperty("原因") @TableField("because") @@ -146,7 +145,7 @@ private static final long serialVersionUID=1L; @ApiModelProperty("入学时间") @TableField("Intake") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "入学时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "入学时间", width = 30, dateFormat = "yyyy-MM-dd") private Date Intake; /** @@ -243,7 +242,7 @@ private static final long serialVersionUID=1L; @ApiModelProperty("辅导员审批时间") @TableField("fdtime") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "辅导员审批时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "辅导员审批时间", width = 30, dateFormat = "yyyy-MM-dd") private Date fdtime; /** @@ -252,8 +251,8 @@ private static final long serialVersionUID=1L; @ApiModelProperty("学工处审批时间") @TableField("xgtime") @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "学工处审批时间" , width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "学工处审批时间", width = 30, dateFormat = "yyyy-MM-dd") private Date xgtime; - } +} diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuAtSchoolServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuAtSchoolServiceImpl.java index 1da0e3f..3a0e7e6 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuAtSchoolServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuAtSchoolServiceImpl.java @@ -1,10 +1,16 @@ package com.srs.routine.service.impl; +import java.util.Date; import java.util.List; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.srs.common.annotation.Excel; import com.srs.common.core.domain.entity.SysUser; import com.srs.common.exception.ServiceException; +import com.srs.common.utils.SecurityUtils; import com.srs.system.service.ISysUserService; +import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.factory.annotation.Autowired; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -61,18 +67,14 @@ public class RtStuAtSchoolServiceImpl extends ServiceImpl { public AjaxResult manyLeaveAudit(Long[] ids); + public AjaxResult manyLeaveReject(Long[] ids); + public AjaxResult leaveAudit(SurItinerary param); public List listView(SurItinerary param); diff --git a/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java b/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java index 1884692..7829c01 100644 --- a/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java +++ b/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java @@ -1,13 +1,25 @@ package com.srs.survey.service.impl; -import java.time.LocalDate; +import static com.srs.common.utils.DateUtils.getNowDate; +import static com.srs.common.utils.SecurityUtils.*; + import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.srs.common.core.domain.AjaxResult; import com.srs.common.core.domain.entity.SysUser; import com.srs.common.utils.WeChatUtil; @@ -26,22 +38,15 @@ import com.srs.dormitory.domain.SrsDormitoryStudent; import com.srs.dormitory.domain.Vo.DomInfo; import com.srs.dormitory.mapper.DmsDormitoryMapper; import com.srs.dormitory.mapper.SrsDormitoryStudentMapper; +import com.srs.survey.domain.SurItinerary; import com.srs.survey.domain.SurSurvey; import com.srs.survey.domain.dto.LeaveRes; import com.srs.survey.domain.dto.ReturnRes; import com.srs.survey.domain.vo.SurItineraryStatisticsVo; -import com.srs.survey.mapper.SurSurveyMapper; -import com.srs.system.mapper.SysUserMapper; -import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; import com.srs.survey.mapper.SurItineraryMapper; -import com.srs.survey.domain.SurItinerary; +import com.srs.survey.mapper.SurSurveyMapper; import com.srs.survey.service.ISurItineraryService; - -import static com.srs.common.utils.DateUtils.getNowDate; -import static com.srs.common.utils.PageUtils.startPage; -import static com.srs.common.utils.SecurityUtils.*; +import com.srs.system.mapper.SysUserMapper; /** * 学生假期返校Service业务层处理 @@ -50,7 +55,8 @@ import static com.srs.common.utils.SecurityUtils.*; * @date 2025-03-14 */ @Service -public class SurItineraryServiceImpl extends ServiceImpl implements ISurItineraryService { +public class SurItineraryServiceImpl extends ServiceImpl + implements ISurItineraryService { @Autowired private SurItineraryMapper surItineraryMapper; @@ -81,8 +87,8 @@ public class SurItineraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); @@ -106,7 +112,7 @@ public class SurItineraryServiceImpl extends ServiceImpl stuNos = stuList.stream().map(ViewStuInfo::getStuNo).collect(Collectors.toList()); QueryWrapper itineraryQuery = new QueryWrapper<>(); @@ -115,12 +121,12 @@ public class SurItineraryServiceImpl extends ServiceImpl surList = surItineraryMapper.selectList(itineraryQuery); -// 3. 用 Set 存已提交的 stuNo + // 3. 用 Set 存已提交的 stuNo Set submittedStuNos = surList.stream() .map(SurItinerary::getStuNo) .collect(Collectors.toSet()); -// 4. 分类并设置状态 + // 4. 分类并设置状态 List notStuNos = new ArrayList<>(); for (ViewStuInfo stu : stuList) { if (submittedStuNos.contains(stu.getStuNo())) { @@ -129,33 +135,33 @@ public class SurItineraryServiceImpl extends ServiceImpl点击前往填写"; + String msg = "你还未填写" + surSurvey.getSurveyName() + + "去向调查,请点击前往填写"; -// List test = new ArrayList<>(); -// test.add("20240116"); -// test.add("20210080"); -// test.add("20200016"); -// test.add("20190025"); -// test.add("20210081"); + // List test = new ArrayList<>(); + // test.add("20240116"); + // test.add("20210080"); + // test.add("20200016"); + // test.add("20190025"); + // test.add("20210081"); for (int i = 0; i < notStuNos.size(); i += batchSize) { List batch = notStuNos.subList(i, Math.min(i + batchSize, notStuNos.size())); // 拼接成"2023001|2023002|2023003"格式 String toUser = String.join("|", batch); // 调用你的发送消息方法 - weChatUtil.sendTextMessage(toUser,msg ); + weChatUtil.sendTextMessage(toUser, msg); } List userList = sysUserMapper.selectList( new QueryWrapper() - .in("user_name", notStuNos) - ); + .in("user_name", notStuNos)); List addList = new ArrayList<>(); for (SysUser user : userList) { @@ -164,24 +170,23 @@ public class SurItineraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); @@ -205,7 +210,7 @@ public class SurItineraryServiceImpl extends ServiceImpl stuNos = stuList.stream().map(ViewStuInfo::getStuNo).collect(Collectors.toList()); QueryWrapper itineraryQuery = new QueryWrapper<>(); @@ -214,12 +219,12 @@ public class SurItineraryServiceImpl extends ServiceImpl surList = surItineraryMapper.selectList(itineraryQuery); -// 3. 用 Set 存已提交的 stuNo + // 3. 用 Set 存已提交的 stuNo Set submittedStuNos = surList.stream() .map(SurItinerary::getStuNo) .collect(Collectors.toSet()); -// 4. 分类并设置状态 + // 4. 分类并设置状态 List notStuNos = new ArrayList<>(); for (ViewStuInfo stu : stuList) { if (submittedStuNos.contains(stu.getStuNo())) { @@ -228,31 +233,31 @@ public class SurItineraryServiceImpl extends ServiceImpl点击前往填写"; + String msg = "你还未填写" + surSurvey.getSurveyName() + + "去向调查,请点击前往填写"; for (int i = 0; i < notStuNos.size(); i += batchSize) { List batch = notStuNos.subList(i, Math.min(i + batchSize, stuNos.size())); // 拼接成"2023001|2023002|2023003"格式 String toUser = String.join("|", batch); // 调用你的发送消息方法 - weChatUtil.sendTextMessage(toUser,msg ); + weChatUtil.sendTextMessage(toUser, msg); } - return AjaxResult.success(); - }catch (Exception e) { + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public Map listFdyStuReturn(SurItinerary param){ + public Map listFdyStuReturn(SurItinerary param) { // 1. 查询学生信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("t_no", getUsername()) @@ -272,14 +277,14 @@ public class SurItineraryServiceImpl extends ServiceImpl stuList = viewStuInfoMapper.selectList(queryWrapper); if (stuList.isEmpty()) { - Map result = new HashMap<>(); + Map result = new HashMap<>(); result.put("total", 0); result.put("code", 200); result.put("rows", new ArrayList<>()); return result; } -// 2. 批量查询已提交行程的学生 + // 2. 批量查询已提交行程的学生 List stuNos = stuList.stream().map(ViewStuInfo::getStuNo).collect(Collectors.toList()); QueryWrapper itineraryQuery = new QueryWrapper<>(); @@ -288,12 +293,12 @@ public class SurItineraryServiceImpl extends ServiceImpl surList = surItineraryMapper.selectList(itineraryQuery); -// 3. 用 Set 存已提交的 stuNo + // 3. 用 Set 存已提交的 stuNo Set submittedStuNos = surList.stream() .map(SurItinerary::getStuNo) .collect(Collectors.toSet()); -// 4. 分类并设置状态 + // 4. 分类并设置状态 List notList = new ArrayList<>(); List isList = new ArrayList<>(); for (ViewStuInfo stu : stuList) { @@ -306,7 +311,7 @@ public class SurItineraryServiceImpl extends ServiceImpl= total) { - Map result = new HashMap<>(); + Map result = new HashMap<>(); result.put("total", 0); result.put("code", 200); result.put("rows", new ArrayList<>()); } - Map result = new HashMap<>(); + Map result = new HashMap<>(); result.put("total", total); result.put("code", 200); result.put("rows", notList.subList(fromIndex, toIndex)); @@ -330,7 +335,7 @@ public class SurItineraryServiceImpl extends ServiceImpl listFdyStuLeave(SurItinerary param){ + public Map listFdyStuLeave(SurItinerary param) { // 1. 查询学生信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("t_no", getUsername()) @@ -350,14 +355,14 @@ public class SurItineraryServiceImpl extends ServiceImpl stuList = viewStuInfoMapper.selectList(queryWrapper); if (stuList.isEmpty()) { - Map result = new HashMap<>(); + Map result = new HashMap<>(); result.put("total", 0); result.put("code", 200); result.put("rows", new ArrayList<>()); return result; } -// 2. 批量查询已提交行程的学生 + // 2. 批量查询已提交行程的学生 List stuNos = stuList.stream().map(ViewStuInfo::getStuNo).collect(Collectors.toList()); QueryWrapper itineraryQuery = new QueryWrapper<>(); @@ -366,12 +371,12 @@ public class SurItineraryServiceImpl extends ServiceImpl surList = surItineraryMapper.selectList(itineraryQuery); -// 3. 用 Set 存已提交的 stuNo + // 3. 用 Set 存已提交的 stuNo Set submittedStuNos = surList.stream() .map(SurItinerary::getStuNo) .collect(Collectors.toSet()); -// 4. 分类并设置状态 + // 4. 分类并设置状态 List notList = new ArrayList<>(); List isList = new ArrayList<>(); for (ViewStuInfo stu : stuList) { @@ -384,49 +389,61 @@ public class SurItineraryServiceImpl extends ServiceImpl filteredList = new ArrayList<>(); + if (param.isFilled == null) { + // 全部:未提交 + 已提交 + filteredList.addAll(notList); + filteredList.addAll(isList); + } else if (param.isFilled == 1) { + // 已填写:只返回已提交的 + filteredList.addAll(isList); + } else if (param.isFilled == 0) { + // 未填写:只返回未提交的 + filteredList.addAll(notList); + } // 分页处理 - int total = notList.size(); + int total = filteredList.size(); int pageNum = (param.pageNum != null && param.pageNum > 0) ? param.pageNum.intValue() : 1; int pageSize = (param.pageSize != null && param.pageSize > 0) ? param.pageSize.intValue() : 10; int fromIndex = (pageNum - 1) * pageSize; int toIndex = Math.min(fromIndex + pageSize, total); if (fromIndex >= total) { - Map result = new HashMap<>(); + Map result = new HashMap<>(); result.put("total", 0); result.put("code", 200); result.put("rows", new ArrayList<>()); + return result; } - Map result = new HashMap<>(); + Map result = new HashMap<>(); result.put("total", total); result.put("code", 200); - result.put("rows", notList.subList(fromIndex, toIndex)); + result.put("rows", filteredList.subList(fromIndex, toIndex)); return result; } @Override - public List> listReturnRes1(Long surveyId){ + public List> listReturnRes1(Long surveyId) { List> list = surItineraryMapper.listReturnRes1(surveyId); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("grade_status", "1", "3"); List srsGrades = srsGradeMapper.selectList(queryWrapper); - list.forEach(map->{ - for(SrsGrade srsGrade : srsGrades){ - if(map.get("dept_name") != null){ + list.forEach(map -> { + for (SrsGrade srsGrade : srsGrades) { + if (map.get("dept_name") != null) { AtomicInteger count = new AtomicInteger(); Long gradeId = srsGrade.getGradeId(); String deptName = map.get("dept_name").toString(); CphSearch cphSearch = new CphSearch(); cphSearch.setGradeId(gradeId); cphSearch.deptName = deptName; - List> stuList = _stuMapper.selectViewStuInfo(cphSearch); - stuList.forEach(stuMap->{ - if(stuMap.get("status") != null){ - if(Objects.equals(stuMap.get("status").toString(), "01") ){ + List> stuList = _stuMapper.selectViewStuInfo(cphSearch); + stuList.forEach(stuMap -> { + if (stuMap.get("status") != null) { + if (Objects.equals(stuMap.get("status").toString(), "01")) { count.getAndIncrement(); } } @@ -437,38 +454,53 @@ public class SurItineraryServiceImpl extends ServiceImpl{ - if(map.get("more_dept_name") != null){ - if(Objects.equals(map.get("more_dept_name").toString(), "信息工程学院(里建)") || Objects.equals(map.get("more_dept_name").toString(), "经济管理学院(里建)")){ - if(map.get("submit_num") != null && map.get("yingfanxiao")!= null && map.get("weifanxiao") != null) { + list.forEach(map -> { + if (map.get("more_dept_name") != null) { + if (Objects.equals(map.get("more_dept_name").toString(), "信息工程学院(里建)") + || Objects.equals(map.get("more_dept_name").toString(), "经济管理学院(里建)")) { + if (map.get("submit_num") != null && map.get("yingfanxiao") != null + && map.get("weifanxiao") != null) { map.put("stu_num", Integer.parseInt(map.get("submit_num").toString())); map.put("yingfanxiao", Integer.parseInt(map.get("submit_num").toString())); - map.put("weifanxiao", Integer.parseInt(map.get("submit_num").toString()) - Integer.parseInt(map.get("yingfanxiao").toString())); + map.put("weifanxiao", Integer.parseInt(map.get("submit_num").toString()) + - Integer.parseInt(map.get("yingfanxiao").toString())); } } } }); - list.forEach(map->{ - if(map.get("more_dept_name") != null) { + list.forEach(map -> { + if (map.get("more_dept_name") != null) { if (Objects.equals(map.get("more_dept_name").toString(), "信息工程学院(长堽)")) { - Map map1 = list.stream().filter(m -> Objects.equals(m.get("more_dept_name").toString(), "信息工程学院(里建)")).findFirst().orElse(null); + Map map1 = list.stream() + .filter(m -> Objects.equals(m.get("more_dept_name").toString(), "信息工程学院(里建)")).findFirst() + .orElse(null); if (map1 != null) { - if(map.get("stu_num") != null && map.get("yingfanxiao")!= null && map.get("weifanxiao") != null && map.get("submit_num") != null) { - map.put("stu_num", Integer.parseInt(map.get("stu_num").toString()) - Integer.parseInt(map1.get("submit_num").toString())); - map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map1.get("submit_num").toString())); - map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map.get("yifanxiao").toString())); + if (map.get("stu_num") != null && map.get("yingfanxiao") != null + && map.get("weifanxiao") != null && map.get("submit_num") != null) { + map.put("stu_num", Integer.parseInt(map.get("stu_num").toString()) + - Integer.parseInt(map1.get("submit_num").toString())); + map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) + - Integer.parseInt(map1.get("submit_num").toString())); + map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) + - Integer.parseInt(map.get("yifanxiao").toString())); } } } if (Objects.equals(map.get("more_dept_name").toString(), "经济管理学院(长堽)")) { - Map map1 = list.stream().filter(m -> Objects.equals(m.get("more_dept_name").toString(), "经济管理学院(里建)")).findFirst().orElse(null); + Map map1 = list.stream() + .filter(m -> Objects.equals(m.get("more_dept_name").toString(), "经济管理学院(里建)")).findFirst() + .orElse(null); if (map1 != null) { - if(map.get("stu_num") != null && map.get("yingfanxiao")!= null && map.get("weifanxiao") != null && map.get("submit_num") != null) { - map.put("stu_num", Integer.parseInt(map.get("stu_num").toString()) - Integer.parseInt(map1.get("submit_num").toString())); - map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map1.get("submit_num").toString())); - map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map.get("yifanxiao").toString())); + if (map.get("stu_num") != null && map.get("yingfanxiao") != null + && map.get("weifanxiao") != null && map.get("submit_num") != null) { + map.put("stu_num", Integer.parseInt(map.get("stu_num").toString()) + - Integer.parseInt(map1.get("submit_num").toString())); + map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) + - Integer.parseInt(map1.get("submit_num").toString())); + map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) + - Integer.parseInt(map.get("yifanxiao").toString())); } } } @@ -479,23 +511,22 @@ public class SurItineraryServiceImpl extends ServiceImpl> countWillLeave(Long surveyId){ + public List> countWillLeave(Long surveyId) { return surItineraryMapper.countWillLeave(surveyId); } - @Override - public List> countFdyClassWillLeave(Long surveyId,String fdyNo){ - return surItineraryMapper.countFdyClassWillLeave(surveyId,fdyNo); + public List> countFdyClassWillLeave(Long surveyId, String fdyNo) { + return surItineraryMapper.countFdyClassWillLeave(surveyId, fdyNo); } @Override - public List> listSubmitRes(Long surveyId){ + public List> listSubmitRes(Long surveyId) { SurSurvey surSurvey = surSurveyMapper.selectById(surveyId); List counts; - if(surSurvey != null){ + if (surSurvey != null) { String countDate = surSurvey.countDate; - if(countDate!= null && !countDate.isEmpty()){ + if (countDate != null && !countDate.isEmpty()) { counts = List.of(countDate.split(",")); } else { counts = new ArrayList<>(); @@ -505,28 +536,27 @@ public class SurItineraryServiceImpl extends ServiceImpl> list = surItineraryMapper.listSubmitRes(surveyId); - list.forEach(map->{ - for (int i = 0 ; i < counts.size() ; i++) { + list.forEach(map -> { + for (int i = 0; i < counts.size(); i++) { String countD = counts.get(i); - if( map.get("more_dept_name") != null){ - String dateStr = countD+" 12:00:00"; + if (map.get("more_dept_name") != null) { + String dateStr = countD + " 12:00:00"; QueryWrapper queryWrapper = new QueryWrapper<>(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime date = LocalDateTime.parse(dateStr, formatter); LocalDateTime prevDate = date.minusDays(1); - - String moreDeptName = map.get("more_dept_name").toString(); + String moreDeptName = map.get("more_dept_name").toString(); queryWrapper.eq("survey_id", surveyId); queryWrapper.eq("more_dept_name", moreDeptName); queryWrapper.isNotNull("home_gps_time"); queryWrapper.le("home_gps_time", date); - if(i != 0){ + if (i != 0) { queryWrapper.gt("home_gps_time", prevDate); } long count = surItineraryMapper.selectCount(queryWrapper); - map.put(countD+" 12:00:00前", count); + map.put(countD + " 12:00:00前", count); } } @@ -535,85 +565,83 @@ public class SurItineraryServiceImpl extends ServiceImpl listLeaveRes(Long surveyId){ + public List listLeaveRes(Long surveyId) { return surItineraryMapper.listLeaveRes(surveyId); } @Override - public List listReturnRes(Long surveyId){ + public List listReturnRes(Long surveyId) { return surItineraryMapper.listReturnRes(surveyId); } - @Override - public AjaxResult getStuCampus(){ - try{ + public AjaxResult getStuCampus() { + try { Map data = new HashMap<>(); String stuNo = getUsername(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("stu_no", stuNo); queryWrapper.last("limit 1"); SrsDormitoryStudent srsDormitoryStudent = srsDormitoryStudentMapper.selectOne(queryWrapper); - if(srsDormitoryStudent == null){ + if (srsDormitoryStudent == null) { data.put("campus", "长堽校区"); - }else{ + } else { Long dormId = srsDormitoryStudent.getDormitoryId(); DmsSearch dmsSearch = new DmsSearch(); dmsSearch.dormitoryId = dormId; List list = _dormMapper.listDormInfo(dmsSearch); - if(list.size() == 0){ + if (list.size() == 0) { data.put("campus", "长堽校区"); - }else{ - if(list.get(0).campusName != null){ + } else { + if (list.get(0).campusName != null) { data.put("campus", list.get(0).campusName.toString()); - }else{ + } else { data.put("campus", "长堽校区"); } } } return AjaxResult.success(data); - }catch (Exception e){ + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public AjaxResult updateStuHomeGpsAddr(SurItinerary param){ - try{ + public AjaxResult updateStuHomeGpsAddr(SurItinerary param) { + try { SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId); - if(find == null){ + if (find == null) { throw new Exception("未找到该记录"); } find.homeGpsAddr = param.homeGpsAddr; int res = surItineraryMapper.updateById(find); - if(res == 0){ + if (res == 0) { throw new Exception("更新学生定位详细地址记录失败"); } - return AjaxResult.success(); - }catch (Exception e){ + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public AjaxResult stuSchoolUpdate(SurItinerary param){ - try{ + public AjaxResult stuSchoolUpdate(SurItinerary param) { + try { SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId); - if(find == null){ + if (find == null) { throw new Exception("未找到该记录"); } - if(!Objects.equals(find.getStuNo(), getUsername())){ + if (!Objects.equals(find.getStuNo(), getUsername())) { throw new Exception("只能修改自己的假期返校记录"); } -// if(!Objects.equals(find.leaveStatus, "2")){ -// throw new Exception("只有离校留校申请通过辅导员审核才能填写返校"); -// } - if(Objects.equals(find.status, "2")){ + // if(!Objects.equals(find.leaveStatus, "2")){ + // throw new Exception("只有离校留校申请通过辅导员审核才能填写返校"); + // } + if (Objects.equals(find.status, "2")) { throw new Exception("该记录已审核通过"); } find.status = "1"; @@ -628,78 +656,77 @@ public class SurItineraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.in("return_school_id", ids); queryWrapper.eq("status", "1"); List list = surItineraryMapper.selectList(queryWrapper); - if(list.size() == 0) { + if (list.size() == 0) { throw new Exception("未找到待审核记录"); } - for(SurItinerary surItinerary : list){ + for (SurItinerary surItinerary : list) { surItinerary.status = "2"; } boolean res = this.updateBatchById(list); - if(!res){ + if (!res) { throw new Exception("批量审核失败"); } return AjaxResult.success(); - }catch(Exception e) { + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public AjaxResult returnAudit(SurItinerary param){ - try{ + public AjaxResult returnAudit(SurItinerary param) { + try { SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId); - if(find == null){ + if (find == null) { throw new Exception("未找到该记录"); } - if(!Objects.equals(find.status, "1")){ + if (!Objects.equals(find.status, "1")) { throw new Exception("该记录已审核"); } find.status = param.status; int res = surItineraryMapper.updateById(find); - if(res == 0){ + if (res == 0) { throw new Exception("更新审核状态失败"); } return AjaxResult.success(); - }catch(Exception e){ + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public AjaxResult stuWillReturnUpdate(SurItinerary param){ - try{ + public AjaxResult stuWillReturnUpdate(SurItinerary param) { + try { SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId); - if(find == null) { + if (find == null) { throw new Exception("未找到该记录"); } - if(!Objects.equals(find.getStuNo(), getUsername())){ + if (!Objects.equals(find.getStuNo(), getUsername())) { throw new Exception("只能修改自己的假期返校记录"); } - if(!Objects.equals(find.leaveStatus, "2")){ + if (!Objects.equals(find.leaveStatus, "2")) { throw new Exception("只有离校留校申请通过辅导员审核才能填写返校"); } - if(Objects.equals(find.status, "2")){ + if (Objects.equals(find.status, "2")) { throw new Exception("该记录已审核通过"); } find.status = "1"; @@ -708,45 +735,45 @@ public class SurItineraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.in("return_school_id", ids); queryWrapper.eq("leave_status", "1"); List list = surItineraryMapper.selectList(queryWrapper); - if(list.size() == 0) { + if (list.size() == 0) { throw new Exception("未找到待审核记录"); } - for(SurItinerary surItinerary : list){ + for (SurItinerary surItinerary : list) { surItinerary.leaveStatus = "2"; } boolean res = this.updateBatchById(list); - if(!res){ + if (!res) { throw new Exception("批量审核失败"); } return AjaxResult.success(); - }catch(Exception e) { + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public AjaxResult leaveAudit(SurItinerary param){ - try{ + public AjaxResult manyLeaveReject(Long[] ids) { + try { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("return_school_id", ids); + queryWrapper.eq("leave_status", "1"); + List list = surItineraryMapper.selectList(queryWrapper); + if (list.size() == 0) { + throw new Exception("未找到待审核记录"); + } + for (SurItinerary surItinerary : list) { + surItinerary.leaveStatus = "10";// 驳回参数 + } + boolean res = this.updateBatchById(list); + if (!res) { + throw new Exception("批量拒绝失败"); + } + + return AjaxResult.success(); + } catch (Exception e) { + return AjaxResult.error(e.getMessage()); + } + } + + @Override + public AjaxResult leaveAudit(SurItinerary param) { + try { SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId); - if(find == null){ + if (find == null) { throw new Exception("未找到该记录"); } - if(!Objects.equals(find.getLeaveStatus(), "1")){ + if (!Objects.equals(find.getLeaveStatus(), "1")) { throw new Exception("该记录已审核"); } find.leaveStatus = param.leaveStatus; int res = surItineraryMapper.updateById(find); - if(res == 0){ + if (res == 0) { throw new Exception("更新审核状态失败"); } return AjaxResult.success(); - }catch(Exception e){ + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @Override - public List listView(SurItinerary param){ + public List listView(SurItinerary param) { return surItineraryMapper.listView(param); } @@ -824,99 +874,97 @@ public class SurItineraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("survey_id", svId); queryWrapper.eq("stu_no", getUsername()); SurItinerary surItinerary = surItineraryMapper.selectOne(queryWrapper); - if(surItinerary == null){ + if (surItinerary == null) { throw new Exception("未找到该记录"); } QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("stu_no", getUsername()); ViewStuInfo viewStuInfo = stuInfoMapper.selectOne(queryWrapper1); - if(viewStuInfo != null){ + if (viewStuInfo != null) { surItinerary.setClassName(viewStuInfo.getClassName()); } return AjaxResult.success(surItinerary); - }catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); return AjaxResult.error(e.getMessage()); } } - @Override - public AjaxResult stuLeaveApply(SurItinerary param){ - try{ + public AjaxResult stuLeaveApply(SurItinerary param) { + try { String stuNo = getUsername(); param.setStuNo(stuNo); param.setDeptId(getDeptId()); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("stu_no",stuNo); + queryWrapper.eq("stu_no", stuNo); SrsStudent srsStudent = _stuMapper.selectOne(queryWrapper); - if(srsStudent == null){ + if (srsStudent == null) { throw new Exception("学生信息不存在"); } Long classId = srsStudent.getClassId(); SurSurvey surSurvey = surSurveyMapper.selectById(param.getSurveyId()); - if(surSurvey == null){ + if (surSurvey == null) { throw new Exception("未找到该问卷"); } Date cutoffTime = surSurvey.getCutoffTime(); - if(cutoffTime != null){ + if (cutoffTime != null) { Date willLeaveTime = param.getWillLeaveTime(); - if(willLeaveTime != null){ + if (willLeaveTime != null) { if (willLeaveTime.after(cutoffTime)) { throw new Exception("已超过填写截至时间"); } } } - - if(param.returnSchoolId != null){ + if (param.returnSchoolId != null) { SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId); - if(find!= null){ - if(Objects.equals(find.leaveStatus, "2")){ + if (find != null) { + if (Objects.equals(find.leaveStatus, "2")) { throw new Exception("该记录已审核通过"); } int res = surItineraryMapper.updateById(param); - if(res == 0){ + if (res == 0) { throw new Exception("更新记录失败"); } - }else{ + } else { param.returnSchoolId = null; param.setClassId(classId); param.name = srsStudent.getName(); - if(Objects.equals(param.leaveStatus, "2")){ + if (Objects.equals(param.leaveStatus, "2")) { throw new Exception("错误的状态"); } int res = surItineraryMapper.insert(param); - if(res == 0){ + if (res == 0) { throw new Exception("插入新记录失败"); } } - }else{ + } else { param.setClassId(classId); param.name = srsStudent.getName(); - if(Objects.equals(param.leaveStatus, "2")){ + if (Objects.equals(param.leaveStatus, "2")) { throw new Exception("请选择假期类型"); } int res = surItineraryMapper.insert(param); - if(res == 0){ + if (res == 0) { throw new Exception("插入新记录失败"); } } return AjaxResult.success(); - }catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); return AjaxResult.error(e.getMessage()); } @@ -952,7 +1000,7 @@ public class SurItineraryServiceImpl extends ServiceImpl lijianCampus = List.of("水利工程学院", "电力工程学院", "机电工程学院", "信息工程学院(里建)", "经济管理学院(里建)", "土木建筑工程学院", "交通工程学院", "自动化工程学院"); + List lijianCampus = List.of("水利工程学院", "电力工程学院", "机电工程学院", "信息工程学院(里建)", "经济管理学院(里建)", "土木建筑工程学院", + "交通工程学院", "自动化工程学院"); List changguCampus = List.of("信息工程学院(长堽)", "经济管理学院(长堽)"); SurItineraryStatisticsVo lijianTotal = new SurItineraryStatisticsVo(); @@ -1027,8 +1078,9 @@ public class SurItineraryServiceImpl extends ServiceImpl 0 || lijianTotal.getStayCount() > 0 || lijianTotal.getHomeCount() > 0 || lijianTotal.getReturnCount() > 0) { + if (lijianTotal.getExpectedLeaveCount() > 0 || lijianTotal.getStayCount() > 0 || lijianTotal.getHomeCount() > 0 + || lijianTotal.getReturnCount() > 0) { finalResult.add(lijianTotal); } - if (changguTotal.getExpectedLeaveCount() > 0 || changguTotal.getStayCount() > 0 || changguTotal.getHomeCount() > 0 || changguTotal.getReturnCount() > 0) { + if (changguTotal.getExpectedLeaveCount() > 0 || changguTotal.getStayCount() > 0 + || changguTotal.getHomeCount() > 0 || changguTotal.getReturnCount() > 0) { finalResult.add(changguTotal); }