Przeglądaj źródła

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into zx_saas_0422

zouxuan 1 rok temu
rodzic
commit
ba97e26718

+ 3 - 4
mec-application/src/main/java/com/ym/mec/student/controller/SmsCodeController.java

@@ -34,13 +34,12 @@ public class SmsCodeController extends BaseController {
     @Autowired
     private RedissonClient redissonClient;
 
-    /*@ApiOperation(value = "发送登录短信验证码")
+    @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String")
     @PostMapping(value = "/sendSms")
     public Object sendLoginVerifyCode(String mobile) throws Exception {
-        smsCodeService.sendValidCode(mobile);
-        return succeed();
-    }*/
+        throw new BizException("你所使用的不是最新版本,请更新后使用");
+    }
 
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),

+ 3 - 4
mec-application/src/main/java/com/ym/mec/teacher/controller/SmsCodeController.java

@@ -34,13 +34,12 @@ public class SmsCodeController extends BaseController {
     @Autowired
     private RedissonClient redissonClient;
 
-    /*@ApiOperation(value = "发送登录短信验证码")
+    @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String")
     @PostMapping(value = "/sendSms")
     public Object sendLoginVerifyCode(String mobile) throws Exception {
-        smsCodeService.sendValidCode(mobile);
-        return succeed();
-    }*/
+        throw new BizException("你所使用的不是最新版本,请更新后使用");
+    }
 
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),

+ 3 - 4
mec-application/src/main/java/com/ym/mec/web/controller/SmsCodeController.java

@@ -34,13 +34,12 @@ public class SmsCodeController extends BaseController {
     @Autowired
     private RedissonClient redissonClient;
 
-    /*@ApiOperation(value = "发送登录短信验证码")
+    @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String")
     @PostMapping(value = "/sendSms")
     public Object sendLoginVerifyCode(String mobile) throws Exception {
-        smsCodeService.sendValidCode(mobile);
-        return succeed();
-    }*/
+        throw new BizException("你所使用的不是最新版本,请更新后使用");
+    }
 
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),

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

@@ -386,7 +386,7 @@ fieldColumns = ["organName","studentName","studentId","courseType","surplusCours
 headColumns = ["分部","学员姓名","学员编号","课程类型","未排课时","当月新增课时"]
 fieldColumns = ["organName","studentName","studentId","courseType","noCourse","addCourse"]
 
-[平衡关系-乐团课剩余时长]
+[平衡关系-缴费项目课时明细]
 headColumns = ["分部","乐团名称","乐团编号","缴费批次号","缴费收费金额","学员编号","课堂课","综合课","基础技能课","线上基础技能课","合奏课","单技课","集训合奏课","集训单技课"]
 fieldColumns = ["organName","musicGroupName","musicGroupId","paymentBatchNo","paymentAmount","studentId","classroom","comprehensive","high","highOnline","mix","single","trainingMix","trainingSingle"]
 
@@ -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 = ["分部","乐团编号","乐团名称","学员编号","学员名称"]

+ 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("startMonth") String startMonth, @Param("endMonth") String endMonth, @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);

+ 4 - 1
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
@@ -131,7 +134,7 @@ public class ExportWrapper {
     }
 
     @Data
-    @ApiModel("平衡关系-乐团课剩余时长")
+    @ApiModel("平衡关系-缴费项目课时明细")
     public static class ExportBalancedRelationshipMusicSubCourse {
         @ApiModelProperty("分部")
         private String organName;

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

@@ -99,7 +99,7 @@ public enum ExportEnum implements BaseEnum<String, ExportEnum> {
     EXPORT_BALANCED_RELATIONSHIP_MUSIC_COURSE("EXPORT_MUSIC_GROUP_NO_COURSE","平衡关系-乐团课"),
     EXPORT_BALANCED_RELATIONSHIP_VIP_COURSE("EXPORT_BALANCED_RELATIONSHIP_VIP_COURSE","平衡关系-VIP已排课"),
     EXPORT_BALANCED_RELATIONSHIP_VIP_NO_COURSE("EXPORT_BALANCED_RELATIONSHIP_VIP_NO_COURSE","平衡关系-VIP未排课"),
-    EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE("EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE","平衡关系-乐团课剩余时长"),
+    EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE("EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE","平衡关系-缴费项目课时明细"),
     EXPORT_BALANCED_RELATIONSHIP_STUDENT_INFO("EXPORT_BALANCED_RELATIONSHIP_STUDENT_INFO","平衡关系-学员情况总表"),
     EXPORT_BALANCED_RELATIONSHIP_STUDENT_NORMAL_DETAIL("EXPORT_BALANCED_RELATIONSHIP_STUDENT_NORMAL_DETAIL","平衡关系(分表)-乐团在读学员"),
     EXPORT_BALANCED_RELATIONSHIP_STUDENT_QUIT_DETAIL("EXPORT_BALANCED_RELATIONSHIP_STUDENT_QUIT_DETAIL","平衡关系(分表)-乐团退团学员"),

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

@@ -37,7 +37,7 @@ public enum ExportTypeEnum implements BaseEnum<Integer, ExportTypeEnum> {
 	EXPORT_BALANCED_RELATIONSHIP_MUSIC_COURSE(30,"平衡关系-乐团课"),
 	EXPORT_BALANCED_RELATIONSHIP_VIP_COURSE(31,"平衡关系-VIP已排课"),
 	EXPORT_BALANCED_RELATIONSHIP_VIP_NO_COURSE(32,"平衡关系-VIP未排课"),
-	EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE(33,"平衡关系-乐团课剩余时长"),
+	EXPORT_BALANCED_RELATIONSHIP_MUSIC_SUB_COURSE(33,"平衡关系-缴费项目课时明细"),
 	EXPORT_BALANCED_RELATIONSHIP_STUDENT_INFO(34,"平衡关系-学员情况总表"),
 	EXPORT_BALANCED_RELATIONSHIP_STUDENT_NORMAL_DETAIL(35,"平衡关系(分表)-乐团在读学员"),
 	EXPORT_BALANCED_RELATIONSHIP_STUDENT_QUIT_DETAIL(36,"平衡关系(分表)-乐团退团学员"),

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

@@ -436,56 +436,64 @@ 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),
+        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(startMonth,endMonth,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());
     }

+ 43 - 16
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,26 +106,36 @@
         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"
             resultType="com.ym.mec.biz.dal.dto.ExportWrapper$ExportBalancedRelationshipMusicSubCourse">
         select o.name_ 'organName',mgpscd.music_group_id_ 'musicGroupId',mg.name_ 'musicGroupName',mgpc.batch_no_ 'paymentBatchNo',
-        spo.actual_amount_ + spo.coupon_remit_fee_ 'paymentAmount',mgpscd.user_id_ 'studentId',
-        CASE WHEN mgpscd.course_type_ = 'CLASSROOM' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'classroom'
-        ,CASE WHEN mgpscd.course_type_ = 'COMPREHENSIVE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'comprehensive'
-        ,CASE WHEN mgpscd.course_type_ = 'HIGH' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'high'
-        ,CASE WHEN mgpscd.course_type_ = 'HIGH_ONLINE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'highOnline'
-        ,CASE WHEN mgpscd.course_type_ = 'MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'mix'
-        ,CASE WHEN mgpscd.course_type_ = 'SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'single'
-        ,CASE WHEN mgpscd.course_type_ = 'TRAINING_MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'trainingMix'
-        ,CASE WHEN mgpscd.course_type_ = 'TRAINING_SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'trainingSingle'
+        spo.paymentAmount,mgpscd.user_id_ 'studentId',
+        SUM(CASE WHEN mgpscd.course_type_ = 'CLASSROOM' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'classroom'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'COMPREHENSIVE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'comprehensive'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'HIGH' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'high'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'HIGH_ONLINE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'highOnline'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'mix'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'single'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'TRAINING_MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'trainingMix'
+        ,SUM(CASE WHEN mgpscd.course_type_ = 'TRAINING_SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'trainingSingle'
         from music_group_payment_student_course_detail mgpscd
         left join music_group mg ON mg.id_ = mgpscd.music_group_id_
         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
+        left join (select user_id_,calender_id_,SUM(spo.actual_amount_ + spo.coupon_remit_fee_) paymentAmount from student_payment_order spo
+        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_ 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>
         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"
@@ -130,23 +146,31 @@
         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')
         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"
             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})
+        </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 +179,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>
 

+ 4 - 4
mec-common/common-core/src/main/java/com/ym/mec/common/redis/config/RedisConfig.java

@@ -18,7 +18,7 @@ import java.io.Serializable;
 @Configuration
 public class RedisConfig {
 
-	/*@Value("${spring.redis.host}")
+	@Value("${spring.redis.host}")
 	private String host;
 
 	@Value("${spring.redis.port}")
@@ -56,9 +56,9 @@ public class RedisConfig {
 		redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
 		redisTemplate.setConnectionFactory(jedisConnectionFactory());
 		return redisTemplate;
-	}*/
+	}
 
-	@Bean
+	/*@Bean
 	public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
 		// 定义redis模板
 		RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
@@ -72,6 +72,6 @@ public class RedisConfig {
 		redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
 		redisTemplate.afterPropertiesSet();
 		return redisTemplate;
-	}
+	}*/
 
 }