Joburgess 5 lat temu
rodzic
commit
33a01458cd

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java

@@ -106,4 +106,13 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 	 * @return
 	 */
 	int updateViPSignOutStatus(String courseScheduleIdList);
+
+	/**
+	 * @describe 获取班级上已结束课程的课次
+	 * @author Joburgess
+	 * @date 2019/11/22
+	 * @param classGroupId: 班级编号
+	 * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
+	 */
+	List<Map<Integer,Integer>> findCourseTimeByClassGroup(Integer classGroupId);
 }

+ 24 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java

@@ -1,17 +1,8 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
@@ -24,6 +15,14 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
+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;
+import java.util.stream.Collectors;
 
 @Service
 public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomework> implements CourseHomeworkService {
@@ -36,6 +35,8 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	private SysMessageService sysMessageService;
+	@Autowired
+	private TeacherAttendanceDao teacherAttendanceDao;
 
 	@Override
 	public BaseDAO<Long, CourseHomework> getDAO() {
@@ -51,13 +52,18 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 		int count = courseHomeworkDao.countByClassGroupAndTeacher(params);
 		if (count > 0) {
 			dataList = courseHomeworkDao.findByClassGroupAndTeacher(params);
-			List<Integer> courseScheduleIds = dataList.stream().map(TeacherHomeworkListDto::getCourseScheduleId).collect(Collectors.toList());
-			if (!CollectionUtils.isEmpty(courseScheduleIds)) {
-				Map<Integer, Integer> courseScheduleCurrentTimes = courseScheduleService.findCourseScheduleCurrentTimes(courseScheduleIds);
-				dataList.forEach(teacherHomeworkListDto -> {
-					teacherHomeworkListDto.setCurrentClassTimes(courseScheduleCurrentTimes.get(teacherHomeworkListDto.getCourseScheduleId()));
-				});
-			}
+			List<Map<Integer, Integer>> courseTimeByClassGroup = teacherAttendanceDao.findCourseTimeByClassGroup(queryInfo.getClassGroupId().intValue());
+			Map<Integer, Integer> map = MapUtil.convertIntegerMap(courseTimeByClassGroup);
+			dataList.forEach(teacherHomeworkListDto -> {
+				teacherHomeworkListDto.setCurrentClassTimes(map.get(teacherHomeworkListDto.getCourseScheduleId().longValue()));
+			});
+//			List<Integer> courseScheduleIds = dataList.stream().map(TeacherHomeworkListDto::getCourseScheduleId).collect(Collectors.toList());
+//			if (!CollectionUtils.isEmpty(courseScheduleIds)) {
+//				Map<Integer, Integer> courseScheduleCurrentTimes = courseScheduleService.findCourseScheduleCurrentTimes(courseScheduleIds);
+//				dataList.forEach(teacherHomeworkListDto -> {
+//					teacherHomeworkListDto.setCurrentClassTimes(courseScheduleCurrentTimes.get(teacherHomeworkListDto.getCourseScheduleId()));
+//				});
+//			}
 		}
 		if (count != 0) {
 			Map<String, List<TeacherHomeworkListDto>> collect = dataList.stream().collect(Collectors.groupingBy(TeacherHomeworkListDto::getDay));
@@ -83,4 +89,4 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, "6?", mapper.getValue());
 		}
 	}
-}
+}

+ 10 - 1
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -274,7 +274,16 @@
             #{courseScheduleId}
         </foreach>
     </select>
-    
+    <select id="findCourseTimeByClassGroup" resultType="java.util.Map">
+        SELECT
+            course_schedule_id_ AS 'key',
+            current_class_times_ AS 'value'
+        FROM
+            `teacher_attendance`
+        WHERE
+            class_group_id_ = #{classGroupId}
+    </select>
+
     <update id="updateViPSignOutStatus" parameterType="string">
     	update teacher_attendance set sign_out_status_ = 1,sign_out_time_= now()
     	where FIND_IN_SET(course_schedule_id_,#{courseScheduleIdList}) and sign_in_status_ = 1

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -571,7 +571,8 @@
             csts.actual_salary_ IS NOT NULL is_salary_
         FROM
             course_schedule cs
-            LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_ left join school s on cs.schoole_id_ = s.id_
+            LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
+            left join school s on cs.schoole_id_ = s.id_
         <include refid="teachingRecordQueryCondition"/>
         ORDER BY start_class_time_
         <include refid="global.limit"/>