Forráskód Böngészése

乐团班级详情列表当前课次修改

zouxuan 5 éve
szülő
commit
87259b5622

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

@@ -828,7 +828,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param classGroupIds
      * @return
      */
-    List<Map<Integer, Integer>> countTotalNumByClassGroupId(@Param("classGroupIds") Set<Integer> classGroupIds, @Param("classDate") Date classDate);
+    List<Map<Integer, Long>> countTotalNumByClassGroupId(@Param("classGroupIds") Set<Integer> classGroupIds, @Param("classDate") Date classDate);
 
     /**
      * 根据班级编号count剩余课时
@@ -836,5 +836,5 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param classDate
      * @return
      */
-    List<Map<Integer, Integer>> countCurrentNumByClassGroupId(@Param("classGroupIds") Set<Integer> classGroupIds, @Param("classDate") Date classDate);
+    List<Map<Integer, Long>> countCurrentNumByClassGroupId(@Param("classGroupIds") Set<Integer> classGroupIds, @Param("classDate") Date classDate);
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1782,7 +1782,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             params.put("offset", pageInfo.getOffset());
             dataList = classGroupDao.queryMusicGroupClassGroup(params);
             Set<Integer> classGroups = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
-//            courseScheduleDao.countTotalCourseNum(classGroups,"MUSIC");
+            Map<Integer, Long> totalNumMap = MapUtil.convertIntegerMap(courseScheduleDao.countTotalNumByClassGroupId(classGroups, null));
+            Map<Integer, Long> currentNumMap = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroups, null));
             String join = StringUtils.join(classGroups, ",");
             //获取主教老师
             Map<Integer, String> masterTeachers = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(classGroupDao.countStudentNum(join, "BISHOP"))), HashMap.class);
@@ -1793,6 +1794,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //获取退班人数
             Map<Integer, Integer> quitNums = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countQuitNum(join))), HashMap.class);
             dataList.forEach(e -> {
+                Long aLong = totalNumMap.get(e.getClassGroupId());
+                e.setTotalClassTimes(aLong==null?0:aLong.intValue());
+                Long aLong1 = currentNumMap.get(e.getClassGroupId());
+                e.setCurrentClassTimes(aLong1==null?0:aLong1.intValue());
                 e.setMasterTeacher(masterTeachers.get(e.getClassGroupId()));
                 e.setSubTeacher(subTeachers.get(e.getClassGroupId()));
                 e.setStudyNum(studyNums.get(e.getClassGroupId()));

+ 4 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1660,7 +1660,7 @@
         GROUP BY cs.music_group_id_
     </select>
     <select id="countTotalNumByClassGroupId" resultType="java.util.Map">
-        SELECT COUNT(cs.id_) FROM course_schedule cs
+        SELECT cs.class_group_id_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
         WHERE cs.class_group_id_ IN
         <foreach collection="classGroupIds" item="item" separator="," open="(" close=")">
             #{item}
@@ -1668,9 +1668,10 @@
         <if test="classDate != null">
             AND cs.class_date_ = DATE_FORMAT(#{classDate}, '%Y%m%d')
         </if>
+        GROUP BY cs.class_group_id_
     </select>
     <select id="countCurrentNumByClassGroupId" resultType="java.util.Map">
-        SELECT COUNT(cs.id_) FROM course_schedule cs
+        SELECT cs.class_group_id_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
         WHERE cs.class_group_id_ IN
         <foreach collection="classGroupIds" item="item" separator="," open="(" close=")">
             #{item}
@@ -1679,5 +1680,6 @@
             AND cs.class_date_ = DATE_FORMAT(#{classDate}, '%Y%m%d')
         </if>
         AND cs.status_ != 'NOT_START'
+        GROUP BY cs.class_group_id_
     </select>
 </mapper>