zouxuan 5 年 前
コミット
5295e8da63

+ 61 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -2,10 +2,7 @@ package com.ym.mec.biz.dal.entity;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-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.enums.*;
 import com.ym.mec.common.enums.BaseEnum;
 
 import io.swagger.annotations.ApiModelProperty;
@@ -149,6 +146,66 @@ public class CourseSchedule {
 
 	private String note;
 
+	private SignInStatusEnum signInStatusEnum;
+
+	private SignOutStatusEnum signOutStatusEnum;
+
+	private Date signInTime;
+
+	private Date signOutTime;
+
+	private int isSignIn = 3;
+
+	private int isSignOut = 3;
+
+	public int getIsSignIn() {
+		return isSignIn;
+	}
+
+	public void setIsSignIn(int isSignIn) {
+		this.isSignIn = isSignIn;
+	}
+
+	public int getIsSignOut() {
+		return isSignOut;
+	}
+
+	public void setIsSignOut(int isSignOut) {
+		this.isSignOut = isSignOut;
+	}
+
+	public SignInStatusEnum getSignInStatusEnum() {
+		return signInStatusEnum;
+	}
+
+	public void setSignInStatusEnum(SignInStatusEnum signInStatusEnum) {
+		this.signInStatusEnum = signInStatusEnum;
+	}
+
+	public SignOutStatusEnum getSignOutStatusEnum() {
+		return signOutStatusEnum;
+	}
+
+	public void setSignOutStatusEnum(SignOutStatusEnum signOutStatusEnum) {
+		this.signOutStatusEnum = signOutStatusEnum;
+	}
+
+	public Date getSignInTime() {
+		return signInTime;
+	}
+
+	public void setSignInTime(Date signInTime) {
+		this.signInTime = signInTime;
+	}
+
+	public Date getSignOutTime() {
+		return signOutTime;
+	}
+
+	public void setSignOutTime(Date signOutTime) {
+		this.signOutTime = signOutTime;
+	}
+
 	public String getTeachingContent() {
 		return teachingContent;
 	}

+ 15 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -47,6 +47,8 @@ import java.time.temporal.WeekFields;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*;
+
 @Service
 public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGroup> implements PracticeGroupService {
 
@@ -2155,9 +2157,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         int count = dataList.size();
         if (count > 0) {
             pageInfo.setTotal(count);
-            List<Long> courseScheduleIds = dataList.stream()
-                    .map(courseSchedule -> courseSchedule.getId())
-                    .distinct().collect(Collectors.toList());
+            List<Long> courseScheduleIds = dataList.stream().map(courseSchedule -> courseSchedule.getId()).distinct().collect(Collectors.toList());
+            List<TeacherAttendance> teacherAttendances = teacherAttendanceDao.findTeacherIdByCourseSchedule(courseScheduleIds);
+            Map<Long, List<TeacherAttendance>> courseTeacherAttendanceMap = teacherAttendances.stream().collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
             List<Map<Long, Integer>> courseSettlementMaps = courseScheduleTeacherSalaryDao.checkCoursesIsSettlement(courseScheduleIds);
             Map<Long, Long> courseSettlementMap = MapUtil.convertIntegerMap(courseSettlementMaps);
             Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentAttendanceDao.countStudentAttendancesByCourses(courseScheduleIds));
@@ -2178,6 +2180,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 } else {
                     e.setIsCallNames(YesOrNoEnum.NO);
                 }
+                List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(e.getId());
+                if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
+                    TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);
+                    e.setIsSignIn(Objects.isNull(teacherAttendance.getSignInStatus())?3:teacherAttendance.getSignInStatus().getCode());
+                    e.setIsSignOut(Objects.isNull(teacherAttendance.getSignOutStatus())?3:teacherAttendance.getSignOutStatus().getCode());
+                    e.setSignInStatusEnum(e.getIsSignIn() == 1?NORMAL:e.getIsSignIn() == 0?UNUSUAL:NO);
+                    e.setSignOutStatusEnum(e.getIsSignOut() == 1?SignOutStatusEnum.NORMAL:e.getIsSignOut() == 0? SignOutStatusEnum.UNUSUAL: SignOutStatusEnum.NO);
+                    e.setSignInTime(teacherAttendance.getSignInTime());
+                    e.setSignOutTime(teacherAttendance.getSignOutTime());
+                }
             });
         }
         pageInfo.setRows(dataList);