Browse Source

一堆导出需求

zouxuan 1 year ago
parent
commit
0a42e50f2c

+ 2 - 2
mec-application/src/main/resources/exportColumnMapper.ini

@@ -395,8 +395,8 @@ headColumns = ["分部","进行中乐团数","当月在读学员总数","当月
 fieldColumns = ["organName","musicGroupCount","currentMonthStudentCount","currentMonthAddStudentCount","currentMonthQuitStudentCount"]
 
 [平衡关系(分表)-乐团在读学员]
-headColumns = ["分部","乐团编号","乐团名称","学员编号","学员名称"]
-fieldColumns = ["organName","musicGroupId","musicGroupName","studentId","studentName"]
+headColumns = ["分部","乐团编号","乐团名称","学员编号","学员名称","合作单位名称"]
+fieldColumns = ["organName","musicGroupId","musicGroupName","studentId","studentName","coopName"]
 
 [平衡关系(分表)-乐团退团学员]
 headColumns = ["分部","乐团编号","乐团名称","学员编号","学员名称"]

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

@@ -19,7 +19,7 @@ public interface ExportDao {
     List<ExportWrapper.ExportBalancedRelationshipVipNoCourse> exportBalancedRelationshipVipNoCourse(@Param("month") String month, @Param("organIds") String organIds);
 
     //平衡关系-乐团课剩余时长
-    List<ExportWrapper.ExportBalancedRelationshipMusicSubCourse> exportBalancedRelationshipMusicSubCourse(@Param("month") String month, @Param("organIds") String organIds);
+    List<ExportWrapper.ExportBalancedRelationshipMusicSubCourse> exportBalancedRelationshipMusicSubCourse(@Param("startMonth") String startMonth, @Param("endMonth") String endMonth, @Param("organIds") String organIds);
 
     //平衡关系-学员情况总表
     List<ExportWrapper.ExportBalancedRelationshipStudentInfo> exportBalancedRelationshipStudentInfo(@Param("month") String month, @Param("organIds") String organIds);

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExportWrapper.java

@@ -109,6 +109,9 @@ public class ExportWrapper {
 
         @ApiModelProperty("学员名称")
         private String studentName;
+
+        @ApiModelProperty("合作单位名称")
+        private String coopName;
     }
 
     @Data

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

@@ -462,11 +462,12 @@ public class ExportServiceImpl implements ExportService {
                 managerDownload.getName());
     }
     private HttpResponseResult<String> exportBalancedRelationshipMusicSubCourse(Map<String, Object> info){
-        String month = getParam(info, "month", String.class);
+        String startMonth = getParam(info, "startMonth", String.class);
+        String endMonth = getParam(info, "endMonth", String.class);
         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),
+        return this.asyncExport(() -> this.initExportInfo(exportDao.exportBalancedRelationshipMusicSubCourse(startMonth,endMonth,organIds),
                         managerDownload,ExportEnum.EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE),
                 managerDownload.getName());
     }

+ 6 - 5
mec-biz/src/main/resources/config/mybatis/ExportMapper.xml

@@ -130,9 +130,9 @@
         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 (select user_id_,calender_id_,SUM(spo.actual_amount_ + spo.coupon_remit_fee_) paymentAmount from student_payment_order spo
-        where create_time_ >= CONCAT(#{month},'-01 00:00:00') AND status_ = 'SUCCESS' AND group_type_ = 'MUSIC' AND calender_id_ IS NOT NULL
+        where create_time_ BETWEEN CONCAT(#{startMonth},'-01 00:00:00') AND CONCAT(#{endMonth},'-31 23:59:59') AND status_ = 'SUCCESS' AND group_type_ = 'MUSIC' AND calender_id_ IS NOT NULL
         group by user_id_,calender_id_) spo ON spo.calender_id_ = mgpscd.music_group_payment_calender_id_ AND mgpscd.user_id_ = spo.user_id_
-        where mgpc.create_time_ >= CONCAT(#{month},'-01 00:00:00')
+        where mgpc.create_time_ BETWEEN CONCAT(#{startMonth},'-01 00:00:00') AND CONCAT(#{endMonth},'-31 23:59:59')
         <if test="organIds != null and organIds != ''">
             AND FIND_IN_SET(mg.organ_id_,#{organIds})
         </if>
@@ -146,8 +146,8 @@
         COUNT(DISTINCT mgq.user_id_) 'currentMonthQuitStudentCount'
         from organization o
         left join music_group mg ON o.id_ = mg.organ_id_
-        left join music_group_quit mgq ON mgq.music_group_id_ = mg.id_ AND mgq.status_ = 'APPROVED' AND DATE_FORMAT(mgq.create_time_,'%Y-%m-%d') BETWEEN CONCAT('2024-02','-01') AND CONCAT('2024-02','-31')
-        left join (select ibmd.organ_id_,SUM(CASE WHEN ibmd.data_type_ = 'MUSIC_GROUP_STUDENT' AND ibmd.month_ = last_day(CONCAT('2024-02','-01')) THEN ibmd.total_num_ ELSE 0 END) 'MUSIC_GROUP_STUDENT',
+        left join music_group_quit mgq ON mgq.music_group_id_ = mg.id_ AND mgq.status_ = 'APPROVED' AND DATE_FORMAT(mgq.create_time_,'%Y-%m-%d') BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
+        left join (select ibmd.organ_id_,SUM(CASE WHEN ibmd.data_type_ = 'MUSIC_GROUP_STUDENT' AND ibmd.month_ = last_day(CONCAT(#{month},'-01')) THEN ibmd.total_num_ ELSE 0 END) 'MUSIC_GROUP_STUDENT',
         SUM(CASE WHEN ibmd.data_type_ = 'NEWLY_STUDENT_NUM' THEN ibmd.total_num_ ELSE 0 END) 'NEWLY_STUDENT_NUM'
         from index_base_month_data ibmd
         where ibmd.tenant_id_ = 1 AND ibmd.month_ BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
@@ -161,11 +161,12 @@
     </select>
     <select id="exportBalancedRelationshipStudentNormalDetail"
             resultType="com.ym.mec.biz.dal.dto.ExportWrapper$ExportBalancedRelationshipStudentNormalDetail">
-        SELECT o.name_ 'organName',mg.id_ 'musicGroupId',mg.name_ 'musicGroupName',sr.user_id_ 'studentId',su.username_ 'studentName'
+        SELECT o.name_ 'organName',mg.id_ 'musicGroupId',mg.name_ 'musicGroupName',sr.user_id_ 'studentId',su.username_ 'studentName',co.name_ coopName
         FROM student_registration sr
         left join sys_user su ON su.id_ = sr.user_id_
         LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
         left join organization o ON o.id_ = mg.organ_id_
+        left join cooperation_organ co ON co.id_ = mg.cooperation_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})