up:学校、教师资源数量:获取试卷数量

develop
PL 2 months ago
parent 58ff2e7eb1
commit c9eba804ab

@ -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.GpTeacherDto;
import cn.teammodel.model.dto.admin.teacher.TeacherDto; import cn.teammodel.model.dto.admin.teacher.TeacherDto;
import cn.teammodel.model.entity.common.GroupList; import cn.teammodel.model.entity.common.GroupList;
import cn.teammodel.model.entity.school.GpTeacher; import cn.teammodel.model.entity.school.*;
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.vo.admin.GpTeacherVo; import cn.teammodel.model.vo.admin.GpTeacherVo;
import cn.teammodel.model.vo.admin.SugVo; import cn.teammodel.model.vo.admin.SugVo;
import cn.teammodel.model.vo.admin.TeacherGradeVo; import cn.teammodel.model.vo.admin.TeacherGradeVo;
import cn.teammodel.repository.LessonRecordRepository; import cn.teammodel.repository.*;
import cn.teammodel.repository.SchoolGroupListRepository;
import cn.teammodel.repository.SchoolRepository;
import cn.teammodel.repository.SchoolTeacherRepository;
import cn.teammodel.test.LessonRecordQueryService; import cn.teammodel.test.LessonRecordQueryService;
import cn.teammodel.utils.GroupUtil; import cn.teammodel.utils.GroupUtil;
import cn.teammodel.utils.SchoolDateUtil; import cn.teammodel.utils.SchoolDateUtil;
@ -54,6 +48,16 @@ public class TeacherServiceImpl implements TeacherService {
private SchoolRepository schoolRepository; private SchoolRepository schoolRepository;
@Resource @Resource
private LessonRecordRepository lessonRecordRepository; private LessonRecordRepository lessonRecordRepository;
/**
*
*/
@Resource
private PaperSchoolRepository paperSchoolRepository;
/**
*
*/
@Resource
private PaperTeacherRepository paperTeacherRepository;
@Autowired @Autowired
private Environment env; private Environment env;
@ -776,7 +780,8 @@ public class TeacherServiceImpl implements TeacherService {
//List<LessonRecord> lessonRecords = lessonRecordRepository.getLessonsByConditions(String.format(PK.PK_LESSON_RECORD, teacherDto.getCode()), teacherDto.getStartTime(), teacherDto.getEndTime(), teacherDto.getSubjectId(),teacherDto.getTmdId(),teacherDto.getGrade(),teacherDto.getPeriodId()); //List<LessonRecord> 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) { if(teacherDto.getTmdId() != null) {
//查询个人试卷 备注:若是后面影响速度,可以优化改代码
int count = paperTeacherRepository.getPaperCount(String.format("Paper-%s", teacherDto.getTmdId()));
List<SugVo> sugVos = sugVoList.stream().filter(sugVo -> sugVo.getHabook().equals(teacherDto.getTmdId())).collect(Collectors.toList()); List<SugVo> sugVos = sugVoList.stream().filter(sugVo -> sugVo.getHabook().equals(teacherDto.getTmdId())).collect(Collectors.toList());
LinkedHashMap<String,Object> mapTeach = new LinkedHashMap<>(); LinkedHashMap<String,Object> mapTeach = new LinkedHashMap<>();
int[] scores = new int[10]; int[] scores = new int[10];
@ -791,7 +796,6 @@ public class TeacherServiceImpl implements TeacherService {
scores[7] += sugVo.getDouble_green_count(); scores[7] += sugVo.getDouble_green_count();
scores[8] += sugVo.getMaterial_count(); scores[8] += sugVo.getMaterial_count();
scores[9] += sugVo.getTpcplan_count(); scores[9] += sugVo.getTpcplan_count();
} }
//T(数据) //T(数据)
mapTeach.put("TData",scores[0]); mapTeach.put("TData",scores[0]);
@ -810,6 +814,8 @@ public class TeacherServiceImpl implements TeacherService {
mapTeach.put("MaterialCount",scores[8]); mapTeach.put("MaterialCount",scores[8]);
mapTeach.put("TpcplanCount",scores[9]); mapTeach.put("TpcplanCount",scores[9]);
mapTeach.put("Lessons",records.size()); mapTeach.put("Lessons",records.size());
//资源数量:试卷数量
mapTeach.put("paperCount",count);
// 检查 sugVos 是否为空 // 检查 sugVos 是否为空
if (!sugVos.isEmpty()) { if (!sugVos.isEmpty()) {
mapTeach.put("starLevel", sugVos.get(0).getStar_level()); mapTeach.put("starLevel", sugVos.get(0).getStar_level());
@ -820,7 +826,8 @@ public class TeacherServiceImpl implements TeacherService {
return mapTeach; return mapTeach;
}else if(teacherDto.getGradeName() != null) { }else if(teacherDto.getGradeName() != null) {
//查询学校试卷 备注:若是后面影响速度,可以优化改代码
int count = paperTeacherRepository.getPaperCount(String.format("Paper-%s", teacherDto.getCode()));
List<String> teachers = new ArrayList<>(); List<String> teachers = new ArrayList<>();
for (TeacherGradeVo gradeVo : gradeList) { for (TeacherGradeVo gradeVo : gradeList) {
for(TeacherGradeVo.IdAndName gradeId : gradeVo.getGrade()) { for(TeacherGradeVo.IdAndName gradeId : gradeVo.getGrade()) {
@ -862,9 +869,13 @@ public class TeacherServiceImpl implements TeacherService {
mapTeach.put("MaterialCount",scores[8]); mapTeach.put("MaterialCount",scores[8]);
mapTeach.put("TpcplanCount",scores[9]); mapTeach.put("TpcplanCount",scores[9]);
mapTeach.put("Lessons",records.size()); mapTeach.put("Lessons",records.size());
//资源数量:试卷数量
mapTeach.put("paperCount",count);
return mapTeach; return mapTeach;
}else { }else {
//查询学校试卷 备注:若是后面影响速度,可以优化改代码
int count = paperTeacherRepository.getPaperCount(String.format("Paper-%s", teacherDto.getCode()));
LinkedHashMap<String, Object> mapTeach = new LinkedHashMap<>(); LinkedHashMap<String, Object> mapTeach = new LinkedHashMap<>();
int[] scores = new int[10]; int[] scores = new int[10];
for (SugVo sugVo : sugVoList) { for (SugVo sugVo : sugVoList) {
@ -895,9 +906,10 @@ public class TeacherServiceImpl implements TeacherService {
mapTeach.put("MaterialCount",scores[8]); mapTeach.put("MaterialCount",scores[8]);
mapTeach.put("TpcplanCount",scores[9]); mapTeach.put("TpcplanCount",scores[9]);
mapTeach.put("Lessons",records.size()); mapTeach.put("Lessons",records.size());
//资源数量:试卷数量
mapTeach.put("paperCount",count);
return mapTeach; return mapTeach;
} }
//Map<String, Object> map = new HashMap<>(); //Map<String, Object> map = new HashMap<>();

@ -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 {
}

@ -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 {
}

@ -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<PaperSchool, String> {
@Query("select value count(1) from c where c.pk='Paper' and c.code= @code")
int getPaperCount(String code);
}

@ -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<PaperTeacher,String>{
@Query("select value count(1) from c where c.pk='Paper' and c.code=@code")
int getPaperCount(String code);
}
Loading…
Cancel
Save