zouxuan 5 年之前
父節點
當前提交
6dff0d4616

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -30,8 +30,18 @@ public class StudentManageQueryInfo extends QueryInfo {
     
     private Boolean isActive;
 
+    private Boolean isMake;
+
     private Boolean hasCourse;
 
+    public Boolean getIsMake() {
+        return isMake;
+    }
+
+    public void setIsMake(Boolean make) {
+        isMake = make;
+    }
+
     public List<Integer> getUserIds() {
         return userIds;
     }

+ 25 - 2
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -147,6 +147,12 @@
             <if test="isActive != null and isActive == false">
                 AND su.password_ is null
             </if>
+            <if test="isMake != null and isMake == true">
+                AND pla.id_ IS NOT NULL
+            </if>
+            <if test="isMake != null and isMake == false">
+                AND pla.id_ IS NULL
+            </if>
             <if test="userIds != null">
                 AND su.id_ IN
                 <foreach collection="userIds" open="(" close=")" separator="," item="item">
@@ -160,6 +166,7 @@
         SELECT COUNT(DISTINCT su.id_)
         FROM sys_user su
         LEFT JOIN student_registration sr ON su.id_ = sr.user_id_
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
         WHERE su.user_type_ LIKE '%STUDENT%'
         <include refid="queryHasCourseSql"/>
     </select>
@@ -572,16 +579,23 @@
             AND (su.phone_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.id_ LIKE CONCAT('%',#{search},'%'))
         </if>
         <if test="isActive != null and isActive == true">
-            and su.password_ is not null
+            AND su.password_ IS NOT NULL
         </if>
         <if test="isActive != null and isActive == false">
-            and su.password_ is null
+            AND su.password_ IS NULL
+        </if>
+        <if test="isMake != null and isMake == true">
+            AND pla.id_ IS NOT NULL
+        </if>
+        <if test="isMake != null and isMake == false">
+            AND pla.id_ IS NULL
         </if>
     </sql>
     <select id="queryHasCourse" resultType="java.lang.Integer">
         SELECT su.id_ FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = su.id_
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
         WHERE su.user_type_ LIKE '%STUDENT%' AND cs.status_ != 'OVER'
         <include refid="queryHasCourseSql"/>
         GROUP BY su.id_
@@ -592,6 +606,7 @@
         SELECT COUNT(DISTINCT su.id_) FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = su.id_
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
         WHERE su.user_type_ LIKE '%STUDENT%' AND cs.status_ != 'OVER'
         <include refid="queryHasCourseSql"/>
     </select>
@@ -599,6 +614,7 @@
         SELECT su.id_ FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = su.id_
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.status_ != 'OVER'
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
         <include refid="queryNotCourseSql"/>
         GROUP BY su.id_
         HAVING COUNT(cs.id_) = 0
@@ -609,6 +625,7 @@
         SELECT COUNT(e.id_) FROM (SELECT su.id_ FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = su.id_
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.status_ != 'OVER'
+        LEFT JOIN practice_lesson_apply pla ON su.id_ = pla.user_id_
         <include refid="queryNotCourseSql"/>
         GROUP BY su.id_
         HAVING COUNT(cs.id_) = 0)e
@@ -628,6 +645,12 @@
             <if test="isActive != null and isActive == false">
                 and su.password_ is null
             </if>
+            <if test="isMake != null and isMake == true">
+                and pla.id_ IS NOT NULL
+            </if>
+            <if test="isMake != null and isMake == false">
+                and pla.id_ IS NULL
+            </if>
         </where>
     </sql>
     <select id="queryStudentHasCourse" resultType="java.util.Map">

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -241,7 +241,7 @@
             </foreach>
         </if>
         <if test="search != null">
-            AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+            AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR t.id_ = #{search})
         </if>
     </sql>