Selaa lähdekoodia

获取当前员工的上级领导

jzh 1 vuosi sitten
vanhempi
commit
f3af703618

+ 5 - 5
zjugis-business/src/main/java/com/zjugis/business/flow/contractRenew/event/ContractRenewEvent.java

@@ -252,19 +252,19 @@ public class ContractRenewEvent extends BaseController {
 
 
     /**
-     * 转到分管领导
+     * 转到下级领导
      */
-    @PostMapping("/to-dept-manager-leader")
+    @PostMapping("/to-leader")
     public String toDeptManagerLeader(String flowInstanceId) {
         try {
             if (StringUtils.isNotBlank(flowInstanceId)) {
                 ContractRenewDO entity = contractRenewService.findByInstanceId(flowInstanceId);
                 List<Map<String, String>> userMaps = new ArrayList<>();
                 if (StringUtils.isNotBlank(entity.getDeptId())) {
-                    AdminUserRespDTO deptLeaderRespDTO = adminUserApi.getUserLeader(entity.getUserId()).getCheckedData();
-                    if (deptLeaderRespDTO != null && StringUtils.isNotBlank(deptLeaderRespDTO.getId())) {
+                    AdminUserRespDTO dept = adminUserApi.getNextLeader(entity.getUserId()).getCheckedData();
+                    if (dept != null && StringUtils.isNotBlank(dept.getId())) {
                         HashMap<String, String> map = new HashMap<>();
-                        map.put("id", deptLeaderRespDTO.getId());
+                        map.put("id", dept.getId());
                         userMaps.add(map);
                     }
                 }

+ 4 - 1
zjugis-module-system/zjugis-module-system-api/src/main/java/com/zjugis/module/system/api/user/AdminUserApi.java

@@ -148,6 +148,9 @@ public interface AdminUserApi {
     CommonResult<Boolean> closeUser(@RequestParam("userId") String userId);
 
 
-
+    @GetMapping(PREFIX + "/getNextLeader")
+    @Operation(summary = "通过用户 ID 获取上一级领导")
+    @Parameter(name = "id", description = "用户编号", example = "1", required = true)
+    CommonResult<AdminUserRespDTO> getNextLeader(@RequestParam("id") String id);
 
 }

+ 6 - 0
zjugis-module-system/zjugis-module-system-biz/src/main/java/com/zjugis/module/system/api/user/AdminUserApiImpl.java

@@ -163,4 +163,10 @@ public class AdminUserApiImpl implements AdminUserApi {
         return success(true);
     }
 
+    @Override
+    public CommonResult<AdminUserRespDTO> getNextLeader(String id) {
+        AdminUserDO user = userService.getNextLeader(id);
+        return success(UserConvert.INSTANCE.convert4(user));
+    }
+
 }

+ 8 - 0
zjugis-module-system/zjugis-module-system-biz/src/main/java/com/zjugis/module/system/service/user/AdminUserService.java

@@ -288,4 +288,12 @@ public interface AdminUserService {
      * @param attendanceFlag
      */
     void updateUserAttendanceFlag(String id, Boolean attendanceFlag);
+
+    /**
+     * 根据用户ID获取领导
+     *
+     * @param id
+     * @return
+     */
+    AdminUserDO getNextLeader(String id);
 }

+ 12 - 0
zjugis-module-system/zjugis-module-system-biz/src/main/java/com/zjugis/module/system/service/user/AdminUserServiceImpl.java

@@ -636,6 +636,18 @@ public class AdminUserServiceImpl implements AdminUserService {
         userMapper.updateById(updateObj);
     }
 
+    @Override
+    public AdminUserDO getNextLeader(String id) {
+        AdminUserDO adminUserDO = userMapper.selectById(id);
+        DeptDO dept = deptService.getDept(adminUserDO.getDeptId());
+        if(dept.getLeaderUserId().equals(id)){
+            DeptLeaderDO deptLeader = deptLeaderService.getDeptLeaderByDeptId(dept.getId());
+            return userMapper.selectById(deptLeader.getUserId());
+        }else {
+            return userMapper.selectById(dept.getLeaderUserId());
+        }
+    }
+
     /**
      * 对密码进行加密
      *