From 94ec43ac3027954a63eb7aa031b34914b8309f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Tue, 17 Jan 2023 03:10:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A2=E9=98=9F=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xm/core/ctrl/XmProductController.java | 26 +++++++++++++------ .../com/xm/core/ctrl/XmProjectController.java | 12 ++++----- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java index 0caa87d1..9b3ff07b 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java @@ -343,7 +343,9 @@ public class XmProductController { }else if(!user.getBranchId().equals(xmProductDb.getBranchId())){ return failed("branchId-not-right","该产品不属于您所在的机构,不允许操作"); }else if(!groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){ - return failed("pmUserid-not-right","您不是该产品产品负责人,也不是产品助理,不允许操作"); + if(!LoginUtils.isBranchAdmin(xmProductDb.getBranchId())){ + return failed("pmUserid-not-right","您不是该产品产品负责人,也不是产品助理,不允许操作"); + } } /** if(!"1".equals(xmProductDb.getIsTpl())){ @@ -396,7 +398,9 @@ public class XmProductController { }else if(!user.getBranchId().equals(xmProductDb.getBranchId())){ return failed("branchId-not-right","该产品不属于您所在的机构,不允许删除"); }else if(!groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){ - return failed("pmUserid-not-right","您不是该产品产品负责人,也不是产品助理,不允许删除"); + if(!LoginUtils.isBranchAdmin(xmProductDb.getBranchId())){ + return failed("pmUserid-not-right","您不是该产品产品负责人,也不是产品助理,不允许删除.若要强制删除,请联系机构管理员。"); + } } /** if(!"1".equals(xmProductDb.getIsTpl())){ @@ -461,12 +465,12 @@ public class XmProductController { List can=new ArrayList<>(); List no=new ArrayList<>(); User user = LoginUtils.getCurrentUserInfo(); + for (XmProduct xmProductDb : xmProductsDb) { - Tips tips2 = new Tips("检查通过"); - if(!tips2.isOk()){ - no.add(xmProductDb); - }else{ + if(LoginUtils.isBranchAdmin(xmProductDb.getBranchId()) || groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){ can.add(xmProductDb); + }else{ + no.add(xmProductDb); } } if(can.size()>0){ @@ -482,6 +486,9 @@ public class XmProductController { } if(can.size()>0){ tips.setOkMsg(msgs.stream().collect(Collectors.joining())); + for (XmProduct candb : can) { + this.xmProductService.clearCache(candb.getId()); + } }else { tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); } @@ -539,9 +546,12 @@ public class XmProductController { return failed("product-0","产品已不存在"); } User user=LoginUtils.getCurrentUserInfo(); - if(!groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){ - return failed("no-qx-0","您无权修改该产品"); + if(!LoginUtils.isBranchAdmin(xmProductDb.getBranchId())){ + if(!groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){ + return failed("no-qx-0","您无权修改该产品。"); + } } + xmProduct.setLtime(new Date()); xmProductService.updateSomeFieldByPk(xmProduct); xmProductService.clearCache(xmProduct.getId()); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java index 4f10bca6..505d74d3 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java @@ -285,7 +285,7 @@ public class XmProjectController { if(!"1".equals(xmProjectDb.getDel())){ return failed("status-not-0","该项目不属于删除状态,不允许恢复"); } - if(this.groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid())){ + if(LoginUtils.isBranchAdmin(xmProjectDb.getBranchId()) || this.groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid())){ XmProject xmProjectUpdate=new XmProject(); xmProjectUpdate.setId(xmProjectDb.getId()); xmProjectUpdate.setDel("0"); @@ -326,7 +326,7 @@ public class XmProjectController { if(!user.getBranchId().equals(xmProjectDb.getBranchId())){ return failed("branchId-not-right","该项目不属于您的组织,不允许您进行删除"); } - if(this.groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid())){ + if(LoginUtils.isBranchAdmin(xmProjectDb.getBranchId()) || this.groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid())){ XmProject xmProjectUpdate=new XmProject(); xmProjectUpdate.setId(xmProjectDb.getId()); xmProjectUpdate.setDel("1"); @@ -376,7 +376,7 @@ public class XmProjectController { List groups=this.groupService.getProjectGroupVoList(xmProjectDb.getId()); boolean isCreate=user.getUserid().equals(xmProjectDb.getCreateUserid()); boolean isPm=groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid()); - if( !isCreate && !isPm ) { + if( !isCreate && !isPm && !LoginUtils.isBranchAdmin(xmProjectDb.getBranchId())) { tips.setFailureMsg("您无权操作!项目创建人、项目经理才能修改项目基础数据"); m.put("tips", tips); return m; @@ -444,7 +444,7 @@ public class XmProjectController { List groups=this.groupService.getProjectGroupVoList(xmProjectDb.getId()); boolean isCreate=user.getUserid().equals(xmProjectDb.getCreateUserid()); boolean isPm=groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid()); - if( !isCreate && !isPm ) { + if( !isCreate && !isPm && !LoginUtils.isBranchAdmin(xmProjectDb.getBranchId())) { tips.setFailureMsg("您无权操作!项目创建人、项目经理才能修改项目状态"); m.put("tips", tips); return m; @@ -491,7 +491,7 @@ public class XmProjectController { List groups=this.groupService.getProjectGroupVoList(xmProjectDb.getId()); boolean isCreate=user.getUserid().equals(xmProjectDb.getCreateUserid()); boolean isPm=groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid()); - if( !isCreate && !isPm ) { + if( !isCreate && !isPm && !LoginUtils.isBranchAdmin(xmProjectDb.getBranchId())) { tips.setFailureMsg("您无权操作!项目创建人、项目经理才能修改项目预算"); m.put("tips", tips); return m; @@ -537,7 +537,7 @@ public class XmProjectController { List groups=this.groupService.getProjectGroupVoList(xmProjectDb.getId()); boolean isCreate=user.getUserid().equals(xmProjectDb.getCreateUserid()); boolean isPm=groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid()); - if( !isCreate && !isPm ) { + if( !isCreate && !isPm && !LoginUtils.isBranchAdmin(xmProjectDb.getBranchId()) ) { tips.setFailureMsg("您无权操作!项目创建人、项目经理才能修改项目基础信息"); m.put("tips", tips); return m;