Quellcode durchsuchen

Merge branch 'master' of http://47.100.37.243:10080/ZHOU/yunsu

Reiskuchen vor 5 Jahren
Ursprung
Commit
227d175c39

+ 43 - 18
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -245,32 +245,51 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         ProjectVO vo = projectMapper.getProjectById(project.getId());
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
         if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
-            //当前人超级管理员 ,对项目止咳浏览
-            map.put("power", Constant.VIEW_AUTHORITY);
+            //当前人超级管理员 ,对项目只可以浏览
+            map.put("update", 0);
+            map.put("download", 0);
+            map.put("view", 1);
+            map.put("approve", 0);
+        } else if (Constant.SYS_ID == currentUser.getParentId()) {
+            //当前为系统管理员
+            map.put("update", 1);
+            map.put("download", 1);
+            map.put("view", 1);
         } else if (vo.getManagerId() == currentUser.getId()) {
             //当前人是该项目的项目经理
-            String power = Constant.UPDATE_AUTHORITY + "," + Constant.DOWNLOAD_AUTHORITY
-                    + "," + Constant.VIEW_AUTHORITY;
+            Integer approve = 0;
             if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
                 //查看当前项目经理是否为审批人
-                power = power+","+ Constant.APPROVAL_AUTHORITY;
+                approve = 1;
             }
-            map.put("power",power);
+            map.put("update", 1);
+            map.put("download", 1);
+            map.put("view", 1);
+            map.put("approve", approve);
         } else {
             //该项目的参与人
-            StringBuilder pow = new StringBuilder();
+            Integer update = 0;
+            Integer download = 0;
+            Integer view = 0;
+            Integer approve = 0;
             List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", currentUser.getId()));
-            if(powers.size()>0){
+            if (powers.size() > 0) {
                 for (Power power : powers) {
-                    if(pow.length()<0){
-                        pow.append(power.getPowerType());
-                    }else{
-                        pow.append(",");
-                        pow.append(power.getPowerType());
+                    if (power.getPowerType() == 0) {
+                        update = 1;
+                    } else if (power.getPowerType() == 1) {
+                        download = 1;
+                    } else if (power.getPowerType() == 2) {
+                        view = 1;
+                    } else {
+                        approve = 1;
                     }
                 }
             }
-            map.put("power",pow.toString());
+            map.put("update", update);
+            map.put("download", download);
+            map.put("view", view);
+            map.put("approve", approve);
         }
         List<User> users = projectMapper.getProjectUserById(project.getId());
         //处理users按照客户呼和供应商分组
@@ -284,7 +303,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 vo.getCustomUsers().add(user);
             }
         }
-        map.put("vo",vo);
+        map.put("vo", vo);
         msg.data = map;
         return msg;
     }
@@ -292,17 +311,23 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     @Override
     public HttpRespMsg getUserListByCompanyIds(String companyIds, Integer adminId, Integer projectId) {
         HttpRespMsg msg = new HttpRespMsg();
+        QueryWrapper<User> qw  =new QueryWrapper<User>();
         if (!"".equals(companyIds) && companyIds != null) {
             List<Integer> ids = ListUtil.convertIntegerIdsArrayToList(companyIds);
             //该项目的项目经理不能充当参与人
             Integer managerId = -1;
             if (projectId != null) {
                 Project project = projectMapper.selectById(projectId);
-                if (null != project.getManagerId()) {
-                    managerId = project.getManagerId();
+                if (adminId == project.getManagerId()) {
+                    //是本项目的项目项目经理需要返回本人
+                    qw.eq("id", adminId);
                 }
             }
-            msg.data = userMapper.selectList(new QueryWrapper<User>().in("company_id", ids).ne("id", adminId).ne("parent_id",Constant.SYS_ID));
+            //所选公司下的人
+            qw.in("company_id", ids);
+            //不包含资产方的系统管理员
+            qw.ne("parent_id", Constant.SYS_ID);
+            msg.data = userMapper.selectList(qw);
         }
         return msg;
     }