dzx před 7 měsíci
rodič
revize
2f69e073ba

+ 7 - 3
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -259,7 +259,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 tableVo.setTeacherName(xjrUser.getName());
             }
         }
-        if (dto.getStartDate() != null && dto.getEndDate() != null) {
+        if (dto.getStartDate() != null && dto.getEndDate() != null && dto.getIsCustom() == null) {
             if (dto.getStudentId() == null && dto.getTeacherId() == null && dto.getClassId() == null) {
                 dto.setTeacherId(StpUtil.getLoginIdAsLong());
             } else {
@@ -1275,9 +1275,10 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
         CourseTableDto dataDto = new CourseTableDto();
         dataDto.setSemesterId(dto.getSemesterId());
         dataDto.setWeek(dto.getWeek());
+        dataDto.setIsCustom(1);
         CourseTableVo tableVo = this.getList(dataDto);
 
-        if("calss".equals(dto.getCourseType())){//班级课表
+        if("class".equals(dto.getCourseType())){//班级课表
             //根据年级、专业部,查询需要导出的班级
             List<BaseClass> classList = baseClassService.list(
                     new QueryWrapper<BaseClass>().lambda()
@@ -1287,7 +1288,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                             .in(BaseClass::getOrgId, dto.getDeptIds())
             );
 
-            Map<String, List<CourseDetailVo>> classDataMap = tableVo.getCourseList().stream().collect(Collectors.groupingBy(CourseDetailVo::getClassName));
+            Map<String, List<CourseDetailVo>> classDataMap = tableVo.getCourseList().stream().filter(x -> x.getClassName() != null).collect(Collectors.groupingBy(CourseDetailVo::getClassName));
 
             Workbook workbook = new XSSFWorkbook();
             String sheetName = "班级课表";
@@ -1300,6 +1301,9 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
 
                 CourseTableVo classData = new CourseTableVo();
                 classData.setClassTimeList(tableVo.getClassTimeList());
+                if(!classDataMap.containsKey(baseClass.getName())){
+                    continue;
+                }
                 classData.setCourseList(classDataMap.get(baseClass.getName()));
 
                 String rightName = "班主任:" + tableVo.getTeacherName() + " 行政班:" + baseClass.getName();

+ 5 - 0
src/main/java/com/xjrsoft/module/schedule/dto/CourseTableDto.java

@@ -1,5 +1,6 @@
 package com.xjrsoft.module.schedule.dto;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -60,4 +61,8 @@ public class CourseTableDto implements Serializable {
     @ApiModelProperty("当前日期")
     private LocalDateTime scheduleDate;
 
+    @JsonIgnore
+    @ApiModelProperty("教师id")
+    private Integer isCustom;
+
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/schedule/util/CourseTableExportQueryUtil.java

@@ -64,7 +64,7 @@ public class CourseTableExportQueryUtil {
 
     public void createContent(Workbook workbook, Sheet sheet, int rowNumber, CourseTableVo data, String courseType){
         Map<Integer, ClassTime> timeNumberMap = data.getClassTimeList().stream().collect(Collectors.toMap(ClassTime::getNumber, x -> x));
-        Map<String, List<CourseDetailVo>> timeNumberDataMap = data.getCourseList().stream().collect(Collectors.groupingBy(CourseDetailVo::getTimeNumber));
+        Map<String, List<CourseDetailVo>> timeNumberDataMap = data.getCourseList().stream().filter(x -> x.getTimeNumber() != null).collect(Collectors.groupingBy(CourseDetailVo::getTimeNumber));
 
         List<Integer> weekList = new ArrayList<>();
         weekList.add(1);