|
@@ -17,8 +17,6 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
@Service
|
|
|
public class MgrUserService {
|
|
@@ -196,15 +194,10 @@ public class MgrUserService {
|
|
|
if (this.isSupperAdmin(user)) {
|
|
|
return mgrOrganizationDao.listAll();
|
|
|
}
|
|
|
- List<Long> organizationIds = new ArrayList<>();
|
|
|
- List<MgrRole> roles = mgrRoleDao.getListByProject(-1);
|
|
|
- roles.forEach(ls -> organizationIds.add(ls.getOrganizationId()));
|
|
|
List<MgrUserRole> userRoleList = getUserRoles(user);
|
|
|
List<Long> ids = new LinkedList<Long>();
|
|
|
userRoleList.forEach(r ->ids.add(r.getOrganizationId()));
|
|
|
- // 取并集
|
|
|
- List<Long> union = Stream.concat(organizationIds.stream(), ids.stream()).distinct().collect(Collectors.toList());
|
|
|
- return mgrOrganizationDao.listByIds(union);
|
|
|
+ return mgrOrganizationDao.listByIds(ids);
|
|
|
}
|
|
|
|
|
|
public List<MgrUserRole> getUserRoles(MgrUser user){
|
|
@@ -405,6 +398,7 @@ public class MgrUserService {
|
|
|
throw new ServiceException("fail to get user", Constant.RET_NO_SPECIFIC_USER);
|
|
|
}
|
|
|
|
|
|
+ // WORKARK权限
|
|
|
List<MgrOrganization> workarkOrganizationList = getWorkarkOrganizationList(user);
|
|
|
MgrOrganization workarkCurrentOrganization = null;
|
|
|
if(user.getLastWorkarkOrganizationId() == -1) {
|
|
@@ -423,20 +417,13 @@ public class MgrUserService {
|
|
|
}
|
|
|
if(workarkCurrentUserRole!= null && workarkCurrentOrganization!=null && workarkCurrentUserRole.isAdmin()) {
|
|
|
MgrResource workarkDefaultResource = getWorkarkDefaultResource();
|
|
|
- if(workarkCurrentUserRole.getOrganizationId() == -1) {
|
|
|
+ if (workarkCurrentOrganization.getFacilitator() == 0) {
|
|
|
workarkCurrentUserRole.setWorkarkResources(workarkDefaultResource.getEnterpriseData());
|
|
|
workarkCurrentUserRole.setWorkarkMenus(workarkDefaultResource.getEnterpriseComment());
|
|
|
+ }
|
|
|
+ if (workarkCurrentOrganization.getFacilitator() == 1) {
|
|
|
workarkCurrentUserRole.setWorkarkResources(workarkDefaultResource.getProviderData());
|
|
|
workarkCurrentUserRole.setWorkarkMenus(workarkDefaultResource.getProviderComment());
|
|
|
- }else {
|
|
|
- if (workarkCurrentOrganization.getFacilitator() == 0) {
|
|
|
- workarkCurrentUserRole.setWorkarkResources(workarkDefaultResource.getEnterpriseData());
|
|
|
- workarkCurrentUserRole.setWorkarkMenus(workarkDefaultResource.getEnterpriseComment());
|
|
|
- }
|
|
|
- if (workarkCurrentOrganization.getFacilitator() == 1) {
|
|
|
- workarkCurrentUserRole.setWorkarkResources(workarkDefaultResource.getProviderData());
|
|
|
- workarkCurrentUserRole.setWorkarkMenus(workarkDefaultResource.getProviderComment());
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|