小组多角色保存微调,小组成员列表获取处理多角色显示问题
This commit is contained in:
parent
b364c72041
commit
01ac0da1f6
Binary file not shown.
@ -2,6 +2,9 @@ package com.actionsoft.apps.coe.pal.cooperation.dto;
|
|||||||
|
|
||||||
import org.apache.xpath.operations.Bool;
|
import org.apache.xpath.operations.Bool;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 小组成员
|
* @Description 小组成员
|
||||||
* @Created by sunlh
|
* @Created by sunlh
|
||||||
@ -21,6 +24,8 @@ public class CooperationManageListTeamMemberDto {
|
|||||||
private String roleId;
|
private String roleId;
|
||||||
private String roleName;
|
private String roleName;
|
||||||
private int roleType;
|
private int roleType;
|
||||||
|
private List<Integer> roleTypes = new ArrayList<>();
|
||||||
|
private List<String> roleIds = new ArrayList<>();
|
||||||
|
|
||||||
public CooperationManageListTeamMemberDto() {
|
public CooperationManageListTeamMemberDto() {
|
||||||
}
|
}
|
||||||
@ -97,8 +102,26 @@ public class CooperationManageListTeamMemberDto {
|
|||||||
this.roleName = roleName;
|
this.roleName = roleName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addRoleName(String roleName) {
|
||||||
|
this.roleName = this.roleName == null ? roleName : this.roleName + ","+ roleName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Integer> getRoleTypes() {
|
||||||
|
return roleTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoleTypes(List<Integer> roleTypes) {
|
||||||
|
this.roleTypes = roleTypes;
|
||||||
|
}
|
||||||
|
|
||||||
public int getRoleType() {
|
public int getRoleType() {
|
||||||
return roleType;
|
int num = 3;
|
||||||
|
for (Integer roleType : this.roleTypes) {
|
||||||
|
if (num > roleType){
|
||||||
|
num = roleType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRoleType(int roleType) {
|
public void setRoleType(int roleType) {
|
||||||
@ -113,4 +136,11 @@ public class CooperationManageListTeamMemberDto {
|
|||||||
this.close = close;
|
this.close = close;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getRoleIds() {
|
||||||
|
return roleIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoleIds(List<String> roleIds) {
|
||||||
|
this.roleIds = roleIds;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -582,11 +582,16 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
|
|
||||||
Map<String, CoeCooperationRoleModel> roleMap = new HashMap<>();
|
Map<String, CoeCooperationRoleModel> roleMap = new HashMap<>();
|
||||||
|
|
||||||
|
Map<String,CooperationManageListTeamMemberDto> userMap = new HashMap<>();
|
||||||
List<CoeCooperationMemberModel> members = api.queryCooperationTeamMemberList(teamId);
|
List<CoeCooperationMemberModel> members = api.queryCooperationTeamMemberList(teamId);
|
||||||
for (CoeCooperationMemberModel member : members) {
|
for (CoeCooperationMemberModel member : members) {
|
||||||
UserModel user = SDK.getORGAPI().getUser(member.getUserId());
|
UserModel user = SDK.getORGAPI().getUser(member.getUserId());
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
CooperationManageListTeamMemberDto dto = new CooperationManageListTeamMemberDto();
|
CooperationManageListTeamMemberDto dto = userMap.get(user.getUID());
|
||||||
|
if (null == dto){
|
||||||
|
dto = new CooperationManageListTeamMemberDto();
|
||||||
|
}
|
||||||
|
|
||||||
dto.setUserName(user.getUserName());
|
dto.setUserName(user.getUserName());
|
||||||
dto.setClose(user.isClosed());
|
dto.setClose(user.isClosed());
|
||||||
dto.setEmail(user.getEmail());
|
dto.setEmail(user.getEmail());
|
||||||
@ -595,20 +600,23 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
dto.setTeamId(teamId);
|
dto.setTeamId(teamId);
|
||||||
dto.setTeamName(team.getTeamName());
|
dto.setTeamName(team.getTeamName());
|
||||||
dto.setUserId(member.getUserId());
|
dto.setUserId(member.getUserId());
|
||||||
//Todo: 新权限多角色设置
|
//新权限多角色设置
|
||||||
dto.setRoleId(member.getRoleId());
|
dto.setRoleId(member.getRoleId());
|
||||||
|
dto.getRoleIds().add(member.getRoleId());
|
||||||
CoeCooperationRoleModel role;
|
CoeCooperationRoleModel role;
|
||||||
if (roleMap.containsKey(member.getRoleId())) {
|
if (roleMap.containsKey(member.getRoleId())) {
|
||||||
role = roleMap.get(member.getRoleId());
|
role = roleMap.get(member.getRoleId());
|
||||||
} else {
|
} else {
|
||||||
role = api.queryCooperationRoleByUser(teamId, member.getUserId());
|
role = api.queryCooperationRole(member.getRoleId());
|
||||||
roleMap.put(role.getId(), role);
|
roleMap.put(role.getId(), role);
|
||||||
}
|
}
|
||||||
dto.setRoleName(role.getRoleName());
|
dto.addRoleName(role.getRoleName());
|
||||||
dto.setRoleType(role.getRoleType());
|
dto.getRoleTypes().add(role.getRoleType());
|
||||||
detailDto.getMembers().add(dto);
|
userMap.put(user.getUID(),dto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
detailDto.getMembers().addAll(userMap.values());
|
||||||
|
|
||||||
detailDto.getMembers().sort((c1, c2)-> {
|
detailDto.getMembers().sort((c1, c2)-> {
|
||||||
int index = c1.getRoleType() - c2.getRoleType();
|
int index = c1.getRoleType() - c2.getRoleType();
|
||||||
if (index != 0) {
|
if (index != 0) {
|
||||||
@ -684,6 +692,8 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
if (team == null) {
|
if (team == null) {
|
||||||
return ResponseObject.newErrResponse("保存失败,小组不存在").toString();
|
return ResponseObject.newErrResponse("保存失败,小组不存在").toString();
|
||||||
}
|
}
|
||||||
|
Timestamp now = new Timestamp(System.currentTimeMillis());
|
||||||
|
List<CoeCooperationMemberModel> memberList = new ArrayList<>();
|
||||||
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
boolean isOlderVersion = SDK.getAppAPI().getPropertyBooleanValue("com.actionsoft.apps.coe.pal", "IsOlderVersion", true);
|
||||||
if (isOlderVersion){
|
if (isOlderVersion){
|
||||||
// 查询当前设置的角色
|
// 查询当前设置的角色
|
||||||
@ -706,7 +716,12 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = 0; i < userIds.size(); i++) {
|
for (int i = 0; i < userIds.size(); i++) {
|
||||||
api.updateCooperationUserRole(teamId, userIds.getString(i), roleId, _uc.getUID());
|
//删除原有角色
|
||||||
|
api.removeCooperationMemeber(teamId,userIds.getString(i));
|
||||||
|
CoeCooperationMemberModel memberModel = new CoeCooperationMemberModel(UUIDGener.getUUID(),teamId,userIds.getString(i),roleId,_uc.getUID(),now,_uc.getUID(),now);
|
||||||
|
memberList.add(memberModel);
|
||||||
|
//重新添加多角色
|
||||||
|
api.createCooperationMemebers(memberList);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
//设置多角色的校验
|
//设置多角色的校验
|
||||||
@ -729,15 +744,14 @@ public class CooperationWeb extends ActionWeb {
|
|||||||
if (!flag) {
|
if (!flag) {
|
||||||
return ResponseObject.newErrResponse("不允许修改,小组中必须至少存在一位管理员用户").toString();
|
return ResponseObject.newErrResponse("不允许修改,小组中必须至少存在一位管理员用户").toString();
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//设置多角色
|
//设置多角色
|
||||||
Timestamp now = new Timestamp(System.currentTimeMillis());
|
|
||||||
for (int i = 0; i < userIds.size(); i++) {
|
for (int i = 0; i < userIds.size(); i++) {
|
||||||
//删除原有角色
|
//删除原有角色
|
||||||
api.removeCooperationMemeber(teamId,userIds.getString(i));
|
api.removeCooperationMemeber(teamId,userIds.getString(i));
|
||||||
|
|
||||||
List<CoeCooperationMemberModel> memberList = new ArrayList<>();
|
|
||||||
for (int j = 0; j < roleIds.size(); j++) {
|
for (int j = 0; j < roleIds.size(); j++) {
|
||||||
String roleId = roleIds.getString(j);
|
String roleId = roleIds.getString(j);
|
||||||
CoeCooperationMemberModel memberModel = new CoeCooperationMemberModel(UUIDGener.getUUID(),teamId,userIds.getString(i),roleId,_uc.getUID(),now,_uc.getUID(),now);
|
CoeCooperationMemberModel memberModel = new CoeCooperationMemberModel(UUIDGener.getUUID(),teamId,userIds.getString(i),roleId,_uc.getUID(),now,_uc.getUID(),now);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user