Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 years ago
parent
commit
a85cd44c8b

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentHasCourseDto.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+
 public class StudentHasCourseDto{
     private String organName;
 
@@ -13,6 +15,26 @@ public class StudentHasCourseDto{
 
     private Integer userId;
 
+    private YesOrNoEnum isActive;
+
+    private YesOrNoEnum isMake;
+
+    public YesOrNoEnum getIsActive() {
+        return isActive;
+    }
+
+    public void setIsActive(YesOrNoEnum isActive) {
+        this.isActive = isActive;
+    }
+
+    public YesOrNoEnum getIsMake() {
+        return isMake;
+    }
+
+    public void setIsMake(YesOrNoEnum isMake) {
+        this.isMake = isMake;
+    }
+
     public String getSubjectName() {
         return subjectName;
     }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -46,8 +46,18 @@ public class StudentManageListDto {
     
     private Boolean isActive;
 
+    private Boolean isMake;
+
     private Long hasCourse;
 
+    public Boolean getIsMake() {
+        return isMake;
+    }
+
+    public void setIsMake(Boolean make) {
+        isMake = make;
+    }
+
     public Long getHasCourse() {
         return hasCourse;
     }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java

@@ -134,7 +134,7 @@ public interface StudentManageService {
     List<StudentRegisterPerDto> queryStudentPer();
 
     /**
-     * 获取有课没有激活的列表
+     * 获取有课没有激活的列表(变更为所有有课学生)
      * @return
      */
     List<StudentHasCourseDto> queryHasCourseStudent(String organId);

+ 11 - 4
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -14,6 +14,7 @@
         <result property="currentGrade" column="current_grade_"/>
         <result property="currentClass" column="current_class_"/>
         <result property="isActive" column="isActive_"/>
+        <result property="isMake" column="isMake_"/>
         <!--<collection property="musicGroups" resultMap="musicGroup" javaType="list"/>-->
     </resultMap>
 
@@ -123,8 +124,10 @@
     <select id="findStudentsByOrganId" resultMap="studentManageListDto">
         SELECT su.id_ user_id_,su.username_,su.gender_,su.phone_ parents_phone_,su.real_name_,
         su.birthdate_,su.nation_,
-        CASE WHEN su.password_ IS NULL THEN 0 ELSE 1 END isActive_
+        CASE WHEN su.password_ IS NULL THEN 0 ELSE 1 END isActive_,
+        CASE WHEN pla.id_ IS NULL THEN 0 ELSE 1 END isMake_
         FROM sys_user su
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
         <include refid="findStudentsByOrganIdSql"/>
         ORDER BY su.create_time_ DESC
         <include refid="global.limit"/>
@@ -648,10 +651,13 @@
         <result property="organName" column="organ_name_"/>
         <result property="subjectName" column="music_group_subject_"/>
         <result property="userId" column="id_"/>
+        <result property="isActive" column="is_active_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result property="isMake" column="is_make_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
     <select id="queryHasCourseStudent" resultMap="StudentHasCourseDtoMap">
         SELECT su.id_,GROUP_CONCAT(DISTINCT su.username_) username_,GROUP_CONCAT(DISTINCT mg.name_) music_group_name_,
-        GROUP_CONCAT(DISTINCT vg.name_) vip_group_name_,GROUP_CONCAT(DISTINCT o.name_) organ_name_,GROUP_CONCAT(DISTINCT s.name_) music_group_subject_
+        GROUP_CONCAT(DISTINCT vg.name_) vip_group_name_,GROUP_CONCAT(DISTINCT o.name_) organ_name_,GROUP_CONCAT(DISTINCT s.name_) music_group_subject_,
+        IF(su.password_ IS NULL,0,1) is_active_,IF(pla.id_ IS NULL,0,1) is_make_
         FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON su.id_ = cssp.user_id_
         LEFT JOIN music_group mg ON cssp.music_group_id_ = mg.id_ AND cssp.group_type_ = 'MUSIC'
@@ -659,12 +665,13 @@
         LEFT JOIN organization o ON su.organ_id_ = o.id_
         LEFT JOIN student_registration sr ON su.id_ = sr.user_id_ AND cssp.music_group_id_ = sr.music_group_id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
-        WHERE cssp.id_ IS NOT NULL AND su.user_type_ LIKE '%STUDENT%' AND (sr.music_group_status_ != 'QUIT' OR sr.id_ IS NULL) AND su.password_ IS NULL
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
+        WHERE cssp.id_ IS NOT NULL AND su.user_type_ LIKE '%STUDENT%' AND (sr.music_group_status_ != 'QUIT' OR sr.id_ IS NULL)
         AND (mg.status_ = 'PROGRESS' OR vg.group_status_ IN (2,4))
         <if test="organId != null and organId != ''">
             AND FIND_IN_SET(su.organ_id_,#{organId})
         </if>
-        GROUP BY su.id_
+        GROUP BY su.id_,pla.id_
     </select>
     <select id="getHasCourse" resultType="java.lang.Long">
         SELECT COUNT(DISTINCT su.id_) FROM sys_user su

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

@@ -200,8 +200,8 @@ public class ExportController extends BaseController {
         Employee employee = employeeDao.get(sysUser.getId());
         List<StudentHasCourseDto> hasCourseDtos = studentManageService.queryHasCourseStudent(employee.getOrganIdList());
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "姓名", "分部", "所在乐团", "乐团所属声部", "所在vip课"}, new String[]{
-                    "userId", "userName", "organName", "musicGroupName", "subjectName", "vipGroupName"}, hasCourseDtos);
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "姓名", "分部", "所在乐团", "乐团所属声部", "所在vip课","是否激活","是否预约"}, new String[]{
+                    "userId", "userName", "organName", "musicGroupName", "subjectName", "vipGroupName","isActive.msg","isMake.msg"}, hasCourseDtos);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             response.flushBuffer();