Ver Fonte

试读报到移动端班级统计

dzx há 8 meses atrás
pai
commit
ee9f1830e2

+ 21 - 14
src/main/java/com/xjrsoft/module/student/controller/StudentTryReadingReportController.java

@@ -20,9 +20,12 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.banding.dto.BandingTaskClassPageDto;
+import com.xjrsoft.module.banding.entity.BandingTask;
 import com.xjrsoft.module.banding.service.IBandingTaskClassService;
 import com.xjrsoft.module.banding.service.IBandingTaskClassStudentService;
+import com.xjrsoft.module.banding.service.IBandingTaskService;
 import com.xjrsoft.module.banding.vo.BandingTaskClassPageVo;
+import com.xjrsoft.module.banding.vo.BandingTaskClassReportStatisticsVo;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.service.IBaseGradeService;
 import com.xjrsoft.module.base.service.IBaseSemesterService;
@@ -80,6 +83,7 @@ public class StudentTryReadingReportController {
     private final IBaseSemesterService semesterService;
     private final IBaseGradeService gradeService;
     private final IEnrollmentPlanService enrollmentPlanService;
+    private final IBandingTaskService bandingTaskService;
 
 
     @GetMapping(value = "/page")
@@ -91,6 +95,21 @@ public class StudentTryReadingReportController {
         if(roleList.contains("CLASSTE") && roleList.contains("TEACHER")){
             dto.setTeacherId(StpUtil.getLoginIdAsLong());
         }
+        if(dto.getIsMoible() != null && dto.getIsMoible() == 1){
+            StudentReportPlan plan = reportPlanService.getLastTryReadingPlan();
+            BandingTask bandingTask = bandingTaskService.getById(plan.getBandingTaskId());
+            List<EnrollmentPlan> enrollmentPlans = enrollmentPlanService.list(
+                    new QueryWrapper<EnrollmentPlan>().lambda()
+                            .eq(EnrollmentPlan::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .eq(EnrollmentPlan::getEnabledMark, EnabledMark.ENABLED.getCode())
+                            .eq(EnrollmentPlan::getEnrollType, bandingTask.getEnrollType())
+                            .eq(EnrollmentPlan::getGradeId, bandingTask.getGradeId())
+                            .orderByDesc(EnrollmentPlan::getId)
+            );
+            if(!enrollmentPlans.isEmpty()){
+                dto.setEnrollmentPlanId(enrollmentPlans.get(0).getId());
+            }
+        }
         Page<StudentReportRecordPlanPageVo> page = recordService.getTryReadingPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
         PageOutput<StudentReportRecordPlanPageVo> pageOutput = ConventPage.getPageOutput(page, StudentReportRecordPlanPageVo.class);
         return RT.ok(pageOutput);
@@ -207,20 +226,8 @@ public class StudentTryReadingReportController {
     @ApiOperation(value="班级数据统计")
     @SaCheckPermission("studentreportrecord:detail")
     @XjrLog(value = "导出")
-    public RT<List<BandingTaskClassPageVo>> classStatistics(@Valid Long teacherId){
-        BandingTaskClassPageDto dto = new BandingTaskClassPageDto();
-        if(teacherId != null){
-            dto.setTeacherId(teacherId);
-        }else{
-            dto.setTeacherId(StpUtil.getLoginIdAsLong());
-        }
-        StudentReportPlan plan = reportPlanService.getLastTryReadingPlan();
-        if(plan == null){
-            return RT.ok(new ArrayList<>());
-        }
-        dto.setBandingTaskId(plan.getBandingTaskId());
-        List<BandingTaskClassPageVo> list = bandingTaskClassService.getList(dto);
-        return RT.ok(list);
+    public RT<BandingTaskClassReportStatisticsVo> classStatistics(@Valid Long classId){
+        return RT.ok(bandingTaskClassService.getTryReadingReportClassStatistics(classId));
     }
 
     @GetMapping(value = "/statistics")

+ 3 - 0
src/main/java/com/xjrsoft/module/student/dto/StudentReportRecordPageDto.java

@@ -68,4 +68,7 @@ public class StudentReportRecordPageDto extends PageInput {
     @ApiModelProperty("招生计划id(enrollment_plan)")
     private Long enrollmentPlanId;
 
+    @ApiModelProperty("是否移动端(1:是 0:否)")
+    private Integer isMoible;
+
 }