浏览代码

Merge branch 'pre'

dzx 6 月之前
父节点
当前提交
79776b7897

+ 39 - 27
src/main/java/com/xjrsoft/module/job/BaseNewStudentTask.java

@@ -2,7 +2,12 @@ package com.xjrsoft.module.job;
 
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.xjrsoft.common.enums.*;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
+import com.xjrsoft.common.enums.EnrollTypeEnum;
+import com.xjrsoft.common.enums.GenderDictionaryEnum;
+import com.xjrsoft.common.enums.StudentTypeEnum;
+import com.xjrsoft.common.enums.StudyStatusEnum;
 import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.entity.BaseMajorSet;
@@ -16,13 +21,16 @@ import com.xjrsoft.module.student.service.IEnrollmentPlanService;
 import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -36,28 +44,29 @@ import java.util.stream.Collectors;
 public class BaseNewStudentTask {
 
 
-    @Autowired
-    private IBaseNewStudentService newStudentService;
-
-    @Autowired
-    private IPbCseFeeobjupdateService cseFeeobjupdateService;
-
-    @Autowired
-    private IEnrollmentPlanService planService;
-
-    @Autowired
-    private IBaseGradeService gradeService;
-
-    @Autowired
-    private IBaseMajorSetService majorSetService;
-
-    @Async
-    @Scheduled(cron = "0 */15 * * * ?")
-    public void execute() {
-        doExecute();
-    }
-
-    void doExecute() {
+//    @Autowired
+//    private IBaseNewStudentService newStudentService;
+//
+//    @Autowired
+//    private IPbCseFeeobjupdateService cseFeeobjupdateService;
+//
+//    @Autowired
+//    private IEnrollmentPlanService planService;
+//
+//    @Autowired
+//    private IBaseGradeService gradeService;
+//
+//    @Autowired
+//    private IBaseMajorSetService majorSetService;
+
+//    @Async
+//    @Scheduled(cron = "0 */15 * * * ?")
+//    public void execute() {
+//        doExecute();
+//    }
+
+    public void doExecute(IBaseNewStudentService newStudentService, IPbCseFeeobjupdateService cseFeeobjupdateService,
+                          IEnrollmentPlanService planService, IBaseGradeService gradeService, IBaseMajorSetService majorSetService) {
         List<PbCseFeeobjupdate> dataList = cseFeeobjupdateService.list();
 
         String sql = "select distinct enteryear, userdef6 from pb_cse_feeobjupdate";
@@ -126,6 +135,9 @@ public class BaseNewStudentTask {
             BaseNewStudent existsNewStudent = existsNewStudentMap.get(feeobjupdate.getPersonalid());
             Long planId = planMap.get(feeobjupdate.getEnteryear() + feeobjupdate.getUserdef6());
             if (existsNewStudent != null) {
+                if(existsNewStudent.getStatus() != null && existsNewStudent.getStatus() == 1){
+                    continue;
+                }
                 existsNewStudent.setName(feeobjupdate.getFeeobjname());
                 existsNewStudent.setPaymnystate(feeobjupdate.getPaymnystate());
                 if("未交费".equals(feeobjupdate.getPaymnystate())){

+ 22 - 25
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -32,7 +32,6 @@ import com.xjrsoft.module.organization.entity.UserRoleRelation;
 import com.xjrsoft.module.organization.service.IDepartmentService;
 import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.organization.service.IWeChatService;
-import com.xjrsoft.module.schedule.entity.CourseReceiveMsg;
 import com.xjrsoft.module.schedule.entity.CourseTableBak;
 import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.schedule.entity.WfCourseAdjust;
@@ -54,7 +53,6 @@ import com.xjrsoft.module.workflow.service.IWorkflowFormRelationService;
 import com.xjrsoft.module.workflow.service.IWorkflowRecordService;
 import lombok.extern.slf4j.Slf4j;
 import me.zhyd.oauth.log.Log;
-import org.apache.skywalking.apm.toolkit.trace.ActiveSpan;
 import org.camunda.bpm.engine.RuntimeService;
 import org.camunda.bpm.engine.TaskService;
 import org.camunda.bpm.engine.history.HistoricProcessInstance;
@@ -67,12 +65,18 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 
@@ -159,20 +163,16 @@ public class JianyuekbScheduleTask {
                 " and table_name = 'base_grade'" +
                 " and jianyue_id in (" + eduYearSerialNo1.toString().replace("[", "").replace("]", "") + ")";
         List<Map<String, Object>> jianyueData = SqlRunnerAdapter.db().selectList(sql);
-        Map<String, List<BaseClass>> gradeClassMaps = new HashMap<>();//存入对应年级的所有班级id
+        Map<String, List<Long>> gradeClassMaps = new HashMap<>();//存入对应年级的所有班级id
         for (Map<String, Object> el : jianyueData) {
-            String gradeId = el.get("source_id").toString();
-            String orgId = null;
-            if (gradeId.contains("_")) {
-                String[] split = el.get("source_id").toString().split("_");
-                gradeId = split[1];
-                orgId = split[0];
+            String clasSql = "select source_id from jianyue_data where extend_data = '" + el.get("jianyue_id").toString() + "'";
+            List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(clasSql);
+
+            List<Long> classList = new ArrayList<>();
+            for (Map<String, Object> objectMap : list) {
+                classList.add(Long.parseLong(objectMap.get("source_id").toString()));
             }
-            List<BaseClass> classList = classService.list(
-                    new QueryWrapper<BaseClass>().lambda()
-                            .eq(BaseClass::getGradeId, gradeId)
-                            .eq(BaseClass::getOrgId, orgId)
-            );
+
             gradeClassMaps.put(el.get("jianyue_id").toString(), classList);
         }
         LocalDate today = LocalDate.now();
@@ -207,8 +207,7 @@ public class JianyuekbScheduleTask {
                 }
 
                 //删除课表信息;
-                List<BaseClass> classList = gradeClassMaps.get(eduYearSerialNo);
-                List<Long> classIdList = classList.stream().map(BaseClass::getId).collect(Collectors.toList());
+                List<Long> classIdList = gradeClassMaps.get(eduYearSerialNo);
                 String classIds = classIdList.toString().replace("[", "").replace("]", "");
                 String delSql = "delete from course_table where schedule_date between '" + startDateStr + "'" +
                         " and '" + endDateStr +
@@ -216,7 +215,7 @@ public class JianyuekbScheduleTask {
                 SqlRunnerAdapter.db().delete(delSql);
 
                 startDateStr = receiveMsg.get("start_date").toString();
-                List<String> processIds = suspendedCourseAdjust(classList, startDateStr, endDateStr);
+                List<String> processIds = suspendedCourseAdjust(classIdList, startDateStr, endDateStr);
 
                 long between = ChronoUnit.DAYS.between(startDateObj, endDateObj);
                 int times = Integer.parseInt(((between / 7) + 1) + "");
@@ -244,7 +243,7 @@ public class JianyuekbScheduleTask {
                 //恢复挂起的流程
                 restoreCourseAdjust(processIds);
                 //处理该日期内已经审批通过的调课和顶课申请
-                handleCourseAdjust(classList, startDateStr, endDateStr);
+                handleCourseAdjust(classIdList, startDateStr, endDateStr);
             } catch (Exception e) {
                 Log.error(e.getMessage(), e);
             } finally {
@@ -369,9 +368,8 @@ public class JianyuekbScheduleTask {
      * 2、筛选出课表变化了的调课和顶课申请,通知发起人
      * 3、顶课数据,如果顶课日期那天那个老师没有课,但是新发布的课表又有课了,需要把原来的顶课数据作废
      */
-    public void handleCourseAdjust(List<BaseClass> classList, String startDate, String endDate) {
-        List<Long> classIds = classList.stream().map(BaseClass::getId).collect(Collectors.toList());
-        Map<Long, String> classMap = classList.stream().collect(Collectors.toMap(BaseClass::getId, BaseClass::getName));
+    public void handleCourseAdjust(List<Long> classIds, String startDate, String endDate) {
+        Map<Long, String> classMap = classService.listByIds(classIds).stream().collect(Collectors.toMap(BaseClass::getId, BaseClass::getName));
         List<CourseTableBak> bakList = courseTableBakService.list(
                 new QueryWrapper<CourseTableBak>().lambda()
                         .in(CourseTableBak::getClassId, classIds)
@@ -657,8 +655,7 @@ public class JianyuekbScheduleTask {
     /**
      * 挂起未通过的流程
      */
-    List<String> suspendedCourseAdjust(List<BaseClass> classList, String startDate, String endDate) {
-        List<Long> classIds = classList.stream().map(BaseClass::getId).collect(Collectors.toList());
+    List<String> suspendedCourseAdjust(List<Long> classIds, String startDate, String endDate) {
         List<CourseTableBak> bakList = courseTableBakService.list(
                 new QueryWrapper<CourseTableBak>().lambda()
                         .in(CourseTableBak::getClassId, classIds)

+ 2 - 0
src/main/java/com/xjrsoft/module/oa/service/IOfficialDocumentReceivedHandleService.java

@@ -24,4 +24,6 @@ public interface IOfficialDocumentReceivedHandleService extends MPJBaseService<O
     Boolean handle(AddOfficialDocumentReceivedHandleDto dto);
 
     Boolean transfer(AddOfficialDocumentReceivedHandleDto dto);
+
+    Boolean noticeHandleUser(OfficialDocumentReceivedHandle handle);
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/oa/service/IOfficialDocumentReceivedService.java

@@ -19,4 +19,6 @@ public interface IOfficialDocumentReceivedService extends MPJBaseService<Officia
     String getMaxMeetingNumber();
 
     Boolean noticeHandleDutyUser(Long formId);
+
+
 }

+ 40 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/OfficialDocumentReceivedHandleServiceImpl.java

@@ -2,6 +2,8 @@ package com.xjrsoft.module.oa.service.impl;
 
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -14,11 +16,16 @@ import com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedHandleMapper;
 import com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedMapper;
 import com.xjrsoft.module.oa.service.IOfficialDocumentReceivedHandleService;
 import com.xjrsoft.module.oa.vo.OfficialDocumentReceivedHandlePageVo;
+import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.mapper.UserMapper;
+import com.xjrsoft.module.organization.service.IWeChatService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 /**
@@ -31,6 +38,8 @@ import java.util.List;
 @AllArgsConstructor
 public class OfficialDocumentReceivedHandleServiceImpl extends MPJBaseServiceImpl<OfficialDocumentReceivedHandleMapper, OfficialDocumentReceivedHandle> implements IOfficialDocumentReceivedHandleService {
     private final OfficialDocumentReceivedMapper documentReceivedMapper;
+    private final IWeChatService weChatService;
+    private final UserMapper userMapper;
 
     @Override
     public Page<OfficialDocumentReceivedHandlePageVo> getPage(Page<OfficialDocumentReceivedHandlePageVo> page, OfficialDocumentReceivedHandlePageDto dto) {
@@ -84,6 +93,37 @@ public class OfficialDocumentReceivedHandleServiceImpl extends MPJBaseServiceImp
         handle.setIsHandle(0);
         handle.setIsTransfer(1);
         this.save(handle);
+        this.noticeHandleUser(handle);
+        return true;
+    }
+
+    @Override
+    public Boolean noticeHandleUser(OfficialDocumentReceivedHandle handle) {
+        OfficialDocumentReceived documentReceived = documentReceivedMapper.selectById(handle.getOfficialDocumentReceivedId());
+        if(documentReceived.getHandleDutyUserId() != null){
+            User user = userMapper.selectById(handle.getReceiveUserId());
+
+            WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+            weChatSendMessageDto.setUserId(user.getOpenId());
+            weChatSendMessageDto.setTemplateId("qmpXORPM1Cocqn503Qa4On6BJhR92UZ00eod2-6IcGo");
+            //weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/message/notice/detail?id={}", commonPropertiesConfig.getDomainApp(), id));
+            weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextIdStr());
+            JSONObject data = new JSONObject();
+
+            JSONObject thing23 = new JSONObject();
+            thing23.put("value", "您有一个收文待处理");
+            data.put("thing23", thing23);
+
+            JSONObject data2 = new JSONObject();
+            data2.put("value", user.getName());
+            data.put("thing29", data2);
+
+            JSONObject data3 = new JSONObject();
+            data3.put("value", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            data.put("time17", data3);
+            weChatSendMessageDto.setContent(data);
+            weChatService.sendTemplateMessage(weChatSendMessageDto);
+        }
         return true;
     }
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/OfficialDocumentReceivedServiceImpl.java

@@ -73,4 +73,6 @@ public class OfficialDocumentReceivedServiceImpl extends MPJBaseServiceImpl<Offi
         }
         return true;
     }
+
+
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/organization/mapper/UserMapper.java

@@ -12,6 +12,7 @@ import com.xjrsoft.module.student.dto.BaseStudentSimpleInfoDto;
 import com.xjrsoft.module.student.vo.BaseStudentSompleInfoVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
 
@@ -32,4 +33,7 @@ public interface UserMapper extends MPJBaseMapper<User> {
     Page<PersonPageVo> personPage(Page<PersonPageVo> page, @Param("dto") PersonPageDto dto);
 
     List<UserIdDeptNameVo> getTeacherDeptName();
+
+    @Update("update xjr_user where delete_mark = 0, enabled_mark = 1, modify_user_id = #{modifyUserId}, modify_date = now() where user_id = #{userId}")
+    Boolean activateUser(@Param("userId") Long userId, @Param("modifyUserId") Long modifyUserId);
 }

+ 20 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseNewStudentController.java

@@ -24,9 +24,13 @@ import com.xjrsoft.config.CommonPropertiesConfig;
 import com.xjrsoft.module.base.entity.BaseSemester;
 import com.xjrsoft.module.base.entity.BaseUserStudent;
 import com.xjrsoft.module.base.entity.WhitelistManagement;
+import com.xjrsoft.module.base.service.IBaseGradeService;
+import com.xjrsoft.module.base.service.IBaseMajorSetService;
 import com.xjrsoft.module.base.service.IBaseSemesterService;
 import com.xjrsoft.module.base.service.IBaseUserStudentService;
 import com.xjrsoft.module.base.service.IWhitelistManagementService;
+import com.xjrsoft.module.job.BaseNewStudentTask;
+import com.xjrsoft.module.job.EnrollmentStatisticsInfoTask;
 import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.organization.entity.UserRoleRelation;
 import com.xjrsoft.module.organization.service.IUserRoleRelationService;
@@ -41,6 +45,8 @@ import com.xjrsoft.module.student.entity.BaseNewStudent;
 import com.xjrsoft.module.student.entity.BaseStudentFamilyMember;
 import com.xjrsoft.module.student.service.IBaseNewStudentService;
 import com.xjrsoft.module.student.service.IBaseStudentFamilyMemberService;
+import com.xjrsoft.module.student.service.IEnrollmentPlanService;
+import com.xjrsoft.module.student.service.IPbCseFeeobjupdateService;
 import com.xjrsoft.module.student.vo.BaseNewStudentExportVo;
 import com.xjrsoft.module.student.vo.BaseNewStudentListExcelVo;
 import com.xjrsoft.module.student.vo.BaseNewStudentPageVo;
@@ -52,6 +58,7 @@ import com.xjrsoft.module.student.vo.EnrollmentPlanTreeVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -96,6 +103,10 @@ public class BaseNewStudentController {
     private final IBaseUserStudentService userStudentService;
     private final CommonPropertiesConfig propertiesConfig;
     private final IBaseSemesterService semesterService;
+    private final IPbCseFeeobjupdateService cseFeeobjupdateService;
+    private final IEnrollmentPlanService planService;
+    private final IBaseGradeService gradeService;
+    private final IBaseMajorSetService majorSetService;
     @GetMapping(value = "/page")
     @ApiOperation(value="新生维护信息列表(分页)")
     @SaCheckPermission("basenewstudent:detail")
@@ -466,4 +477,13 @@ public class BaseNewStudentController {
         return RT.fileStream(bot.toByteArray(), fileName);
     }
 
+    @GetMapping("/basenewstudent-task-start")
+    @ApiOperation(value = "触发新生数据同步统计")
+    @XjrLog(value = "触发新生数据同步统计")
+    public RT<Boolean> exportData() {
+        BaseNewStudentTask basenewstudenttask = new BaseNewStudentTask();
+        basenewstudenttask.doExecute(baseNewStudentService, cseFeeobjupdateService, planService, gradeService, majorSetService);
+        return RT.ok(true);
+    }
+
 }

+ 1 - 0
src/main/java/com/xjrsoft/module/student/controller/PbCseFeeobjupdateController.java

@@ -198,4 +198,5 @@ public class PbCseFeeobjupdateController {
         statisticsInfoTask.doExecute(pbCseFeeobjupdateService, enrollmentStatisticsInfoService);
         return RT.ok(true);
     }
+
 }

+ 1 - 13
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java

@@ -302,19 +302,7 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
 
     @Override
     public Boolean activateStudent(Long userId, Long modifyUserId) {
-        //激活用户信息
-        User user = userMapper.selectOne(
-                new MPJLambdaWrapper<User>()
-                        .disableLogicDel()
-                        .select(User::getId)
-                        .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
-                        .eq(User::getId, userId)
-        );
-        user.setDeleteMark(DeleteMark.NODELETE.getCode());
-        user.setEnabledMark(EnabledMark.ENABLED.getCode());
-        user.setModifyUserId(modifyUserId);
-        user.setModifyDate(LocalDateTime.now());
-        userMapper.updateById(user);
+        userMapper.activateUser(userId, modifyUserId);
 
         //将学籍信息改为在读
         BaseStudentSchoolRoll schoolRoll = this.baseMapper.selectOne(

+ 1 - 0
src/main/resources/application-pre.yml

@@ -99,6 +99,7 @@ xjrsoft:
       - /system/findUserByCode
       - /student/basestudentinfo/studentinfoByKeyWord
       - /student/pbCseFeeobjupdate/enrollment-statistics-start
+      - /student/baseNewStudent/basenewstudent-task-start
     approval-time: 300 # 审核超时时间 目前设为5分钟
   email:
     host:  #邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>

+ 1 - 0
src/main/resources/application-prod.yml

@@ -96,6 +96,7 @@ xjrsoft:
       - /student/basestudentinfo/studentinfoByKeyWord
       - /system/xjrTipsMessage/infoByCode
       - /student/pbCseFeeobjupdate/enrollment-statistics-start
+      - /student/baseNewStudent/basenewstudent-task-start
     approval-time: 300 # 审核超时时间 目前设为5分钟
   email:
     host:  #邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>

+ 18 - 23
src/test/java/com/xjrsoft/module/job/JianyuekbScheduleTaskTest.java

@@ -169,20 +169,17 @@ class JianyuekbScheduleTaskTest {
                 " and table_name = 'base_grade'" +
                 " and jianyue_id in (" + eduYearSerialNo1.toString().replace("[","").replace("]","") + ")";
         List<Map<String, Object>> jianyueData = SqlRunnerAdapter.db().selectList(sql);
-        Map<String, List<BaseClass>> gradeClassMaps = new HashMap<>();//存入对应年级的所有班级id
+        Map<String, List<Long>> gradeClassMaps = new HashMap<>();//存入对应年级的所有班级id
         for (Map<String, Object> el : jianyueData) {
-            String gradeId = el.get("source_id").toString();
-            String orgId = null;
-            if(gradeId.contains("_")){
-                String[] split = el.get("source_id").toString().split("_");
-                gradeId = split[1];
-                orgId = split[0];
+
+            String clasSql = "select source_id from jianyue_data where extend_data = '" + el.get("jianyue_id").toString() + "'";
+            List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(clasSql);
+
+            List<Long> classList = new ArrayList<>();
+            for (Map<String, Object> objectMap : list) {
+                classList.add(Long.parseLong(objectMap.get("source_id").toString()));
             }
-            List<BaseClass> classList = classService.list(
-                    new QueryWrapper<BaseClass>().lambda()
-                            .eq(BaseClass::getGradeId, gradeId)
-                            .eq(BaseClass::getOrgId, orgId)
-            );
+
             gradeClassMaps.put(el.get("jianyue_id").toString(), classList);
         }
         LocalDate today = LocalDate.now();
@@ -212,13 +209,12 @@ class JianyuekbScheduleTaskTest {
                 LocalDate startDateObj = LocalDate.parse(startDateStr);
                 String endDateStr = receiveMsg.get("end_date").toString();
                 LocalDate endDateObj = LocalDate.parse(endDateStr);
-//                if(today.isAfter(startDateObj)){
-//                    startDateStr = today.format(formatter);
-//                }
+                if(today.isAfter(startDateObj)){
+                    startDateStr = today.format(formatter);
+                }
 
                 //删除课表信息;
-                List<BaseClass> classList = gradeClassMaps.get(eduYearSerialNo);
-                List<Long> classIdList = classList.stream().map(BaseClass::getId).collect(Collectors.toList());
+                List<Long> classIdList = gradeClassMaps.get(eduYearSerialNo);
                 String classIds = classIdList.toString().replace("[", "").replace("]", "");
                 String delSql = "delete from course_table where schedule_date between '" + startDateStr + "'" +
                         " and '" + endDateStr +
@@ -226,7 +222,7 @@ class JianyuekbScheduleTaskTest {
                 SqlRunnerAdapter.db().delete(delSql);
 
                 startDateStr = receiveMsg.get("start_date").toString();
-                List<String> processIds = suspendedCourseAdjust(classList, startDateStr, endDateStr);
+                List<String> processIds = suspendedCourseAdjust(classIdList, startDateStr, endDateStr);
 
                 long between = ChronoUnit.DAYS.between(startDateObj, endDateObj);
                 int times = Integer.parseInt(((between / 7) + 1) + "");
@@ -254,7 +250,7 @@ class JianyuekbScheduleTaskTest {
                 //恢复挂起的流程
                 restoreCourseAdjust(processIds);
                 //处理该日期内已经审批通过的调课和顶课申请
-                handleCourseAdjust(classList, startDateStr, endDateStr);
+                handleCourseAdjust(classIdList, startDateStr, endDateStr);
             }catch (Exception e){
                 Log.error(e.getMessage(), e);
             }finally {
@@ -368,8 +364,8 @@ class JianyuekbScheduleTaskTest {
      * 2、筛选出课表变化了的调课和顶课申请,通知发起人
      * 3、顶课数据,如果顶课日期那天那个老师没有课,但是新发布的课表又有课了,需要把原来的顶课数据作废
      */
-    public void handleCourseAdjust(List<BaseClass> classList, String startDate, String endDate){
-        List<Long> classIds = classList.stream().map(BaseClass::getId).collect(Collectors.toList());
+    public void handleCourseAdjust(List<Long> classIds, String startDate, String endDate){
+        classService.listByIds(classIds)
         Map<Long, String> classMap = classList.stream().collect(Collectors.toMap(BaseClass::getId, BaseClass::getName));
         List<CourseTableBak> bakList = courseTableBakService.list(
                 new QueryWrapper<CourseTableBak>().lambda()
@@ -657,8 +653,7 @@ class JianyuekbScheduleTaskTest {
     /**
      * 挂起未通过的流程
      */
-    List<String> suspendedCourseAdjust(List<BaseClass> classList, String startDate, String endDate) {
-        List<Long> classIds = classList.stream().map(BaseClass::getId).collect(Collectors.toList());
+    List<String> suspendedCourseAdjust(List<Long> classIds, String startDate, String endDate) {
         List<CourseTableBak> bakList = courseTableBakService.list(
                 new QueryWrapper<CourseTableBak>().lambda()
                         .in(CourseTableBak::getClassId, classIds)