Parcourir la source

学生库选择优化

wangliang il y a 2 ans
Parent
commit
0556099f9f

+ 12 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -24,7 +24,6 @@ import com.qmth.distributed.print.business.enums.*;
 import com.qmth.distributed.print.business.mapper.ExamTaskMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.execute.AsyncPaperReviewPdfExportService;
-import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.business.util.CreatePdfUtil;
 import com.qmth.distributed.print.business.util.HtmlToPdfUtil;
 import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
@@ -35,7 +34,6 @@ import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
 import com.qmth.teachcloud.common.bean.params.BasicStudentExtrasParam;
 import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
 import com.qmth.teachcloud.common.bean.result.SysUserResult;
-import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.*;
 import com.qmth.teachcloud.common.enums.*;
@@ -2076,16 +2074,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                 break;
             case BASIC_CLAZZ_STUDENT:
                 // 基础班级对象
-                List<BasicClazz> basicClazzList = basicClazzService.list(new QueryWrapper<BasicClazz>()
-                        .lambda()
-                        .eq(BasicClazz::getSchoolId, schoolId)
-                        .eq(BasicClazz::getEnable, true)
-                        .orderByAsc(BasicClazz::getClazzName));
-
-                for (BasicClazz basicClazz : basicClazzList) {
-                    Long basicClazzId = basicClazz.getId();
-                    List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, null, null, basicClazzId, null);
-                    List<StudentInfo> studentInfoList = basicStudentResultList.stream().flatMap(e -> {
+                List<BasicStudentResult> basicStudentResultList = basicStudentService.basicStudentList(schoolId, null, null, null, null);
+                LinkedMultiValueMap<Long, StudentInfo> studentInfoLinkedMultiValueMap = new LinkedMultiValueMap<>();
+                if (!CollectionUtils.isEmpty(basicStudentResultList)) {
+                    for (BasicStudentResult e : basicStudentResultList) {
                         StudentInfo studentInfo = new StudentInfo();
                         studentInfo.setStudentId(e.getId());
                         studentInfo.setStudentCode(e.getStudentCode());
@@ -2094,15 +2086,17 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
                         studentInfo.setMajorName(e.getMajorName());
                         studentInfo.setBasicClazzId(e.getClazzId());
                         studentInfo.setBasicClazzName(e.getClazz());
-                        return Stream.of(studentInfo);
-                    }).collect(Collectors.toList());
+                        studentInfoLinkedMultiValueMap.add(e.getClazzId(), studentInfo);
+                    }
+                }
+                studentInfoLinkedMultiValueMap.forEach((k, v) -> {
                     ExamTaskStudentObjectResult examTaskStudentObjectResult = new ExamTaskStudentObjectResult();
-                    examTaskStudentObjectResult.setClazzId(basicClazzId);
-                    examTaskStudentObjectResult.setClazzName(basicClazz.getClazzName());
-                    examTaskStudentObjectResult.setStudentInfoList(studentInfoList);
+                    examTaskStudentObjectResult.setClazzId(k);
+                    examTaskStudentObjectResult.setClazzName(v.get(0).getBasicClazzName());
+                    examTaskStudentObjectResult.setStudentInfoList(v);
                     examTaskStudentObjectResult.setStudentClazzType(examObjectType.getStudentClazzType());
                     result.add(examTaskStudentObjectResult);
-                }
+                });
                 break;
             default:
                 break;