Commit fb975d3d by qwmqiuwenmin

fix

parent 9078ddd0
......@@ -491,11 +491,66 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
@Override
public void initwxDepartment(String corpid, String suiteid, String wxEnterpriseId) {
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listDepartment(corpid, suiteid, null);
logger.info("企业所有部门数据:{}", JSON.toJSONString(list));
if(CollectionUtils.isNotEmpty(list)){
this.addAllDepartment(list, 0, wxEnterpriseId, corpid, suiteid);
com.gic.wechat.api.dto.qywx.DepartmentDTO rootDepartment = null;
for (com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO : list) {
if("0".equals(departmentDTO.getParentid())){
rootDepartment = departmentDTO;
break;
}
}
String parentId = addDepartment(rootDepartment, wxEnterpriseId, null,corpid,suiteid);
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> subList = new ArrayList<>();
for (com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO : list) {
if(rootDepartment.getId().equals(departmentDTO.getParentid())){
subList.add(departmentDTO);
}
}
DepartmentDTO parent = EntityUtil.changeEntityByJSON(DepartmentDTO.class,departmentService.selectById(parentId));
this.addSon(subList, wxEnterpriseId, parent,corpid,suiteid);
}
public void addSon(List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list ,String wxEnterpriseId,DepartmentDTO parent,String corpid, String suiteid){
for (com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO : list) {
String parentId = addDepartment(departmentDTO, wxEnterpriseId, parent,corpid,suiteid);
DepartmentDTO parent2 = EntityUtil.changeEntityByJSON(DepartmentDTO.class,departmentService.selectById(parentId));
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> subList2 = new ArrayList<>();
for (com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO2 : list) {
if(departmentDTO.getId().equals(departmentDTO2.getParentid())){
subList2.add(departmentDTO);
}
}
while(!subList2.isEmpty()){
addSon(subList2, wxEnterpriseId, parent2,corpid,suiteid);
}
}
}
private String addDepartment(com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO,String wxEnterpriseId,DepartmentDTO parent,String corpid,String suiteid ){
String parentId = "";
TabHaobanDepartment exist = this.departmentService.getByWxId(departmentDTO.getId() + "", wxEnterpriseId);
logger.info("分组是否存在:{}", JSON.toJSONString(exist));
if(exist == null){
com.gic.haoban.manage.api.dto.DepartmentDTO dto = new com.gic.haoban.manage.api.dto.DepartmentDTO();
dto.setDepartmentName(departmentDTO.getName());
dto.setLevel(parent.getLevel() + 1);
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setWxDepartmentId(departmentDTO.getId()+"");
dto.setParentDepartmentId(parent.getDepartmentId());
dto.setChainId(parent.getChainId() + Constant.ID_SEPARATOR + parent.getDepartmentId());
dto.setChainName(parent.getChainName() + Constant.NAME_SEPARATOR + parent.getDepartmentName());
dto.setSort(departmentDTO.getOrder());
dto.setIsStore(0);
parentId = this.departmentService.add(dto);
this.staffApiService.initWxUser(corpid, suiteid, wxEnterpriseId, departmentDTO.getId());
}else{
parentId = exist.getDepartmentId();
}
return parentId;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment