فهرست منبع

1、课表预览增加教师名称搜索

Joburgess 5 سال پیش
والد
کامیت
e3c90bd0ea

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

@@ -223,5 +223,12 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      */
     List<Map<Integer, String>> queryUsernameByIds(@Param("userIds") List<Integer> userIds);
 
-
+    /**
+     * @describe 教师搜索
+     * @author Joburgess
+     * @date 2020/1/7
+     * @param params: 搜索参数
+     * @return java.util.List<com.ym.mec.biz.dal.entity.Teacher>
+     */
+    List<TeacherBasicDto> searchTeachers(Map<String, Object> params);
 }

+ 32 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/page/EndCourseScheduleQueryInfo.java

@@ -28,10 +28,16 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
     private Integer classGroupId;
 
     @ApiModelProperty(value = "学生编号")
-    private Integer studentId;
+    private String studentIdList;
+
+    @ApiModelProperty(value = "学生名称")
+    private String studentName;
 
     @ApiModelProperty(value = "教师编号")
-    private Integer teacherId;
+    private String teacherIdList;
+
+    @ApiModelProperty(value = "教师名称")
+    private String teacherName;
 
     @ApiModelProperty(value = "开始时间")
     private Date startTime;
@@ -48,6 +54,22 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "班级类型")
     private ClassGroupTypeEnum classGroupType;
 
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
     public ClassGroupTypeEnum getClassGroupType() {
         return classGroupType;
     }
@@ -96,20 +118,20 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
         this.organIdList = organIdList;
     }
 
-    public Integer getStudentId() {
-        return studentId;
+    public String getStudentIdList() {
+        return studentIdList;
     }
 
-    public void setStudentId(Integer studentId) {
-        this.studentId = studentId;
+    public void setStudentIdList(String studentIdList) {
+        this.studentIdList = studentIdList;
     }
 
-    public Integer getTeacherId() {
-        return teacherId;
+    public String getTeacherIdList() {
+        return teacherIdList;
     }
 
-    public void setTeacherId(Integer teacherId) {
-        this.teacherId = teacherId;
+    public void setTeacherIdList(String teacherIdList) {
+        this.teacherIdList = teacherIdList;
     }
 
     public GroupType getGroupType() {

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2174,6 +2174,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             }
         }
 
+        if(StringUtils.isNotBlank(queryInfo.getTeacherName())){
+            List<TeacherBasicDto> teachers = teacherDao.searchTeachers(params);
+            if(!CollectionUtils.isEmpty(teachers)){
+                List<Integer> teacherIds = teachers.stream().map(TeacherBasicDto::getId).collect(Collectors.toList());
+                params.put("teacherIdList",StringUtils.join(teacherIds.toArray(),","));
+            }
+        }
+
         List<CourseScheduleEndDto> results = new ArrayList<>();
         int count = courseScheduleDao.endCountCourseSchedules(params);
         if (count > 0) {

+ 6 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1881,6 +1881,9 @@
                     #{courseId}
                 </foreach>
             </if>
+            <if test="teacherIdList != null">
+                AND FIND_IN_SET(cs.actual_teacher_id_,#{teacherIdList})
+            </if>
             <if test="groupType != null">
                 AND cs.group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
@@ -1891,13 +1894,13 @@
                 AND cs.class_group_id_=#{classGroupId}
             </if>
             <if test="startTime!=null and endTime==null">
-                AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt; #{startTime}
+                AND cs.class_date_ &gt; DATE_FORMAT(#{startTime},"%Y-%m-%d")
             </if>
             <if test="startTime==null and endTime!=null">
-                AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &lt; #{endTime}
+                AND cs.class_date_ &lt; DATE_FORMAT(#{endTime},"%Y-%m-%d")
             </if>
             <if test="startTime!=null and endTime!=null">
-                AND CONCAT(cs.class_date_,' ',cs.start_class_time_) BETWEEN #{startTime} AND #{endTime}
+                AND cs.class_date_ BETWEEN DATE_FORMAT(#{startTime},"%Y-%m-%d") AND DATE_FORMAT(#{endTime},"%Y-%m-%d")
             </if>
             <if test="courseStatus!=null">
                 AND cs.status_ = #{courseStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}

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

@@ -601,4 +601,15 @@
             #{item}
         </foreach>
     </select>
+    <select id="searchTeachers" resultMap="TeacherBasicDto">
+        SELECT su.id_,su.username_,su.real_name_ FROM teacher t
+        LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE su.del_flag_ != 1
+        <if test="organId != null">
+            AND FIND_IN_SET(t.organ_id_,#{organId})
+        </if>
+        <if test="teacherName != null">
+            AND su.real_name_ LIKE CONCAT('%',#{teacherName},'%')
+        </if>
+    </select>
 </mapper>