Просмотр исходного кода

Merge branch 'master' of https://gitee.com/zouxuan/mec

zouxuan 5 лет назад
Родитель
Сommit
f08fb3dcce
16 измененных файлов с 493 добавлено и 70 удалено
  1. 9 4
      mec-web/src/main/java/com/ym/mec/web/controller/StudentAttendanceController.java
  2. 6 5
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java
  3. 16 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentAttendanceDao.java
  4. 17 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherAttendanceDao.java
  5. 0 29
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentAttendancePageInfo.java
  6. 85 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentPersonalAttendanceDto.java
  7. 86 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/TeacherPersonalAttendanceDto.java
  8. 14 14
      mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseSchedule.java
  9. 40 6
      mec-web/src/main/java/com/ym/mec/web/dal/page/StudentAttendanceQueryInfo.java
  10. 46 0
      mec-web/src/main/java/com/ym/mec/web/dal/page/TeacherAttendanceQueryInfo.java
  11. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/StudentAttendanceService.java
  12. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/TeacherAttendanceService.java
  13. 24 7
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentAttendanceServiceImpl.java
  14. 27 5
      mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherAttendanceServiceImpl.java
  15. 53 0
      mec-web/src/main/resources/config/mybatis/StudentAttendanceMapper.xml
  16. 54 0
      mec-web/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

+ 9 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentAttendanceController.java

@@ -2,14 +2,12 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.StudentAttendance;
+import com.ym.mec.web.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.web.service.StudentAttendanceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -27,4 +25,11 @@ public class StudentAttendanceController extends BaseController {
         studentAttendanceService.addStudentAttendances(studentAttendances);
         return succeed();
     }
+
+    @ApiOperation(value = "获取学生个人签到信息")
+    @GetMapping("/queryStudentPersonalAttendances")
+    public Object queryStudentPersonalAttendances(@RequestBody StudentAttendanceQueryInfo queryInfo){
+        return succeed(studentAttendanceService.getStudentPersonalAttendances(queryInfo));
+    }
+
 }

+ 6 - 5
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

@@ -7,10 +7,7 @@ import com.ym.mec.web.service.TeacherAttendanceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 @RequestMapping("teacherAttendance")
 @Api(tags = "教师签到服务")
@@ -33,6 +30,10 @@ public class TeacherAttendanceController extends BaseController {
         return succeed(teacherAttendanceService.queryPage(queryInfo));
     }
 
-
+    @ApiOperation(value = "查询教师签到记录")
+    @GetMapping("/getTeacherPersonalAttendances")
+    public Object getTeacherPersonalAttendances(@RequestBody TeacherAttendanceQueryInfo queryInfo){
+        return teacherAttendanceService.getTeacherPersonalAttendances(queryInfo);
+    }
 
 }

+ 16 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentAttendanceDao.java

@@ -1,11 +1,13 @@
 package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.dto.StudentPersonalAttendanceDto;
 import com.ym.mec.web.dal.dto.StudentStatusCountUtilEntity;
 import com.ym.mec.web.dal.entity.StudentAttendance;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
 
@@ -29,4 +31,18 @@ public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
      * 获取学生签到所需信息
      */
     StudentAttendance getStudentAttendanceInfo(StudentAttendance studentAttendance);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/16
+     * 获取学生个人上课签到记录
+     */
+    List<StudentPersonalAttendanceDto> queryStudentPersonalAttendances(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/16
+     * 获取学生个人上课签到记录统计
+     */
+    int queryStudentPersonalAttendancesCount(Map<String,Object> params);
 }

+ 17 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherAttendanceDao.java

@@ -1,9 +1,26 @@
 package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.dto.TeacherPersonalAttendanceDto;
 import com.ym.mec.web.dal.entity.TeacherAttendance;
 
+import java.util.List;
+import java.util.Map;
+
 public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 
+    /**
+     * 获取教师个人的签到记录
+     * @param params
+     * @return
+     */
+    List<TeacherPersonalAttendanceDto> getTeacherPersonalAttendances(Map<String,Object> params);
+
+    /**
+     * 教师个人签到记录统计
+     * @param params
+     * @return
+     */
+    int getTeacherPersonalAttendancesCount(Map<String,Object> params);
 	
 }

+ 0 - 29
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentAttendancePageInfo.java

@@ -1,29 +0,0 @@
-package com.ym.mec.web.dal.dto;
-
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.web.dal.entity.StudentAttendance;
-
-import io.swagger.annotations.ApiModelProperty;
-
-/**
- * @Author Joburgess
- * @Date 2019/9/12
- */
-public class StudentAttendancePageInfo extends PageInfo<StudentAttendance> {
-
-    /**
-	 * 
-	 */
-	private static final long serialVersionUID = 2758558285813409262L;
-	
-	@ApiModelProperty(value = "请假人数",required = false)
-    private Integer numberOfLeavePeoples;
-
-    public Integer getNumberOfLeavePeoples() {
-        return numberOfLeavePeoples;
-    }
-
-    public void setNumberOfLeavePeoples(Integer numberOfLeavePeoples) {
-        this.numberOfLeavePeoples = numberOfLeavePeoples;
-    }
-}

+ 85 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentPersonalAttendanceDto.java

@@ -0,0 +1,85 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.StudentAttendanceStatusEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/16
+ */
+public class StudentPersonalAttendanceDto {
+
+    /** 上课日期 */
+    @ApiModelProperty(value = "上课日期",required = false)
+    private java.util.Date classDate;
+
+    /** 上课时间 */
+    @ApiModelProperty(value = "上课时间",required = false)
+    private java.util.Date startClassTime;
+
+    /** 班级类型(普通班级、合奏班级) */
+    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = false)
+    private ClassGroupTypeEnum type;
+
+    /** 班级名称 */
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String className;
+
+    @ApiModelProperty(value = "教师名称",required = false)
+    private String teacherName;
+
+    /** 状态(正常、旷课、请假) */
+    @ApiModelProperty(value = "状态(正常、旷课、请假、休学)",required = false)
+    private StudentAttendanceStatusEnum status;
+
+    public Date getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(Date classDate) {
+        this.classDate = classDate;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public ClassGroupTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(ClassGroupTypeEnum type) {
+        this.type = type;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public StudentAttendanceStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(StudentAttendanceStatusEnum status) {
+        this.status = status;
+    }
+}

+ 86 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/TeacherPersonalAttendanceDto.java

@@ -0,0 +1,86 @@
+package com.ym.mec.web.dal.dto;
+
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/16
+ */
+public class TeacherPersonalAttendanceDto {
+
+    /** 上课日期 */
+    @ApiModelProperty(value = "上课日期",required = false)
+    private java.util.Date classDate;
+
+    /** 上课时间 */
+    @ApiModelProperty(value = "上课时间",required = false)
+    private java.util.Date startClassTime;
+
+    /** 班级类型(普通班级、合奏班级) */
+    @ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = false)
+    private ClassGroupTypeEnum type;
+
+    /** 班级名称 */
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String name;
+
+    /** 状态(正常签到,异常签到) */
+    @ApiModelProperty(value = "状态(1正常签到,0异常签到,2正常签退) ",required = false)
+    private YesOrNoEnum status;
+
+    /** 备注 */
+    @ApiModelProperty(value = "备注",required = false)
+    private String remark;
+
+    public Date getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(Date classDate) {
+        this.classDate = classDate;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public ClassGroupTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(ClassGroupTypeEnum type) {
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public YesOrNoEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(YesOrNoEnum status) {
+        this.status = status;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+}

+ 14 - 14
mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseSchedule.java

@@ -38,11 +38,11 @@ public class CourseSchedule {
 	
 	/** 上课教师 */
 	@ApiModelProperty(value = "上课教师",required = false)
-	private Integer teacherId;
+	private Long teacherId;
 	
 	/** 实际上课教师 */
 	@ApiModelProperty(value = "实际上课教师",required = false)
-	private Integer actualTeacherId;
+	private Long actualTeacherId;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -105,23 +105,23 @@ public class CourseSchedule {
 	public java.util.Date getEndClassTime(){
 		return this.endClassTime;
 	}
-			
-	public void setTeacherId(Integer teacherId){
+
+	public Long getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(Long teacherId) {
 		this.teacherId = teacherId;
 	}
-	
-	public Integer getTeacherId(){
-		return this.teacherId;
+
+	public Long getActualTeacherId() {
+		return actualTeacherId;
 	}
-			
-	public void setActualTeacherId(Integer actualTeacherId){
+
+	public void setActualTeacherId(Long actualTeacherId) {
 		this.actualTeacherId = actualTeacherId;
 	}
-	
-	public Integer getActualTeacherId(){
-		return this.actualTeacherId;
-	}
-			
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 40 - 6
mec-web/src/main/java/com/ym/mec/web/dal/page/StudentAttendanceQueryInfo.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.StudentAttendanceStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -9,14 +10,47 @@ import io.swagger.annotations.ApiModelProperty;
  */
 public class StudentAttendanceQueryInfo extends QueryInfo {
 
-    @ApiModelProperty(value = "班级ID",required = false)
-    private Long classId;
+    @ApiModelProperty(value = "学生ID",required = false)
+    private Long studentID;
 
-    public Long getClassId() {
-        return classId;
+    @ApiModelProperty(value = "乐团ID")
+    private Long musicGroupId;
+
+    @ApiModelProperty(value = "班级ID")
+    private Long classGroupId;
+
+    @ApiModelProperty(value = "状态(正常、旷课、请假、休学)",required = false)
+    private StudentAttendanceStatusEnum status;
+
+    public Long getStudentID() {
+        return studentID;
+    }
+
+    public void setStudentID(Long studentID) {
+        this.studentID = studentID;
+    }
+
+    public Long getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Long musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Long getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Long classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public StudentAttendanceStatusEnum getStatus() {
+        return status;
     }
 
-    public void setClassId(Long classId) {
-        this.classId = classId;
+    public void setStatus(StudentAttendanceStatusEnum status) {
+        this.status = status;
     }
 }

+ 46 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/TeacherAttendanceQueryInfo.java

@@ -1,6 +1,52 @@
 package com.ym.mec.web.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
 
 public class TeacherAttendanceQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "教师ID")
+    private Long teacherId;
+
+    @ApiModelProperty(value = "乐团ID")
+    private Long musicGroupId;
+
+    @ApiModelProperty(value = "班级ID")
+    private Long classGroupId;
+
+    @ApiModelProperty(value = "签到状态")
+    private YesOrNoEnum attendanceStatus;
+
+    public Long getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Long teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public Long getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Long musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Long getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Long classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public YesOrNoEnum getAttendanceStatus() {
+        return attendanceStatus;
+    }
+
+    public void setAttendanceStatus(YesOrNoEnum attendanceStatus) {
+        this.attendanceStatus = attendanceStatus;
+    }
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/StudentAttendanceService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.service;
 
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.StudentAttendance;
@@ -22,4 +23,11 @@ public interface StudentAttendanceService extends BaseService<Long, StudentAtten
      * 获取当前课程的学生
      */
     Map<String, Object> getCurrentCourseStudents(QueryInfo queryInfo);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/16
+     * 获取学生个人签到信息
+     */
+    PageInfo getStudentPersonalAttendances(QueryInfo queryInfo);
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/TeacherAttendanceService.java

@@ -1,7 +1,9 @@
 package com.ym.mec.web.service;
 
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.TeacherAttendance;
+import com.ym.mec.web.dal.page.TeacherAttendanceQueryInfo;
 
 public interface TeacherAttendanceService extends BaseService<Long, TeacherAttendance> {
 
@@ -12,4 +14,10 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
      */
     void addTeacherAttendanceRecord(TeacherAttendance teacherAttendance);
 
+    /**
+     * 获取教师个人的签到记录
+     * @return
+     */
+    PageInfo getTeacherPersonalAttendances(TeacherAttendanceQueryInfo queryInfo);
+
 }

+ 24 - 7
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentAttendanceServiceImpl.java

@@ -1,16 +1,12 @@
 package com.ym.mec.web.service.impl;
 
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.web.dal.dao.StudentAttendanceDao;
-import com.ym.mec.web.dal.dto.StudentAttendancePageInfo;
+import com.ym.mec.web.dal.dto.StudentPersonalAttendanceDto;
 import com.ym.mec.web.dal.dto.StudentStatusCountUtilEntity;
 import com.ym.mec.web.dal.entity.StudentAttendance;
 import com.ym.mec.web.dal.enums.StudentAttendanceStatusEnum;
@@ -19,6 +15,7 @@ import com.ym.mec.web.service.StudentAttendanceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -51,7 +48,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 		result.put("pageInfo",pageInfo);
 
-		List<StudentStatusCountUtilEntity> stringIntegerMap = studentAttendanceDao.countStudentStatus(((StudentAttendanceQueryInfo) queryInfo).getClassId());
+		List<StudentStatusCountUtilEntity> stringIntegerMap = studentAttendanceDao.countStudentStatus(((StudentAttendanceQueryInfo) queryInfo).getClassGroupId());
 
 		stringIntegerMap.forEach(studentStatusCount->{
 			switch (studentStatusCount.getStudentStatus()){
@@ -64,4 +61,24 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 		return result;
 	}
+
+	@Override
+	public PageInfo getStudentPersonalAttendances(QueryInfo queryInfo) {
+		PageInfo<StudentPersonalAttendanceDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<StudentPersonalAttendanceDto> dataList = null;
+		int count = studentAttendanceDao.queryStudentPersonalAttendancesCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = studentAttendanceDao.queryStudentPersonalAttendances(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 }

+ 27 - 5
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherAttendanceServiceImpl.java

@@ -9,14 +9,14 @@ import com.ym.mec.web.dal.entity.CourseSchedule;
 import com.ym.mec.web.dal.entity.TeacherAttendance;
 import com.ym.mec.web.dal.enums.CourseStatusEnum;
 import com.ym.mec.web.dal.enums.ParamEnum;
-import com.ym.mec.web.dal.enums.SignStatusEnum;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import com.ym.mec.web.service.TeacherAttendanceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.*;
 
 @Service
 public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherAttendance>  implements TeacherAttendanceService {
@@ -37,7 +37,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		TeacherAttendanceDto currentCourseDetail = courseScheduleDao.getCurrentCourseDetail(teacherAttendance.getCourseScheduleId());
 		courseSchedule.setId(currentCourseDetail.getCourseScheduleId());
 		Date date = new Date();
-		if(teacherAttendance.getStatus()!= SignStatusEnum.YES_QUIT){
+		if(teacherAttendance.getStatus()!= YesOrNoEnum.YES_QUIT){
 			StringBuilder startClassDateTimeString=new StringBuilder(new SimpleDateFormat("yyyy-MM-dd").format(currentCourseDetail.getClassDate()));
 			startClassDateTimeString.append(" ");
 			startClassDateTimeString.append(new SimpleDateFormat("HH:mm:ss").format(currentCourseDetail.getStartClassTime()));
@@ -50,9 +50,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			}
 			Long timeGap=(date.getTime()-startClassTime.getTime())/1000/60;
 			if(timeGap<= ParamEnum.TEACHER_ATTENDANCE_TIME_GAP.getCode()){
-				teacherAttendance.setStatus(SignStatusEnum.SIGN);
+				teacherAttendance.setStatus(YesOrNoEnum.YES);
 			}else{
-				teacherAttendance.setStatus(SignStatusEnum.EXCEPTION);
+				teacherAttendance.setStatus(YesOrNoEnum.NO);
 			}
 			courseSchedule.setStatus(CourseStatusEnum.UNDERWAY);
 		}else{
@@ -66,4 +66,26 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		teacherAttendance.setCreateTime(date);
 		teacherAttendanceDao.insert(teacherAttendance);
 	}
+
+	@Override
+	public PageInfo getTeacherPersonalAttendances(TeacherAttendanceQueryInfo queryInfo) {
+		PageInfo<TeacherPersonalAttendanceDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<TeacherPersonalAttendanceDto> dataList = null;
+		int count = teacherAttendanceDao.getTeacherPersonalAttendancesCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherAttendanceDao.getTeacherPersonalAttendances(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+
 }

+ 53 - 0
mec-web/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -158,4 +158,57 @@
         WHERE
             su.id_=#{userId}
     </select>
+
+    <resultMap id="studentPersonalAttendance" type="com.ym.mec.web.dal.dto.StudentPersonalAttendanceDto">
+        <result property="classDate" column="class_date_"/>
+        <result property="startClassTime" column="start_class_time_"/>
+        <result property="type" column="type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="className" column="name_"/>
+        <result property="teacherName" column="username_"/>
+        <result property="status" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+    </resultMap>
+
+    <sql id="queryCondition">
+        <where>
+            <if test="studentID != null">
+                and sa.user_id_ = #{studentID}
+            </if>
+            <if test="musicGroupId != null">
+                and sa.music_group_id_ #{musicGroupId}
+            </if>
+            <if test="classGroupId != null">
+                and sa.class_group_id_ like #{classGroupId}
+            </if>
+            <if test="status != null">
+                and sa.status_ like #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </sql>
+
+    <select id="queryStudentPersonalAttendances" resultMap="studentPersonalAttendance">
+        SELECT
+            cs.class_date_,
+            cs.start_class_time_,
+            cg.type_,
+            cg.name_,
+            su.username_,
+            sa.status_
+        FROM
+            student_attendance sa
+        LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
+        LEFT JOIN class_group cg ON sa.class_group_id_=cg.id_
+        LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
+        <include refid="queryCondition"/>
+    </select>
+
+    <select id="queryStudentPersonalAttendancesCount" resultType="int">
+        SELECT
+        count(*)
+        FROM
+        student_attendance sa
+        LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
+        LEFT JOIN class_group cg ON sa.class_group_id_=cg.id_
+        LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
+        <include refid="queryCondition"/>
+    </select>
 </mapper>

+ 54 - 0
mec-web/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -89,4 +89,58 @@
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM teacher_attendance
 	</select>
+
+    <resultMap id="teacherPersonalAttendance" type="com.ym.mec.web.dal.dto.TeacherPersonalAttendanceDto">
+        <result column="class_date_" property="classDate"/>
+        <result column="start_class_time_" property="startClassTime"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="name_" property="name"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="remark_" property="remark"/>
+    </resultMap>
+
+    <sql id="queryCondition">
+        <where>
+            <if test="teacherId != null">
+                and ta.teacher_id_ = #{teacherId}
+            </if>
+            <if test="musicGroupId != null">
+                and ta.music_group_id_ #{musicGroupId}
+            </if>
+            <if test="classGroupId != null">
+                and ta.class_group_id_ like #{classGroupId}
+            </if>
+            <if test="attendanceStatus != null">
+                and ta.status_ like #{attendanceStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </sql>
+
+    <select id="getTeacherPersonalAttendances" parameterType="map" resultMap="teacherPersonalAttendance">
+        SELECT
+            cs.class_date_,
+            cs.start_class_time_,
+            cg.name_,
+            cg.type_,
+            ta.status_,
+            ta.remark_
+        FROM
+            teacher_attendance ta
+        LEFT JOIN course_schedule cs ON ta.course_schedule_id_=cs.id_
+        LEFT JOIN class_group cg ON ta.class_group_id_=cg.id_
+        <include refid="queryCondition"/>
+        ORDER BY class_date_ DESC
+    </select>
+
+    <select id="getTeacherPersonalAttendancesCount" resultType="int">
+        SELECT
+            count(*)
+        FROM
+          teacher_attendance ta
+        LEFT JOIN course_schedule cs ON ta.course_schedule_id_=cs.id_
+        LEFT JOIN class_group cg ON ta.class_group_id_=cg.id_
+        <include refid="queryCondition"/>
+    </select>
+
+
 </mapper>