zouxuan 5 سال پیش
والد
کامیت
bae4b09cea

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

@@ -127,6 +127,15 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
     /**
      * @describe
      * @author Joburgess
+     * @date 2019/11/13
+     * @param courseScheuleIds:
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
+     */
+    List<Map<Integer,String>> findClassGroupSubjectId(@Param("courseScheduleIds") List<Long> courseScheuleIds);
+
+    /**
+     * @describe
+     * @author Joburgess
      * @date 2019/12/19
      * @param studentInfos:
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -47,6 +47,8 @@ public class CourseScheduleDto extends CourseSchedule {
 
     private String subjectName;
 
+    private String subjectId;
+
     private String groupName;
 
     @ApiModelProperty(value = "是否是第一次进行学生点名")
@@ -55,6 +57,14 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "能否进行调整")
     private int enableAdjustInToday;
 
+    public String getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(String subjectId) {
+        this.subjectId = subjectId;
+    }
+
     public String getGroupName() {
         return groupName;
     }

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

@@ -399,9 +399,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 .map(CourseScheduleDto::getId).collect(Collectors.toList());
 
         Map<Integer, String> subjectNameCourseMap = new HashMap<>();
+        Map<Integer, String> subjectIdCourseMap = new HashMap<>();
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+            List<Map<Integer, String>> subjectIdCourseMaps = subjectDao.findClassGroupSubjectId(courseScheduleIds);
             subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+            subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
         }
 
         for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
@@ -413,6 +416,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
         }
         result.put("list", studentCourseSchedulesWithDate);
         return result;
@@ -489,9 +493,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 .map(CourseScheduleDto::getId).collect(Collectors.toList());
 
         Map<Integer, String> subjectNameCourseMap = new HashMap<>();
+        Map<Integer, String> subjectIdCourseMap = new HashMap<>();
         if (!CollectionUtils.isEmpty(courseScheduleIds)) {
             List<Map<Integer, String>> subjectNameCourseMaps = subjectDao.findSubjectNameCourseMaps(courseScheduleIds);
+            List<Map<Integer, String>> subjectIdCourseMaps = subjectDao.findClassGroupSubjectId(courseScheduleIds);
             subjectNameCourseMap = MapUtil.convertMybatisMap(subjectNameCourseMaps);
+            subjectIdCourseMap = MapUtil.convertMybatisMap(subjectIdCourseMaps);
         }
         List<Map<Integer, Integer>> studentNumCourseMaps = null;
         if (!CollectionUtils.isEmpty(allCourseScheduleIds)) {
@@ -535,6 +542,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNames, ","));
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
+            courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
             Long leaveStudentNum = courseLeaveStudentNumMap.get(courseScheduleDto.getId());
             Long normalStudentNum = classGroupStudentNumMap.get(courseScheduleDto.getClassGroupId());
             if(Objects.nonNull(leaveStudentNum)&&Objects.nonNull(normalStudentNum)&&leaveStudentNum.intValue()==normalStudentNum.intValue()){

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -182,6 +182,20 @@
             AND cg.subject_id_list_ IS NOT NULL
         GROUP BY cs.id_
     </select>
+    <select id="findClassGroupSubjectId" resultType="java.util.Map">
+        SELECT
+            cs.id_ AS 'key',
+            cg.subject_id_list_ AS 'value'
+        FROM
+            course_schedule cs
+            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+            WHERE cs.id_ IN
+            <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+                #{courseScheduleId}
+            </foreach>
+            AND cg.subject_id_list_ IS NOT NULL
+        GROUP BY cs.id_
+    </select>
     <select id="findNames" resultType="java.lang.String">
         SELECT GROUP_CONCAT(DISTINCT s.name_) FROM `subject` s WHERE FIND_IN_SET(s.id_,#{subjectIdList})
     </select>