|
@@ -21,12 +21,14 @@ import com.ym.mec.common.dal.BaseDAO;
|
|
|
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.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATION;
|
|
@@ -43,8 +45,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
@Autowired
|
|
|
private EmployeeDao employeeDao;
|
|
|
@Autowired
|
|
|
- private ClassGroupDao classGroupDao;
|
|
|
- @Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
|
@Autowired
|
|
|
private SysEmployeePositionService employeePositionService;
|
|
@@ -101,56 +101,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int updateOrgan(Organization organization) {
|
|
|
- return organizationDao.update(initOrganization(organization));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Long add(Organization organization) {
|
|
|
- return organizationDao.insert(initOrganization(organization));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<String,Map<Integer,String>> getOrganRole(List<Integer> organIds) {
|
|
|
- List<Organization> organizationList = organizationDao.findOrgans(organIds);
|
|
|
- if(organizationList == null || organizationList.size() == 0){
|
|
|
- throw new BizException("分部信息不存在");
|
|
|
- }
|
|
|
- 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,Map<Integer,String>> resultMap = new HashMap<>(4);
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public String getEmployeeOrgan(Integer userId, String organIds,Boolean isSuper) {
|
|
|
if(StringUtils.isEmpty(organIds)){
|
|
|
Integer tenantId = TenantContextHolder.getTenantId();
|
|
@@ -205,14 +155,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
return organizationDao.getOrgans(organIds,tenantId);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public <T extends EducationBaseQueryInfo> T onlyEducationInitClassId(T queryInfo) {
|
|
|
- queryInfo = onlyEducation(queryInfo);
|
|
|
- if(queryInfo.getEducationUserId() != null){
|
|
|
- queryInfo.setClassGroupIds(classGroupDao.queryGroupClassGroupIds(queryInfo.getEducationUserId()));
|
|
|
- }
|
|
|
- return queryInfo;
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public <T extends EducationBaseQueryInfo> T onlyEducation(T queryInfo) {
|
|
@@ -228,30 +170,4 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
|
|
|
}
|
|
|
return queryInfo;
|
|
|
}
|
|
|
-
|
|
|
- private Map<Integer,String> getOrganManagerName(Map<Integer, String> nameMap, String organManager){
|
|
|
- Map<Integer,String> map = new HashMap<>();
|
|
|
- if(StringUtils.isNotEmpty(organManager)){
|
|
|
- List<Integer> organIds = Arrays.stream(organManager.split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
|
|
|
- for (Integer organId : organIds) {
|
|
|
- map.put(organId,nameMap.get(organId));
|
|
|
- }
|
|
|
- }
|
|
|
- return map;
|
|
|
- }
|
|
|
- private String getName(String userIds){
|
|
|
- if(StringUtils.isNotEmpty(userIds)){
|
|
|
- return teacherDao.queryTeacherNameByTeacherIds(userIds);
|
|
|
- }
|
|
|
- return "";
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private Organization initOrganization(Organization organization){
|
|
|
- organization.setOrganManagerName(getName(organization.getOrganManager()));
|
|
|
- organization.setEducationName(getName(organization.getEducationId()));
|
|
|
- organization.setRepairName(getName(organization.getRepairId()));
|
|
|
- organization.setJoinTeacherName(getName(organization.getJoinTeacherId()));
|
|
|
- return organization;
|
|
|
- }
|
|
|
}
|