Browse Source

学校端老师考勤、课时列表

zouxuan 2 years ago
parent
commit
69db6bdecf
16 changed files with 538 additions and 1 deletions
  1. 44 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/ClassesForDayDto.java
  2. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/CourseStudentDto.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/DailySummaryOfClassesForTheCurrentSemesterDto.java
  4. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/SummaryOfCurrentSemesterCoursesDto.java
  5. 44 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceDto.java
  6. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceListDto.java
  7. 29 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceSumDto.java
  8. 17 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/page/TeacherAttendanceQueryDto.java
  9. 55 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/school/page/TeacherAttendanceQueryInfo.java
  10. 39 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  11. 32 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherAttendanceService.java
  12. 31 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  13. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  14. 27 1
      mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java
  15. 68 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolCourseScheduleController.java
  16. 67 0
      mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolTeacherAttendanceController.java

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/ClassesForDayDto.java

@@ -0,0 +1,44 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ClassesForDayDto {
+    @ApiModelProperty(value = "课程编号",required = false)
+    private Long courseId;
+
+    @ApiModelProperty(value = "课程名称",required = false)
+    private String courseName;
+
+    @ApiModelProperty(value = "课程状态",required = false)
+    private CourseStatusEnum courseStatus;
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String classDate;
+
+    @ApiModelProperty(value = "老师头像",required = false)
+    private String teacherAvatar;
+
+    @ApiModelProperty(value = "老师名称",required = false)
+    private String teacherName;
+
+    @ApiModelProperty(value = "乐团名称",required = false)
+    private String musicGroupName;
+
+    @ApiModelProperty(value = "学员数量",required = false)
+    private Integer studentNum;
+
+    @ApiModelProperty(value = "正常出勤",required = false)
+    private Integer attendanceNormalNum;
+
+    @ApiModelProperty(value = "迟到人数",required = false)
+    private Integer attendanceLateNum;
+
+    @ApiModelProperty(value = "请假人数",required = false)
+    private Integer attendanceLeaveNum;
+
+    @ApiModelProperty(value = "旷课人数",required = false)
+    private Integer attendanceTruantNum;
+}

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/CourseStudentDto.java

@@ -0,0 +1,23 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CourseStudentDto {
+    @ApiModelProperty(value = "学员头像",required = false)
+    private String studentAvatar;
+
+    @ApiModelProperty(value = "是否会员",required = false)
+    private Boolean memberFlag;
+
+    @ApiModelProperty(value = "学员姓名",required = false)
+    private String studentName;
+
+    @ApiModelProperty(value = "考勤状态",required = false)
+    private StudentAttendanceStatusEnum attendanceStatus;
+
+    @ApiModelProperty(value = "课后评价是否达标",required = false)
+    private Boolean qualifiedFlag;
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/DailySummaryOfClassesForTheCurrentSemesterDto.java

@@ -0,0 +1,11 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DailySummaryOfClassesForTheCurrentSemesterDto extends SummaryOfCurrentSemesterCoursesDto{
+
+    @ApiModelProperty(value = "上课时间",required = false)
+    private String courseDate;
+}

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/SummaryOfCurrentSemesterCoursesDto.java

@@ -0,0 +1,18 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SummaryOfCurrentSemesterCoursesDto {
+
+    @ApiModelProperty(value = "剩余课时数",required = false)
+    private Integer subCourseNum;
+
+    @ApiModelProperty(value = "总课时数",required = false)
+    private Integer totalCourseNum;
+
+    @ApiModelProperty(value = "课程类型",required = false)
+    private CourseSchedule.CourseScheduleType scheduleType;
+}

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceDto.java

@@ -0,0 +1,44 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class TeacherAttendanceDto {
+    @ApiModelProperty(value = "签到状态:0异常,1正常")
+    private YesOrNoEnum signInStatus;
+
+    @ApiModelProperty(value = "签到时间")
+    private Date signInTime;
+
+    @ApiModelProperty(value = "签退状态:0异常,1正常")
+    private YesOrNoEnum signOutStatus;
+
+    @ApiModelProperty(value = "签退时间")
+    private Date signOutTime;
+
+    @ApiModelProperty(value = "教学点签到状态")
+    private YesOrNoEnum signInAddressStatus;
+
+    @ApiModelProperty(value = "教学点签退状态")
+    private YesOrNoEnum signOutAddressStatus;
+
+    @ApiModelProperty(value = "签到经纬度")
+    private String signInLongitudeLatitude;
+
+    @ApiModelProperty(value = "签退经纬度")
+    private String signOutLongitudeLatitude;
+
+    @ApiModelProperty(value = "教学模式")
+    private TeachModeEnum teachModeEnum;
+
+    @ApiModelProperty(value = "教学点签退经纬度")
+    private String schoolOutLongitudeLatitude;
+
+    @ApiModelProperty(value = "教学点签到经纬度")
+    private String schoolInLongitudeLatitude;
+}

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceListDto.java

@@ -0,0 +1,15 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TeacherAttendanceListDto extends TeacherAttendanceDto{
+
+    @ApiModelProperty(value = "课程类型")
+    private CourseSchedule.CourseScheduleType courseScheduleType;
+
+    @ApiModelProperty(value = "上课时间")
+    private String classDate;
+}

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/dto/TeacherAttendanceSumDto.java

@@ -0,0 +1,29 @@
+package com.ym.mec.biz.dal.school.dto;
+
+import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TeacherAttendanceSumDto {
+    @ApiModelProperty(value = "老师姓名")
+    private String teacherName;
+
+    @ApiModelProperty(value = "老师头像")
+    private String teacherAvatar;
+
+    @ApiModelProperty(value = "班级名称")
+    private String classGroupName;
+
+    @ApiModelProperty(value = "班级编号")
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "老师编号")
+    private Integer teacherId;
+
+    @ApiModelProperty(value = "本周课程考勤状态")
+    private TeacherAttendanceQueryInfo.TeacherAttendanceEnum teacherAttendanceStatus;
+
+    @ApiModelProperty(value = "本学期异常考勤课程数")
+    private Integer errCourseNum;
+}

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/page/TeacherAttendanceQueryDto.java

@@ -0,0 +1,17 @@
+package com.ym.mec.biz.dal.school.page;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TeacherAttendanceQueryDto {
+
+    @ApiModelProperty(value = "学校编号",required = true)
+    private Integer schoolId;
+
+    @ApiModelProperty(value = "班级编号",required = true)
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "老师编号",required = true)
+    private Integer teacherId;
+}

+ 55 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/school/page/TeacherAttendanceQueryInfo.java

@@ -0,0 +1,55 @@
+package com.ym.mec.biz.dal.school.page;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.ym.mec.common.enums.BaseEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TeacherAttendanceQueryInfo{
+    public enum TeacherAttendanceEnum implements BaseEnum<String,TeacherAttendanceEnum> {
+        NORMAL("NORMAL", "正常"),
+        ERR("ERR", "异常"),
+        NO_COURSE("NO_COURSE", "无课"),
+        ;
+
+        @EnumValue
+        private String code;
+        private String msg;
+
+        TeacherAttendanceEnum(String code, String msg) {
+            this.code = code;
+            this.msg = msg;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+
+        @Override
+        public String getCode() {
+            return code;
+        }
+    }
+
+    @ApiModelProperty(value = "模糊查询",required = false)
+    private String search;
+
+    @ApiModelProperty(value = "学校编号",required = true)
+    private Integer schoolId;
+
+    @ApiModelProperty(value = "班级编号",required = false)
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "老师编号(不用传)",required = false)
+    private Integer teacherId;
+
+    @ApiModelProperty(value = "考勤状态",required = false)
+    private TeacherAttendanceEnum teacherAttendanceStatus;
+
+    @ApiModelProperty(value = "学期(不用传)",required = false)
+    private String startTerm;
+
+    @ApiModelProperty(value = "学期(不用传)",required = false)
+    private String endTerm;
+}

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -9,6 +9,9 @@ import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
+import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
+import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
@@ -690,4 +693,40 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	* @date 2022/9/23 13:57
 	*/
 	HttpResponseResult<List<CourseSchedule>> createCourse(ClassGroupDto groupDto);
+
+	/**
+	* @description: 获取学校端当前学期课程数量汇总
+	 * @param schoolId
+	* @return java.util.List<com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto>
+	* @author zx
+	* @date 2023/5/4 10:15
+	*/
+    List<SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer schoolId);
+
+	/**
+	* @description: 获取当前学期每天课程汇总
+	 * @param schoolId
+	* @return java.util.List<com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto>
+	* @author zx
+	* @date 2023/5/4 10:31
+	*/
+	List<DailySummaryOfClassesForTheCurrentSemesterDto> getDailySummaryOfClassesForTheCurrentSemester(Integer schoolId);
+
+	/**
+	* @description: 获取当天课程列表
+	 * @param schoolId
+	* @return java.util.List<com.ym.mec.biz.dal.school.dto.ClassesForDayDto>
+	* @author zx
+	* @date 2023/5/4 10:50
+	*/
+	List<ClassesForDayDto> getListClassesForDay(Integer schoolId,String classDate);
+
+	/**
+	* @description: 获取课程详情
+	 * @param courseId
+	* @return com.ym.mec.biz.dal.school.dto.ClassesForDayDto
+	* @author zx
+	* @date 2023/5/4 11:06
+	*/
+	ClassesForDayDto getCourseDetail(Long courseId);
 }

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherAttendanceService.java

@@ -10,6 +10,10 @@ import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.enums.UpdateAttendanceEnum;
 import com.ym.mec.biz.dal.page.TeacherAttendanceComplaintsQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto;
+import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
@@ -160,4 +164,32 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 	void updateDeviceNum(Integer courseId, String userId,String signInDeviceNum, String signOutDeviceNum);
 
 	void addTeacherAttendance(List<CourseSchedule> courseScheduleList);
+
+	/**
+	* @description: 学校端获取本学期课程关联的老师列表,以及老师考勤状况汇总
+	 * @param queryInfo
+	* @return com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto
+	* @author zx
+	* @date 2023/5/4 14:39
+	*/
+	List<TeacherAttendanceSumDto> queryTeacherAttendance(TeacherAttendanceQueryInfo queryInfo);
+
+	/**
+	* @description: 获取本学期当前班级老师所有课程考勤
+	 * @param classGroupId
+	 * @param teacherId
+	* @return java.util.List<com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto>
+	* @author zx
+	* @date 2023/5/5 09:54
+	*/
+	List<TeacherAttendanceListDto> getClassTeacherAttendance(Integer classGroupId, Integer teacherId);
+
+	/**
+	* @description: 获取课程老师考勤
+	 * @param courseId
+	* @return com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto
+	* @author zx
+	* @date 2023/5/5 09:55
+	*/
+	TeacherAttendanceDto getCourseTeacherAttendance(Long courseId);
 }

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -10,6 +10,9 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
+import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
+import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
 import com.ym.mec.biz.event.source.CourseEventSource;
 import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
@@ -5991,4 +5994,32 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		groupDto.getCourseScheduleStudentPayments().addAll(courseScheduleStudentPaymentService.init(courseScheduleList,studentIds));
 		return BaseController.succeed(courseScheduleList);
 	}
+
+    @Override
+    public List<SummaryOfCurrentSemesterCoursesDto> getSummaryOfCurrentSemesterCourses(Integer schoolId) {
+		//获取当前学期
+		Date date = new Date();
+		String startTerm = DateUtil.getStartTerm(date);
+		String endTerm = DateUtil.getEndTerm(date);
+        return null;
+    }
+
+	@Override
+	public List<DailySummaryOfClassesForTheCurrentSemesterDto> getDailySummaryOfClassesForTheCurrentSemester(Integer schoolId) {
+		//获取当前学期
+		Date date = new Date();
+		String startTerm = DateUtil.getStartTerm(date);
+		String endTerm = DateUtil.getEndTerm(date);
+		return null;
+	}
+
+	@Override
+	public List<ClassesForDayDto> getListClassesForDay(Integer schoolId,String classDate) {
+		return null;
+	}
+
+	@Override
+	public ClassesForDayDto getCourseDetail(Long courseId) {
+		return null;
+	}
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -10,6 +10,9 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.TeacherAttendanceComplaintsQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto;
+import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryInfo;
 import com.ym.mec.biz.event.source.SendMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
@@ -1096,4 +1099,19 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}
 		teacherAttendanceDao.batchInsert(teacherAttendanceList);
 	}
+
+    @Override
+    public List<TeacherAttendanceSumDto> queryTeacherAttendance(TeacherAttendanceQueryInfo queryInfo) {
+        return null;
+    }
+
+	@Override
+	public List<TeacherAttendanceListDto> getClassTeacherAttendance(Integer classGroupId, Integer teacherId) {
+		return null;
+	}
+
+	@Override
+	public com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto getCourseTeacherAttendance(Long courseId) {
+		return null;
+	}
 }

+ 27 - 1
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -2,7 +2,6 @@ package com.ym.mec.util.date;
 
 import org.apache.commons.lang3.StringUtils;
 
-import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.DayOfWeek;
@@ -1244,6 +1243,33 @@ public class DateUtil {
 
     }
 
+    public static String getStartTerm(Date date) {
+		//一个学期默认为6个月,9月1日—2月28、29日,3月1日—8月31日
+		Integer month = Integer.parseInt(DateUtil.getMonth(date));
+		String year = DateUtil.getYear(date);
+		if(month >= 9 || month <= 2){
+			if(month >= 9){
+				return year + "-09-01 00:00:00";
+			}else {
+				String year1 = DateUtil.getYear(DateUtil.addYears(date, -1));
+				return year1 + "-09-01 00:00:00";
+			}
+		}else {
+			return year + "-03-01 00:00:00";
+		}
+    }
+
+    public static String getEndTerm(Date date) {
+		//一个学期默认为6个月,9月1日—2月28、29日,3月1日—8月31日
+		Integer month = Integer.parseInt(DateUtil.getMonth(date));
+		String year = DateUtil.getYear(date);
+		if(month >= 9 || month <= 2){
+			return year + "-02-01 00:00:00";
+		}else {
+			return year + "-08-31 00:00:00";
+		}
+    }
+
     /**
 	 * @describe 时间区段辅助类
 	 * @author Joburgess

+ 68 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolCourseScheduleController.java

@@ -0,0 +1,68 @@
+package com.ym.mec.web.controller.school;
+
+import com.ym.mec.biz.dal.school.dto.ClassesForDayDto;
+import com.ym.mec.biz.dal.school.dto.DailySummaryOfClassesForTheCurrentSemesterDto;
+import com.ym.mec.biz.dal.school.dto.SummaryOfCurrentSemesterCoursesDto;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("schoolCourseSchedule")
+@Api(tags = "学校端课程计划服务")
+public class SchoolCourseScheduleController extends BaseController {
+
+    @Autowired
+    private CourseScheduleService courseScheduleService;
+
+    @ApiOperation(value = "课时顶部统计接口---获取当前学期课程汇总")
+    @GetMapping("/getSummaryOfCurrentSemesterCourses")
+    public HttpResponseResult<List<SummaryOfCurrentSemesterCoursesDto>> getSummaryOfCurrentSemesterCourses(Integer schoolId) {
+        return succeed(courseScheduleService.getSummaryOfCurrentSemesterCourses(schoolId));
+    }
+
+    @ApiOperation(value = "课时每周分组数据接口----获取当前学期每天课程汇总")
+    @GetMapping("/getDailySummaryOfClassesForTheCurrentSemester")
+    public HttpResponseResult<List<DailySummaryOfClassesForTheCurrentSemesterDto>> getDailySummaryOfClassesForTheCurrentSemester(Integer schoolId) {
+        return succeed(courseScheduleService.getDailySummaryOfClassesForTheCurrentSemester(schoolId));
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "classDate", dataType = "String", required = true, value = "上课时间(年月日)"),
+            @ApiImplicitParam(name = "schoolId", dataType = "Integer", required = true, value = "学校"),
+    })
+    @ApiOperation(value = "课时每天课程数据详情----获取当天课程列表")
+    @GetMapping("/queryListClassesForDay")
+    public HttpResponseResult<List<ClassesForDayDto>> queryListClassesForDay(Integer schoolId,String classDate) {
+        return succeed(courseScheduleService.getListClassesForDay(schoolId,classDate));
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "courseId", dataType = "Long", required = true, value = "课程编号"),
+    })
+    @ApiOperation(value = "课时获取单个的课程数据详情----获取课程详情")
+    @GetMapping("/getCourseDetail")
+    public HttpResponseResult<ClassesForDayDto> getCourseDetail(Long courseId) {
+        return succeed(courseScheduleService.getCourseDetail(courseId));
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "courseId", dataType = "Long", required = true, value = "课程编号"),
+    })
+    @ApiOperation(value = "课时获取单节课学员名单--获取课程学员列表")
+    @GetMapping("/queryCourseStudentList")
+    public HttpResponseResult<ClassesForDayDto> queryCourseStudentList(Long courseId) {
+        return succeed(courseScheduleService.getCourseDetail(courseId));
+    }
+
+}

+ 67 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolTeacherAttendanceController.java

@@ -0,0 +1,67 @@
+package com.ym.mec.web.controller.school;
+
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceDto;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceListDto;
+import com.ym.mec.biz.dal.school.dto.TeacherAttendanceSumDto;
+import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryDto;
+import com.ym.mec.biz.dal.school.page.TeacherAttendanceQueryInfo;
+import com.ym.mec.biz.service.TeacherAttendanceService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.*;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Collection;
+import java.util.List;
+
+@RequestMapping("schoolTeacherAttendance")
+@Api(tags = "学校端教师考勤服务")
+@RestController
+public class SchoolTeacherAttendanceController extends BaseController {
+
+    @Autowired
+    private TeacherAttendanceService teacherAttendanceService;
+
+    @ApiOperation(value = "首页教师考勤列表查询----获取本学期课程关联的老师列表,以及老师考勤状况汇总")
+    @PostMapping("/queryTeacherAttendance")
+    public HttpResponseResult<List<TeacherAttendanceSumDto>> queryTeacherAttendance(TeacherAttendanceQueryInfo queryInfo){
+        return succeed(teacherAttendanceService.queryTeacherAttendance(queryInfo));
+    }
+
+    @ApiOperation(value = "获取单个老师本学期考勤汇总")
+    @PostMapping("/getTeacherAttendance")
+    public HttpResponseResult<TeacherAttendanceSumDto> getTeacherAttendance(TeacherAttendanceQueryDto queryDto){
+        TeacherAttendanceQueryInfo queryInfo = new TeacherAttendanceQueryInfo();
+        queryInfo.setSchoolId(queryDto.getSchoolId());
+        queryInfo.setTeacherId(queryDto.getTeacherId());
+        queryInfo.setClassGroupId(queryDto.getClassGroupId());
+        List<TeacherAttendanceSumDto> sumDtos = teacherAttendanceService.queryTeacherAttendance(queryInfo);
+        return succeed(CollectionUtils.isEmpty(sumDtos)?new TeacherAttendanceSumDto():sumDtos.get(0));
+    }
+
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "courseId", dataType = "Long", required = true, value = "课程编号"),
+    })
+    @ApiOperation(value = "课时获取单节课老师考勤详情----获取课程老师考勤")
+    @GetMapping("/getCourseTeacherAttendance")
+    public HttpResponseResult<TeacherAttendanceDto> getCourseTeacherAttendance(Long courseId) {
+        return succeed(teacherAttendanceService.getCourseTeacherAttendance(courseId));
+    }
+
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "classGroupId", dataType = "Integer", required = true, value = "班级编号"),
+            @ApiImplicitParam(name = "teacherId", dataType = "Integer", required = true, value = "老师编号"),
+    })
+    @ApiOperation(value = "获取单个老师所在班级考勤列表----获取本学期当前班级老师所有课程考勤")
+    @GetMapping("/getClassTeacherAttendance")
+    public HttpResponseResult<List<TeacherAttendanceListDto>> getClassTeacherAttendance(Integer classGroupId, Integer teacherId) {
+        return succeed(teacherAttendanceService.getClassTeacherAttendance(classGroupId,teacherId));
+    }
+}