Browse Source

管乐迷需求一大堆

zouxuan 2 năm trước cách đây
mục cha
commit
f1a87428ba

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ExportTypeEnum.java

@@ -23,7 +23,8 @@ public enum ExportTypeEnum implements BaseEnum<Integer, ExportTypeEnum> {
 	EXPORT_PRE_COURSE_CONSUMER(17, "预计课耗导出"),
 	EXPORT_PRE_COURSE_CONSUMER_DETAIL(18, "预计课耗学员详情导出"),
 	EXPORT_COURSE_CONSUMER_SUM(19, "课耗统计导出"),
-	EXPORT_CLOUD_TEACHER_SUM(20, "云教练统计导出")
+	EXPORT_CLOUD_TEACHER_SUM(20, "云教练统计导出"),
+	CLASS_GROUP(21, "班级列表导出")
 	;
 
 	private Integer code;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -389,6 +389,8 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      */
     PageInfo<ClassGroupTeachersDto> queryClassGroupPage(ClassGroupQueryInfo queryInfo);
 
+    int countClassGroupPage(Map<String, Object> params,ClassGroupQueryInfo queryInfo);
+
     /**
      * 添加IM群组
      * @param classGroup

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/ExportService.java

@@ -47,15 +47,6 @@ public interface ExportService {
     List exportStudentInstrument(Map<String, Object> info);
 
     /**
-    * @description: 班级列表导出
-     * @param info
-    * @return java.util.List
-    * @author zx
-    * @date 2022/2/10 12:18
-    */
-    List exportClassGroup(Map<String, Object> info);
-
-    /**
     * @description: 导出老师结转奖励
      * @param info
     * @return java.util.List

+ 15 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -3625,30 +3625,32 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         return classGroups;
     }
 
-    @Override
-    public PageInfo<ClassGroupTeachersDto> queryClassGroupPage(ClassGroupQueryInfo queryInfo) {
-        if (queryInfo.getGroupType() == null) {
-            queryInfo.setGroupType(MUSIC);
-        }
-        PageInfo<ClassGroupTeachersDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
-        Map<String, Object> params = new HashMap<String, Object>();
+    public int countClassGroupPage(Map<String, Object> params,ClassGroupQueryInfo queryInfo){
         MapUtil.populateMap(params, queryInfo);
         params.put("groupType", queryInfo.getGroupType().getCode());
-
-        List<ClassGroupTeachersDto> dataList = null;
-        int count;
         if (Objects.nonNull(queryInfo.getLessThenThreeHighOnline())) {
             List<Long> lessThenThreeClassGroupIds = classGroupStudentMapperDao.getLessThenThreeClassGroupIds(queryInfo.getOrganIds(),queryInfo.getLessThenThreeHighOnline());
             params.put("classGroupIds", lessThenThreeClassGroupIds);
             if (CollectionUtils.isEmpty(lessThenThreeClassGroupIds)) {
-                count = 0;
+                return 0;
             } else {
-                count = classGroupDao.countClassGroup(params);
+                return classGroupDao.countClassGroup(params);
             }
         } else {
-            count = classGroupDao.countClassGroup(params);
+            return classGroupDao.countClassGroup(params);
         }
+    }
 
+    @Override
+    public PageInfo<ClassGroupTeachersDto> queryClassGroupPage(ClassGroupQueryInfo queryInfo) {
+        if (queryInfo.getGroupType() == null) {
+            queryInfo.setGroupType(MUSIC);
+        }
+        PageInfo<ClassGroupTeachersDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        int count = this.countClassGroupPage(params,queryInfo);
+
+        List<ClassGroupTeachersDto> dataList = null;
         if (count > 0) {
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());

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

@@ -299,7 +299,7 @@ public class ExportServiceImpl implements ExportService {
         exportFuncMap.put(ExportEnum.ORGAN_DOUBLE_ELEVEN2021_STATIS, info -> vipGroupActivityService.organDoubleEleven2021Statis(getQueryInfo(info, OrganDoubleEleven2021StatisDto.class, false)));
         exportFuncMap.put(ExportEnum.USER_CASH_ACCOUNT_DETAIL, info -> sysUserCashAccountDetailDao.exportDetail(getQueryInfo(info, ExportUserAccountQueryInfo.class, true)));
         exportFuncMap.put(ExportEnum.USER_COURSES_ACCOUNT, info -> sysUserCoursesAccountDetailDao.exportDetail(getQueryInfo(info, ExportUserAccountQueryInfo.class, true)));
-        exportFuncMap.put(ExportEnum.CLASS_GROUP, info -> exportClassGroup(info));
+
         exportFuncMap.put(ExportEnum.GOODS, info -> goodsService.queryPage(getQueryInfo(info, GoodsQueryInfo.class, false)).getRows());
         exportFuncMap.put(ExportEnum.VIP_GROUP_ACTIVITY, info -> vipGroupActivityService.exportVipGroupActivity(getQueryInfo(info, VipGroupActivityQueryInfo.class, true)));
         exportFuncMap.put(ExportEnum.EXPORT_STUDENT_ATTENDANCES, info -> studentAttendanceService.exportStudentAttendancesQueryPage(getQueryInfo(info, ExportStudentAttendanceQueryInfo.class, true)).getRows());
@@ -376,6 +376,7 @@ public class ExportServiceImpl implements ExportService {
         exportManageFuncMap.put(ExportEnum.EXPORT_PRE_COURSE_CONSUMER_DETAIL, (info) -> exportPreCourseConsumerDetail(info));
         exportManageFuncMap.put(ExportEnum.EXPORT_COURSE_CONSUMER_SUM, (info) -> exportCourseConsumerSum(info));
         exportManageFuncMap.put(ExportEnum.EXPORT_CLOUD_TEACHER_SUM, (info) -> exportCloudTeacherSum(info));
+        exportManageFuncMap.put(ExportEnum.CLASS_GROUP, info -> exportClassGroup(info));
     }
 
     private List<StudentServeExportDto> exportStudentServeInfo(Map<String, Object> info) {
@@ -552,28 +553,6 @@ public class ExportServiceImpl implements ExportService {
         return instruments;
     }
 
-    //班级列表导出
-    @Override
-    public List exportClassGroup(Map<String, Object> info) {
-        ClassGroupQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), ClassGroupQueryInfo.class);
-        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
-        List<ClassGroupTeachersDto> rows = classGroupService.queryClassGroupPage(queryInfo).getRows();
-        for (ClassGroupTeachersDto row : rows) {
-            List<ClassGroupTeacherMapper> classGroupTeacherMapperList = row.getClassGroupTeacherMapperList();
-            if (classGroupTeacherMapperList.size() > 0) {
-                List<ClassGroupTeacherMapper> teachingTeachers = classGroupTeacherMapperList.stream().filter(e -> e.getTeacherRole() == TeachTypeEnum.TEACHING).collect(Collectors.toList());
-                if (teachingTeachers.size() > 0) {
-                    row.setTeachingTeacherName(StringUtils.join(teachingTeachers.stream().map(e -> e.getUserName()).collect(Collectors.toList()), ","));
-                }
-                List<ClassGroupTeacherMapper> bishopTeachers = classGroupTeacherMapperList.stream().filter(e -> e.getTeacherRole() == TeachTypeEnum.BISHOP).collect(Collectors.toList());
-                if (bishopTeachers.size() > 0) {
-                    row.setBishopTeacherName(StringUtils.join(bishopTeachers.stream().map(e -> e.getUserName()).collect(Collectors.toList()), ","));
-                }
-            }
-        }
-        return rows;
-    }
-
     //导出老师结转奖励
     @Override
     public List teacherCourseReward(Map<String, Object> info) {
@@ -1555,6 +1534,18 @@ public class ExportServiceImpl implements ExportService {
         return this.asyncExport(() -> this.initExportInfo(dtos, managerDownload,ExportEnum.EXPORT_COURSE_CONSUMER_SUM),
                 managerDownload.getName());
     }
+
+    private HttpResponseResult exportClassGroup(Map<String, Object> info){
+        SysUser user = sysUserService.getUser();
+        ClassGroupQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), ClassGroupQueryInfo.class);
+        queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
+        List<ClassGroupTeachersDto> rows = classGroupService.queryClassGroupPage(queryInfo).getRows();
+        checkRows(rows);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_CLOUD_TEACHER_SUM,user.getId());
+        return this.asyncExport(() -> this.initExportInfo(rows, managerDownload,ExportEnum.EXPORT_CLOUD_TEACHER_SUM),
+                managerDownload.getName());
+    }
+
     private HttpResponseResult exportCloudTeacherSum(Map<String, Object> info){
         StudentCourseConsumerQueryInfo queryInfo = JSONObject.parseObject(JSONObject.toJSONString(info), StudentCourseConsumerQueryInfo.class);
         SysUser user = sysUserService.getUser();

+ 4 - 0
mec-web/src/main/resources/exportColumnMapper.ini

@@ -325,3 +325,7 @@ fieldColumns = ["organName","normalNum","courseConsumerNum","courseSum","courseC
 [云教练统计导出]
 headColumns = ["分部", "在读人数","练习人数","练习率","<60分钟", "60~120分钟","120~240分钟",">240分钟","平均练习时长","练习达标占比"]
 fieldColumns = ["organName","normalNum","trainStudentNum","trainRate","train1","train2","train3","train4","avgTrainTime","trainStandRate"]
+
+[班级列表导出]
+headColumns = ["课程组编号", "课程组名称", "分部名称", "班级名称","班级类型", "班级人数", "主教老师", "助教老师", "已上课时", "总课数"]
+fieldColumns = ["musicGroupId", "musicGroupName", "organName", "name","type.msg", "studentNum == NUll?0:studentNum", "bishopTeacherName", "teachingTeacherName", "currentClassTimes","totalClassTimes"]