瀏覽代碼

分部调整

zouxuan 3 年之前
父節點
當前提交
a2218a3905

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationService.java

@@ -76,8 +76,9 @@ public interface OrganizationService extends BaseService<Integer, Organization>
 
     /**
     * @description: 获取员工能访问的分部列表
-     * @param userId
-     * @param organIds
+     * @param userId 当前用户
+     * @param organIds 用户选择的分部
+     * @param isSuper 是否超管
     * @return java.lang.String
     * @author zx
     * @date 2022/1/5 12:44

+ 13 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java

@@ -16,6 +16,7 @@ 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;
@@ -43,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;
@@ -243,13 +246,17 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 
 	@Override
 	public String getEmployeeOrgan(Integer userId, String organIds,Boolean isSuper) {
-		if(isSuper){
-			Map<String,Object> param = new HashMap<>();
+		if(StringUtils.isEmpty(organIds)){
 			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)){