lixing 4 роки тому
батько
коміт
0ff6fe59e4
19 змінених файлів з 148 додано та 46 видалено
  1. 8 3
      fm-person/src/main/java/com/persagy/fm/department/controller/DepartmentController.java
  2. 25 0
      fm-person/src/main/java/com/persagy/fm/department/model/vo/DepSimpleObjVO.java
  3. 1 1
      fm-person/src/main/java/com/persagy/fm/department/model/vo/ManagerVO.java
  4. 3 3
      fm-person/src/main/java/com/persagy/fm/department/model/vo/ResponseDepartmentItemVO.java
  5. 5 5
      fm-person/src/main/java/com/persagy/fm/department/service/IDepTranslator.java
  6. 2 1
      fm-person/src/main/java/com/persagy/fm/department/service/IDepartmentService.java
  7. 11 15
      fm-person/src/main/java/com/persagy/fm/department/service/impl/DepTranslatorImpl.java
  8. 3 2
      fm-person/src/main/java/com/persagy/fm/department/service/impl/DepartmentServiceImpl.java
  9. 2 1
      fm-person/src/main/java/com/persagy/fm/person/controller/PersonController.java
  10. 3 0
      fm-person/src/main/java/com/persagy/fm/person/model/dto/QueryPersonDetailDTO.java
  11. 8 1
      fm-person/src/main/java/com/persagy/fm/person/model/vo/ResponsePersonItemVO.java
  12. 11 0
      fm-person/src/main/java/com/persagy/fm/person/service/IPersonService.java
  13. 8 8
      fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonNameTranslator.java
  14. 20 3
      fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonServiceImpl.java
  15. 2 2
      fm-person/src/main/java/com/persagy/fm/department/model/vo/ProjectVO.java
  16. 1 0
      fm-person/src/main/java/com/persagy/fm/workresume/model/WorkResume.java
  17. 3 0
      fm-person/src/main/java/com/persagy/fm/workresume/model/dto/QueryWorkResumeDTO.java
  18. 10 0
      fm-person/src/main/java/com/persagy/fm/workresume/service/IWorkResumeService.java
  19. 22 1
      fm-person/src/main/java/com/persagy/fm/workresume/service/impl/WorkResumeServiceImpl.java

+ 8 - 3
fm-person/src/main/java/com/persagy/fm/department/controller/DepartmentController.java

@@ -21,6 +21,9 @@ import com.persagy.fm.depproject.service.IDepProjectService;
 import com.persagy.fm.saas.project.model.vo.ProjectTreeItemVO;
 import com.persagy.fm.translate.model.Trans;
 import com.persagy.fm.translate.model.TransType;
+import com.persagy.fm.workresume.model.WorkResume;
+import com.persagy.fm.workresume.model.dto.QueryWorkResumeDTO;
+import com.persagy.fm.workresume.service.IWorkResumeService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.assertj.core.util.Lists;
@@ -56,6 +59,8 @@ public class DepartmentController {
     private IDepProjectService depProjectService;
     @Autowired
     private IDepTranslator depTranslator;
+    @Autowired
+    private IWorkResumeService workResumeService;
 
     @ApiOperation(value = "创建部门")
     @PostMapping("/create")
@@ -67,14 +72,14 @@ public class DepartmentController {
 
     @ApiOperation(value = "部门详情")
     @PostMapping("/get")
-    @Trans(type = TransType.DB, source = "department", parameter = "parentId", target = "parentShowName")
+    @Trans(source = "department", parameter = "parentId", target = "parentShowName")
     public CommonResult<ResponseDepartmentItemVO> queryDepartmentDetail(
             @Valid @RequestBody QueryDepartmentDetailDTO queryDepartmentDetailDTO) {
         Department department = departmentService.queryDepartmentDetail(queryDepartmentDetailDTO.getId());
         ResponseDepartmentItemVO responseDepartmentItemVO = ConvertDepartmentTool.INSTANCE.convert2ResponseItemDTO(department);
         // 给部门负责人赋值
-        String managers = department.getManagers();
-        responseDepartmentItemVO.setManagers(depTranslator.getManagerVOList(managers));
+        List<String> managerIds = workResumeService.queryDepManagers(department.getId());
+        responseDepartmentItemVO.setManagers(depTranslator.getManagerVOList(managerIds));
         // 给项目赋值
         QueryDepProjectDTO queryDepProjectDTO = new QueryDepProjectDTO();
         queryDepProjectDTO.setDepId(department.getId());

+ 25 - 0
fm-person/src/main/java/com/persagy/fm/department/model/vo/DepSimpleObjVO.java

@@ -0,0 +1,25 @@
+package com.persagy.fm.department.model.vo;
+
+import com.persagy.fm.common.model.vo.SimpleObjVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * 类说明
+ *
+ * @author lixing
+ * @version V1.0 2021/4/2 4:55 下午
+ **/
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+public class DepSimpleObjVO extends SimpleObjVO {
+    private String fullPath;
+
+    public DepSimpleObjVO(String id, String name, String fullPath) {
+        this.setId(id);
+        this.setName(name);
+        this.setFullPath(fullPath);
+    }
+}

+ 1 - 1
fm-person/src/main/java/com/persagy/fm/department/model/vo/ManagerVO.java

@@ -14,5 +14,5 @@ import lombok.EqualsAndHashCode;
  **/
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class ManagerVO extends SimpleObjVO {
+public class ManagerSimpleObjVO extends SimpleObjVO {
 }

+ 3 - 3
fm-person/src/main/java/com/persagy/fm/department/model/vo/ResponseDepartmentItemVO.java

@@ -2,9 +2,9 @@ package com.persagy.fm.department.model.vo;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.persagy.fm.saas.project.model.vo.ProjectSimpleObjVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
 import lombok.Data;
 
 import java.util.Date;
@@ -40,7 +40,7 @@ public class ResponseDepartmentItemVO {
     private String resourceFrom;
 
     @ApiModelProperty("负责人列表")
-    private List<ManagerVO> managers;
+    private List<ManagerSimpleObjVO> managers;
 
     @ApiModelProperty("部门全路径")
     private String fullPath;
@@ -64,5 +64,5 @@ public class ResponseDepartmentItemVO {
     private Date modifiedTime;
 
     @ApiModelProperty(value="关联的项目")
-    private List<ProjectVO> projects;
+    private List<ProjectSimpleObjVO> projects;
 }

+ 5 - 5
fm-person/src/main/java/com/persagy/fm/department/service/IDepTranslator.java

@@ -1,7 +1,7 @@
 package com.persagy.fm.department.service;
 
-import com.persagy.fm.department.model.vo.ManagerVO;
-import com.persagy.fm.department.model.vo.ProjectVO;
+import com.persagy.fm.department.model.vo.ManagerSimpleObjVO;
+import com.persagy.fm.saas.project.model.vo.ProjectSimpleObjVO;
 
 import java.util.List;
 
@@ -15,12 +15,12 @@ public interface IDepTranslator {
     /**
      * 获取部门负责人vo对象列表
      *
-     * @param managers 部门负责人 id1,id2
+     * @param managerIds 部门负责人id列表
      * @return 部门负责人vo对象列表
      * @author lixing
      * @version V1.0 2021/3/29 11:27 上午
      */
-    List<ManagerVO> getManagerVOList(String managers);
+    List<ManagerSimpleObjVO> getManagerVOList(List<String> managerIds);
 
     /**
      * 获取项目vo列表
@@ -30,5 +30,5 @@ public interface IDepTranslator {
      * @author lixing
      * @version V1.0 2021/3/29 11:28 上午
      */
-    List<ProjectVO> getProjectVOList(List<String> projectIds);
+    List<ProjectSimpleObjVO> getProjectVOList(List<String> projectIds);
 }

+ 2 - 1
fm-person/src/main/java/com/persagy/fm/department/service/IDepartmentService.java

@@ -9,6 +9,7 @@ import com.persagy.fm.department.model.Department;
 import com.persagy.fm.department.model.dto.PageQueryDepartmentDTO;
 import com.persagy.fm.department.model.dto.QueryDepartmentDTO;
 import com.persagy.fm.department.model.dto.UpdateDepartmentDTO;
+import com.persagy.fm.department.model.vo.DepSimpleObjVO;
 
 /**
  * 部门(Department) service接口
@@ -142,5 +143,5 @@ public interface IDepartmentService {
      * @author lixing
      * @version V1.0 2021/4/1 6:06 下午
      */
-    List<SimpleObjVO> getDepInfoList(List<String> depIds);
+    List<DepSimpleObjVO> getDepInfoList(List<String> depIds);
 }

+ 11 - 15
fm-person/src/main/java/com/persagy/fm/department/service/impl/DepTranslatorImpl.java

@@ -1,8 +1,8 @@
 package com.persagy.fm.department.service.impl;
 
 import com.persagy.fm.common.response.FmResponseContent;
-import com.persagy.fm.department.model.vo.ManagerVO;
-import com.persagy.fm.department.model.vo.ProjectVO;
+import com.persagy.fm.department.model.vo.ManagerSimpleObjVO;
+import com.persagy.fm.saas.project.model.vo.ProjectSimpleObjVO;
 import com.persagy.fm.department.service.IDepTranslator;
 import com.persagy.fm.person.model.Person;
 import com.persagy.fm.person.service.IPersonService;
@@ -33,25 +33,21 @@ public class DepTranslatorImpl implements IDepTranslator {
     SaasProjectClient saasProjectClient;
 
     @Override
-    public List<ManagerVO> getManagerVOList(String managers) {
-        String separator = ",";
-        if (StringUtils.isBlank(managers)) {
+    public List<ManagerSimpleObjVO> getManagerVOList(List<String> managerIds) {
+        if (CollectionUtils.isEmpty(managerIds)) {
             return Lists.newArrayList();
         }
-        String[] managersArr = managers.split(separator);
-        List<String> managerIdList = Lists.newArrayList();
-        managerIdList.addAll(Arrays.asList(managersArr));
-        List<Person> people = personService.queryByIds(managerIdList);
+        List<Person> people = personService.queryByIds(managerIds);
         return people.stream().map(person -> {
-            ManagerVO managerVO = new ManagerVO();
-            managerVO.setId(person.getId().toString());
-            managerVO.setName(person.getName());
-            return managerVO;
+            ManagerSimpleObjVO managerSimpleObjVO = new ManagerSimpleObjVO();
+            managerSimpleObjVO.setId(person.getId().toString());
+            managerSimpleObjVO.setName(person.getName());
+            return managerSimpleObjVO;
         }).collect(Collectors.toList());
     }
 
     @Override
-    public List<ProjectVO> getProjectVOList(List<String> projectIds) {
+    public List<ProjectSimpleObjVO> getProjectVOList(List<String> projectIds) {
         if (CollectionUtils.isEmpty(projectIds)) {
             return Lists.newArrayList();
         }
@@ -61,7 +57,7 @@ public class DepTranslatorImpl implements IDepTranslator {
         FmResponseContent<List<SaasProject>> listFmResponseContent = saasProjectClient.queryProjectList(querySaasProjectDTO);
         List<SaasProject> saasProjects = listFmResponseContent.getContent();
         return saasProjects.stream().map(saasProject -> {
-            ProjectVO projectVO = new ProjectVO();
+            ProjectSimpleObjVO projectVO = new ProjectSimpleObjVO();
             projectVO.setId(saasProject.getProjectId());
             projectVO.setName(saasProject.getProjectName());
             return projectVO;

+ 3 - 2
fm-person/src/main/java/com/persagy/fm/department/service/impl/DepartmentServiceImpl.java

@@ -23,6 +23,7 @@ import com.persagy.fm.department.model.dto.AddDepartmentDTO;
 import com.persagy.fm.department.model.dto.PageQueryDepartmentDTO;
 import com.persagy.fm.department.model.dto.QueryDepartmentDTO;
 import com.persagy.fm.department.model.dto.UpdateDepartmentDTO;
+import com.persagy.fm.department.model.vo.DepSimpleObjVO;
 import com.persagy.fm.department.service.IDepartmentService;
 import com.persagy.fm.depproject.model.dto.AddDepProjectDTO;
 import com.persagy.fm.depproject.service.IDepProjectService;
@@ -411,7 +412,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
     }
 
     @Override
-    public List<SimpleObjVO> getDepInfoList(List<String> depIds) {
+    public List<DepSimpleObjVO> getDepInfoList(List<String> depIds) {
         QueryWrapper<Department> departmentQueryWrapper = new QueryWrapper<>();
         departmentQueryWrapper.eq(Department.PROP_VALID, ValidEnum.TRUE.getType());
         departmentQueryWrapper.in(Department.PROP_ID, depIds);
@@ -420,7 +421,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
             return Lists.newArrayList();
         } else {
             return depList.stream().map(
-                    dep -> new SimpleObjVO(dep.getId(), dep.getName())
+                    dep -> new DepSimpleObjVO(dep.getId(), dep.getName(), dep.getFullPath())
             ).collect(Collectors.toList());
         }
     }

+ 2 - 1
fm-person/src/main/java/com/persagy/fm/person/controller/PersonController.java

@@ -52,7 +52,8 @@ public class PersonController {
     @PostMapping("/get")
     public CommonResult<ResponsePersonItemVO> queryPersonDetail(
             @Valid @RequestBody QueryPersonDetailDTO queryPersonDetailDTO) {
-        ResponsePersonItemVO responsePersonItemVO = personService.queryPersonDetail(queryPersonDetailDTO.getId());
+        ResponsePersonItemVO responsePersonItemVO = personService.queryPersonDetail(
+                queryPersonDetailDTO.getId(), queryPersonDetailDTO.getDepId());
         return ResultHelper.single(responsePersonItemVO);
     }
 

+ 3 - 0
fm-person/src/main/java/com/persagy/fm/person/model/dto/QueryPersonDetailDTO.java

@@ -17,4 +17,7 @@ public class QueryPersonDetailDTO {
     @ApiModelProperty(value = "id", required = true)
     private String id;
 
+    @ApiModelProperty(value = "depId")
+    private String depId;
+
 }

+ 8 - 1
fm-person/src/main/java/com/persagy/fm/person/model/vo/ResponsePersonItemVO.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.persagy.fm.common.model.vo.SimpleObjVO;
+import com.persagy.fm.department.model.vo.DepSimpleObjVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -68,7 +69,7 @@ public class ResponsePersonItemVO {
     private List<Long> depIds;
 
     @ApiModelProperty(value = "所属部门")
-    private List<SimpleObjVO> deps;
+    private List<DepSimpleObjVO> deps;
 
     @ApiModelProperty(value = "关联的项目id")
     @JsonIgnore
@@ -121,4 +122,10 @@ public class ResponsePersonItemVO {
     @ApiModelProperty("更新时间")
     private Date modifiedTime;
 
+    @ApiModelProperty("在职状态")
+    private String hiredState;
+
+    @ApiModelProperty("启用状态")
+    private String enableState;
+
 }

+ 11 - 0
fm-person/src/main/java/com/persagy/fm/person/service/IPersonService.java

@@ -57,6 +57,17 @@ public interface IPersonService {
     ResponsePersonItemVO queryPersonDetail(String id);
 
     /**
+     * 人员详情
+     *
+     * @param id 人员主键
+     * @param depId 部门主键
+     * @return 人员do对象
+     * @author lixing
+     * @version V1.0 2021-03-15 17:20:31
+     */
+    ResponsePersonItemVO queryPersonDetail(String id, String depId);
+
+    /**
      * 通过主键数组查询人员
      *
      * @param ids 主键List

+ 8 - 8
fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonNameTranslator.java

@@ -1,6 +1,6 @@
 package com.persagy.fm.person.service.impl;
 
-import com.persagy.fm.department.model.vo.ManagerVO;
+import com.persagy.fm.department.model.vo.ManagerSimpleObjVO;
 import com.persagy.fm.person.model.Person;
 import com.persagy.fm.person.service.IPersonService;
 import com.persagy.fm.translate.service.ITranslator;
@@ -68,15 +68,15 @@ public class PersonNameTranslator implements ITranslator {
         Map<String, Object> resultMap = new HashMap<>(16);
         for (String para : parameter) {
             String[] ids = StringUtils.split(para, ",");
-            List<ManagerVO> managerVOList = Lists.newArrayList();
+            List<ManagerSimpleObjVO> managerSimpleObjVOList = Lists.newArrayList();
             for (String id : ids) {
-                ManagerVO managerVO = new ManagerVO();
-                managerVO.setId(id);
-                managerVO.setName(idMap.get(id).toString());
-                managerVOList.add(managerVO);
+                ManagerSimpleObjVO managerSimpleObjVO = new ManagerSimpleObjVO();
+                managerSimpleObjVO.setId(id);
+                managerSimpleObjVO.setName(idMap.get(id).toString());
+                managerSimpleObjVOList.add(managerSimpleObjVO);
             }
-            Map<String, List<ManagerVO>> showNameMap = new HashMap<>(1);
-            showNameMap.put("name", managerVOList);
+            Map<String, List<ManagerSimpleObjVO>> showNameMap = new HashMap<>(1);
+            showNameMap.put("name", managerSimpleObjVOList);
             resultMap.put(para, showNameMap);
         }
         return resultMap;

+ 20 - 3
fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonServiceImpl.java

@@ -9,6 +9,7 @@ import com.persagy.fm.common.constant.enums.ValidEnum;
 import com.persagy.fm.common.context.DefaultAppContext;
 import com.persagy.fm.common.model.vo.SimpleObjVO;
 import com.persagy.fm.common.response.FmResponseContent;
+import com.persagy.fm.department.model.vo.DepSimpleObjVO;
 import com.persagy.fm.department.service.IDepartmentService;
 import com.persagy.fm.person.constant.enums.CertificateTypeEnum;
 import com.persagy.fm.person.constant.enums.PersonTypeEnum;
@@ -581,6 +582,10 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
 
     @Override
     public ResponsePersonItemVO queryPersonDetail(String id) {
+        return queryPersonDetail(id, null);
+    }
+    @Override
+    public ResponsePersonItemVO queryPersonDetail(String id, String depId) {
         Person person = queryPersonProfile(id);
         // 设置人员的基本信息
         ResponsePersonItemVO responsePersonItemVO = ConvertPersonTool.INSTANCE.convert2ResponseItemDTO(person);
@@ -616,8 +621,20 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
 
         // 设置所属部门 
         List<WorkResume> workResumes = workResumeService.queryWorkResumeListByPersonIdList(Lists.newArrayList(id));
-        responsePersonItemVO.setDeps(getDepVoList(workResumes));
-
+        responsePersonItemVO.setDeps(getDepSimpleObjVoList(workResumes));
+
+        if (StringUtils.isNotBlank(depId)) {
+            // 设置人员的在职状态和启用状态
+            List<WorkResume> currentDepWorkResumes = workResumes.stream().filter(
+                    workResume -> depId.equals(workResume.getDepId())
+            ).collect(Collectors.toList());
+            if (!CollectionUtils.isEmpty(currentDepWorkResumes)) {
+                WorkResume currentWorkResume = currentDepWorkResumes.get(0);
+                responsePersonItemVO.setHiredState(currentWorkResume.getHiredState());
+                responsePersonItemVO.setEnableState(currentWorkResume.getEnableState());
+            }
+        }
+        
         return responsePersonItemVO;
     }
 
@@ -629,7 +646,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
      * @author lixing
      * @version V1.0 2021/4/1 6:00 下午
      */
-    private List<SimpleObjVO> getDepVoList(List<WorkResume> workResumes) {
+    private List<DepSimpleObjVO> getDepSimpleObjVoList(List<WorkResume> workResumes) {
         if (CollectionUtils.isEmpty(workResumes)){
             return Lists.newArrayList();
         }

+ 2 - 2
fm-person/src/main/java/com/persagy/fm/department/model/vo/ProjectVO.java

@@ -1,4 +1,4 @@
-package com.persagy.fm.department.model.vo;
+package com.persagy.fm.saas.project.model.vo;
 
 import com.persagy.fm.common.model.vo.SimpleObjVO;
 import lombok.Data;
@@ -12,5 +12,5 @@ import lombok.EqualsAndHashCode;
  **/
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class ProjectVO extends SimpleObjVO {
+public class ProjectSimpleObjVO extends SimpleObjVO {
 }

+ 1 - 0
fm-person/src/main/java/com/persagy/fm/workresume/model/WorkResume.java

@@ -47,5 +47,6 @@ public class WorkResume extends AuditableEntity<WorkResume> implements Serializa
     public static String PROP_ENABLE_STATE = "enable_state";
     public static String PROP_HIRED_DATE = "hired_date";
     public static String PROP_DEPARTURE_DATE = "departure_date";
+    public static String PROP_IS_LEADER = "is_leader";
 
 }

+ 3 - 0
fm-person/src/main/java/com/persagy/fm/workresume/model/dto/QueryWorkResumeDTO.java

@@ -35,4 +35,7 @@ public class QueryWorkResumeDTO {
     @ApiModelProperty(value = "离职时间")
     private Date departureDate;
 
+    @ApiModelProperty(value = "是否是部门主管")
+    private String isLeader;
+
 }

+ 10 - 0
fm-person/src/main/java/com/persagy/fm/workresume/service/IWorkResumeService.java

@@ -104,4 +104,14 @@ public interface IWorkResumeService {
      * @version V1.0 2021/3/31 5:32 下午
      */
     void changeWorkResumeEnableStateByPersonId(String personId, String workResumeEnableState);
+
+    /**
+     * 获取部门的负责人
+     *
+     * @param depId 部门id
+     * @return 部门的负责人id列表
+     * @author lixing
+     * @version V1.0 2021/4/2 6:01 下午
+     */
+    List<String> queryDepManagers(String depId);
 }

+ 22 - 1
fm-person/src/main/java/com/persagy/fm/workresume/service/impl/WorkResumeServiceImpl.java

@@ -2,6 +2,7 @@ package com.persagy.fm.workresume.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.persagy.fm.common.constant.enums.BoolEnum;
 import com.persagy.fm.common.constant.enums.ValidEnum;
 import com.persagy.fm.common.context.DefaultAppContext;
 import com.persagy.fm.workresume.constant.enums.WorkResumeEnableStateEnum;
@@ -13,12 +14,14 @@ import com.persagy.fm.workresume.model.dto.AddWorkResumeDTO;
 import com.persagy.fm.workresume.model.dto.QueryWorkResumeDTO;
 import com.persagy.fm.workresume.model.dto.UpdateWorkResumeDTO;
 import com.persagy.fm.workresume.service.IWorkResumeService;
+import org.assertj.core.util.Lists;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 工作信息(WorkResume) service层
@@ -163,6 +166,10 @@ public class WorkResumeServiceImpl extends ServiceImpl<WorkResumeMapper, WorkRes
                 queryWrapper.eq(WorkResume.PROP_DEP_ID, queryWorkResumeDTO.getDepId());
             }
 
+            if (!StringUtils.isEmpty(queryWorkResumeDTO.getIsLeader())) {
+                queryWrapper.eq(WorkResume.PROP_IS_LEADER, queryWorkResumeDTO.getIsLeader());
+            }
+
             if (!StringUtils.isEmpty(queryWorkResumeDTO.getHiredState())) {
                 queryWrapper.eq(WorkResume.PROP_HIRED_STATE, queryWorkResumeDTO.getHiredState());
             }
@@ -227,5 +234,19 @@ public class WorkResumeServiceImpl extends ServiceImpl<WorkResumeMapper, WorkRes
         updateBatchById(workResumes);
     }
 
-
+    @Override
+    public List<String> queryDepManagers(String depId) {
+        if (StringUtils.isEmpty(depId)) {
+            throw new IllegalArgumentException("查询部门负责人,部门id不能为空");
+        }
+        QueryWorkResumeDTO queryWorkResumeDTO = new QueryWorkResumeDTO();
+        queryWorkResumeDTO.setDepId(depId);
+        queryWorkResumeDTO.setIsLeader(BoolEnum.TRUE.getType());
+        List<WorkResume> workResumes = queryWorkResumeList(queryWorkResumeDTO);
+        List<String> managerIds = Lists.newArrayList();
+        if (!CollectionUtils.isEmpty(workResumes)) {
+            managerIds = workResumes.stream().map(WorkResume::getPersonId).collect(Collectors.toList());
+        }
+        return managerIds;
+    }
 }