Browse Source

增加获取所有维修技师接口

周箭河 4 years ago
parent
commit
e4c7f2b8dd

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

@@ -166,4 +166,13 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
      * @param employeeLevelDtos
      */
     void employeeLevel(@Param("employeeLevelDtos") List<EmployeeLevelDto> employeeLevelDtos);
+
+    /**
+     * @param roleIds:  角色编号列表
+     * @param organIds: 部门编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
+     * @describe 根据角色和用户查找用户(包含离职和冻结的)
+     */
+    List<SimpleUserDto> findAllByRole(@Param("roleIds") String roleIds,
+                                   @Param("organIds") String organIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java

@@ -83,4 +83,14 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
      * @param employeeLevelDtos
      */
     void level(List<EmployeeLevelDto> employeeLevelDtos);
+
+    /**
+     * @describe 根据角色和部门获取用户(包含冻结和离职的)
+     * @author Joburgess
+     * @date 2020/3/12
+     * @param roleIds: 角色编号列表
+     * @param organIds: 用户编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
+     */
+    List<SimpleUserDto> findAllByRole(String roleIds,String organIds);
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -283,4 +283,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		//冻结用户
 		employeeDao.updateUserLock(levelUserId,1);
 	}
+
+	@Override
+	public List<SimpleUserDto> findAllByRole(String roleIds, String organIds) {
+		return employeeDao.findAllByRole(roleIds,organIds);
+	}
 }

+ 15 - 0
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -346,4 +346,19 @@
             </if>
         </foreach>
     </update>
+
+    <select id="findAllByRole" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
+        SELECT DISTINCT su.id_ userId,
+        su.real_name_ userName,
+        su.avatar_ avatar,
+        e.organ_id_list_ organIds
+        FROM
+        sys_user su
+        LEFT JOIN sys_user_role sur ON su.id_ = sur.user_id_
+        LEFT JOIN employee e ON e.user_id_ = su.id_
+        WHERE FIND_IN_SET(sur.role_id_, #{roleIds})
+        <if test="organIds!=null and organIds!=''">
+            AND INTE_ARRAY(e.organ_id_list_,#{organIds})
+        </if>
+    </select>
 </mapper>

+ 19 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -4,6 +4,7 @@ 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.dto.EmployeeLevelDto;
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
@@ -223,4 +224,22 @@ public class EmployeeController extends BaseController {
         employeeService.level(employeeLevelDtos);
         return succeed();
     }
+
+    @ApiOperation(value = "获取所有维修技师(包含离职和冻结的)")
+    @GetMapping("/findAllTechnician")
+    @PreAuthorize("@pcs.hasPermissions('employee/findAllTechnician')")
+    public HttpResponseResult<List<SimpleUserDto>> findAllTechnician(){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        String organIds = new String();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeService.get(sysUser.getId());
+            if (StringUtils.isEmpty(organIds)) {
+                organIds=employee.getOrganIdList();
+            }
+        }
+        return succeed(employeeService.findAllByRole("37",organIds));
+    }
 }