提交 bd4e1704 编写于 作者: sq3536's avatar sq3536

人员选择

上级 033740b3
package cn.ibizlab.core.extensions.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.sql.Timestamp;
@Data
public class EmpNode {
@JSONField(name = "id")
@JsonProperty("id")
private String userid;
@JSONField(name = "label")
@JsonProperty("label")
private String personname;
@JSONField(name = "code")
@JsonProperty("code")
private String usercode;
private String loginname;
private String domains;
private String username;
private String bcode;
private String mdeptid;
private String mdeptcode;
private String mdeptname;
private String postid;
private String postcode;
private String postname;
private String orgid;
private String orgcode;
private String orgname;
private String nickname;
private String sex;
private String certcode;
private String phone;
@JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
@JSONField(format="yyyy-MM-dd")
private Timestamp birthday;
private String email;
private String avatar;
private String addr;
public String getGroup()
{
return mdeptname;
}
}
package cn.ibizlab.core.extensions.mapping;
import cn.ibizlab.core.extensions.domain.EmpNode;
import cn.ibizlab.core.ou.domain.IBZEmployee;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.Mapper;
import org.mapstruct.NullValueCheckStrategy;
import org.mapstruct.NullValuePropertyMappingStrategy;
@Mapper(componentModel = "spring", uses = {},
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface IBZEmp2NodeMapping extends MappingBase<EmpNode, IBZEmployee>
{
}
package cn.ibizlab.core.extensions.service; package cn.ibizlab.core.extensions.service;
import cn.ibizlab.core.extensions.domain.DeptMap; import cn.ibizlab.core.extensions.domain.*;
import cn.ibizlab.core.extensions.domain.DeptNode;
import cn.ibizlab.core.extensions.domain.OrgMap;
import cn.ibizlab.core.extensions.domain.OrgNode;
import cn.ibizlab.core.extensions.mapping.IBZDept2NodeMapping; import cn.ibizlab.core.extensions.mapping.IBZDept2NodeMapping;
import cn.ibizlab.core.extensions.mapping.IBZEmp2NodeMapping;
import cn.ibizlab.core.extensions.mapping.IBZOrg2NodeMapping; import cn.ibizlab.core.extensions.mapping.IBZOrg2NodeMapping;
import cn.ibizlab.core.ou.domain.IBZDepartment; import cn.ibizlab.core.ou.domain.IBZDepartment;
import cn.ibizlab.core.ou.domain.IBZEmployee; import cn.ibizlab.core.ou.domain.IBZEmployee;
...@@ -282,4 +280,57 @@ public class OUCoreService ...@@ -282,4 +280,57 @@ public class OUCoreService
return node; return node;
} }
@Autowired
private IBZEmp2NodeMapping emp2NodeMapping;
public List<EmpNode> getEmpNode(String orgid)
{
List<EmpNode> listemp=new ArrayList<>();
List<String> list=new ArrayList<>();
if(StringUtils.isEmpty(orgid))
return listemp;
Map<String,DeptMap> store=ouModelService.getDeptModel(ouModelService.getOrgModel());
for(DeptMap map:store.values())
{
IBZDepartment dept=map.getDept();
if(StringUtils.isEmpty(dept.getParentdeptid())&&orgid.equals(dept.getOrgid()))
{
list.add(dept.getDeptid());
loopdept(dept.getDeptid(),store,list);
}
}
LinkedHashMap<String,List<EmpNode>> empmap=new LinkedHashMap<>();
for(String deptid:list)
{
empmap.put(deptid,new ArrayList<>());
}
for(EmpNode node:emp2NodeMapping.toDto(this.getEmpByOrg(orgid)))
{
if(empmap.containsKey(node.getMdeptid()))
empmap.get(node.getMdeptid()).add(node);
}
for(String deptid:list)
{
listemp.addAll(empmap.get(deptid));
}
return listemp;
}
private void loopdept(String node,Map<String,DeptMap> store,List<String> list)
{
Set<String> children=store.get(node).getChildren();
for(String child:children)
{
list.add(child);
loopdept(child,store,list);
}
}
} }
package cn.ibizlab.api.rest.extensions; package cn.ibizlab.api.rest.extensions;
import cn.ibizlab.core.extensions.domain.DeptMap; import cn.ibizlab.core.extensions.domain.*;
import cn.ibizlab.core.extensions.domain.DeptNode;
import cn.ibizlab.core.extensions.domain.OrgMap;
import cn.ibizlab.core.extensions.domain.OrgNode;
import cn.ibizlab.core.extensions.service.OUCoreService; import cn.ibizlab.core.extensions.service.OUCoreService;
import cn.ibizlab.core.ou.domain.IBZEmployee; import cn.ibizlab.core.ou.domain.IBZEmployee;
import cn.ibizlab.core.ou.service.IIBZEmployeeService; import cn.ibizlab.core.ou.service.IIBZEmployeeService;
...@@ -150,6 +147,14 @@ public class OUCoreResource ...@@ -150,6 +147,14 @@ public class OUCoreResource
} }
@GetMapping("/ibzorganizations/{orgId}/ibzemployees/picker")
public ResponseEntity<List<EmpNode>> getEmpPicker(@PathVariable("orgId") String orgId)
{
List<EmpNode> list=ouCoreService.getEmpNode(orgId);
return ResponseEntity.ok(list);
}
private Map<String, Set<String>> getMaps(String orgid,String deptid) private Map<String, Set<String>> getMaps(String orgid,String deptid)
{ {
Map<String, Set<String>> map=new LinkedHashMap<>(); Map<String, Set<String>> map=new LinkedHashMap<>();
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册