Browse Source

一堆导出需求

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

+ 8 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExportDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.ExportStudentCourseInfoDto;
 import com.ym.mec.biz.dal.dto.ExportWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -9,25 +10,25 @@ import java.util.List;
 public interface ExportDao {
 
     //平衡关系-乐团课
-    List<ExportWrapper.ExportBalancedRelationshipMusicCourse> exportBalancedRelationshipMusicCourse(@Param("month") String month);
+    List<ExportWrapper.ExportBalancedRelationshipMusicCourse> exportBalancedRelationshipMusicCourse(@Param("month") String month, @Param("organIds") String organIds);
 
     //平衡关系-VIP已排课
-    List<ExportWrapper.ExportBalancedRelationshipVipCourse> exportBalancedRelationshipVipCourse(@Param("month") String month);
+    List<ExportWrapper.ExportBalancedRelationshipVipCourse> exportBalancedRelationshipVipCourse(@Param("month") String month, @Param("organIds") String organIds);
 
     //平衡关系-VIP未排课
-    List<ExportWrapper.ExportBalancedRelationshipVipNoCourse> exportBalancedRelationshipVipNoCourse(@Param("month") String month);
+    List<ExportWrapper.ExportBalancedRelationshipVipNoCourse> exportBalancedRelationshipVipNoCourse(@Param("month") String month, @Param("organIds") String organIds);
 
     //平衡关系-乐团课剩余时长
-    List<ExportWrapper.ExportBalancedRelationshipMusicSubCourse> exportBalancedRelationshipMusicSubCourse(@Param("month") String month);
+    List<ExportWrapper.ExportBalancedRelationshipMusicSubCourse> exportBalancedRelationshipMusicSubCourse(@Param("month") String month, @Param("organIds") String organIds);
 
     //平衡关系-学员情况总表
-    List<ExportWrapper.ExportBalancedRelationshipStudentInfo> exportBalancedRelationshipStudentInfo(@Param("month") String month);
+    List<ExportWrapper.ExportBalancedRelationshipStudentInfo> exportBalancedRelationshipStudentInfo(@Param("month") String month, @Param("organIds") String organIds);
 
     //平衡关系(分表)-乐团在读学员
-    List<ExportWrapper.ExportBalancedRelationshipStudentNormalDetail> exportBalancedRelationshipStudentNormalDetail();
+    List<ExportWrapper.ExportBalancedRelationshipStudentNormalDetail> exportBalancedRelationshipStudentNormalDetail( @Param("organIds") String organIds);
 
     //平衡关系(分表)-乐团退团学员
-    List<ExportWrapper.ExportBalancedRelationshipStudentQuitDetail> exportBalancedRelationshipStudentQuitDetail(@Param("month") String month);
+    List<ExportWrapper.ExportBalancedRelationshipStudentQuitDetail> exportBalancedRelationshipStudentQuitDetail(@Param("month") String month, @Param("organIds") String organIds);
 
     //小组课学员课程导出
     Boolean hasStudentMusicTheoryCourseInfo(@Param("organId") String organId, @Param("tenantId") Integer tenantId, @Param("groupType") String groupType);

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

@@ -436,56 +436,63 @@ public class ExportServiceImpl implements ExportService {
 
     private HttpResponseResult<String> exportBalancedRelationshipMusicCourse(Map<String, Object> info){
         String month = getParam(info, "month", String.class);
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_COURSE,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipMusicCourse(month),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_COURSE,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipMusicCourse(month,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_COURSE),
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipVipCourse(Map<String, Object> info){
         String month = getParam(info, "month", String.class);
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_VIP_COURSE,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipVipCourse(month),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_VIP_COURSE,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipVipCourse(month,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_VIP_COURSE),
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipVipNoCourse(Map<String, Object> info){
         String month = getParam(info, "month", String.class);
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_VIP_NO_COURSE,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipVipNoCourse(month),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_VIP_NO_COURSE,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipVipNoCourse(month,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_VIP_NO_COURSE),
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipMusicSubCourse(Map<String, Object> info){
         String month = getParam(info, "month", String.class);
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipMusicSubCourse(month),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipMusicSubCourse(month,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE),
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipStudentInfo(Map<String, Object> info){
         String month = getParam(info, "month", String.class);
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_INFO,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipStudentInfo(month),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_INFO,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipStudentInfo(month,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_INFO),
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipStudentNormalDetail(Map<String, Object> info){
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_NORMAL_DETAIL,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipStudentNormalDetail(),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_NORMAL_DETAIL,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipStudentNormalDetail(organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_NORMAL_DETAIL),
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipStudentQuitDetail(Map<String, Object> info){
         String month = getParam(info, "month", String.class);
-        SysUser user = sysUserService.getUser();
-        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_QUIT_DETAIL,user.getId());
-        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipStudentQuitDetail(month),
+        SysUser sysUser = sysUserService.getUser();
+        String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), null, sysUser.getIsSuperAdmin() && sysUser.getTenantId() == -1);
+        ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_QUIT_DETAIL,sysUser.getId());
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipStudentQuitDetail(month,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_STUDENT_QUIT_DETAIL),
                 managerDownload.getName());
     }

+ 27 - 3
mec-biz/src/main/resources/config/mybatis/ExportMapper.xml

@@ -62,6 +62,9 @@
         left join music_group mg ON mg.id_ = cs.music_group_id_
         left join organization o ON o.id_ = mg.organ_id_
         where cs.group_type_ = 'MUSIC' AND cs.`del_flag_` = 0 AND cs.is_lock_ = 0 and cs.pre_course_flag_ != 1 and cg.del_flag_ = 0
+        <if test="organIds != null and organIds != ''">
+            AND FIND_IN_SET(cs.organ_id_,#{organIds})
+        </if>
         group by cs.class_group_id_,cs.type_ order by cs.organ_id_,cs.class_group_id_
     </select>
     <select id="exportBalancedRelationshipVipCourse"
@@ -78,6 +81,9 @@
         left join sys_user su ON su.id_ = cssp.user_id_
         left join organization o ON o.id_ = cs.organ_id_
         where cs.group_type_ = 'VIP' AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.id_ = cssp.course_schedule_id_
+        <if test="organIds != null and organIds != ''">
+            AND FIND_IN_SET(cs.organ_id_,#{organIds})
+        </if>
         group by cssp.user_id_,vg.vip_group_category_id_ ORDER BY cs.organ_id_,cssp.user_id_
     </select>
     <select id="exportBalancedRelationshipVipNoCourse"
@@ -100,6 +106,11 @@
         left join organization o ON o.id_ = aum.organ_id_
         left join sys_user su ON su.id_ = aum.user_id_
         left join vip_group_category vgc ON vgc.id_ = aum.category_id_
+        <where>
+            <if test="organIds != null and organIds != ''">
+                FIND_IN_SET(aum.organ_id_,#{organIds})
+            </if>
+        </where>
         order by aum.organ_id_,aum.user_id_
     </select>
     <select id="exportBalancedRelationshipMusicSubCourse"
@@ -119,7 +130,10 @@
         left join organization o ON o.id_ = mg.organ_id_
         left join music_group_payment_calender mgpc ON mgpc.id_ = mgpscd.music_group_payment_calender_id_
         left join student_payment_order spo ON spo.calender_id_ = mgpscd.music_group_payment_calender_id_ AND mgpscd.user_id_ = spo.user_id_ AND spo.status_ = 'SUCCESS'
-        where sub_course_minutes_ + used_course_minutes_ = total_course_minutes_ AND mgpc.create_time_ >= CONCAT(#{month},'-01 00:00:00') AND mgpscd.tenant_id_ = 1
+        where sub_course_minutes_ + used_course_minutes_ = total_course_minutes_ AND mgpc.create_time_ >= CONCAT(#{month},'-01 00:00:00')
+        <if test="organIds != null and organIds != ''">
+            AND FIND_IN_SET(mg.organ_id_,#{organIds})
+        </if>
         group by mgpscd.user_id_,mgpscd.music_group_payment_calender_id_ order by o.id_,mgpscd.music_group_id_,mgpc.batch_no_,mgpscd.user_id_ desc
     </select>
     <select id="exportBalancedRelationshipStudentInfo"
@@ -136,7 +150,11 @@
         from index_base_month_data ibmd
         where ibmd.tenant_id_ = 1 AND ibmd.month_ BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
         group by ibmd.organ_id_) ibmd ON ibmd.organ_id_ = o.id_
-        where o.tenant_id_ = 1
+        <where>
+            <if test="organIds != null and organIds != ''">
+                FIND_IN_SET(o.id_,#{organIds})
+            </if>
+        </where>
         group by o.id_ order by o.id_
     </select>
     <select id="exportBalancedRelationshipStudentNormalDetail"
@@ -147,6 +165,9 @@
         LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
         left join organization o ON o.id_ = mg.organ_id_
         WHERE mg.status_ = 'PROGRESS' AND sr.music_group_status_ = 'NORMAL'
+        <if test="organIds != null and organIds != ''">
+            AND FIND_IN_SET(mg.organ_id_,#{organIds})
+        </if>
         GROUP BY mg.organ_id_,mg.id_,sr.user_id_ order by mg.organ_id_,mg.id_,sr.user_id_
     </select>
     <select id="exportBalancedRelationshipStudentQuitDetail"
@@ -155,8 +176,11 @@
         left join sys_user su ON su.id_ = mgq.user_id_
         LEFT JOIN music_group mg ON mg.id_ = mgq.music_group_id_
         left join organization o ON o.id_ = mg.organ_id_
-        WHERE mgq.status_ = 'APPROVED' AND mgq.tenant_id_ = 1
+        WHERE mgq.status_ = 'APPROVED'
         AND DATE_FORMAT(mgq.create_time_,'%Y-%m-%d') BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
+        <if test="organIds != null and organIds != ''">
+            AND FIND_IN_SET(mg.organ_id_,#{organIds})
+        </if>
         GROUP BY mg.organ_id_,mg.id_,mgq.user_id_ order by mg.organ_id_,mg.id_,mgq.user_id_
     </select>