Browse Source

乐团梯队数据导出

zouxuan 1 year ago
parent
commit
11eb13778f

+ 3 - 0
mec-application/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -131,6 +131,9 @@ public class MusicGroupController extends BaseController {
             //如果乐器和辅件都买过/那么看是否购买过其他的缴费项
             if (typeList.contains(OrderDetailTypeEnum.MUSICAL) && typeList.contains(OrderDetailTypeEnum.ACCESSORIES)) {
                 MusicGroupPaymentCalender paymentCalender = musicGroupPaymentCalenderService.getApplyCalenderByMusicId(musicGroupId);
+                if(Objects.isNull(paymentCalender)){
+                    throw new BizException("当前乐团不存在报名缴费项,请联系管理员");
+                }
                 HashMap<String, Object> calenderDetail = new HashMap<>(5);
                 musicGroupPaymentCalenderService.getCalenderDetail(calenderDetail,paymentCalender.getId());
                 boolean flag = true;

+ 10 - 11
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -1283,15 +1283,14 @@
     </select>
     <select id="queryCoopEchelonData" resultType="com.ym.mec.biz.dal.dto.ExportMusicGroupEchelonDataDto">
         select mg.id_ musicGroupId,co.id_ coopId,co.name_ coopName,mg.name_ musicGroupName,
-        COUNT(if(st.subject_id_list_ = '2',1,null)) 'flute',COUNT(if(st.subject_id_list_ = '4',1,null)) 'clarinet',
-        COUNT(if(st.subject_id_list_ = '5',1,null)) 'saxophone',COUNT(if(st.subject_id_list_ = '12',1,null)) 'trumpet',
-        COUNT(if(st.subject_id_list_ = '13',1,null)) 'horn',COUNT(if(st.subject_id_list_ = '14',1,null)= 14) 'trombone',
-        COUNT(if(st.subject_id_list_ = '15',1,null)) 'euphonium',COUNT(if(st.subject_id_list_ = '17',1,null)) 'tuba',
-        COUNT(if(st.subject_id_list_ = '23',1,null)) 'snareDrum',COUNT(distinct sr.user_id_) 'total'
+        COUNT(if(sr.actual_subject_id_ = 2,1,null)) 'flute',COUNT(if(sr.actual_subject_id_ = 4,1,null)) 'clarinet',
+        COUNT(if(sr.actual_subject_id_ = 5,1,null)) 'saxophone',COUNT(if(sr.actual_subject_id_ = 12,1,null)) 'trumpet',
+        COUNT(if(sr.actual_subject_id_ = 13,1,null)) 'horn',COUNT(if(sr.actual_subject_id_ = 14,1,null)= 14) 'trombone',
+        COUNT(if(sr.actual_subject_id_ = 15,1,null)) 'euphonium',COUNT(if(sr.actual_subject_id_ = 17,1,null)) 'tuba',
+        COUNT(if(sr.actual_subject_id_ = 23,1,null)) 'snareDrum',COUNT(distinct sr.user_id_) 'total'
         from cooperation_organ co
                  left join music_group mg ON mg.cooperation_organ_id_ = co.id_
                  left join student_registration sr ON sr.music_group_id_ = mg.id_
-                 left join student st ON st.user_id_ = sr.user_id_
         where co.del_flag_ = '0' AND co.is_enable_ = true and sr.music_group_status_ = 'NORMAL' AND mg.status_ = 'PROGRESS'
         <if test="organIds != null and organIds.size > 0">
             AND co.organ_id_ IN
@@ -1303,11 +1302,11 @@
     </select>
     <select id="queryMusicGroupEchelonData" resultType="com.ym.mec.biz.dal.dto.ExportMusicGroupEchelonDataDto">
         select sr.music_group_id_ musicGroupId,st.current_grade_num_ musicGroupName,
-        COUNT(if(st.subject_id_list_ = '2',1,null)) 'flute',COUNT(if(st.subject_id_list_ = '4',1,null)) 'clarinet',
-        COUNT(if(st.subject_id_list_ = '5',1,null)) 'saxophone',COUNT(if(st.subject_id_list_ = '12',1,null)) 'trumpet',
-        COUNT(if(st.subject_id_list_ = '13',1,null)) 'horn',COUNT(if(st.subject_id_list_ = '14',1,null)= 14) 'trombone',
-        COUNT(if(st.subject_id_list_ = '15',1,null)) 'euphonium',COUNT(if(st.subject_id_list_ = '17',1,null)) 'tuba',
-        COUNT(if(st.subject_id_list_ = '23',1,null)) 'snareDrum',COUNT(distinct sr.user_id_) 'total'
+        COUNT(if(sr.actual_subject_id_ = 2,1,null)) 'flute',COUNT(if(sr.actual_subject_id_ = 4,1,null)) 'clarinet',
+        COUNT(if(sr.actual_subject_id_ = 5,1,null)) 'saxophone',COUNT(if(sr.actual_subject_id_ = 12,1,null)) 'trumpet',
+        COUNT(if(sr.actual_subject_id_ = 13,1,null)) 'horn',COUNT(if(sr.actual_subject_id_ = 14,1,null)= 14) 'trombone',
+        COUNT(if(sr.actual_subject_id_ = 15,1,null)) 'euphonium',COUNT(if(sr.actual_subject_id_ = 17,1,null)) 'tuba',
+        COUNT(if(sr.actual_subject_id_ = 23,1,null)) 'snareDrum',COUNT(distinct sr.user_id_) 'total'
         from student_registration sr
         left join student st ON st.user_id_ = sr.user_id_
         where sr.music_group_status_ = 'NORMAL' AND