Browse Source

人员列表返回在职状态和禁用状态

lixing 4 years ago
parent
commit
d3a3c35111

+ 0 - 4
fm-person/src/main/java/com/persagy/fm/person/model/Person.java

@@ -67,10 +67,6 @@ public class Person extends AuditableEntity<Person> implements Serializable {
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String leader;
 
-    @ApiModelProperty(value = "是否是部门主管", hidden = true)
-    @TableField(exist = false)
-    private String isLeader;
-
     public static String PROP_NAME = "name";
     public static String PROP_USERNAME = "username";
     public static String PROP_ACCOUNT_ID = "account_id";

+ 6 - 0
fm-person/src/main/java/com/persagy/fm/person/model/vo/ResponsePersonListItemVO.java

@@ -68,6 +68,12 @@ public class ResponsePersonListItemVO {
     @ApiModelProperty("是否是部门主管")
     private String isLeader;
 
+    @ApiModelProperty("禁用状态")
+    private String enableState;
+
+    @ApiModelProperty("在职状态")
+    private String hiredState;
+
 //    public SimpleObjVO getPersonTypeVO() {
 //        return personTypeVO == null ? new SimpleObjVO() : personTypeVO;
 //    }

+ 26 - 2
fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonServiceImpl.java

@@ -817,7 +817,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
         List<Person> people = personMapper.queryPersonList(pageQueryPersonDTO);
         int total = personMapper.queryCount(pageQueryPersonDTO);
 
-        return packagePageResult(people, total);
+        return packagePageResult(people, total, pageQueryPersonDTO.getDepId());
     }
 
     /**
@@ -829,7 +829,20 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
      * @author lixing
      * @version V1.0 2021/4/14 5:51 下午
      */
-    private IPage<ResponsePersonListItemVO> packagePageResult(List<Person> people, int total) {
+    private IPage<ResponsePersonListItemVO> packagePageResult(List<Person> people, int total){
+        return packagePageResult(people, total, null);
+    }
+    /**
+     * 组装分页查询结果
+     *
+     * @param people 人员列表(单页)
+     * @param total  人员总数量
+     * @param depId  部门id,如果不根据部门id查询这里传null
+     * @return 分页结果
+     * @author lixing
+     * @version V1.0 2021/4/14 5:51 下午
+     */
+    private IPage<ResponsePersonListItemVO> packagePageResult(List<Person> people, int total, String depId) {
         List<String> accountIds = people.stream().map(Person::getAccountId).collect(Collectors.toList());
         Map<String, AccountRoleVO> accountRoleVoMap = saasAccountRoleService.
                 queryAccountRoleVoMapByAccountIdList(accountIds);
@@ -868,6 +881,17 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
             // 设置所属部门
             List<WorkResume> workResumes = workResumeService.queryWorkResumeListByPersonIdList(
                     Lists.newArrayList(responsePersonListItem.getId()));
+            if (StringUtils.isNotBlank(depId)) {
+                List<WorkResume> currentWorkResumes = workResumes.stream().filter(workResume -> depId.equals(workResume.getDepId())
+                        && responsePersonListItem.getId().equals(workResume.getPersonId())).
+                        collect(Collectors.toList());
+                if (!CollectionUtils.isEmpty(currentWorkResumes)) {
+                    WorkResume currentWorkResume = currentWorkResumes.get(0);
+                    responsePersonListItem.setIsLeader(currentWorkResume.getIsLeader());
+                    responsePersonListItem.setEnableState(currentWorkResume.getEnableState());
+                    responsePersonListItem.setHiredState(currentWorkResume.getHiredState());
+                }
+            }
             responsePersonListItem.setDeps(getDepSimpleObjVoList(workResumes));
         }