浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父节点
当前提交
4bad7371ae

+ 10 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java

@@ -4,7 +4,6 @@ import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -34,8 +33,17 @@ public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
                                                  @Param("userId") Integer userId);
 
     /**
+     * @describe 根据课程编号和教师编号查询记录
+     * @author Joburgess
+     * @date 2019/10/20
+     * @param courseScheduleId: 课程作业编号
+     * @return com.ym.mec.biz.dal.entity.CourseHomework
+     */
+    CourseHomework findByCourseSchedule(@Param("courseScheduleId") Long courseScheduleId);
+
+    /**
      * 查询老师未回复作业的数量
      * @return
      */
     List<Mapper> queryTeacerNoReplyNum();
-}
+}

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

@@ -78,4 +78,15 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 	 * @return int
 	 */
 	Map countTeacherAbnormalSignInClassTimes(Integer organId, Date date);
+
+	/**
+	 * @describe 获取签到详情
+	 * @author Joburgess
+	 * @date 2019/12/25
+	 * @param courseScheduleId: 课程编号列表
+	 * @param userId: 用户编号
+	 * @return com.ym.mec.biz.dal.dto.TeacherSignOutDto
+	 */
+	TeacherSignOutDto getTeacherSignDetail(Integer courseScheduleId, Integer userId);
+
 }

+ 10 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1311,27 +1311,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				//修改后的课程助教编号列表
 				List<Integer> newTeachingTeacherIdList = newCourseSchedule.getTeachingTeacherIdList();
 				//找出重复的助教编号
-				List<Integer> foundInCurrentCourseTeachingTeacherIds;
+				List<Integer> foundInCurrentCourseTeachingTeacherIds = newTeachingTeacherIdList.stream().filter(currentCourseTeachingTeacherIds::contains).collect(Collectors.toList());
 
 				//需要重新生成课酬的助教列表
-				List<Integer> newCreateSalaryTeachingTeacherIds=new ArrayList<>();
-
-				if(!CollectionUtils.isEmpty(newTeachingTeacherIdList)){
-					foundInCurrentCourseTeachingTeacherIds = newTeachingTeacherIdList.stream().filter(currentCourseTeachingTeacherIds::contains).collect(Collectors.toList());
-
-					newTeachingTeacherIdList.forEach(newTeachingTeacherId->{
-						//如果不在重复列表中,则需要生成对应的课酬记录
-						if(!foundInCurrentCourseTeachingTeacherIds.contains(newTeachingTeacherId)){
-							//计算修改后的助教的课酬
-							newCreateSalaryTeachingTeacherIds.add(newTeachingTeacherId);
-
-							if(Objects.nonNull(newTeachingTeacherId)){
-								beReplaceTeacherIds.add(newTeachingTeacherId);
-							}
-						}
-					});
-					newCourseSchedule.setTeachingTeacherIdList(newCreateSalaryTeachingTeacherIds);
-				}
+				List<Integer> newCreateSalaryTeachingTeacherIds=newTeachingTeacherIdList.stream()
+						.filter(userId->!foundInCurrentCourseTeachingTeacherIds.contains(userId))
+						.collect(Collectors.toList());
+				//被替换的助教列表
+				beReplaceTeacherIds=currentCourseTeachingTeacherIds.stream()
+						.filter(userId->!foundInCurrentCourseTeachingTeacherIds.contains(userId))
+						.collect(Collectors.toList());
+
+				newCourseSchedule.setTeachingTeacherIdList(newCreateSalaryTeachingTeacherIds);
 
 				if(!newCourseSchedule.isBishopTeacherSalaryNotCreate()||!CollectionUtils.isEmpty(newCreateSalaryTeachingTeacherIds)){
 					newCourseSchedule.setGroupType(oldCourseSchedule.getGroupType());

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

@@ -59,6 +59,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Autowired
 	private RedisCache<String,Object> redisCache;
 
+	@Autowired
+	private CourseHomeworkDao courseHomeworkDao;
+
 	@Override
 	public BaseDAO<Long, TeacherAttendance> getDAO() {
 		return teacherAttendanceDao;
@@ -384,4 +387,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		result.put("noSignInNum",teacherAttendanceDao.countTeacherAbnormalSignInClassTimes(organId,date,null));
 		return result;
 	}
+
+	@Override
+	public TeacherSignOutDto getTeacherSignDetail(Integer courseScheduleId, Integer userId) {
+		TeacherSignOutDto teacherSignDetail = new TeacherSignOutDto();
+		TeacherAttendance teacherAttendanceInfo = teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(), courseScheduleId.longValue());
+		teacherSignDetail.setTeacherAttendanceInfo(teacherAttendanceInfo);
+		CourseHomework courseHomewok = courseHomeworkDao.findByCourseSchedule(courseScheduleId.longValue());
+		teacherSignDetail.setCourseHomeworkInfo(courseHomewok);
+		return teacherSignDetail;
+	}
 }

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -223,6 +223,13 @@
 			LEFT JOIN course_schedule_teacher_salary csts ON ch.course_schedule_id_=csts.course_schedule_id_
 			WHERE ch.id_=#{courseHomeworkId} AND csts.user_id_=#{userId}
 	</select>
+	<select id="findByCourseSchedule" resultMap="CourseHomework">
+		SELECT
+			ch.*
+		FROM
+			course_homework ch
+			WHERE ch.course_schedule_id_=#{courseScheduleId}
+	</select>
 	
 	<select id="queryTeacerNoReplyNum" resultMap="Mapper">
 		select cs.actual_teacher_id_ key_,count(1) value_ from student_course_homework sch left join course_schedule cs on sch.course_schedule_id_ = cs.id_ where (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND csh.is_replied_ = 0 group by cs.actual_teacher_id_

+ 17 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -1,5 +1,7 @@
 package com.ym.mec.teacher.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.StudentAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherSignOutDto;
 import com.ym.mec.biz.dal.page.TeacherAttendanceQueryInfo;
@@ -10,8 +12,11 @@ import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Objects;
+
 @RequestMapping("teacherAttendance")
 @Api(tags = "教师签到服务")
 @RestController
@@ -25,6 +30,8 @@ public class TeacherAttendanceController extends BaseController {
 
     @Autowired
     private ClassGroupService classGroupService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "新增教师签到")
     @PostMapping("/add")
@@ -50,4 +57,14 @@ public class TeacherAttendanceController extends BaseController {
         studentAttendanceService.addStudentAttendances(studentAttendanceInfo);
         return succeed();
     }
+
+    @ApiOperation(value = "获取签退详情")
+    @GetMapping("/getTeacherSignDetail")
+    public Object getTeacherSignDetail(Integer courseScheduleId){
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(user)){
+            return failed(HttpStatus.FORBIDDEN,"请登录");
+        }
+        return succeed(teacherAttendanceService.getTeacherSignDetail(courseScheduleId, user.getId()));
+    }
 }