Selaa lähdekoodia

班级学生关系表加乐团编号

周箭河 5 vuotta sitten
vanhempi
commit
3cb1476fc2

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

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
+import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
@@ -64,7 +65,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param musicGroupId
      * @return
      */
-    List<Map<Integer, Long>> getNoClassStuCountBySubjectId(@Param("musicGroupId") String musicGroupId);
+     List<MusicGroupSubjectPlan> getNoClassStuCountByMusicGroupId(@Param("musicGroupId") String musicGroupId);
 
     /**
      * 根据乐团id和user_id 更新

+ 2 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -9,10 +9,7 @@ import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -61,7 +58,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @param musicGroupId
 	 * @return
 	 */
-	List<Map<Integer,Long>> getNoClassStuCountBySubjectId(String musicGroupId);
+	List<MusicGroupSubjectPlan> getNoClassStuCountByMusicGroupId(String musicGroupId);
 
 	/**
 	 * 根据user_id 和 乐团id更新

+ 10 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java

@@ -47,11 +47,16 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
     @Override
     public List<MusicGroupSubjectPlan> getMusicSubjectClassPlan(String musicGroupId) {
         List<MusicGroupSubjectPlan> musicSubjectClassPlans = musicGroupSubjectPlanDao.getMusicSubjectClassPlan(musicGroupId);
-        List<Map<Integer, Long>> noClassStuCountBySubjectIds = studentRegistrationService.getNoClassStuCountBySubjectId(musicGroupId);
-        Map<Integer, Long> map = MapUtil.convertMybatisMap(noClassStuCountBySubjectIds);
+        List<MusicGroupSubjectPlan> noClassStuCounts = studentRegistrationService.getNoClassStuCountByMusicGroupId(musicGroupId);
+
         for (MusicGroupSubjectPlan musicSubjectClassPlan : musicSubjectClassPlans) {
-            Long aLong = map.get(musicSubjectClassPlan.getSubjectId());
-            musicSubjectClassPlan.setNoClassStudentNum(aLong==null?0:aLong.intValue());
+            for (MusicGroupSubjectPlan noClassStuCount : noClassStuCounts) {
+                if (!noClassStuCount.getSubjectId().equals(musicSubjectClassPlan.getSubjectId())) continue;
+                musicSubjectClassPlan.setNoClassStudentNum(noClassStuCount.getNoClassStudentNum());
+            }
+            if (musicSubjectClassPlan.getNoClassStudentNum() == null) {
+                musicSubjectClassPlan.setNoClassStudentNum(0);
+            }
         }
         return musicSubjectClassPlans;
     }
@@ -106,7 +111,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
     }
 
     @Override
-    public void addApplyStudentNum(String musicGroupId, Integer subjectId,int num) {
+    public void addApplyStudentNum(String musicGroupId, Integer subjectId, int num) {
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
         int applyNum = musicOneSubjectClassPlan.getApplyStudentNum() == null ? 0 : musicOneSubjectClassPlan.getApplyStudentNum();
         musicOneSubjectClassPlan.setApplyStudentNum(applyNum + num);

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -133,8 +133,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public List<Map<Integer, Long>> getNoClassStuCountBySubjectId(String musicGroupId) {
-        return studentRegistrationDao.getNoClassStuCountBySubjectId(musicGroupId);
+    public List<MusicGroupSubjectPlan> getNoClassStuCountByMusicGroupId(String musicGroupId) {
+        return studentRegistrationDao.getNoClassStuCountByMusicGroupId(musicGroupId);
     }
 
     @Override

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

@@ -290,14 +290,14 @@
         </if>
     </select>
 
+    <resultMap type="com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan" id="getNoClassStuCountByMusicGroupId">
+        <result column="actual_subject_id_" property="subjectId"/>
+        <result column="nums" property="noClassStudentNum"/>
+    </resultMap>
     <!-- 根据乐团和声部获取未分班人数 -->
-    <select id="getNoClassStuCountBySubjectId" resultType="map">
-        SELECT COUNT(DISTINCT sr.user_id_) `value`,sr.actual_subject_id_ `key` FROM student_registration sr
-        WHERE sr.user_id_ NOT IN (
-        SELECT DISTINCT cgsm.user_id_ FROM class_group_student_mapper cgsm
-        LEFT JOIN class_group cg ON cg.id_ = cgsm.class_group_id_
-        WHERE cg.music_group_id_ = #{musicGroupId})
-        AND sr.music_group_id_ = #{musicGroupId} GROUP BY sr.actual_subject_id_
+    <select id="getNoClassStuCountByMusicGroupId" resultMap="getNoClassStuCountByMusicGroupId">
+        SELECT actual_subject_id_ ,COUNT(*) nums FROM student_registration
+        WHERE music_group_id_ = #{musicGroupId} AND payment_status_=2 AND class_group_id_=0 GROUP BY actual_subject_id_;
     </select>
 
     <update id="updateByUserIdAndMusicGroupId" parameterType="com.ym.mec.biz.dal.entity.StudentRegistration">