Browse Source

团队重构

master
陈裕财 3 years ago
parent
commit
d5aa6e9d73
  1. 131
      xm-core/src/main/java/com/xm/core/ctrl/XmQuestionController.java
  2. 52
      xm-core/src/main/java/com/xm/core/service/XmGroupService.java

131
xm-core/src/main/java/com/xm/core/ctrl/XmQuestionController.java

@ -290,6 +290,91 @@ public class XmQuestionController {
if(xmQuestionsDb==null ||xmQuestionsDb.size()==0){ if(xmQuestionsDb==null ||xmQuestionsDb.size()==0){
ResponseHelper.failed("bugs-0","该bug已不存在"); ResponseHelper.failed("bugs-0","该bug已不存在");
} }
List<XmQuestion> canDel=new ArrayList<>();
List<XmQuestion> noDel=new ArrayList<>();
List<Tips> noDelTips=new ArrayList<>();
/**
* 如果有测试计划有产品编号走产品团队判断权限
* 如果未通过继续走项目权限判断
*/
Map<String,List<XmQuestion>> productsMap=new HashMap<>();//有产品的数据
Map<String,List<XmQuestion>> projectsMap=new HashMap<>();//没有产品但有项目的数据
for (XmQuestion xmQuestion : xmQuestionsDb) {
if(StringUtils.hasText(xmQuestion.getProductId())){
List<XmQuestion> datas=productsMap.get(xmQuestion.getProductId());
if(datas==null){
datas=new ArrayList<>();
datas.add(xmQuestion);
productsMap.put(xmQuestion.getProductId(),datas);
}else {
datas.add(xmQuestion);
}
}else if(StringUtils.hasText(xmQuestion.getProjectId())) {
List<XmQuestion> datas=projectsMap.get(xmQuestion.getProjectId());
if(datas==null){
datas=new ArrayList<>();
datas.add(xmQuestion);
projectsMap.put(xmQuestion.getProjectId(),datas);
}else {
datas.add(xmQuestion);
}
}
}
if(productsMap.size()>0){
for (String productId : productsMap.keySet()) {
XmProduct xmProduct=productService.getProductFromCache(productId);
Tips tips1=groupService.checkProductQx(xmProduct,1,user);
if(!tips1.isOk()){
noDel.addAll(productsMap.get(productId));
productsMap.remove(productId);
noDelTips.add(tips1);
}else{
List<XmQuestion> questions=productsMap.get(productId);
for (XmQuestion question : questions) {
tips1=groupService.checkProductQx(xmProduct,1,user,question.getCreateUserid(),question.getHandlerUserid());
if(!tips1.isOk()){
noDel.add(question);
noDelTips.add(tips1);
}else {
canDel.add(question);
}
}
}
}
}
if(projectsMap.size()>0){
for (String projectId : projectsMap.keySet()) {
XmProject xmProject=projectService.getProjectFromCache(projectId);
Tips tips1=groupService.checkProjectQx(xmProject,user);
if(!tips1.isOk()){
noDel.addAll(projectsMap.get(projectId));
projectsMap.remove(projectId);
noDelTips.add(tips1);
}else{
List<XmQuestion> questions=projectsMap.get(projectId);
for (XmQuestion question : questions) {
tips1=groupService.checkProjectQx(xmProject,user,question.getCreateUserid(),question.getHandlerUserid());
if(!tips1.isOk()){
noDel.add(question);
noDelTips.add(tips1);
}else {
canDel.add(question);
}
}
}
}
}
Set<String> fieldKey=xmQuestionMap.keySet().stream().filter(i->fieldsMap.containsKey(i)).collect(Collectors.toSet()); Set<String> fieldKey=xmQuestionMap.keySet().stream().filter(i->fieldsMap.containsKey(i)).collect(Collectors.toSet());
fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmQuestionMap.get(i) )).collect(Collectors.toSet()); fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmQuestionMap.get(i) )).collect(Collectors.toSet());
if(fieldKey.size()>0){ if(fieldKey.size()>0){
@ -380,7 +465,7 @@ public class XmQuestionController {
List<XmQuestion> noDel=new ArrayList<>(); List<XmQuestion> noDel=new ArrayList<>();
List<Tips> noDelTips=new ArrayList<>();
Map<String,Tips> noDelTips=new HashMap<>();
/** /**
@ -411,21 +496,24 @@ public class XmQuestionController {
} }
} }
List<XmQuestion> productNoDel=new ArrayList<>();
if(productsMap.size()>0){ if(productsMap.size()>0){
for (String productId : productsMap.keySet()) { for (String productId : productsMap.keySet()) {
XmProduct xmProduct=productService.getProductFromCache(productId); XmProduct xmProduct=productService.getProductFromCache(productId);
Tips tips1=groupService.checkProductQx(xmProduct,1,user); Tips tips1=groupService.checkProductQx(xmProduct,1,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
noDel.addAll(productsMap.get(productId));
productNoDel.addAll(productsMap.get(productId));
for (XmQuestion xmQuestion : productsMap.get(productId)) {
noDelTips.put(xmQuestion.getId(),tips1);
}
productsMap.remove(productId); productsMap.remove(productId);
noDelTips.add(tips1);
}else{ }else{
List<XmQuestion> questions=productsMap.get(productId); List<XmQuestion> questions=productsMap.get(productId);
for (XmQuestion question : questions) { for (XmQuestion question : questions) {
tips1=groupService.checkProductQx(xmProduct,1,user,question.getCreateUserid(),question.getHandlerUserid()); tips1=groupService.checkProductQx(xmProduct,1,user,question.getCreateUserid(),question.getHandlerUserid());
if(!tips1.isOk()){ if(!tips1.isOk()){
noDel.add(question);
noDelTips.add(tips1);
productNoDel.add(question);
noDelTips.put(question.getId(),tips1);
}else { }else {
canDel.add(question); canDel.add(question);
} }
@ -434,21 +522,40 @@ public class XmQuestionController {
} }
} }
} }
for (XmQuestion xmQuestion : productNoDel) {
if(StringUtils.hasText(xmQuestion.getProjectId())){
List<XmQuestion> ques=projectsMap.get(xmQuestion.getProjectId());
if(ques!=null){
if(!ques.stream().filter(k->k.getId().equals(xmQuestion.getId())).findAny().isPresent()){
ques.add(xmQuestion);
}
}else{
ques=new ArrayList<>();
ques.add(xmQuestion);
projectsMap.put(xmQuestion.getProjectId(),ques);
}
}else{
noDel.add(xmQuestion);
}
}
if(projectsMap.size()>0){ if(projectsMap.size()>0){
for (String projectId : projectsMap.keySet()) { for (String projectId : projectsMap.keySet()) {
XmProject xmProject=projectService.getProjectFromCache(projectId); XmProject xmProject=projectService.getProjectFromCache(projectId);
Tips tips1=groupService.checkProjectQx(xmProject,user); Tips tips1=groupService.checkProjectQx(xmProject,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
noDel.addAll(projectsMap.get(projectId)); noDel.addAll(projectsMap.get(projectId));
for (XmQuestion xmQuestion : projectsMap.get(projectId)) {
noDelTips.put(xmQuestion.getId(),tips1);
}
projectsMap.remove(projectId); projectsMap.remove(projectId);
noDelTips.add(tips1);
}else{ }else{
List<XmQuestion> questions=projectsMap.get(projectId); List<XmQuestion> questions=projectsMap.get(projectId);
for (XmQuestion question : questions) { for (XmQuestion question : questions) {
tips1=groupService.checkProjectQx(xmProject,user,question.getCreateUserid(),question.getHandlerUserid()); tips1=groupService.checkProjectQx(xmProject,user,question.getCreateUserid(),question.getHandlerUserid());
if(!tips1.isOk()){ if(!tips1.isOk()){
noDel.add(question); noDel.add(question);
noDelTips.add(tips1);
noDelTips.put(question.getId(),tips1);
}else { }else {
canDel.add(question); canDel.add(question);
} }
@ -463,10 +570,18 @@ public class XmQuestionController {
List<String> msgs=new ArrayList<>(); List<String> msgs=new ArrayList<>();
if(canDel.size()>0){ if(canDel.size()>0){
for (XmQuestion xmQuestion : canDel) {
noDelTips.remove(xmQuestion.getId());
}
msgs.add(String.format("删除了%s个缺陷。",canDel.size())); msgs.add(String.format("删除了%s个缺陷。",canDel.size()));
} }
if(noDel.size()>0){ if(noDel.size()>0){
msgs.add(String.format("其中%s个缺陷,无权限删除。原因【%s】",noDel.size(),noDelTips.stream().map(k->k.getMsg()).collect(Collectors.joining(";"))));
Set<String> noDelTips2=new HashSet<>();
for (XmQuestion xmQuestion : noDel) {
Tips tips1=noDelTips.get(xmQuestion.getId());
noDelTips2.add(tips1.getMsg());
}
msgs.add(String.format("其中%s个缺陷,无权限删除。原因【%s】",noDel.size(),noDelTips2.stream().collect(Collectors.joining(";"))));
} }
if(canDel.size()>0){ if(canDel.size()>0){
tips.setOkMsg(msgs.stream().collect(Collectors.joining())); tips.setOkMsg(msgs.stream().collect(Collectors.joining()));

52
xm-core/src/main/java/com/xm/core/service/XmGroupService.java

@ -77,7 +77,7 @@ public class XmGroupService extends BaseService {
if(!isAdm){ if(!isAdm){
pgroups=this.getProductGroupVoList(productId); pgroups=this.getProductGroupVoList(productId);
if(pgroups==null || pgroups.size()==0){ if(pgroups==null || pgroups.size()==0){
return new Tips(false,"group-0","产品还未建立产品团队,请先进行团队成员维护");
return new Tips(false,"group-0","产品【"+productId+"】还未建立产品团队,请先进行团队成员维护");
} }
boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid); boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid);
if(!isHead){ if(!isHead){
@ -96,7 +96,7 @@ public class XmGroupService extends BaseService {
if(!isAdm){ if(!isAdm){
pgroups=this.getProjectGroupVoList(projectId); pgroups=this.getProjectGroupVoList(projectId);
if(pgroups==null || pgroups.size()==0){ if(pgroups==null || pgroups.size()==0){
return new Tips(false,"group-0","项目还未建立项目团队,请先进行团队成员维护");
return new Tips(false,"group-0","项目【"+projectId+"】还未建立项目团队,请先进行团队成员维护");
} }
boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid); boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid);
if(!isHead){ if(!isHead){
@ -197,7 +197,7 @@ public class XmGroupService extends BaseService {
String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType); String scopeQx= QxTool.getProductScopeQx(xmProduct.getQxCode(),teamType);
if("1".equals(scopeQx)){//同组织 if("1".equals(scopeQx)){//同组织
if( !head.getBranchId().equals(xmProduct.getBranchId())){ if( !head.getBranchId().equals(xmProduct.getBranchId())){
tips.setFailureMsg("no-qx-no-same-branchId","产品只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
boolean isAllNull=true; boolean isAllNull=true;
@ -217,7 +217,7 @@ public class XmGroupService extends BaseService {
if(isAllNull){ if(isAllNull){
return tips; return tips;
}else{ }else{
tips.setFailureMsg("no-qx-no-same-branchId","产品只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
@ -225,7 +225,7 @@ public class XmGroupService extends BaseService {
}else if("2".equals(scopeQx)){//同产品 }else if("2".equals(scopeQx)){//同产品
List<XmGroupVo> groups=this.getProductGroupVoList(xmProduct.getId()); List<XmGroupVo> groups=this.getProductGroupVoList(xmProduct.getId());
if( !this.checkUserExistsGroup(groups, head.getUserid())){ if( !this.checkUserExistsGroup(groups, head.getUserid())){
tips.setFailureMsg("no-qx-no-same-project","产品只开放给同产品组人员。请先加入产品团队再操作。");
tips.setFailureMsg("no-qx-no-same-project","产品【"+xmProduct.getId()+"】只开放给同产品组人员。请先加入产品团队再操作。");
return tips; return tips;
}; };
for (String memUserid : memUseridSet) { for (String memUserid : memUseridSet) {
@ -236,14 +236,14 @@ public class XmGroupService extends BaseService {
return tips; return tips;
}; };
} }
tips.setFailureMsg("no-qx-no-same-project","产品只开放给同产品组人员。请先加入产品团队再操作。");
tips.setFailureMsg("no-qx-no-same-project","产品【"+xmProduct.getId()+"】只开放给同产品组人员。请先加入产品团队再操作。");
return tips; return tips;
}else if("3".equals(scopeQx)){//同小组 }else if("3".equals(scopeQx)){//同小组
List<XmGroupVo> groups=this.getProductGroupVoList(xmProduct.getId()); List<XmGroupVo> groups=this.getProductGroupVoList(xmProduct.getId());
List<XmGroupVo> headGroups=groups; List<XmGroupVo> headGroups=groups;
headGroups=this.getUserGroups(groups,head.getUserid()); headGroups=this.getUserGroups(groups,head.getUserid());
if( headGroups==null || headGroups.size()==0 ){ if( headGroups==null || headGroups.size()==0 ){
tips.setFailureMsg("no-qx-no-same-team","产品只开放给同产品同小组人员。请先加入产品团队再操作。");
tips.setFailureMsg("no-qx-no-same-team","产品【"+xmProduct.getId()+"】只开放给同产品同小组人员。请先加入产品团队再操作。");
return tips; return tips;
} }
@ -257,7 +257,7 @@ public class XmGroupService extends BaseService {
return tips; return tips;
} }
} }
tips.setFailureMsg("no-qx-no-same-team","产品只开放给同产品同小组人员。请先加入产品团队再操作。");
tips.setFailureMsg("no-qx-no-same-team","产品【"+xmProduct.getId()+"】只开放给同产品同小组人员。请先加入产品团队再操作。");
return tips; return tips;
@ -285,7 +285,7 @@ public class XmGroupService extends BaseService {
return tips; return tips;
} }
} }
tips.setFailureMsg("no-qx-transmit-0","产品开启了上下级关系检查,您当前账户不属于【"+memUseridSet.stream().collect(Collectors.joining(","))+"】中任意账户的上级,无权操作。");
tips.setFailureMsg("no-qx-transmit-0","产品【"+xmProduct.getId()+"】开启了上下级关系检查,您当前账户不属于【"+memUseridSet.stream().collect(Collectors.joining(","))+"】中任意账户的上级,无权操作。");
} }
@ -304,28 +304,28 @@ public class XmGroupService extends BaseService {
User sysUser=sysClient.getUserByUserid(userid); User sysUser=sysClient.getUserByUserid(userid);
if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){ if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){
//如果账户不存在可能已注销再判断没有意义会导致企业无法操作遗留数据问题 //如果账户不存在可能已注销再判断没有意义会导致企业无法操作遗留数据问题
//tips.setFailureMsg("no-qx-no-same-branchId","产品只开放给同企业人员。");
//tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
if(!sysUser.getBranchId().equals(xmProduct.getBranchId())){ if(!sysUser.getBranchId().equals(xmProduct.getBranchId())){
tips.setFailureMsg("no-qx-no-same-branchId","产品只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
}else{ }else{
if(!ubranchId.equals(xmProduct.getBranchId())){ if(!ubranchId.equals(xmProduct.getBranchId())){
tips.setFailureMsg("no-qx-no-same-branchId","产品只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","产品【"+xmProduct.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
} }
}else if("2".equals(scopeQx)){//同产品 }else if("2".equals(scopeQx)){//同产品
if(!this.checkUserExistsGroup(this.getProductGroupVoList(xmProduct.getId()), userid)){ if(!this.checkUserExistsGroup(this.getProductGroupVoList(xmProduct.getId()), userid)){
tips.setFailureMsg("no-qx-no-same-project","产品只开放给同产品组人员。请先加入产品团队再操作。");
tips.setFailureMsg("no-qx-no-same-project","产品【"+xmProduct.getId()+"】只开放给同产品组人员。请先加入产品团队再操作。");
return tips; return tips;
}; };
}else if("3".equals(scopeQx)){//同小组 }else if("3".equals(scopeQx)){//同小组
if(!this.checkUserExistsProductGroup(xmProduct.getId(), userid)){ if(!this.checkUserExistsProductGroup(xmProduct.getId(), userid)){
tips.setFailureMsg("no-qx-no-same-team","该项目只开放给同产品同小组人员。请先加入产品团队再操作。");
tips.setFailureMsg("no-qx-no-same-team","产品【"+xmProduct.getId()+"】只开放给同产品同小组人员。请先加入产品团队再操作。");
return tips; return tips;
} }
} }
@ -370,7 +370,7 @@ public class XmGroupService extends BaseService {
String scopeQx= QxTool.getTaskScopeQx(xmProject.getQxCode()); String scopeQx= QxTool.getTaskScopeQx(xmProject.getQxCode());
if("1".equals(scopeQx)){//同组织 if("1".equals(scopeQx)){//同组织
if( !head.getBranchId().equals(xmProject.getBranchId())){ if( !head.getBranchId().equals(xmProject.getBranchId())){
tips.setFailureMsg("no-qx-no-same-branchId","项目只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
boolean isAllNull=true; boolean isAllNull=true;
@ -390,7 +390,7 @@ public class XmGroupService extends BaseService {
if(isAllNull){ if(isAllNull){
return tips; return tips;
}else{ }else{
tips.setFailureMsg("no-qx-no-same-branchId","项目只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
@ -398,7 +398,7 @@ public class XmGroupService extends BaseService {
}else if("2".equals(scopeQx)){//同项目 }else if("2".equals(scopeQx)){//同项目
List<XmGroupVo> groups=this.getProjectGroupVoList(xmProject.getId()); List<XmGroupVo> groups=this.getProjectGroupVoList(xmProject.getId());
if(!this.checkUserExistsGroup(groups, head.getUserid())){ if(!this.checkUserExistsGroup(groups, head.getUserid())){
tips.setFailureMsg("no-qx-no-same-project","项目只开放给同项目组人员。请先加入项目团队再操作。");
tips.setFailureMsg("no-qx-no-same-project","项目【"+xmProject.getId()+"】只开放给同项目组人员。请先加入项目团队再操作。");
return tips; return tips;
}; };
for (String memUserid : memUseridSet) { for (String memUserid : memUseridSet) {
@ -409,14 +409,14 @@ public class XmGroupService extends BaseService {
return tips; return tips;
}; };
} }
tips.setFailureMsg("no-qx-no-same-project","项目只开放给同项目组人员。请先加入项目团队再操作。");
tips.setFailureMsg("no-qx-no-same-project","项目【"+xmProject.getId()+"】只开放给同项目组人员。请先加入项目团队再操作。");
return tips; return tips;
}else if("3".equals(scopeQx)){//同小组 }else if("3".equals(scopeQx)){//同小组
List<XmGroupVo> groups=this.getProjectGroupVoList(xmProject.getId()); List<XmGroupVo> groups=this.getProjectGroupVoList(xmProject.getId());
List<XmGroupVo> headGroups=groups; List<XmGroupVo> headGroups=groups;
headGroups=this.getUserGroups(groups,head.getUserid()); headGroups=this.getUserGroups(groups,head.getUserid());
if( headGroups==null || headGroups.size()==0 ){ if( headGroups==null || headGroups.size()==0 ){
tips.setFailureMsg("no-qx-no-same-team","项目只开放给同项目同小组人员。请先加入项目团队再操作。");
tips.setFailureMsg("no-qx-no-same-team","项目【"+xmProject.getId()+"】只开放给同项目同小组人员。请先加入项目团队再操作。");
return tips; return tips;
} }
@ -429,7 +429,7 @@ public class XmGroupService extends BaseService {
return tips; return tips;
} }
} }
tips.setFailureMsg("no-qx-no-same-team","项目只开放给同项目同小组人员。请先加入项目团队再操作。");
tips.setFailureMsg("no-qx-no-same-team","项目【"+xmProject.getId()+"】只开放给同项目同小组人员。请先加入项目团队再操作。");
return tips; return tips;
@ -457,7 +457,7 @@ public class XmGroupService extends BaseService {
return tips; return tips;
} }
} }
tips.setFailureMsg("no-qx-transmit-0","项目开启了上下级关系检查,您当前账户不属于【"+memUseridSet.stream().collect(Collectors.joining(","))+"】中任意账户的上级,无权操作。");
tips.setFailureMsg("no-qx-transmit-0","项目【"+xmProject.getId()+"】开启了上下级关系检查,您当前账户不属于【"+memUseridSet.stream().collect(Collectors.joining(","))+"】中任意账户的上级,无权操作。");
} }
@ -472,28 +472,28 @@ public class XmGroupService extends BaseService {
User sysUser=sysClient.getUserByUserid(userid); User sysUser=sysClient.getUserByUserid(userid);
if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){ if(sysUser==null || StringUtils.isEmpty(sysUser.getUserid())){
//如果账户不存在可能已注销再判断没有意义会导致企业无法操作遗留数据问题 //如果账户不存在可能已注销再判断没有意义会导致企业无法操作遗留数据问题
//tips.setFailureMsg("no-qx-no-same-branchId","项目只开放给同企业人员。");
//tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
if(!sysUser.getBranchId().equals(xmProject.getBranchId())){ if(!sysUser.getBranchId().equals(xmProject.getBranchId())){
tips.setFailureMsg("no-qx-no-same-branchId","项目只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
}else{ }else{
if(!ubranchId.equals(xmProject.getBranchId())){ if(!ubranchId.equals(xmProject.getBranchId())){
tips.setFailureMsg("no-qx-no-same-branchId","项目只开放给同企业人员。");
tips.setFailureMsg("no-qx-no-same-branchId","项目【"+xmProject.getId()+"】只开放给同企业人员。");
return tips; return tips;
} }
} }
}else if("2".equals(scopeQx)){//同项目 }else if("2".equals(scopeQx)){//同项目
if(!this.checkUserExistsGroup(this.getProjectGroupVoList(xmProject.getId()), userid)){ if(!this.checkUserExistsGroup(this.getProjectGroupVoList(xmProject.getId()), userid)){
tips.setFailureMsg("no-qx-no-same-project","项目只开放给同项目组人员。请先加入项目团队再操作。");
tips.setFailureMsg("no-qx-no-same-project","项目【"+xmProject.getId()+"】只开放给同项目组人员。请先加入项目团队再操作。");
return tips; return tips;
}; };
}else if("3".equals(scopeQx)){//同小组 }else if("3".equals(scopeQx)){//同小组
if(!this.checkUserExistsProjectGroup(xmProject.getId(), userid)){ if(!this.checkUserExistsProjectGroup(xmProject.getId(), userid)){
tips.setFailureMsg("no-qx-no-same-team","项目只开放给同项目同小组人员。请先加入项目团队再操作。");
tips.setFailureMsg("no-qx-no-same-team","项目【"+xmProject.getId()+"】只开放给同项目同小组人员。请先加入项目团队再操作。");
return tips; return tips;
} }
} }

Loading…
Cancel
Save