Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
eb8eaf09d7
  1. 5
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java
  2. 26
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java
  3. 1
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupMapper.xml
  4. 2
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupUserMapper.xml

5
xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java

@ -238,6 +238,8 @@ public class XmProjectGroupController {
}
xmProjectGroup.setProductId(null);
xmProjectGroup.setBranchId(project.getBranchId());
}else{
if(!StringUtils.hasText(xmProjectGroup.getProductId())){
return ResponseHelper.failed("productId-0","产品编号不能为空");
@ -251,6 +253,7 @@ public class XmProjectGroupController {
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
xmProjectGroup.setBranchId(product.getBranchId());
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
if(!productAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能创建小组。产品级助理及以上人员可以创建小组。");
@ -389,7 +392,7 @@ public class XmProjectGroupController {
}
}else{
id=groupDb.getProductId();
XmProduct product=this.xmProductService.selectOneObject(new XmProduct(id));
XmProduct product=this.xmProductService.getProductFromCache( id );
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
if(!productAdmMap.containsKey(user.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能删除小组。产品级助理以上人员可以删除小组。");

26
xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java

@ -386,9 +386,12 @@ public class XmProjectGroupUserController {
}
List<XmProjectGroupUser> gusDb=this.xmProjectGroupUserService.selectListByIds(gus);
//过滤掉已经存在的
gus=gus.stream().filter(i->!(gusDb.stream().filter(k->k.getGroupId().equals(i.getGroupId())&&k.getUserid().equals(i.getUserid()))).findAny().isPresent()).collect(Collectors.toList());
List<XmProjectGroupUser> gusNoExists=gus.stream().filter(i->!(gusDb.stream().filter(k->k.getGroupId().equals(i.getGroupId())&&k.getUserid().equals(i.getUserid()))).findAny().isPresent()).collect(Collectors.toList());
if(gusNoExists.size()==0){
return ResponseHelper.failed("user-had-exists","成功添加0个组员。以下用户已在小组中,不用再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】");
}
User user=LoginUtils.getCurrentUserInfo();
XmProjectGroupUser gu=gus.get(0);
XmProjectGroupUser gu=gusNoExists.get(0);
String productId=gu.getProductId();
String projectId=gu.getProjectId();
String pgClass=gu.getPgClass();
@ -400,8 +403,8 @@ public class XmProjectGroupUserController {
if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
gus2=gus.stream().filter(i->productId.equals(i.getProductId())).collect(Collectors.toList());
if(gus2.size()<gusDb.size()){
gus2=gusNoExists.stream().filter(i->productId.equals(i.getProductId())).collect(Collectors.toList());
if(gus2.size()<gusNoExists.size()){
return ResponseHelper.failed("data-0","批量新增只能新增同一个产品的成员。");
}
}else {
@ -409,13 +412,13 @@ public class XmProjectGroupUserController {
if(xmProject==null){
return ResponseHelper.failed("project-0","项目已不存在");
}
gus2=gus.stream().filter(i->projectId.equals(i.getProjectId())).collect(Collectors.toList());
if(gus2.size()<gusDb.size()){
gus2=gusNoExists.stream().filter(i->projectId.equals(i.getProjectId())).collect(Collectors.toList());
if(gus2.size()<gusNoExists.size()){
return ResponseHelper.failed("data-0","批量新增只能新增同一个项目的成员。");
}
}
Set<String> groupIds=gus.stream().map(i->i.getGroupId()).collect(Collectors.toSet());
Set<String> groupIds=gusNoExists.stream().map(i->i.getGroupId()).collect(Collectors.toSet());
List<XmProjectGroupUser> canAddUsers=new ArrayList<>();
Map<String,List<XmProjectGroupUser>> groupUsersMap=new HashMap<>();
for (String groupId : groupIds) {
@ -453,15 +456,8 @@ public class XmProjectGroupUserController {
if(canAddUsers.size()>0){
xmProjectGroupUserService.batchInsert(canAddUsers);
}
List<String> noAddUsers=new ArrayList<>();
if(canAddUsers.size()<gus.size()){
for (XmProjectGroupUser gu0 : gus) {
if(!canAddUsers.stream().filter(i->i.getUserid().equals(gu0.getUserid())&&i.getGroupId().equals(gu0.getGroupId())).findAny().isPresent()){
noAddUsers.add(gu0.getUsername());
}
}
msg.add("以下"+noAddUsers.size()+"个小组用户无需新增。【"+noAddUsers.stream().collect(Collectors.toSet()).stream().collect(Collectors.joining(","))+"】");
msg.add("以下"+gusDb.size()+"个小组用户已在组里,无需再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】");
}
if(canAddUsers.size()!=0){
tips.setOkMsg(msg.stream().collect(Collectors.joining(" ")));

1
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupMapper.xml

@ -13,6 +13,7 @@
</if>
<if test="key != null and key !='' "> and res.group_name like concat('%',#{key},'%') </if>
<if test="orCrowBranchId!=null and orCrowBranchId!=''"> and (res.branch_id=#{branchId} or res.crow_branch_id=#{orCrowBranchId})</if>
<if test="iterationId!=null and iterationId!=''"> and exists ( select 1 from xm_iteration_product_link ipl left join xm_product_project_link ppl on ipl.product_id=ppl.product_id and (ipl.product_id=res.product_id or ppl.project_id = res.project_id))</if>
</sql>
<delete id="deleteByProjectId" parameterType="com.xm.core.entity.XmProjectGroup">
delete from xm_project_group where project_id = #{projectId}

2
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectGroupUserMapper.xml

@ -18,7 +18,7 @@
</delete>
<select id="selectListByWhereHead" parameterType="com.xm.core.entity.XmProjectGroupUser" resultType="com.xm.core.entity.XmProjectGroupUser">
select * from xm_project_group_user res
select res.*,g.group_name,g.crow_branch_name,g.crow_branch_id,g.is_crow from xm_project_group_user res left join xm_project_group g on res.group_id=g.id
<where>
<include refid="where"/>
</where>

Loading…
Cancel
Save