瀏覽代碼

乐团课程统计

zouxuan 3 年之前
父節點
當前提交
31a51e1b2e

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

@@ -508,5 +508,8 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
     Integer countQuitNum(@Param("queryInfo") IndexDataQueryInfo queryInfo);
 
     //乐团统计数据导出
+    Integer countMusicGroupCourseList(@Param("queryInfo") ExportUserAccountQueryInfo queryInfo);
+
+    //乐团统计数据导出
     List<MusicGroupExportDto> exportMusicGroupCourseList(@Param("queryInfo") ExportUserAccountQueryInfo queryInfo);
 }

+ 0 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExportUserAccountQueryInfo.java

@@ -12,16 +12,6 @@ public class ExportUserAccountQueryInfo extends QueryInfo {
 
     private String organId;
 
-    private int exportFlag = 0;
-
-    public int getExportFlag() {
-        return exportFlag;
-    }
-
-    public void setExportFlag(int exportFlag) {
-        this.exportFlag = exportFlag;
-    }
-
     public Integer getUserId() {
         return userId;
     }

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

@@ -2985,9 +2985,6 @@ public class ExportServiceImpl implements ExportService {
 
     @Override
     public void exportMusicGroupCourseList(ManagerDownload managerDownload, ExportUserAccountQueryInfo queryInfo) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException, IOException {
-        queryInfo.setPage(1);
-        queryInfo.setRows(65535);
-        queryInfo.setExportFlag(1);
         List<MusicGroupExportDto> rows = musicGroupDao.exportMusicGroupCourseList(queryInfo);
         HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "乐团编号", "乐团名称", "乐团主管","出勤率", "达标率", "作业提交率", "成团人数", "新增人数",
                         "退团人数", "在读人数","流失率"},

+ 24 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -1130,8 +1130,30 @@
         </where>
         GROUP BY mg.id_
         ORDER BY o.id_
-        <if test="queryInfo.exportFlag == 0">
-            LIMIT 1
+    </select>
+    <select id="countMusicGroupCourseList" resultType="Integer">
+        SELECT COUNT(DISTINCT mg.id_)
+        FROM music_group mg
+        LEFT JOIN course_schedule_statistics css ON mg.id_ = css.music_group_id_ AND css.course_status_ = 'OVER'
+        <if test="queryInfo.startTime != null and queryInfo.startTime != ''">
+            AND css.class_date_ BETWEEN #{queryInfo.startTime} AND #{queryInfo.endTime}
+        </if>
+        LEFT JOIN organization o ON o.id_ = mg.organ_id_
+        LEFT JOIN sys_user su ON su.id_ = mg.educational_teacher_id_
+        LEFT JOIN student_registration sr1 ON sr1.music_group_id_ = mg.id_
+        LEFT JOIN student_registration sr ON sr.music_group_id_ = mg.id_
+        <if test="queryInfo.startTime != null and queryInfo.startTime != ''">
+            AND DATE_FORMAT(sr.create_time_,"%Y-%m-%d") BETWEEN #{queryInfo.startTime} AND #{queryInfo.endTime}
+        </if>
+        LEFT JOIN music_group_quit mgq ON mgq.music_group_id_ = mg.id_
+        <if test="queryInfo.startTime != null and queryInfo.startTime != ''">
+            AND DATE_FORMAT(mgq.create_time_,"%Y-%m-%d") BETWEEN #{queryInfo.startTime} AND #{queryInfo.endTime}
         </if>
+        <where>
+            mg.status_ = 'PROGRESS'
+            <if test="queryInfo.organId != null and queryInfo.organId != ''">
+                AND FIND_IN_SET(mg.organ_id_,#{queryInfo.organId})
+            </if>
+        </where>
     </select>
 </mapper>

+ 2 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -189,9 +189,8 @@ public class ExportController extends BaseController {
     public HttpResponseResult exportMusicGroupCourseList(ExportUserAccountQueryInfo queryInfo) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         queryInfo.setOrganId(organizationService.getEmployeeOrgan(sysUser.getId(),queryInfo.getOrganId(),sysUser.getIsSuperAdmin()));
-        queryInfo.setExportFlag(0);
-        List<MusicGroupExportDto> exportDtoList = musicGroupDao.exportMusicGroupCourseList(queryInfo);
-        if (CollectionUtils.isEmpty(exportDtoList)) {
+        Integer i = musicGroupDao.countMusicGroupCourseList(queryInfo);
+        if (Objects.isNull(i) || i <= 0) {
             throw new BizException("没有可导出的记录");
         }
         ManagerDownload managerDownload = exportService.saveManagerDownload(ExportTypeEnum.MUSIC_GROUP_DATA_EXPORT,sysUser.getId());