zouxuan преди 5 години
родител
ревизия
e2e8acbc14

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -232,4 +232,13 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return java.util.List<com.ym.mec.biz.dal.entity.Teacher>
      */
     List<TeacherBasicDto> searchTeachers(Map<String, Object> params);
+
+    /**
+     * 获取教师列表
+     * @param params
+     * @return
+     */
+    int countTeacherName(Map<String, Object> params);
+
+    List<Teacher> queryPageName(Map<String, Object> params);
 }

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherNameQueryInfo.java

@@ -0,0 +1,48 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class TeacherNameQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "教师编号",required = true)
+    private Integer teacherId;
+
+    private String organId;
+
+    private String subjectIds;
+
+    private String jobNature;
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public String getSubjectIds() {
+        return subjectIds;
+    }
+
+    public void setSubjectIds(String subjectIds) {
+        this.subjectIds = subjectIds;
+    }
+
+    public String getJobNature() {
+        return jobNature;
+    }
+
+    public void setJobNature(String jobNature) {
+        this.jobNature = jobNature;
+    }
+}

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -136,4 +136,11 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     List<Teacher> findTeacherByOrganId(String organId,String subjectIds,String jobNature);
+
+    /**
+     * 分页获取教师列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<Teacher> queryPageName(TeacherNameQueryInfo queryInfo);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -332,6 +332,26 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
+	public PageInfo<Teacher> queryPageName(TeacherNameQueryInfo queryInfo) {
+		PageInfo<Teacher> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<Teacher> dataList = null;
+		int count = teacherDao.countTeacherName(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = teacherDao.queryPageName(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
 	public List<BasicUserDto> queryMusicGroupTeacher(String musicGroupId) {
 		if(Objects.isNull(musicGroupId)){
 			throw new BizException("请指定乐团");

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

@@ -617,4 +617,34 @@
             AND su.real_name_ LIKE CONCAT('%',#{teacherName},'%')
         </if>
     </select>
+    <select id="countTeacherName" resultType="java.lang.Integer">
+        SELECT COUNT(su.id_) FROM teacher t
+        LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE su.del_flag_ != 1
+        <include refid="queryPageNameSql"/>
+    </select>
+    <sql id="queryPageNameSql">
+        <if test="organId != null">
+            AND FIND_IN_SET(t.organ_id_,#{organId})
+        </if>
+        <if test="subjectIds != null">
+            AND INTE_ARRAY(t.subject_id_,#{subjectIds})
+        </if>
+        <if test="jobNature != null">
+            AND t.job_nature_ = #{jobNature}
+        </if>
+        <if test="teacherId != null">
+            AND t.id_ = #{teacherId}
+        </if>
+        <if test="search != null">
+            AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+        </if>
+    </sql>
+    <select id="queryPageName" resultMap="TeacherBasicDto">
+        SELECT su.id_,su.real_name_ FROM teacher t
+        LEFT JOIN sys_user su ON t.id_ = su.id_
+        WHERE su.del_flag_ != 1
+        <include refid="queryPageNameSql"/>
+        <include refid="global.limit"/>
+    </select>
 </mapper>

+ 24 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -141,6 +141,30 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.findTeacherByOrganId(organId,subjectIds,jobNature));
     }
 
+    @ApiOperation(value = "分页获取教师名称编号列表")
+    @GetMapping("/queryNameList")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryNameList')")
+    public HttpResponseResult queryPageName(TeacherNameQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+                return failed("用户所在分部异常");
+            }else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                    return failed("非法请求");
+                }
+            }
+        }
+        return succeed(teacherService.queryPageName(queryInfo));
+    }
+
     @ApiOperation(value = "获取乐团所有老师")
     @GetMapping("/findMusicGroupTeachers")
     @PreAuthorize("@pcs.hasPermissions('teacher/findMusicGroupTeachers')")