|
@@ -59,6 +59,12 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
sysUser.setTenantId(tenantId);
|
|
|
SysUser user = sysUserDao.queryByPhone(sysUser.getPhone());
|
|
|
organ.setParentOrganId(queryUserInfo.getId());
|
|
|
+ organ.setLevel(currentOrganization.getLevel() + 1);
|
|
|
+ if(StringUtils.isEmpty(currentOrganization.getParentOrganIdTag())){
|
|
|
+ organ.setParentOrganIdTag(queryUserInfo.getId().toString());
|
|
|
+ }else {
|
|
|
+ organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + queryUserInfo.getId());
|
|
|
+ }
|
|
|
if(user != null && user.getId() != null){
|
|
|
Organization organization = organDao.get(user.getId());
|
|
|
if(organization == null){
|
|
@@ -68,7 +74,9 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
organ.setId(user.getId());
|
|
|
organDao.insert(organ);
|
|
|
//新增用户角色
|
|
|
- sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
|
|
|
+ if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
|
|
|
+ sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
|
|
|
+ }
|
|
|
user.setUserType(user.getUserType() + ",ORGAN");
|
|
|
user.setRealName(organ.getName());
|
|
|
user.setPhone(organ.getContactPhone());
|
|
@@ -87,11 +95,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
sysUser.setPhone(organ.getContactPhone());
|
|
|
sysUserDao.insert(sysUser);
|
|
|
|
|
|
- if(StringUtils.isEmpty(currentOrganization.getParentOrganIdTag())){
|
|
|
- organ.setParentOrganIdTag(queryUserInfo.getId().toString());
|
|
|
- }else {
|
|
|
- organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + queryUserInfo.getId());
|
|
|
- }
|
|
|
organ.setId(sysUser.getId());
|
|
|
organDao.insert(organ);
|
|
|
//新增用户角色
|
|
@@ -130,15 +133,37 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Integer> getSelfAndChildOrganIds(Integer organId) {
|
|
|
+ public List<Integer> getChildOrganIds(Integer organId, boolean includeSelf) {
|
|
|
Organization organization = organDao.get(organId);
|
|
|
if(Objects.isNull(organization)){
|
|
|
throw new BizException("当前声部不存在");
|
|
|
}
|
|
|
- List<Integer> selfAndChildOrganIds = organDao.getSelfAndChildOrganIds(organization.getLevel()<=0?organization.getId().toString():organization.getParentOrganIdTag());
|
|
|
+ StringBuffer parentOrganIdTag= new StringBuffer(Objects.isNull(organization.getParentOrganIdTag())?"":organization.getParentOrganIdTag());
|
|
|
+ parentOrganIdTag.append(",");
|
|
|
+ parentOrganIdTag.append(organization.getId());
|
|
|
+ List<Integer> selfAndChildOrganIds = organDao.getChildOrganIds(parentOrganIdTag.toString());
|
|
|
if(null == selfAndChildOrganIds){
|
|
|
selfAndChildOrganIds= Collections.EMPTY_LIST;
|
|
|
}
|
|
|
+ if(includeSelf){
|
|
|
+ selfAndChildOrganIds.add(organization.getId());
|
|
|
+ }
|
|
|
return selfAndChildOrganIds;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Integer> getNextLevelOrganIds(Integer organId, boolean includeSelf) {
|
|
|
+ Organization organization = organDao.get(organId);
|
|
|
+ if(Objects.isNull(organization)){
|
|
|
+ throw new BizException("当前声部不存在");
|
|
|
+ }
|
|
|
+ List<Integer> selfAndChildOrganIds = organDao.getNextLevelOrganIds(organization.getId());
|
|
|
+ if(null == selfAndChildOrganIds){
|
|
|
+ selfAndChildOrganIds= Collections.EMPTY_LIST;
|
|
|
+ }
|
|
|
+ if(includeSelf){
|
|
|
+ selfAndChildOrganIds.add(organization.getId());
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|