Sfoglia il codice sorgente

试读报到移动端班级统计

dzx 8 mesi fa
parent
commit
8e707df6df

+ 27 - 11
src/main/java/com/xjrsoft/module/student/controller/StudentTryReadingReportController.java

@@ -206,19 +206,35 @@ public class StudentTryReadingReportController {
     @ApiOperation(value="查询班级信息")
     @SaCheckPermission("studentreportrecord:detail")
     @XjrLog(value = "导出")
-    public RT<List<BandingTaskClassPageVo>> classList(@Valid Long teacherId){
-        BandingTaskClassPageDto dto = new BandingTaskClassPageDto();
-        if(teacherId != null){
-            dto.setTeacherId(teacherId);
+    public RT<List<BandingTaskClassPageVo>> classList(@Valid StudentReportRecordPageDto dto){
+        BandingTaskClassPageDto classDto = new BandingTaskClassPageDto();
+        if(dto.getEnrollmentPlanId() == null){
+            if(dto.getTeacherId() != null){
+                classDto.setTeacherId(dto.getTeacherId());
+            }else{
+                classDto.setTeacherId(StpUtil.getLoginIdAsLong());
+            }
+            StudentReportPlan plan = reportPlanService.getLastTryReadingPlan();
+            if(plan == null){
+                return RT.ok(new ArrayList<>());
+            }
+            classDto.setBandingTaskId(plan.getBandingTaskId());
         }else{
-            dto.setTeacherId(StpUtil.getLoginIdAsLong());
-        }
-        StudentReportPlan plan = reportPlanService.getLastTryReadingPlan();
-        if(plan == null){
-            return RT.ok(new ArrayList<>());
+            EnrollmentPlan enrollmentPlan = enrollmentPlanService.getById(dto.getEnrollmentPlanId());
+            List<BandingTask> list = bandingTaskService.list(
+                    new QueryWrapper<BandingTask>().lambda()
+                            .eq(BandingTask::getEnrollType, enrollmentPlan.getEnrollType())
+                            .eq(BandingTask::getGradeId, enrollmentPlan.getGradeId())
+                            .eq(BandingTask::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .eq(BandingTask::getEnabledMark, EnabledMark.ENABLED.getCode())
+                            .orderByDesc(BandingTask::getId)
+            );
+            if(!list.isEmpty()){
+                classDto.setBandingTaskId(list.get(0).getId());
+            }
         }
-        dto.setBandingTaskId(plan.getBandingTaskId());
-        List<BandingTaskClassPageVo> list = bandingTaskClassService.getList(dto);
+
+        List<BandingTaskClassPageVo> list = bandingTaskClassService.getList(classDto);
         return RT.ok(list);
     }