update 修复年级查询试卷数量问题

develop
hhb@hotmail.com 4 weeks ago
parent 75659eedce
commit 97806f846d

@ -6,6 +6,7 @@ import cn.teammodel.config.exception.ServiceException;
import cn.teammodel.controller.admin.service.TeacherService; 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.User;
import cn.teammodel.model.entity.common.GroupList; import cn.teammodel.model.entity.common.GroupList;
import cn.teammodel.model.entity.school.*; import cn.teammodel.model.entity.school.*;
import cn.teammodel.model.entity.teacher.HonorInfo; import cn.teammodel.model.entity.teacher.HonorInfo;
@ -13,6 +14,7 @@ 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.*; import cn.teammodel.repository.*;
import cn.teammodel.security.utils.SecurityUtil;
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;
@ -746,6 +748,8 @@ public class TeacherServiceImpl implements TeacherService {
List<SugVo> sugVoList = getSugVos(teacherDto, request); List<SugVo> sugVoList = getSugVos(teacherDto, request);
//获取教师年级分配情况 //获取教师年级分配情况
Map<String, Object> Map = getTeacherGradeCount(teacherDto, request); Map<String, Object> Map = getTeacherGradeCount(teacherDto, request);
User loginUser = SecurityUtil.getLoginUser();
String loginId = loginUser.getId();
List<TeacherGradeVo> gradeList = new ArrayList<>(); List<TeacherGradeVo> gradeList = new ArrayList<>();
for (Map.Entry<String, Object> entry : Map.entrySet()) { for (Map.Entry<String, Object> entry : Map.entrySet()) {
if(entry.getKey().equals("teacher")) { if(entry.getKey().equals("teacher")) {
@ -831,7 +835,7 @@ public class TeacherServiceImpl implements TeacherService {
}else if(teacherDto.getGrade() != null) { }else if(teacherDto.getGrade() != null) {
//查询学校试卷 备注:若是后面影响速度,可以优化改代码 //查询学校试卷 备注:若是后面影响速度,可以优化改代码
int count = paperSchoolRepository.getPaperCount(String.format(paperCode, teacherDto.getCode()), teacherDto.getGrade()); int count = paperSchoolRepository.getPaperCount(String.format(paperCode, teacherDto.getCode()), loginId,teacherDto.getGrade(),"school",teacherDto.getPeriodId());
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()) {
@ -879,7 +883,7 @@ public class TeacherServiceImpl implements TeacherService {
return mapTeach; return mapTeach;
}else { }else {
//查询学校试卷 备注:若是后面影响速度,可以优化改代码 //查询学校试卷 备注:若是后面影响速度,可以优化改代码
int count = paperSchoolRepository.getPaperCount(String.format(paperCode, teacherDto.getCode()),null); int count = paperSchoolRepository.getPaperCount(String.format(paperCode, teacherDto.getCode()),loginId,null,"school",teacherDto.getPeriodId());
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) {

@ -9,6 +9,9 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface PaperSchoolRepository extends CosmosRepository<PaperSchool, String> { public interface PaperSchoolRepository extends CosmosRepository<PaperSchool, String> {
@Query("select value count(1) from c where c.pk='Paper' and c.code= @code " + @Query("select value count(1) from c where c.pk='Paper' and c.code= @code " +
"and (IS_NULL(@grade) OR ARRAY_CONTAINS(c.gradeIds, @grade))") "and ((IS_DEFINED(c.secret) = false or c.secret=0 ) or (c.secret=1 and c.creatorId=@id )) " +
int getPaperCount(String code, String grade); "and (IS_NULL(@grade) OR ARRAY_CONTAINS(c.gradeIds, @grade)) " +
"and c.scope = @scope " +
"and c.periodId = @periodId " )
int getPaperCount(String code, String id,String grade,String scope,String periodId);
} }

Loading…
Cancel
Save