Sfoglia il codice sorgente

课时统计bug修复

dzx 3 mesi fa
parent
commit
eff20ddd9b

+ 10 - 5
src/main/java/com/xjrsoft/module/classtime/service/impl/ClassTimeStatisticsServiceImpl.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.classtime.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -353,7 +354,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                     Double reduceTime = 0d;//顶课课时
                     for (CourseListVo courseListVo : substituteList) {
                         Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
-                        if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
+                        if(deleteDates != null && deleteDates.get(courseListVo.getScheduleDate()) != null && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
                             continue;
                         }
                         if(!( (courseListVo.getScheduleDate().equals(timeRangeVo.getMondayDate()) || courseListVo.getScheduleDate().isAfter(timeRangeVo.getMondayDate()))
@@ -367,8 +368,12 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                             .collect(Collectors.toList());
                     for (CourseListVo courseListVo : substituteList) {
                         Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
-                        if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
-                            continue;
+                        if(deleteDates != null && deleteDates.get(courseListVo.getScheduleDate()) != null
+                        ){
+                            String timeNumbers = deleteDates.get(courseListVo.getScheduleDate());
+                            if(StrUtil.isNotEmpty(timeNumbers) && timeNumbers.contains(courseListVo.getTimeNumber())){
+                                continue;
+                            }
                         }
                         if(!( (courseListVo.getScheduleDate().equals(timeRangeVo.getMondayDate()) || courseListVo.getScheduleDate().isAfter(timeRangeVo.getMondayDate()))
                                 && (courseListVo.getScheduleDate().equals(timeRangeVo.getSundayDate()) || courseListVo.getScheduleDate().isBefore(timeRangeVo.getSundayDate())))){
@@ -439,7 +444,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                     Double dkClassTime = 0d;//去顶课的数量,所有顶课数量
                     for (CourseListVo courseListVo : substituteList) {
                         Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
-                        if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
+                        if(deleteDates != null && deleteDates.get(courseListVo.getScheduleDate()) != null && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
                             continue;
                         }
                         reduceTime += weightSetMap.get(courseListVo.getShortName());
@@ -452,7 +457,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                             .collect(Collectors.toList());
                     for (CourseListVo courseListVo : substituteList) {
                         Map<LocalDate, String> deleteDates = deleteMap.get(courseListVo.getClassId());
-                        if(deleteDates != null && deleteDates.containsKey(courseListVo.getScheduleDate()) && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
+                        if(deleteDates != null && deleteDates.get(courseListVo.getScheduleDate()) != null && deleteDates.get(courseListVo.getScheduleDate()).contains(courseListVo.getTimeNumber())){
                             continue;
                         }
                         reduceTime = reduceTime - weightSetMap.get(courseListVo.getShortName());

+ 1 - 1
src/main/resources/mapper/classtime/ClassTimeStatisticsMapper.xml

@@ -54,7 +54,7 @@
     </select>
 
     <select id="getSubstituteList" parameterType="com.xjrsoft.module.classtime.entity.ClassTimeStatistics" resultType="com.xjrsoft.module.classtime.vo.CourseListVo">
-        SELECT t4.short_name,t3.schedule_date,t3.class_id,t1.user_id as teacher_id,t1.exchange_teacher_id,t1.reason FROM wf_course_adjust t1
+        SELECT t4.short_name,t3.schedule_date,t3.class_id,t1.user_id as teacher_id,t1.exchange_teacher_id,t1.reason,t3.time_number FROM wf_course_adjust t1
         INNER JOIN xjr_workflow_form_relation t2 ON t1.id = t2.form_key_value
         INNER JOIN course_table_bak t3 ON t1.id = t3.wf_course_adjust_id
         LEFT JOIN class_time t4 ON t3.time_period = t4.time_period AND t3.time_number = t4.number