|
@@ -1,33 +1,29 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
-import java.util.*;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
+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.dto.MapDto;
|
|
|
+import com.ym.mec.biz.dal.entity.Employee;
|
|
|
+import com.ym.mec.biz.dal.entity.Organization;
|
|
|
import com.ym.mec.biz.dal.enums.FivePlusGradeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.GradeTypeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.SixPlusGradeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
|
|
|
+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 com.ym.mec.util.json.JsonUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import com.ym.mec.biz.dal.dao.OrganizationDao;
|
|
|
-import com.ym.mec.biz.dal.entity.Organization;
|
|
|
-import com.ym.mec.biz.dal.page.OrganizationQueryInfo;
|
|
|
-import com.ym.mec.biz.service.OrganizationService;
|
|
|
-import com.ym.mec.common.dal.BaseDAO;
|
|
|
-import com.ym.mec.common.page.PageInfo;
|
|
|
-import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.*;
|
|
|
|
|
@@ -39,6 +35,8 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Autowired
|
|
|
private TeacherDao teacherDao;
|
|
|
@Autowired
|
|
|
+ private EmployeeDao employeeDao;
|
|
|
+ @Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
|
|
|
@Override
|
|
@@ -47,15 +45,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo<Organization> queryTreePage(OrganizationQueryInfo queryInfo){
|
|
|
- PageInfo<Organization> pageInfo = queryPage(queryInfo);
|
|
|
- for (Organization organization:pageInfo.getRows()) {
|
|
|
- organization = getTree(organization);
|
|
|
- }
|
|
|
- return pageInfo;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public List<Organization> queryEmployeeOrgan(Integer userId,String organId){
|
|
|
return organizationDao.queryEmployeeOrgan(userId,organId);
|
|
|
}
|
|
@@ -131,23 +120,41 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<String,List<Mapper>> getOrganRole(Integer id) {
|
|
|
- Organization organization = organizationDao.get(id);
|
|
|
- if(organization == null){
|
|
|
+ public Map<String,List<Mapper>> getOrganRole(List<Integer> organIds) {
|
|
|
+ List<Organization> organizationList = organizationDao.findOrgans(organIds);
|
|
|
+ if(organizationList == null || organizationList.size() == 0){
|
|
|
throw new BizException("分部信息不存在");
|
|
|
}
|
|
|
- String organManager = organization.getOrganManager();
|
|
|
- String repairId = organization.getRepairId();
|
|
|
- String educationId = organization.getEducationId();
|
|
|
- String joinTeacherId = organization.getJoinTeacherId();
|
|
|
- String organManagerUserIds = concatOrganManager(organManager, repairId, educationId, joinTeacherId);
|
|
|
+ StringJoiner organManager = new StringJoiner(",")
|
|
|
+ ,repairId = new StringJoiner(",")
|
|
|
+ ,educationId = new StringJoiner(",")
|
|
|
+ ,joinTeacherId = new StringJoiner(","),
|
|
|
+ userId = new StringJoiner(",");
|
|
|
+ for (Organization organization : organizationList) {
|
|
|
+ if(StringUtils.isNotEmpty(organization.getOrganManager())){
|
|
|
+ organManager.add(organization.getOrganManager());
|
|
|
+ userId.add(organization.getOrganManager());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(organization.getRepairId())){
|
|
|
+ repairId.add(organization.getRepairId());
|
|
|
+ userId.add(organization.getRepairId());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(organization.getEducationId())){
|
|
|
+ educationId.add(organization.getEducationId());
|
|
|
+ userId.add(organization.getEducationId());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(organization.getJoinTeacherId())){
|
|
|
+ joinTeacherId.add(organization.getJoinTeacherId());
|
|
|
+ userId.add(organization.getJoinTeacherId());
|
|
|
+ }
|
|
|
+ }
|
|
|
Map<String,List<Mapper>> resultMap = new HashMap<>(4);
|
|
|
- if(StringUtils.isNotEmpty(organManagerUserIds) && organManagerUserIds.length() > 0){
|
|
|
- Map<Integer, String> educationalTeacherNameMap = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(organManagerUserIds));
|
|
|
- resultMap.put("organManager",getOrganManagerName(educationalTeacherNameMap,organManager));
|
|
|
- resultMap.put("repairId",getOrganManagerName(educationalTeacherNameMap,repairId));
|
|
|
- resultMap.put("educationId",getOrganManagerName(educationalTeacherNameMap,educationId));
|
|
|
- resultMap.put("joinTeacherId",getOrganManagerName(educationalTeacherNameMap,joinTeacherId));
|
|
|
+ if(userId.length() > 0){
|
|
|
+ Map<Integer, String> educationalTeacherNameMap = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(userId.toString()));
|
|
|
+ resultMap.put("organManager",getOrganManagerName(educationalTeacherNameMap,organManager.toString()));
|
|
|
+ resultMap.put("repairId",getOrganManagerName(educationalTeacherNameMap,repairId.toString()));
|
|
|
+ resultMap.put("educationId",getOrganManagerName(educationalTeacherNameMap,educationId.toString()));
|
|
|
+ resultMap.put("joinTeacherId",getOrganManagerName(educationalTeacherNameMap,joinTeacherId.toString()));
|
|
|
}
|
|
|
return resultMap;
|
|
|
}
|
|
@@ -179,7 +186,25 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
return new HashSet<>();
|
|
|
}
|
|
|
|
|
|
- private List<Mapper> getOrganManagerName(Map<Integer, String> nameMap, String organManager){
|
|
|
+ @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()),",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return organIds;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<Mapper> getOrganManagerName(Map<Integer, String> nameMap, String organManager){
|
|
|
List<Mapper> mapperList = new ArrayList<>();
|
|
|
if(StringUtils.isNotEmpty(organManager)){
|
|
|
List<Integer> organIds = Arrays.stream(organManager.split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
|