|
@@ -1,11 +1,29 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATIONAL_TEACHER;
|
|
|
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.JOIN_TEACHER;
|
|
|
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.REPAIR;
|
|
|
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.SECTION_MANAGER;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.StringJoiner;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import com.ym.mec.biz.dal.entity.TenantInfo;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
|
|
|
-import com.ym.mec.biz.dal.dao.EmployeeDao;
|
|
|
-import com.ym.mec.biz.dal.dao.OrganizationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
+import com.ym.mec.biz.dal.dao.*;
|
|
|
import com.ym.mec.biz.dal.entity.Employee;
|
|
|
import com.ym.mec.biz.dal.entity.Organization;
|
|
|
import com.ym.mec.biz.dal.enums.FivePlusGradeEnum;
|
|
@@ -15,19 +33,10 @@ import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
|
|
|
import com.ym.mec.biz.dal.page.EducationBaseQueryInfo;
|
|
|
import com.ym.mec.biz.service.OrganizationService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
-import com.ym.mec.common.entity.Mapper;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.common.tenant.TenantContextHolder;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.*;
|
|
|
|
|
|
@Service
|
|
|
public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organization> implements OrganizationService {
|
|
@@ -35,6 +44,8 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Autowired
|
|
|
private OrganizationDao organizationDao;
|
|
|
@Autowired
|
|
|
+ private TenantInfoDao tenantInfoDao;
|
|
|
+ @Autowired
|
|
|
private TeacherDao teacherDao;
|
|
|
@Autowired
|
|
|
private EmployeeDao employeeDao;
|
|
@@ -72,22 +83,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
|
|
|
|
|
|
- private Organization getTree(Organization org){
|
|
|
- //得到根节点对象
|
|
|
- //获取子节点list
|
|
|
- List<Organization> byParentId = organizationDao.findByParentId(org.getId(), null);
|
|
|
- //如果存在子节点
|
|
|
- if(byParentId != null && byParentId.size() > 0) {
|
|
|
- //将子节点list放入父节点对象
|
|
|
- org.setOrganizations(byParentId);
|
|
|
- //遍历子节点....
|
|
|
- for (Organization organization : byParentId) {
|
|
|
- getTree(organization);
|
|
|
- }
|
|
|
- }
|
|
|
- return org;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public Map<Integer, String> getGradeList(Integer id) {
|
|
|
Organization organization = organizationDao.get(id);
|
|
@@ -252,18 +247,22 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Override
|
|
|
public String getEmployeeOrgan(Integer userId, String organIds,Boolean isSuper) {
|
|
|
if(StringUtils.isEmpty(organIds)){
|
|
|
- Employee employee = employeeDao.get(userId);
|
|
|
- organIds = employee.getOrganIdList();
|
|
|
- }
|
|
|
- if(StringUtils.isEmpty(organIds) && isSuper){
|
|
|
- Map<String,Object> param = new HashMap<>();
|
|
|
Integer tenantId = TenantContextHolder.getTenantId();
|
|
|
- param.put("tenantId",tenantId);
|
|
|
- List<Organization> all = this.findAll(param);
|
|
|
- if(all != null && all.size() > 0){
|
|
|
- organIds = StringUtils.join(all.stream().map(e->e.getId()).collect(Collectors.toSet()),",");
|
|
|
+ TenantInfo tenantInfo = tenantInfoDao.selectById(tenantId);
|
|
|
+ //如果是超管,或者是机构管理员,可以查看当前机构所有分部数据
|
|
|
+ if(isSuper || (tenantInfo.getUserId() != null && tenantInfo.getUserId().equals(userId))){
|
|
|
+ Map<String,Object> param = new HashMap<>();
|
|
|
+ param.put("tenantId",tenantId);
|
|
|
+ List<Organization> all = this.findAll(param);
|
|
|
+ if(all != null && all.size() > 0){
|
|
|
+ organIds = StringUtils.join(all.stream().map(e->e.getId()).collect(Collectors.toSet()),",");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ if(StringUtils.isEmpty(organIds)){
|
|
|
+ Employee employee = employeeDao.get(userId);
|
|
|
+ organIds = employee.getOrganIdList();
|
|
|
+ }
|
|
|
return organIds;
|
|
|
}
|
|
|
|
|
@@ -313,33 +312,19 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
return map;
|
|
|
}
|
|
|
-
|
|
|
- private String concatOrganManager(String... userIds){
|
|
|
- StringJoiner stringJoiner = new StringJoiner(",");
|
|
|
- for (String userId : userIds) {
|
|
|
- if(StringUtils.isNotEmpty(userId)){
|
|
|
- stringJoiner.add(userId);
|
|
|
- }
|
|
|
+ private String getName(String userIds){
|
|
|
+ if(StringUtils.isNotEmpty(userIds)){
|
|
|
+ return teacherDao.queryTeacherNameByTeacherIds(userIds);
|
|
|
}
|
|
|
- return stringJoiner.toString();
|
|
|
+ return "";
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private Organization initOrganization(Organization organization){
|
|
|
- if(StringUtils.isNotEmpty(organization.getOrganManager())){
|
|
|
- organization.setOrganManagerName(teacherDao.queryTeacherNameByTeacherIds(organization.getOrganManager()));
|
|
|
- }else {
|
|
|
- organization.setOrganManagerName("");
|
|
|
- }
|
|
|
- if(StringUtils.isNotEmpty(organization.getEducationId())){
|
|
|
- organization.setEducationName(teacherDao.queryTeacherNameByTeacherIds(organization.getEducationId()));
|
|
|
- }else {
|
|
|
- organization.setEducationName("");
|
|
|
- }
|
|
|
- if(StringUtils.isNotEmpty(organization.getRepairId())){
|
|
|
- organization.setRepairName(teacherDao.queryTeacherNameByTeacherIds(organization.getRepairId()));
|
|
|
- }else {
|
|
|
- organization.setRepairName("");
|
|
|
- }
|
|
|
+ organization.setOrganManagerName(getName(organization.getOrganManager()));
|
|
|
+ organization.setEducationName(getName(organization.getEducationId()));
|
|
|
+ organization.setRepairName(getName(organization.getRepairId()));
|
|
|
+ organization.setJoinTeacherName(getName(organization.getJoinTeacherId()));
|
|
|
return organization;
|
|
|
}
|
|
|
}
|