From 4ccee41f5482da9d240e5267dd852593ea8f28a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Wed, 23 Feb 2022 04:10:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/ctrl/XmProjectGroupController.java | 46 +++++++++++++++---- .../core/service/XmProjectGroupService.java | 10 ++-- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java index 2dd40e10..36949c28 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java @@ -194,22 +194,52 @@ public class XmProjectGroupController { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ - XmProject project=xmProjectService.getProjectFromCache(xmProjectGroup.getProjectId()); - User u=LoginUtils.getCurrentUserInfo(); + User u = LoginUtils.getCurrentUserInfo(); + if(!"1".equals(xmProjectGroup.getPgClass())) { + if(!StringUtils.hasText(xmProjectGroup.getProjectId())){ + return ResponseHelper.failed("projectId-0","项目编号不能为空"); + } + XmProject project = xmProjectService.getProjectFromCache(xmProjectGroup.getProjectId()); + if(project==null){ + return ResponseHelper.failed("project-0","项目已不存在"); + } + tips=this.xmProjectGroupService.checkProjectStatus(project); + if(!tips.isOk()){ + return ResponseHelper.failed(tips); + } + Map projectAdmMap=xmProjectGroupService.getProjectAdmUsers(project); + if (projectAdmMap.containsKey(u.getUserid())) { + return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能创建小组。项目级助理以上人员可以创建小组。"); + } - if(!u.getUserid().equals(project.getCreateUserid())) { - tips.setFailureMsg("你不是项目创建人,不允许创建该项目的小组"); + }else{ + if(!StringUtils.hasText(xmProjectGroup.getProductId())){ + return ResponseHelper.failed("productId-0","产品编号不能为空"); + } + XmProduct product = xmProductService.selectOneObject(new XmProduct(xmProjectGroup.getProductId())); + if(product==null){ + return ResponseHelper.failed("product-0","产品已不存在"); + } + tips=this.xmProjectGroupService.checkProductStatus(product); + if(!tips.isOk()){ + return ResponseHelper.failed(tips); + } + Map productAdmMap=xmProjectGroupService.getProductAdmUsers(product); + if (productAdmMap.containsKey(u.getUserid())) { + return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能创建小组。产品级助理及以上人员可以创建小组。"); + } } - if(StringUtils.isEmpty(xmProjectGroup.getId())) { + if (StringUtils.isEmpty(xmProjectGroup.getId())) { xmProjectGroup.setId(xmProjectGroupService.createKey("id")); - }else{ - XmProjectGroup xmProjectGroupQuery = new XmProjectGroup(xmProjectGroup.getId()); - if(xmProjectGroupService.countByWhere(xmProjectGroupQuery)>0){ + } else { + XmProjectGroup xmProjectGroupQuery = new XmProjectGroup(xmProjectGroup.getId()); + if (xmProjectGroupService.countByWhere(xmProjectGroupQuery) > 0) { tips.setFailureMsg("编号重复,请修改编号再提交"); m.put("tips", tips); return m; } } + this.xmProjectGroupService.parentIdPathsCalcBeforeSave(xmProjectGroup); xmProjectGroupService.insert(xmProjectGroup); pushMsgService.pushChannelGroupCreateMsg(u.getBranchId(), xmProjectGroup.getProjectId(),xmProjectGroup.getId(), xmProjectGroup.getId(),xmProjectGroup.getGroupName(), u.getUserid(), u.getUsername(), null, "新增小组"+xmProjectGroup.getGroupName()); xmRecordService.addXmGroupRecord(xmProjectGroup.getProjectId(), xmProjectGroup.getId(), "项目-团队-新增小组", "新增小组"+xmProjectGroup.getGroupName(),JSON.toJSONString(xmProjectGroup),null); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java index 647e61de..2888de1c 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java @@ -523,12 +523,12 @@ public class XmProjectGroupService extends BaseService { if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ if(!proUsersMap.containsKey(user.getUserid()) && !user.getUserid().equals(groupDb.getLeaderUserid())){ - tips.setFailureMsg("no-qx-change-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。"); + tips.setFailureMsg("no-qx-change-pro-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。"); } } if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(!proUsersMap.containsKey(user.getUserid())){ - tips.setFailureMsg("no-qx-change-g-leaderUserid","您无权限修改小组组长.产品级助理及以上人员可以修改。"); + tips.setFailureMsg("no-qx-change-pro-g-leaderUserid","您无权限修改小组组长.产品级助理及以上人员可以修改。"); } } if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){ @@ -563,19 +563,19 @@ public class XmProjectGroupService extends BaseService { } if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ if(!pmUserMap.containsKey(user.getUserid()) && !user.getUserid().equals(groupDb.getLeaderUserid())){ - tips.setFailureMsg("no-qx-change-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。"); + tips.setFailureMsg("no-qx-change-prj-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。"); return tips; } } if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(!pmUserMap.containsKey(user.getUserid())){ - tips.setFailureMsg("no-qx-change-g-leaderUserid","您无权限修改小组组长.项目级助理及以上人员可以修改。"); + tips.setFailureMsg("no-qx-change-prj-g-leaderUserid","您无权限修改小组组长.项目级助理及以上人员可以修改。"); return tips; } } if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){ if(!pmUserMap.containsKey(user.getUserid())){ - tips.setFailureMsg("no-qx-change-g-pgroupId","您无权限修改小组归属上级单位.项目级助理及以上人员可以修改。"); + tips.setFailureMsg("no-qx-change-prj-g-pgroupId","您无权限修改小组归属上级单位.项目级助理及以上人员可以修改。"); return tips; } }