Explorar o código

增加订单导出接口

周箭河 %!s(int64=5) %!d(string=hai) anos
pai
achega
2f87bb064f

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SporadicChargeInfoDao.java

@@ -2,6 +2,10 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface SporadicChargeInfoDao extends BaseDAO<Integer, SporadicChargeInfo> {
+    SporadicChargeInfo findInfoById(@Param("id") Integer id);
 }

+ 15 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -264,17 +264,19 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      *
      * @return
      */
-    int updateUser(@Param("id") Integer id,@Param("realName") String realName, @Param("idCardNo") String idCardNo);
+    int updateUser(@Param("id") Integer id, @Param("realName") String realName, @Param("idCardNo") String idCardNo);
 
     /**
      * 获取乐团在读人数
+     *
      * @param musicGroupIds
      * @return
      */
-    List<Map<String,Integer>> countNormalNum(String musicGroupIds);
+    List<Map<String, Integer>> countNormalNum(String musicGroupIds);
 
     /**
      * 获取学员基本信息
+     *
      * @param mobile
      * @return
      */
@@ -282,12 +284,14 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 批量修改学生年级班级
+     *
      * @param studentRegistration
      */
     void updateCurrentClass(StudentRegistration studentRegistration);
 
     /**
      * 获取乐团学员购买方式
+     *
      * @param musicGroupId
      * @return
      */
@@ -295,7 +299,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 获取学员注册比例
+     *
      * @return
      */
     List<StudentRegisterPerDto> queryStudentPer();
+
+    /**
+     * 获取乐团报名信息和学校信息
+     * @param musicGroupId
+     * @param userId
+     * @return
+     */
+    StudentRegistration findStudentByMusicGroupIdAndUserId(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
 }

+ 316 - 304
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -13,308 +13,320 @@ import java.util.Map;
 
 public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 
-	/**
-	 * @describe 锁定指定vip课
-	 * @author Joburgess
-	 * @date 2019/10/21
-	 * @param vipGroupId: vip课编号
-	 * @return com.ym.mec.biz.dal.entity.VipGroup
-	 */
-	VipGroup getLockVipGroup(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/9
-	 * @params [organId]
-	 * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
-	 * @describe 根据部门获取
-	 */
-	List<VipGroup> findAllByOrgan(Map<String, Object> params);
-
-	int countVipGroupByOrgan(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/9
-	 * @params [params]
-	 * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupStudentDto>
-	 * @describe 获取小课学员
-	 */
-	List<VipGroupStudentDto> findVipGroupStudents(Map<String, Object> params);
-
-	/**
-	 * @describe 获取还有课程余额的学员
-	 * @author Joburgess
-	 * @date 2019/11/16
-	 * @param params:
-	 * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupStudentDto>
-	 */
-	List<VipGroupStudentDto> findHaveCourseBalanceStudents(Map<String, Object> params);
-	int countHaveCourseBalanceStudentNum(Map<String, Object> params);
-
-	int countVipGroupStudents(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/9
-	 * @params [params]
-	 * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupCourseSchduleRecordDto>
-	 * @describe 获取vip课教学记录
-	 */
-	List<VipGroupCourseSchduleRecordDto> findTeachingRecord(Map<String, Object> params);
-
-	int countTeachingRecord(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/9
-	 * @params [vipGroupId]
-	 * @return int
-	 * @describe 统计已结算课程数量
-	 */
-	int countIsSalaryNum(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/9
-	 * @params [vipGroupId]
-	 * @return int
-	 * @describe 统计被投诉课程数量
-	 */
-	int countComplaintsNum(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/9
-	 * @params [vipGroupId]
-	 * @return com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo
-	 * @describe 获取vip课的总课次及已上课次
-	 */
-	TeachingRecordBaseInfo getClassTimes(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [userID]
-	 * @return java.util.List<com.ym.mec.biz.dal.dto.StudentManageVipGroupDto>
-	 * @describe 获取对应学生vip课
-	 */
-	List<StudentManageVipGroupDto> findStudentVipGroups(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [params]
-	 * @return java.util.List<com.ym.mec.biz.dal.dto.StudentVipGroupShowListDto>
-	 * @describe 学生端获取vip课列表
-	 */
-	List<StudentVipGroupShowListDto> findVipGroups(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [params]
-	 * @return int
-	 * @describe 统计vip数
-	 */
-	int countVipGorups(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [vipGroupId]
-	 * @return com.ym.mec.biz.dal.dto.VipGroupManageDetailDto
-	 * @describe 获取小课详情
-	 */
-	VipGroupManageDetailDto getVipGroupBaseInfo(Long vipGroupId);
-
-	/**
-	 * @describe 获取vip课财务基本信息
-	 * @author Joburgess
-	 * @date 2019/11/5
-	 * @param vipGroupId: vip课编号
-	 * @return com.ym.mec.biz.dal.dto.VipGroupSalaryBaseInfo
-	 */
-	VipGroupSalaryBaseInfo getVipGroupSalaryInfo(@Param("vipGroupId") Long vipGroupId);
-
-	/**
-	 * @describe 统计学生缴费笔数
-	 * @author Joburgess
-	 * @date 2019/11/16
-	 * @param classGroupId: 班级编号
-	 * @return int
-	 */
-	int countStudentPaymentNum(@Param("classGroupId") Integer classGroupId);
-
-	BigDecimal countStudentPaymentFee(@Param("classGroupId") Integer classGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/11
-	 * @params [vipGroupId]
-	 * @return int
-	 * @describe 统计扣费笔数
-	 */
-	int countVipGroupDeductionNum(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [params]
-	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
-	 * @describe 获取小课考勤记录
-	 */
-	List<CourseSchedule> findVipGroupAttendances(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [params]
-	 * @return int
-	 * @describe 统计小课考勤记录数
-	 */
-	int countVipGroupAttendance(Map<String, Object> params);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [vipGroupId]
-	 * @return com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto
-	 * @describe 获取vip课详情
-	 */
-	StudentVipGroupDetailDto getVipGroupDetail(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [vipGroupId]
-	 * @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
-	 * @describe 统计剩余课时数
-	 */
-	List<Map<String, Integer>> countSurplusClassTimes(Long vipGroupId);
-
-	/**
-	 * @describe 统计vip课已上课程数量
-	 * @author Joburgess
-	 * @date 2019/10/21
-	 * @param vipGroupIds: vip课编号列表
-	 * @return java.util.List<java.util.Map<java.lang.Long,java.lang.Integer>>
-	 */
-	List<Map<Long, Integer>> countVipGroupOverCourse(List<String> vipGroupIds);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/12
-	 * @params [vipGroupId]
-	 * @return java.math.BigDecimal
-	 * @describe 统计学生vip课未上课时费用
-	 */
-	List<Map<Integer, BigDecimal>> countSurplusCourseFee(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/14
-	 * @params [teacherId]
-	 * @return int
-	 * @describe 统计老师开启的vip课数
-	 */
-	int countTeacherVipGroups(Long teacherId);
-
-	/**
-	 * 根据教师编号获取老师vip课数量
-	 * @param teacherId
-	 * @return
-	 */
-	int countTeacherVipClass(Integer teacherId);
-
-	/**
-	 * 根据教师编号获取老师vip课列表
-	 * @param params
-	 * @return
-	 */
-	List<TeacherVipClassInfoDto> getTeacherVipClass(Map<String, Object> params);
-
-	/**
-	 * 根据老师查询vip课教学点
-	 * @param userId
-	 * @return
-	 */
-	List<School> querySchoolByUserId(Integer userId);
-
-	/**
-	 * @describe 根据课程编号获取vip课
-	 * @author Joburgess
-	 * @date 2019/10/23
-	 * @param courseScheduleId: 课程编号
-	 * @return com.ym.mec.biz.dal.entity.VipGroup
-	 */
-	VipGroup findByCourseSchedule(Integer courseScheduleId);
-
-	/**
-	 * 查询vip课数目
-	 * @param organId
-	 * @return
-	 */
-	Map<String, Integer> queryVipGroupNum(@Param("organId") String organId);
-	
-	/**
-	 * 查询当月vip课数量
-	 * @param organId
-	 * @return
-	 */
-	Integer queryCurrentMonthCoursesNum(@Param("organId") String organId);
-
-	/**
-	 * @describe 获取报名已截至但是报名人数还未达到的vip课程
-	 * @author Joburgess
-	 * @date 2019/11/13
-	 * @param :
-	 * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
-	 */
-	List<VipGroup> findNoCreateSuccessVipGroup();
-
-
-	/**
-	 * count学员vip课程列表
-	 * @param params
-	 * @return
-	 */
-	int countStudentVipGroups(Map<String, Object> params);
-	
-	/**
-	 * 根编号列表查询对象
-	 * @param idList
-	 * @return
-	 */
-	List<VipGroup> queryByIds(String idList);
-
-	/**
-	 * 批量更新
-	 * @param vipGroupList
-	 * @return
-	 */
-	int batchUpdate(@Param("vipGroupList") List<VipGroup> vipGroupList);
-
-	/**
-	 * @describe
-	 * @author Joburgess
-	 * @date 2019/11/29
-	 * @param vipGroupId:
-	 * @return com.ym.mec.biz.dal.dto.VipBuyResultDto
-	 */
-	VipBuyResultDto getVipBuyResultInfo(@Param("vipGroupId") Integer vipGroupId);
-	
-	/**
-	 * 查询需要结束的对象列表
-	 * @return
-	 */
-	List<VipGroup> queryRequiredOverList();
-
-	/**
-	 * @describe 获取正常状态的vip课
-	 * @author Joburgess
-	 * @date 2019/12/3
-	 * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
-	 */
-	List<VipGroup> queryNormalStatusList();
+    /**
+     * @param vipGroupId: vip课编号
+     * @return com.ym.mec.biz.dal.entity.VipGroup
+     * @describe 锁定指定vip课
+     * @author Joburgess
+     * @date 2019/10/21
+     */
+    VipGroup getLockVipGroup(Long vipGroupId);
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [organId]
+     * @describe 根据部门获取
+     */
+    List<VipGroup> findAllByOrgan(Map<String, Object> params);
+
+    int countVipGroupByOrgan(Map<String, Object> params);
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupStudentDto>
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [params]
+     * @describe 获取小课学员
+     */
+    List<VipGroupStudentDto> findVipGroupStudents(Map<String, Object> params);
+
+    /**
+     * @param params:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupStudentDto>
+     * @describe 获取还有课程余额的学员
+     * @author Joburgess
+     * @date 2019/11/16
+     */
+    List<VipGroupStudentDto> findHaveCourseBalanceStudents(Map<String, Object> params);
+
+    int countHaveCourseBalanceStudentNum(Map<String, Object> params);
+
+    int countVipGroupStudents(Map<String, Object> params);
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupCourseSchduleRecordDto>
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [params]
+     * @describe 获取vip课教学记录
+     */
+    List<VipGroupCourseSchduleRecordDto> findTeachingRecord(Map<String, Object> params);
+
+    int countTeachingRecord(Map<String, Object> params);
+
+    /**
+     * @return int
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [vipGroupId]
+     * @describe 统计已结算课程数量
+     */
+    int countIsSalaryNum(Long vipGroupId);
+
+    /**
+     * @return int
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [vipGroupId]
+     * @describe 统计被投诉课程数量
+     */
+    int countComplaintsNum(Long vipGroupId);
+
+    /**
+     * @return com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo
+     * @Author: Joburgess
+     * @Date: 2019/10/9
+     * @params [vipGroupId]
+     * @describe 获取vip课的总课次及已上课次
+     */
+    TeachingRecordBaseInfo getClassTimes(Long vipGroupId);
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.dto.StudentManageVipGroupDto>
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [userID]
+     * @describe 获取对应学生vip课
+     */
+    List<StudentManageVipGroupDto> findStudentVipGroups(Map<String, Object> params);
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.dto.StudentVipGroupShowListDto>
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [params]
+     * @describe 学生端获取vip课列表
+     */
+    List<StudentVipGroupShowListDto> findVipGroups(Map<String, Object> params);
+
+    /**
+     * @return int
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [params]
+     * @describe 统计vip数
+     */
+    int countVipGorups(Map<String, Object> params);
+
+    /**
+     * @return com.ym.mec.biz.dal.dto.VipGroupManageDetailDto
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [vipGroupId]
+     * @describe 获取小课详情
+     */
+    VipGroupManageDetailDto getVipGroupBaseInfo(Long vipGroupId);
+
+    /**
+     * @param vipGroupId: vip课编号
+     * @return com.ym.mec.biz.dal.dto.VipGroupSalaryBaseInfo
+     * @describe 获取vip课财务基本信息
+     * @author Joburgess
+     * @date 2019/11/5
+     */
+    VipGroupSalaryBaseInfo getVipGroupSalaryInfo(@Param("vipGroupId") Long vipGroupId);
+
+    /**
+     * @param classGroupId: 班级编号
+     * @return int
+     * @describe 统计学生缴费笔数
+     * @author Joburgess
+     * @date 2019/11/16
+     */
+    int countStudentPaymentNum(@Param("classGroupId") Integer classGroupId);
+
+    BigDecimal countStudentPaymentFee(@Param("classGroupId") Integer classGroupId);
+
+    /**
+     * @return int
+     * @Author: Joburgess
+     * @Date: 2019/10/11
+     * @params [vipGroupId]
+     * @describe 统计扣费笔数
+     */
+    int countVipGroupDeductionNum(Long vipGroupId);
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [params]
+     * @describe 获取小课考勤记录
+     */
+    List<CourseSchedule> findVipGroupAttendances(Map<String, Object> params);
+
+    /**
+     * @return int
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [params]
+     * @describe 统计小课考勤记录数
+     */
+    int countVipGroupAttendance(Map<String, Object> params);
+
+    /**
+     * @return com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [vipGroupId]
+     * @describe 获取vip课详情
+     */
+    StudentVipGroupDetailDto getVipGroupDetail(Long vipGroupId);
+
+    /**
+     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Integer>>
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [vipGroupId]
+     * @describe 统计剩余课时数
+     */
+    List<Map<String, Integer>> countSurplusClassTimes(Long vipGroupId);
+
+    /**
+     * @param vipGroupIds: vip课编号列表
+     * @return java.util.List<java.util.Map < java.lang.Long, java.lang.Integer>>
+     * @describe 统计vip课已上课程数量
+     * @author Joburgess
+     * @date 2019/10/21
+     */
+    List<Map<Long, Integer>> countVipGroupOverCourse(List<String> vipGroupIds);
+
+    /**
+     * @return java.math.BigDecimal
+     * @Author: Joburgess
+     * @Date: 2019/10/12
+     * @params [vipGroupId]
+     * @describe 统计学生vip课未上课时费用
+     */
+    List<Map<Integer, BigDecimal>> countSurplusCourseFee(Long vipGroupId);
+
+    /**
+     * @return int
+     * @Author: Joburgess
+     * @Date: 2019/10/14
+     * @params [teacherId]
+     * @describe 统计老师开启的vip课数
+     */
+    int countTeacherVipGroups(Long teacherId);
+
+    /**
+     * 根据教师编号获取老师vip课数量
+     *
+     * @param teacherId
+     * @return
+     */
+    int countTeacherVipClass(Integer teacherId);
+
+    /**
+     * 根据教师编号获取老师vip课列表
+     *
+     * @param params
+     * @return
+     */
+    List<TeacherVipClassInfoDto> getTeacherVipClass(Map<String, Object> params);
+
+    /**
+     * 根据老师查询vip课教学点
+     *
+     * @param userId
+     * @return
+     */
+    List<School> querySchoolByUserId(Integer userId);
+
+    /**
+     * @param courseScheduleId: 课程编号
+     * @return com.ym.mec.biz.dal.entity.VipGroup
+     * @describe 根据课程编号获取vip课
+     * @author Joburgess
+     * @date 2019/10/23
+     */
+    VipGroup findByCourseSchedule(Integer courseScheduleId);
+
+    /**
+     * 查询vip课数目
+     *
+     * @param organId
+     * @return
+     */
+    Map<String, Integer> queryVipGroupNum(@Param("organId") String organId);
+
+    /**
+     * 查询当月vip课数量
+     *
+     * @param organId
+     * @return
+     */
+    Integer queryCurrentMonthCoursesNum(@Param("organId") String organId);
+
+    /**
+     * @param :
+     * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
+     * @describe 获取报名已截至但是报名人数还未达到的vip课程
+     * @author Joburgess
+     * @date 2019/11/13
+     */
+    List<VipGroup> findNoCreateSuccessVipGroup();
+
+
+    /**
+     * count学员vip课程列表
+     *
+     * @param params
+     * @return
+     */
+    int countStudentVipGroups(Map<String, Object> params);
+
+    /**
+     * 根编号列表查询对象
+     *
+     * @param idList
+     * @return
+     */
+    List<VipGroup> queryByIds(String idList);
+
+    /**
+     * 批量更新
+     *
+     * @param vipGroupList
+     * @return
+     */
+    int batchUpdate(@Param("vipGroupList") List<VipGroup> vipGroupList);
+
+    /**
+     * @param vipGroupId:
+     * @return com.ym.mec.biz.dal.dto.VipBuyResultDto
+     * @describe
+     * @author Joburgess
+     * @date 2019/11/29
+     */
+    VipBuyResultDto getVipBuyResultInfo(@Param("vipGroupId") Integer vipGroupId);
+
+    /**
+     * 查询需要结束的对象列表
+     *
+     * @return
+     */
+    List<VipGroup> queryRequiredOverList();
+
+    /**
+     * @return java.util.List<com.ym.mec.biz.dal.entity.VipGroup>
+     * @describe 获取正常状态的vip课
+     * @author Joburgess
+     * @date 2019/12/3
+     */
+    List<VipGroup> queryNormalStatusList();
+
+    VipGroup findVipGroupInfo(@Param("id") Integer id, @Param("classGroupId") Integer classGroupId);
 }

+ 50 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java

@@ -108,15 +108,25 @@ public class StudentPaymentOrder {
 	//零星费用
 	private BigDecimal sporadicAmount;
 
+	//零星费用类型
+	private String sporadicType;
+
 	//乐器费用
 	private BigDecimal musicalFee;
 
+	//租赁费用
+	private BigDecimal leaseFee;
+
 	//教辅费用
 	private BigDecimal teachingFee;
 
 	//手续费
 	private BigDecimal transferFee;
 
+	private String organName;
+	private String schoolName;
+	private String subjectName;
+
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -352,4 +362,44 @@ public class StudentPaymentOrder {
 	public void setTransferFee(BigDecimal transferFee) {
 		this.transferFee = transferFee;
 	}
+
+	public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public String getSchoolName() {
+		return schoolName;
+	}
+
+	public void setSchoolName(String schoolName) {
+		this.schoolName = schoolName;
+	}
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
+	public String getSporadicType() {
+		return sporadicType;
+	}
+
+	public void setSporadicType(String sporadicType) {
+		this.sporadicType = sporadicType;
+	}
+
+	public BigDecimal getLeaseFee() {
+		return leaseFee;
+	}
+
+	public void setLeaseFee(BigDecimal leaseFee) {
+		this.leaseFee = leaseFee;
+	}
 }

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRegistration.java

@@ -99,6 +99,12 @@ public class StudentRegistration {
     @ApiModelProperty(value = "是否是插班生0不是,1是", required = true)
     private int transferStudent;
 
+    private String organName;
+
+    private String schoolName;
+
+    private KitPurchaseMethodEnum KitType;
+
     public BigDecimal getBalance() {
         return balance;
     }
@@ -329,4 +335,28 @@ public class StudentRegistration {
     public void setTemporaryCourseFee(BigDecimal temporaryCourseFee) {
         this.temporaryCourseFee = temporaryCourseFee;
     }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getSchoolName() {
+        return schoolName;
+    }
+
+    public void setSchoolName(String schoolName) {
+        this.schoolName = schoolName;
+    }
+
+    public KitPurchaseMethodEnum getKitType() {
+        return KitType;
+    }
+
+    public void setKitType(KitPurchaseMethodEnum kitType) {
+        KitType = kitType;
+    }
 }

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroup.java

@@ -48,6 +48,12 @@ public class VipGroup {
 	/**  */
 	private java.util.Date updateTime;
 
+	private String organName;
+
+	private String schoolName;
+
+	private String subjectName;
+
 	/** 教学点 */
 	@ApiModelProperty(value = "教学点", required = false)
 	private Integer teacherSchoolId;
@@ -365,4 +371,27 @@ public class VipGroup {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
+	public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public String getSchoolName() {
+		return schoolName;
+	}
+
+	public void setSchoolName(String schoolName) {
+		this.schoolName = schoolName;
+	}
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
 }

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/SporadicChargeInfo.xml

@@ -14,6 +14,8 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="operator_id_" property="operatorId" />
 		<result column="del_flag_" property="delFlag" />
+		<result column="organ_name_" property="organName" />
+		<result column="organ_name_" property="organName" />
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -96,4 +98,8 @@
 		SELECT COUNT(id_) FROM sporadic_charge_info sci
 		<include refid="queryPageSql"/>
 	</select>
+	<select id="findInfoById" resultMap="SporadicChargeInfo">
+		SELECT sci.*,o.name_ organ_name_ FROM sporadic_charge_info sci
+		LEFT JOIN organization o on sci.organ_id_ = o.id_ WHERE sci.id_ = #{id}
+	</select>
 </mapper>

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -34,6 +34,10 @@
         <result column="temporary_course_fee_" property="temporaryCourseFee" />
         <result column="birthdate_" property="birthdate" />
         <result column="gender_" property="gender" />
+        <result column="organ_name_" property="organName" />
+        <result column="school_name_" property="schoolName" />
+        <result column="subject_name_" property="subjectName" />
+        <result column="kit_group_purchase_type_" property="kitType" />
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.StudentInfo" id="StudentInfo">
@@ -582,4 +586,14 @@
         UPDATE student_registration sr SET sr.current_grade_ = #{currentGrade},sr.current_class_ = #{currentClass},sr.update_time_ = NOW()
         WHERE sr.user_id_ = #{userId}
     </update>
+
+    <select id="findStudentByMusicGroupIdAndUserId" resultMap="StudentRegistration">
+        SELECT sr.*,o.name_ organ_name_,s.name_ school_name_,s2.name_ subject_name_,mgsp.kit_group_purchase_type_ kit_group_purchase_type_ FROM student_registration sr
+        LEFT JOIN music_group mg ON mg.id_ =sr.music_group_id_
+        LEFT JOIN school s on mg.school_id_ = s.id_
+        LEFT JOIN organization o on mg.organ_id_ = o.id_
+        LEFT JOIN subject s2 on sr.subject_id_ = s2.id_
+        LEFT JOIN music_group_subject_plan mgsp on mg.id_ = sr.subject_id_
+        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.user_id_ = #{userId} AND sr.music_group_status_ != 'QUIT' LIMIT 1
+    </select>
 </mapper>

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -37,6 +37,10 @@
         <result column="stop_reason_" property="stopReason"/>
         <result column="courses_start_date" property="courseStartDate"/>
         <result column="course_schedules_json_" property="courseSchedulesJson"/>
+
+        <result column="organ_name_" property="organName" />
+        <result column="school_name_" property="schoolName" />
+        <result column="subject_name_" property="subjectName" />
     </resultMap>
     
     <resultMap type="com.ym.mec.biz.dal.entity.School" id="School">
@@ -885,4 +889,13 @@
     <select id="queryNormalStatusList" resultMap="VipGroup">
         SELECT * FROM vip_group WHERE status_!=3 AND status_!=4
     </select>
+
+    <select id="findVipGroupInfo" resultMap="VipGroup">
+        SELECT vg.*,s.name_ subject_name_,o.name_ organ_name_,s2.name_ school_name_ FROM vip_group vg
+        LEFT JOIN class_group cg on vg.id_ = cg.music_group_id_
+        LEFT JOIN organization o on vg.organ_id_ = o.id_
+        LEFT JOIN subject s on cg.subject_id_list_ = s.id_
+        LEFT JOIN school s2 on vg.teacher_school_id_ = s2.id_
+        WHERE vg.id_ = #{id} AND cg.id_=#{classGroupId} AND cg.group_type_='VIP'
+    </select>
 </mapper>

+ 52 - 19
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -2,17 +2,14 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentHasCourseDto;
 import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
 import com.ym.mec.biz.dal.dto.musicalListDetailDto;
-import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.Goods;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.KitPurchaseMethodEnum;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleTeacherSalaryQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
@@ -61,6 +58,12 @@ public class ExportController extends BaseController {
     private StudentPaymentOrderService studentPaymentOrderService;
     @Autowired
     private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
+    @Autowired
+    private StudentRegistrationDao studentRegistrationDao;
+    @Autowired
+    private SporadicChargeInfoDao sporadicChargeInfoDao;
+    @Autowired
+    private VipGroupDao vipGroupDao;
 
     @ApiOperation(value = "导出学员是否有课")
     @PostMapping("export/studentHasCourse")
@@ -168,27 +171,21 @@ public class ExportController extends BaseController {
                 queryInfo.setOrganId(employee.getOrganIdList());
             }
         }
+        queryInfo.setRows(999999999);
 
         PageInfo<StudentPaymentOrder> studentPaymentOrderPageInfo = studentPaymentOrderService.queryPage(queryInfo);
 
+        long i = 1;
         for (StudentPaymentOrder row : studentPaymentOrderPageInfo.getRows()) {
-            BigDecimal balancePaymentAmount = row.getBalancePaymentAmount() == null ? BigDecimal.ZERO : row.getBalancePaymentAmount();
-            if (queryInfo.getOrderType().equals(1)) {
+            if (queryInfo.getOrderType().equals("1")) {
                 BigDecimal comAmount = row.getComAmount() == null ? BigDecimal.ZERO : row.getComAmount();
-                row.setExpectAmount(comAmount.add(balancePaymentAmount));
-                row.setActualAmount(comAmount.add(balancePaymentAmount));
+                row.setActualAmount(comAmount);
             }else {
                 BigDecimal perAmount = row.getPerAmount() == null ? BigDecimal.ZERO : row.getPerAmount();
-                row.setExpectAmount(perAmount.add(balancePaymentAmount));
-                row.setActualAmount(perAmount.add(balancePaymentAmount));
+                row.setActualAmount(perAmount);
             }
-            BigDecimal transferFee = (row.getActualAmount().subtract(balancePaymentAmount).multiply(new BigDecimal(0.28)).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal transferFee = (row.getActualAmount().multiply(new BigDecimal(0.28)).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP);
             row.setTransferFee(transferFee);
-            if(row.getGroupType().equals(GroupType.SPORADIC)){
-                row.setSporadicAmount(row.getActualAmount());
-                row.setExpectAmount(BigDecimal.ZERO);
-                row.setActualAmount(BigDecimal.ZERO);
-            }
             List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailDao.findApplyOrderGoods(row.getId());
             BigDecimal musicalFee = BigDecimal.ZERO;
             BigDecimal teachingFee = BigDecimal.ZERO;
@@ -203,14 +200,50 @@ public class ExportController extends BaseController {
             }
             row.setMusicalFee(musicalFee);
             row.setTeachingFee(teachingFee);
+            //专业
+            if(row.getGroupType().equals(GroupType.MUSIC)) {
+                StudentRegistration studentRegistration = studentRegistrationDao.findStudentByMusicGroupIdAndUserId(row.getMusicGroupId(),row.getUserId());
+                row.setSubjectName(studentRegistration.getSubjectName());
+                row.setOrganName(studentRegistration.getOrganName());
+                row.setSchoolName(studentRegistration.getSchoolName());
+                if(studentRegistration.getKitType()!= null && studentRegistration.getKitType().equals(KitPurchaseMethodEnum.LEASE)){
+                    row.setLeaseFee(musicalFee);
+                    row.setMusicalFee(BigDecimal.ZERO);
+                }
+            }else if (row.getGroupType().equals(GroupType.VIP)){
+                VipGroup vipGroupInfo = vipGroupDao.findVipGroupInfo(Integer.parseInt(row.getMusicGroupId()), row.getClassGroupId());
+                row.setOrganName(vipGroupInfo.getOrganName());
+                row.setSchoolName(vipGroupInfo.getSchoolName());
+                row.setSubjectName(vipGroupInfo.getSubjectName());
 
+            }else if(row.getGroupType().equals(GroupType.SPORADIC)){
+                SporadicChargeInfo sporadicChargeInfo = sporadicChargeInfoDao.findInfoById(Integer.parseInt(row.getMusicGroupId()));
+                row.setSporadicAmount(row.getActualAmount());
+                row.setMusicalFee(BigDecimal.ZERO);
+                row.setTeachingFee(BigDecimal.ZERO);
+                row.setTeachingFee(BigDecimal.ZERO);
+                if(sporadicChargeInfo.getChargeType().equals(1)){
+                    row.setSporadicType("考级");
+                }else if(sporadicChargeInfo.getChargeType().equals(2)){
+                    row.setSporadicType("缴费");
+                }else if(sporadicChargeInfo.getChargeType().equals(3)){
+                    row.setSporadicType("声部更改");
+                }else if(sporadicChargeInfo.getChargeType().equals(4)){
+                    row.setSporadicType("乐器更换");
+                }
+                row.setOrganName(sporadicChargeInfo.getOrganName());
+            }
+            String paymentChannel = row.getPaymentChannel().equals("YQPAY") ? "双乾" : "汇付";
+            row.setPaymentChannel(paymentChannel);
+            row.setId(i);
+            i++;
         }
 
         try {
             String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "支付金额", "到账时间",
             "关联乐团ID/VIP课ID","课程形态","押金","乐器","教辅费用","零星收款费用","零星收款类别","手续费","专业","分部","单位/学校","备注"};
             String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "actualAmount", "payTime", "musicGroupId",
-            "groupType","musicalFee","musicalFee","teachingFee","SporadicAmount","SporadicAmount","transferFee","groupType","groupType","groupType","memo"};
+            "groupType.desc","leaseFee","musicalFee","teachingFee","sporadicAmount","sporadicType","transferFee","subjectName","organName","schoolName","memo"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, studentPaymentOrderPageInfo.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");