|
@@ -1,5 +1,6 @@
|
|
|
package com.xjrsoft.module.courseTable.service.impl;
|
|
package com.xjrsoft.module.courseTable.service.impl;
|
|
|
|
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.date.DateField;
|
|
import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
@@ -8,7 +9,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.alibaba.excel.ExcelWriter;
|
|
import com.alibaba.excel.ExcelWriter;
|
|
|
-import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
|
|
import com.alibaba.excel.write.metadata.WriteTable;
|
|
import com.alibaba.excel.write.metadata.WriteTable;
|
|
|
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
|
|
import com.alibaba.excel.write.metadata.style.WriteCellStyle;
|
|
|
import com.alibaba.excel.write.metadata.style.WriteFont;
|
|
import com.alibaba.excel.write.metadata.style.WriteFont;
|
|
@@ -52,13 +52,11 @@ import com.xjrsoft.module.schedule.vo.CourseDetailVo;
|
|
|
import com.xjrsoft.module.schedule.vo.CourseListVo;
|
|
import com.xjrsoft.module.schedule.vo.CourseListVo;
|
|
|
import com.xjrsoft.module.schedule.vo.CourseTableVo;
|
|
import com.xjrsoft.module.schedule.vo.CourseTableVo;
|
|
|
import com.xjrsoft.module.schedule.vo.ScheduleWeekExportQueryVo;
|
|
import com.xjrsoft.module.schedule.vo.ScheduleWeekExportQueryVo;
|
|
|
|
|
+import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
|
|
|
|
|
+import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService;
|
|
|
import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
|
|
import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
|
|
|
-import com.xjrsoft.module.textbook.entity.SubjectGroupCourse;
|
|
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookClaimExportQueryVo;
|
|
|
|
|
-import com.xjrsoft.module.textbook.vo.TextbookIssueRecordExcelVo;
|
|
|
|
|
-import io.swagger.models.auth.In;
|
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.poi.ss.usermodel.BorderStyle;
|
|
import org.apache.poi.ss.usermodel.BorderStyle;
|
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
@@ -69,7 +67,6 @@ import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
|
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
|
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
|
|
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
|
|
|
-import org.checkerframework.checker.units.qual.C;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -83,7 +80,11 @@ import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.Collections;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -110,7 +111,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
|
|
|
|
|
|
|
|
private final ClassTimeMapper classTimeMapper;
|
|
private final ClassTimeMapper classTimeMapper;
|
|
|
private final BaseSemesterMapper baseSemesterMapper;
|
|
private final BaseSemesterMapper baseSemesterMapper;
|
|
|
-
|
|
|
|
|
|
|
+ private final IBaseStudentSchoolRollService baseStudentSchoolRollService;
|
|
|
private final CourseTableBakMapper courseTableBakMapper;
|
|
private final CourseTableBakMapper courseTableBakMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -217,7 +218,6 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
|
|
|
long days = between.toDays();
|
|
long days = between.toDays();
|
|
|
int weeks = (int) Math.ceil((double) days / 7);
|
|
int weeks = (int) Math.ceil((double) days / 7);
|
|
|
if (dto.getWeek() == null) {
|
|
if (dto.getWeek() == null) {
|
|
|
-
|
|
|
|
|
for (int i = 0; i < weeks; i++) {
|
|
for (int i = 0; i < weeks; i++) {
|
|
|
LocalDateTime startDate = startDateTime.plusDays(i * 6).withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
LocalDateTime startDate = startDateTime.plusDays(i * 6).withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
|
LocalDateTime endDate = startDateTime.plusDays((i + 1) * 6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
|
|
LocalDateTime endDate = startDateTime.plusDays((i + 1) * 6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
|
|
@@ -250,6 +250,19 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
|
|
|
tableVo.setTeacherName(xjrUser.getName());
|
|
tableVo.setTeacherName(xjrUser.getName());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ if(dto.getStartDate() != null && dto.getEndDate() != null){
|
|
|
|
|
+ if(dto.getStudentId() == null && dto.getTeacherId() == null && dto.getClassId() == null){
|
|
|
|
|
+ dto.setTeacherId(StpUtil.getLoginIdAsLong());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ List<BaseStudentSchoolRoll> schoolRolls = baseStudentSchoolRollService.list(
|
|
|
|
|
+ new QueryWrapper<BaseStudentSchoolRoll>().lambda().eq(BaseStudentSchoolRoll::getUserId, dto.getStudentId())
|
|
|
|
|
+ );
|
|
|
|
|
+ if(schoolRolls != null && !schoolRolls.isEmpty()){
|
|
|
|
|
+ dto.setCourseType("class");
|
|
|
|
|
+ dto.setClassId(schoolRolls.get(0).getClassId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
List<CourseDetailVo> list = courseTableMapper.getList(dto);
|
|
List<CourseDetailVo> list = courseTableMapper.getList(dto);
|
|
|
tableVo.setCourseList(list);
|
|
tableVo.setCourseList(list);
|
|
|
tableVo.setClassHour(list.size());
|
|
tableVo.setClassHour(list.size());
|