zouxuan 2 роки тому
батько
коміт
7868e18ebe

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -349,6 +349,9 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
     //统计训练时长
     List<CloudTeacherSumDto> cloudTeacherSum(@Param("queryInfo") StudentCourseConsumerQueryInfo queryInfo);
 
+    //统计训练时长
+    int countTeacherSum(@Param("queryInfo") StudentCourseConsumerQueryInfo queryInfo);
+
     //统计重复购买人数
     List<Map<Integer,Long>> getAgainBuyNum(@Param("organIds") List<Integer> organIds);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -1550,10 +1550,10 @@ public class ExportServiceImpl implements ExportService {
         StudentCourseConsumerQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), StudentCourseConsumerQueryInfo.class);
         SysUser user = sysUserService.getUser();
         queryInfo.setOrganId(organizationService.getEmployeeOrgan(user.getId(), queryInfo.getOrganId(), user.getIsSuperAdmin()));
-        List<CloudTeacherSumDto> dtos = studentService.cloudTeacherSum(queryInfo);
-        checkRows(dtos);
+        int count = studentService.getDao().countTeacherSum(queryInfo);
+        checkRows(count);
         ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_CLOUD_TEACHER_SUM,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(dtos, managerDownload,ExportEnum.EXPORT_CLOUD_TEACHER_SUM),
+        return this.asyncExport(() -> this.initExportInfo(studentService.cloudTeacherSum(queryInfo), managerDownload,ExportEnum.EXPORT_CLOUD_TEACHER_SUM),
                 managerDownload.getName());
     }
 

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1227,6 +1227,18 @@
         </if>
         group by su.organ_id_
     </select>
+
+    <select id="countTeacherSum" resultMap="java.lang.Integer">
+        select COUNT(distinct su.organ_id_)
+        from music_group mg
+        left join student_registration sr ON mg.id_ = sr.music_group_id_
+        left join student s ON sr.user_id_ = s.user_id_
+        left JOIN sys_user su ON su.id_ = sr.user_id_
+        where mg.status_ = 'PROGRESS' AND sr.music_group_status_ = 'NORMAL' AND s.membership_end_time_ >= NOW()
+        <if test="queryInfo.organId != null and queryInfo.organId != ''">
+            AND FIND_IN_SET(su.organ_id_,#{queryInfo.organId})
+        </if>
+    </select>
     <select id="getAgainBuyNum" resultType="java.util.Map">
         select mg.organ_id_ 'key',COUNT(DISTINCT sr.user_id_) 'value' from student_registration sr
         left join music_group mg ON mg.id_ = sr.music_group_id_