Selaa lähdekoodia

学校端支持查看学员练习情况

zouxuan 1 vuosi sitten
vanhempi
commit
7ce307c7b0

+ 10 - 0
mec-application/src/main/java/com/ym/mec/web/controller/school/SchoolStudentHomeworkController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller.school;
 
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.enums.ELessonTrainingType;
 import com.ym.mec.biz.dal.page.LessonExaminationQueryInfo;
@@ -40,6 +41,8 @@ public class SchoolStudentHomeworkController extends BaseController {
     @Resource
     private LessonExaminationService lessonExaminationService;
     @Resource
+    private StudentAttendanceService studentAttendanceService;
+    @Resource
     private MusicGroupDao musicGroupDao;
     @ApiOperation(value = "获取教师有服务指标的课程列表")
     @PostMapping("/queryHomework")
@@ -80,6 +83,13 @@ public class SchoolStudentHomeworkController extends BaseController {
         return succeed(lessonExaminationService.queryPage(queryInfo));
     }
 
+    @ApiOperation(value = "学员请假列表")
+    @PostMapping("queryStudentLeave")
+    public HttpResponseResult<PageInfo<CourseHomeworkWrapper.StudentLeaveResult>>
+    queryStudentLeave(@RequestBody CourseHomeworkWrapper.StudentLeaveQuery queryInfo, @RequestHeader Integer coopId) {
+        return succeed(studentAttendanceService.queryStudentLeave(queryInfo));
+    }
+
     @ApiOperation(value = "获取课后评测学员列表")
     @PostMapping("queryLessonStudent")
     public HttpResponseResult<PageInfo<StudentLessonExaminationDto>> queryLessonStudent(@RequestBody StudentLessonExaminationQueryInfo queryInfo) {

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentAttendanceDao.java

@@ -397,4 +397,8 @@ public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
     Integer getTruantStudentNum(Long courseScheduleId);
 
     Integer getStudentNumByStatus(@Param("courseScheduleId") Long courseScheduleId, @Param("status") StudentAttendanceStatusEnum studentAttendanceStatusEnum);
+
+    int queryStudentLeave(@Param("params") Map<String, Object> params);
+
+    List<CourseHomeworkWrapper.StudentLeaveResult> countStudentLeave(@Param("params") Map<String, Object> params);
 }

+ 46 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkWrapper.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.enums.EHomeWorkStatus;
 import com.ym.mec.biz.dal.enums.ELessonTrainingType;
@@ -64,6 +65,51 @@ public class CourseHomeworkWrapper {
         private ELessonTrainingType type;
     }
 
+    @Data
+    @ApiModel(value = "学校端学员请假列表")
+    public static class StudentLeaveQuery extends QueryInfo {
+
+        @ApiModelProperty(value = "课程id")
+        private Integer courseScheduleId;
+
+        @ApiModelProperty(value = "班级id")
+        private Integer classGroupId;
+
+        @ApiModelProperty(value = "开始时间",required = true)
+        private Date startTime;
+
+        @ApiModelProperty(value = "结束时间",required = true)
+        private Date endTime;
+
+        @ApiModelProperty(value = "乐团id")
+        private String musicGroupId;
+    }
+
+    @Data
+    @ApiModel(value = "学校端学员请假列表")
+    public static class StudentLeaveResult {
+        @ApiModelProperty(value = "上课时间")
+        private String classDate;
+
+        @ApiModelProperty(value = "上课开始时间")
+        private String startClassTime;
+
+        @ApiModelProperty(value = "上课结束时间")
+        private String endClassTime;
+
+        @ApiModelProperty(value = "班级名称")
+        private String classGroupName;
+
+        @ApiModelProperty(value = "课程类型")
+        private CourseSchedule.CourseScheduleType courseScheduleType;
+
+        @ApiModelProperty(value = "请假原因")
+        private String remark;
+
+        @ApiModelProperty(value = "学生姓名")
+        private String username;
+    }
+
 
 
     @Data

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/StudentAttendanceService.java

@@ -1,10 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
-import com.ym.mec.biz.dal.dto.CourseScheduleResponse;
-import com.ym.mec.biz.dal.dto.ExportStudentAttendanceDto;
-import com.ym.mec.biz.dal.dto.StudentAttendanceDto;
-import com.ym.mec.biz.dal.dto.StudentPersonalAttendanceDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.enums.SignStatusEnum;
 import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
@@ -119,4 +116,7 @@ public interface StudentAttendanceService extends BaseService<Long, StudentAtten
 	 * @return
 	 */
 	PageInfo<ExportStudentAttendanceDto> exportStudentAttendancesQueryPage(ExportStudentAttendanceQueryInfo queryInfo);
+
+	//学校端学员请假列表
+    PageInfo<CourseHomeworkWrapper.StudentLeaveResult> queryStudentLeave(CourseHomeworkWrapper.StudentLeaveQuery queryInfo);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -814,4 +814,24 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public PageInfo<CourseHomeworkWrapper.StudentLeaveResult> queryStudentLeave(CourseHomeworkWrapper.StudentLeaveQuery queryInfo) {
+        PageInfo<CourseHomeworkWrapper.StudentLeaveResult> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<CourseHomeworkWrapper.StudentLeaveResult> dataList = null;
+        int count = studentAttendanceDao.queryStudentLeave(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentAttendanceDao.countStudentLeave(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -766,4 +766,14 @@
             <if test="status.name == 'TRUANT'"> or sa.id_ is null </if>
         )
     </select>
+    <select id="countStudentLeave"
+            resultType="com.ym.mec.biz.dal.dto.CourseHomeworkWrapper$StudentLeaveResult">
+        select cs.class_date_ classDate,cs.start_class_time_ startClassTime,cs.end_class_time_ endClassTime,cg.name_ classGroupName,cs.type_ courseScheduleType,sa.remark_ remark,su.username_ username from student_attendance sa
+        left join course_schedule cs ON cs.id_ = sa.course_schedule_id_
+        left join class_group cg ON cg.id_ = cs.class_group_id_
+        left join sys_user su ON su.id_ = sa.user_id_
+        where sa.status_ = 'LEAVE'
+          AND sa.class_group_id_ = 1 AND sa.course_schedule_id_ = 1 AND cs.class_date_ = ''
+          AND (sa.user_id_ = 1 OR su.phone_ LIKE CONCAT('%',,'%') OR su.username_ LIKE CONCAT('%',,'%'))
+    </select>
 </mapper>