diff --git a/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java b/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java index 433d035..15f59bc 100644 --- a/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java +++ b/src/main/java/cn/teammodel/controller/admin/service/impl/TeacherServiceImpl.java @@ -7,17 +7,11 @@ import cn.teammodel.controller.admin.service.TeacherService; import cn.teammodel.model.dto.admin.teacher.GpTeacherDto; import cn.teammodel.model.dto.admin.teacher.TeacherDto; import cn.teammodel.model.entity.common.GroupList; -import cn.teammodel.model.entity.school.GpTeacher; -import cn.teammodel.model.entity.school.LessonRecord; -import cn.teammodel.model.entity.school.School; -import cn.teammodel.model.entity.school.SchoolTeacher; +import cn.teammodel.model.entity.school.*; import cn.teammodel.model.vo.admin.GpTeacherVo; import cn.teammodel.model.vo.admin.SugVo; import cn.teammodel.model.vo.admin.TeacherGradeVo; -import cn.teammodel.repository.LessonRecordRepository; -import cn.teammodel.repository.SchoolGroupListRepository; -import cn.teammodel.repository.SchoolRepository; -import cn.teammodel.repository.SchoolTeacherRepository; +import cn.teammodel.repository.*; import cn.teammodel.test.LessonRecordQueryService; import cn.teammodel.utils.GroupUtil; import cn.teammodel.utils.SchoolDateUtil; @@ -54,6 +48,16 @@ public class TeacherServiceImpl implements TeacherService { private SchoolRepository schoolRepository; @Resource private LessonRecordRepository lessonRecordRepository; + /** + * 学校试卷 + */ + @Resource + private PaperSchoolRepository paperSchoolRepository; + /** + * 个人试卷 + */ + @Resource + private PaperTeacherRepository paperTeacherRepository; @Autowired private Environment env; @@ -776,7 +780,8 @@ public class TeacherServiceImpl implements TeacherService { //List lessonRecords = lessonRecordRepository.getLessonsByConditions(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getStartTime(), teacherDto.getEndTime(), teacherDto.getSubjectId(),teacherDto.getTmdId(),teacherDto.getGrade(),teacherDto.getPeriodId()); if(teacherDto.getTmdId() != null) { - + //查询个人试卷 备注:若是后面影响速度,可以优化改代码 + int count = paperTeacherRepository.getPaperCount(String.format("Paper-%s", teacherDto.getTmdId())); List sugVos = sugVoList.stream().filter(sugVo -> sugVo.getHabook().equals(teacherDto.getTmdId())).collect(Collectors.toList()); LinkedHashMap mapTeach = new LinkedHashMap<>(); int[] scores = new int[10]; @@ -791,7 +796,6 @@ public class TeacherServiceImpl implements TeacherService { scores[7] += sugVo.getDouble_green_count(); scores[8] += sugVo.getMaterial_count(); scores[9] += sugVo.getTpcplan_count(); - } //T(数据) mapTeach.put("TData",scores[0]); @@ -810,6 +814,8 @@ public class TeacherServiceImpl implements TeacherService { mapTeach.put("MaterialCount",scores[8]); mapTeach.put("TpcplanCount",scores[9]); mapTeach.put("Lessons",records.size()); + //资源数量:试卷数量 + mapTeach.put("paperCount",count); // 检查 sugVos 是否为空 if (!sugVos.isEmpty()) { mapTeach.put("starLevel", sugVos.get(0).getStar_level()); @@ -820,7 +826,8 @@ public class TeacherServiceImpl implements TeacherService { return mapTeach; }else if(teacherDto.getGradeName() != null) { - + //查询学校试卷 备注:若是后面影响速度,可以优化改代码 + int count = paperTeacherRepository.getPaperCount(String.format("Paper-%s", teacherDto.getCode())); List teachers = new ArrayList<>(); for (TeacherGradeVo gradeVo : gradeList) { for(TeacherGradeVo.IdAndName gradeId : gradeVo.getGrade()) { @@ -862,9 +869,13 @@ public class TeacherServiceImpl implements TeacherService { mapTeach.put("MaterialCount",scores[8]); mapTeach.put("TpcplanCount",scores[9]); mapTeach.put("Lessons",records.size()); + //资源数量:试卷数量 + mapTeach.put("paperCount",count); return mapTeach; }else { + //查询学校试卷 备注:若是后面影响速度,可以优化改代码 + int count = paperTeacherRepository.getPaperCount(String.format("Paper-%s", teacherDto.getCode())); LinkedHashMap mapTeach = new LinkedHashMap<>(); int[] scores = new int[10]; for (SugVo sugVo : sugVoList) { @@ -895,9 +906,10 @@ public class TeacherServiceImpl implements TeacherService { mapTeach.put("MaterialCount",scores[8]); mapTeach.put("TpcplanCount",scores[9]); mapTeach.put("Lessons",records.size()); + //资源数量:试卷数量 + mapTeach.put("paperCount",count); return mapTeach; - } //Map map = new HashMap<>(); diff --git a/src/main/java/cn/teammodel/model/entity/school/PaperSchool.java b/src/main/java/cn/teammodel/model/entity/school/PaperSchool.java new file mode 100644 index 0000000..149af05 --- /dev/null +++ b/src/main/java/cn/teammodel/model/entity/school/PaperSchool.java @@ -0,0 +1,18 @@ +package cn.teammodel.model.entity.school; + +import cn.teammodel.model.entity.BaseItem; +import com.azure.spring.data.cosmos.core.mapping.Container; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 学校试卷 + */ +@EqualsAndHashCode(callSuper = true) +@Container(containerName = "School") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class PaperSchool extends BaseItem { + +} diff --git a/src/main/java/cn/teammodel/model/entity/school/PaperTeacher.java b/src/main/java/cn/teammodel/model/entity/school/PaperTeacher.java new file mode 100644 index 0000000..312cc2e --- /dev/null +++ b/src/main/java/cn/teammodel/model/entity/school/PaperTeacher.java @@ -0,0 +1,19 @@ +package cn.teammodel.model.entity.school; + +import cn.teammodel.model.entity.BaseItem; +import com.azure.spring.data.cosmos.core.mapping.Container; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 教师试卷 + */ +@EqualsAndHashCode(callSuper = true) +@Container(containerName = "Teacher") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class PaperTeacher extends BaseItem { + + +} diff --git a/src/main/java/cn/teammodel/repository/PaperSchoolRepository.java b/src/main/java/cn/teammodel/repository/PaperSchoolRepository.java new file mode 100644 index 0000000..b5ba146 --- /dev/null +++ b/src/main/java/cn/teammodel/repository/PaperSchoolRepository.java @@ -0,0 +1,13 @@ +package cn.teammodel.repository; + +import cn.teammodel.model.entity.school.PaperSchool; +import com.azure.spring.data.cosmos.repository.CosmosRepository; +import com.azure.spring.data.cosmos.repository.Query; +import org.springframework.stereotype.Repository; + + +@Repository +public interface PaperSchoolRepository extends CosmosRepository { + @Query("select value count(1) from c where c.pk='Paper' and c.code= @code") + int getPaperCount(String code); +} diff --git a/src/main/java/cn/teammodel/repository/PaperTeacherRepository.java b/src/main/java/cn/teammodel/repository/PaperTeacherRepository.java new file mode 100644 index 0000000..a3c4fc9 --- /dev/null +++ b/src/main/java/cn/teammodel/repository/PaperTeacherRepository.java @@ -0,0 +1,14 @@ +package cn.teammodel.repository; + +import cn.teammodel.model.entity.school.PaperTeacher; +import com.azure.spring.data.cosmos.repository.CosmosRepository; +import com.azure.spring.data.cosmos.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface PaperTeacherRepository extends CosmosRepository{ + @Query("select value count(1) from c where c.pk='Paper' and c.code=@code") + int getPaperCount(String code); +}