Pārlūkot izejas kodu

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

# Conflicts:
#	cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldFileServiceImpl.java
5 gadi atpakaļ
vecāks
revīzija
cb9facd55c

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/controller/MouldController.java

@@ -51,7 +51,7 @@ public class MouldController {
     @ApiOperation("添加/修改模具")
     @RequestMapping("/addOrUpdate")
     @ResponseBody
-    public HttpRespMsg addOrUpdate(Mould mould, String token, @RequestParam("dynamicId") Integer dynamicId) {
+    public HttpRespMsg addOrUpdate(Mould mould, String token, @RequestParam(required = false) Integer dynamicId) {
         HttpRespMsg msg = new HttpRespMsg();
         QueryWrapper<User> qw = new QueryWrapper<>();
         qw.eq("head_imgurl",token);

+ 35 - 23
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -15,6 +15,7 @@ import com.hssx.cloudmodel.util.ListUtil;
 import com.hssx.cloudmodel.util.PageUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
@@ -107,22 +108,33 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
             if (companyVO.getCompanyType() == 0) {
                 //修改资产方
                 BeanUtils.copyProperties(companyVO, company);
+
                 List<AssetCustomCompany> list = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("assert_id", company.getId()));
                 //判断所关联的生产方是否已被应用到项目
-                List<Integer> idess = new ArrayList<>();
-                idess.add(-1);
-                for (AssetCustomCompany assetCustomCompany : list) {
-                    idess.add(assetCustomCompany.getCustomId());
+                List<Integer> cousIds = list.stream().map(AssetCustomCompany::getCustomId).collect(Collectors.toList());
+                cousIds.add(-1);
+                List<Integer> ides = new ArrayList<>();
+                if (companyIds != null && !"".equals(companyIds)) {
+                    ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
+                    ides.add(-1);
                 }
-                Integer count = customCompanyMapper.selectCount(new QueryWrapper<CustomCompany>().in("company_id", idess));
-                if (count > 0) {
-                    msg.setError("当前公司所生产方公司已被用用到项目,不可执行修改操作。");
+                if (ides.containsAll(cousIds)) {
+                    msg.setError("当前公司所关联的生产方公司已被用用到项目,不可执行修改操作。");
                     return msg;
                 }
+//                List<Integer> idess = new ArrayList<>();
+//                idess.add(-1);
+//                for (AssetCustomCompany assetCustomCompany : list) {
+//                    idess.add(assetCustomCompany.getCustomId());
+//                }
+//                Integer count = customCompanyMapper.selectCount(new QueryWrapper<CustomCompany>().in("company_id", idess));
+//                if (count > 0) {
+//
+//                }
                 //删除之前的关联公司
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id",companyVO.getId()));
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id", companyVO.getId()));
                 if (companyIds != null && !"".equals(companyIds)) {
-                    List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
+                    ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
                     for (Integer ide : ides) {
                         if (assetCustomCompanyMapper.selectCount(new QueryWrapper<AssetCustomCompany>().eq("assert_id", company.getId()).eq("custom_id", ide)) == 0) {
                             AssetCustomCompany assetCustomCompany = new AssetCustomCompany();
@@ -159,7 +171,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                     return msg;
                 }
                 //删除之前的关联公司
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_id",companyVO.getId()));
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_id", companyVO.getId()));
                 if (companyIds != null && !"".equals(companyIds)) {
                     List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
                     for (Integer ide : ides) {
@@ -181,7 +193,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     public HttpRespMsg pageList(PageUtil page, String keyName, Integer companyType) {
         HttpRespMsg msg = new HttpRespMsg();
         List<CompanyVO> list = new ArrayList<>();
-        PageHelper.startPage(page.getPageNum(),page.getPageSize());
+        PageHelper.startPage(page.getPageNum(), page.getPageSize());
         list = companyMapper.getCustomerListByKeyName(keyName, companyType);
         PageInfo<CompanyVO> pageInfos = new PageInfo<>(list);
         msg.data = pageInfos;
@@ -301,27 +313,27 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", companyVO.getToken()));
         List<Integer> ides = new ArrayList<>();
         ides.add(-1);
-        if(null == currentUser){
+        if (null == currentUser) {
             msg.setError("当前用户不存在或者不存在");
             return msg;
-        }else{
+        } else {
             Company company = companyMapper.selectById(companyVO.getId());
-            if(Constant.PRODUCER_COMPANY == company.getCompanyType()){
+            if (Constant.PRODUCER_COMPANY == company.getCompanyType()) {
                 //生产方公司,返回关联的资产方公司列表
                 ides = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>()
                         .eq("custom_id", company.getId()))
                         .stream()
                         .map(AssetCustomCompany::getAssertId)
                         .collect(Collectors.toList());
-                msg.data = companyMapper.selectList(new QueryWrapper<Company>().in("id",ides));
-            }else if(Constant.ASSETS_COMPANY == company.getCompanyType()){
+                msg.data = companyMapper.selectList(new QueryWrapper<Company>().in("id", ides));
+            } else if (Constant.ASSETS_COMPANY == company.getCompanyType()) {
                 //资产方公司,返回关联的生产方公司列表
                 ides = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>()
                         .eq("assert_id", company.getId()))
                         .stream()
                         .map(AssetCustomCompany::getCustomId)
                         .collect(Collectors.toList());
-                msg.data = companyMapper.selectList(new QueryWrapper<Company>().in("id",ides));
+                msg.data = companyMapper.selectList(new QueryWrapper<Company>().in("id", ides));
             }
         }
         return msg;
@@ -331,10 +343,10 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     public HttpRespMsg getProduceCompany(UserVO userVO) {
         HttpRespMsg msg = new HttpRespMsg();
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
-        if(null == currentUser){
+        if (null == currentUser) {
             msg.setError("当前用户不存在或者不存在");
             return msg;
-        }else{
+        } else {
             Integer ownerCompany = projectMapper.selectById(userVO.getProjectId()).getOwnerCompany();
             List<Integer> companyIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>()
                     .eq("project_id", userVO.getProjectId()))
@@ -358,11 +370,11 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         } else {
             Company company = companyMapper.selectById(id);
             companyMapper.deleteById(id);
-            if(company.getCompanyType()==0){
+            if (company.getCompanyType() == 0) {
                 //删除资产方关联的生产方公司
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id",id));
-            }else if(company.getCompanyType()==1){
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_id",id));
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id", id));
+            } else if (company.getCompanyType() == 1) {
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_id", id));
             }
         }
         return msg;

+ 1 - 2
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldFileServiceImpl.java

@@ -702,9 +702,8 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
         //mouldFiles为根据前台传过来的信息,通过数据库查询所得出的pdf文件路径集合(具体到后缀),此处省略
         File[] files = new File[mouldFiles.size()];//
         for (int i = 0; i < mouldFiles.size(); i++) {
-            files[i] = new File(oldFilePath + mouldFiles.get(i).getFileUrl());//获取所有需要下载的pdf
+            files[i] = new File(oldFilePath + mouldFiles.get(i).getFileUrl().substring(0, oldFilePath.length() - "/upload/".length()));//获取所有需要下载的文件
         }
-
         // 创建临时压缩文件
         try {
             BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));

+ 116 - 116
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/MouldServiceImpl.java

@@ -147,135 +147,136 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
         HttpRespMsg msg = new HttpRespMsg();
         Map<String, Object> map = new HashMap<>();
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", mouldVO.getToken()));
-//        List<Integer> set = new ArrayList<>();
-//        set.add(-1);
-//        List<MouldVO> moulds = new ArrayList<>();
-//        if (currentUser.getId() != null) {
-//            //资产方管理员,获取他公司下的所有模具
-//            if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
-//                //超级管理员,获取平台所有模具
-//                moulds = mouldMapper.selectListByCondition(currentUser);
-//            } else if (Constant.SYS_ID == currentUser.getParentId()) {
-//
-//                if(Constant.ASSETS_COMPANY == currentUser.getSubordinateType()){
-//                    //资产方管理员
-//                    moulds = mouldMapper.selectListByCondition(userVO);
-//                }else if(Constant.PRODUCER_COMPANY == currentUser.getSubordinateType()){
-//                    set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
-//                    moulds = mouldMapper.selectListByConditionByProject(userVO, set);
-//                }
-//            } else {
-//                //普通用户或者项目经理
-//                //充当项目经理参与的项目
-//                if (userVO.getProjectId() != -1) {
-//                    set.add(userVO.getProjectId());
-//                    moulds = mouldMapper.selectListByConditionByProject(userVO, set);
-//                } else {
-//                    QueryWrapper<Project> qw = new QueryWrapper<>();
-//                    qw.eq("manager_id", userVO.getId());
-//                    List<Project> projects = projectMapper.selectList(qw);
-//                    if (projects.size() > 0) {
-//                        for (Project project : projects) {
-//                            set.add(project.getId());
-//                        }
-//                    }
-////                //充当普通人员参与的项目
-//                    List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id", userVO.getId()));
-//                    if (projectUsers.size() > 0) {
-//                        for (ProjectUser projectUser : projectUsers) {
-//                            set.add(projectUser.getProjectId());
-//                        }
-//                    }
-////                //充当审批人员参与的项目
-//                    List<ProjectApprove> projectss = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", userVO.getId()));
-//                    if (projectss.size() > 0) {
-//                        for (ProjectApprove projectUser : projectss) {
-//                            set.add(projectUser.getProjectId());
-//                        }
-//                    }
-//                    moulds = mouldMapper.selectListByConditionByProject(userVO, set);
-//                }
-//            }
-//            msg.data = moulds;
-//        } else {
-//            msg.setError("用户不存在,或者未登录!");
-//        }
+        List<Integer> set = new ArrayList<>();
+        List<Mould> moulds = new ArrayList<>();
+        if (currentUser.getId() != null) {
+            //资产方管理员,获取他公司下的所有模具
+            if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+                //超级管理员,获取平台所有模具
+                moulds = mouldMapper.selectList(new QueryWrapper<Mould>());
+            } else if (Constant.SYS_ID == currentUser.getParentId()) {
 
-        MouldVO mould = mouldMapper.getDetailById(mouldVO);
-        map.put("vo", mould);
-        ProjectVO vo = projectMapper.getProjectById(mould.getProjectId());
-        if (null == mould.getProjectId()) {
-            map.put("update", 0);
-            map.put("download", 0);
-            map.put("view", 0);
-            map.put("approve", 0);
+                if(Constant.ASSETS_COMPANY == currentUser.getSubordinateType()){
+                    //资产方管理员
+                    moulds = mouldMapper.selectList(new QueryWrapper<Mould>().eq("company_id",currentUser.getCompanyId()));
+                }else if(Constant.PRODUCER_COMPANY == currentUser.getSubordinateType()){
+                    set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", currentUser.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
+                    set.add(-1);
+                    moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id",set));
+                }
+            } else {
+                //普通用户或者项目经理
+                //充当项目经理参与的项目
+                    QueryWrapper<Project> qw = new QueryWrapper<>();
+                    qw.eq("manager_id", currentUser.getId());
+                    List<Project> projects = projectMapper.selectList(qw);
+                    if (projects.size() > 0) {
+                        for (Project project : projects) {
+                            set.add(project.getId());
+                        }
+                    }
+//                //充当普通人员参与的项目
+                    List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id", currentUser.getId()));
+                    if (projectUsers.size() > 0) {
+                        for (ProjectUser projectUser : projectUsers) {
+                            set.add(projectUser.getProjectId());
+                        }
+                    }
+//                //充当审批人员参与的项目
+                    List<ProjectApprove> projectss = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId()));
+                    if (projectss.size() > 0) {
+                        for (ProjectApprove projectUser : projectss) {
+                            set.add(projectUser.getProjectId());
+                        }
+                    }
+                set.add(-1);
+                moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id",set));
+            }
         } else {
-            List<CustomCompany> list = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("project_id", mould.getProjectId()));
-            map.put("customCompany", list);
-            if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
-                //当前人超级管理员 ,对项目只可以浏览
+            msg.setError("用户不存在,或者未登录!");
+            return msg;
+        }
+        List<Integer> mIds = moulds.stream().map(Mould::getId).collect(Collectors.toList());
+        if(!mIds.contains(mouldVO.getId())){
+            msg.setError("你没有查看该模具的权限!");
+            return msg;
+        }else{
+            MouldVO mould = mouldMapper.getDetailById(mouldVO);
+            map.put("vo", mould);
+            ProjectVO vo = projectMapper.getProjectById(mould.getProjectId());
+            if (null == mould.getProjectId()) {
                 map.put("update", 0);
                 map.put("download", 0);
-                map.put("view", 1);
+                map.put("view", 0);
                 map.put("approve", 0);
-            } else if (Constant.SYS_ID == currentUser.getParentId()) {
-                //当前为系统管理员
-                if (Constant.ASSETS_COMPANY == currentUser.getSubordinateType()) {
+            } else {
+                List<CustomCompany> list = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("project_id", mould.getProjectId()));
+                map.put("customCompany", list);
+                if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+                    //当前人超级管理员 ,对项目只可以浏览
+                    map.put("update", 0);
+                    map.put("download", 0);
+                    map.put("view", 1);
+                    map.put("approve", 0);
+                } else if (Constant.SYS_ID == currentUser.getParentId()) {
+                    //当前为系统管理员
+                    if (Constant.ASSETS_COMPANY == currentUser.getSubordinateType()) {
+                        map.put("update", 1);
+                        map.put("download", 1);
+                        map.put("view", 1);
+                        map.put("approve", 0);
+                    } else if (Constant.PRODUCER_COMPANY == currentUser.getSubordinateType()) {
+                        map.put("update", 0);
+                        map.put("download", 1);
+                        map.put("view", 1);
+                        map.put("approve", 0);
+                    }
+                } else if (vo.getManagerId() == currentUser.getId()) {
+                    //当前人是该项目的项目经理
+                    Integer approve = 0;
+                    if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
+                        //查看当前项目经理是否为审批人
+                        approve = 1;
+                    }
                     map.put("update", 1);
                     map.put("download", 1);
                     map.put("view", 1);
-                    map.put("approve", 0);
-                } else if (Constant.PRODUCER_COMPANY == currentUser.getSubordinateType()) {
+                    map.put("approve", approve);
+                } else if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
+                    //是否为审批人
                     map.put("update", 0);
                     map.put("download", 1);
                     map.put("view", 1);
-                    map.put("approve", 0);
-                }
-            } else if (vo.getManagerId() == currentUser.getId()) {
-                //当前人是该项目的项目经理
-                Integer approve = 0;
-                if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
-                    //查看当前项目经理是否为审批人
-                    approve = 1;
-                }
-                map.put("update", 1);
-                map.put("download", 1);
-                map.put("view", 1);
-                map.put("approve", approve);
-            } else if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
-                //是否为审批人
-                map.put("update", 0);
-                map.put("download", 1);
-                map.put("view", 1);
-                map.put("approve", 1);
-            } else {
-                //该项目的参与人
-                Integer update = 0;
-                Integer download = 0;
-                Integer view = 0;
-                Integer approve = 0;
-                List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", mould.getProjectId()).eq("user_id", currentUser.getId()));
-                if (powers.size() > 0) {
-                    for (Power power : powers) {
-                        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("approve", 1);
+                } else {
+                    //该项目的参与人
+                    Integer update = 0;
+                    Integer download = 0;
+                    Integer view = 0;
+                    Integer approve = 0;
+                    List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", mould.getProjectId()).eq("user_id", currentUser.getId()));
+                    if (powers.size() > 0) {
+                        for (Power power : powers) {
+                            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("update", update);
+                    map.put("download", download);
+                    map.put("view", view);
+                    map.put("approve", approve);
                 }
-                map.put("update", update);
-                map.put("download", download);
-                map.put("view", view);
-                map.put("approve", approve);
             }
+            msg.data = map;
+            return msg;
         }
-        msg.data = map;
-        return msg;
     }
 
     @Override
@@ -433,7 +434,6 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
         HttpRespMsg msg = new HttpRespMsg();
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
         List<Integer> set = new ArrayList<>();
-        set.add(-1);
         List<Mould> moulds = new ArrayList<>();
         if (currentUser.getId() != null) {
             //资产方管理员,获取他公司下的所有模具
@@ -467,7 +467,7 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
                         set.add(projectUser.getProjectId());
                     }
                 }
-
+                set.add(-1);
             }
             moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id", set).eq("is_maintain", 1));
             msg.data = moulds;
@@ -482,7 +482,6 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
         HttpRespMsg msg = new HttpRespMsg();
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
         List<Integer> set = new ArrayList<>();
-        set.add(-1);
         List<Mould> moulds = new ArrayList<>();
         if (currentUser.getId() != null) {
             //资产方管理员,获取他公司下的所有模具
@@ -516,6 +515,7 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
                         set.add(projectUser.getProjectId());
                     }
                 }
+                set.add(-1);
             }
             moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id", set).eq("state", 3));
             msg.data = moulds;

+ 72 - 21
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -248,7 +248,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<Integer> uIds = new ArrayList<>();
             List<ProjectVO> projects = new ArrayList<>();
             List<Integer> projectIds = new ArrayList<>();
-            projectIds.add(-1);
             if (Constant.SYS_PARENT_ID == user.getParentId()) {
                 projects = projectMapper.getProjectListByUid(keyName, user);
             } else if (Constant.SYS_ID == user.getParentId()) {
@@ -257,15 +256,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     //资产方管理员,看到自己创建的项目
                     qwr.select("id").eq("creator_id", user.getId());
                     projectIds = projectMapper.selectList(qwr).stream().map(Project::getId).collect(Collectors.toList());
-                    projects = projectMapper.getProjectListByUidInProjectIds(keyName,projectIds);
+                    projectIds.add(-1);
+                    projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
                 } else if (user.getSubordinateType() == 1) {
                     projectIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", user.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
-                    projects = projectMapper.getProjectListByUidInProjectIds(keyName,projectIds);                }
+                    projectIds.add(-1);
+                    projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
+                }
             } else {
 
                 QueryWrapper<Project> qwPro = new QueryWrapper<>();
                 qwPro.eq("manager_id", user.getId());
-                projectIds = projectMapper.selectList(qwPro).stream().map(Project::getId).collect(Collectors.toList());;
+                projectIds = projectMapper.selectList(qwPro).stream().map(Project::getId).collect(Collectors.toList());
+                projectIds.add(-1);
                 //项目经理或者普通用户
                 projectIds.addAll(projectUserMapper.selectList(new QueryWrapper<ProjectUser>()
                         .eq("user_id", user.getId()))
@@ -278,7 +281,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                         .stream()
                         .map(ProjectApprove::getProjectId)
                         .collect(Collectors.toList()));
-                projects = projectMapper.getProjectListByUidInProjectIds(keyName,projectIds);
+                projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
             }
             PageInfo<ProjectVO> pageInfos = new PageInfo<>(projects);
             msg.data = pageInfos;
@@ -312,31 +315,79 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     public HttpRespMsg getProjectDetail(Project project, String token) {
         Map<String, Object> map = new HashMap<>();
         HttpRespMsg msg = new HttpRespMsg();
+        User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
+        List<Project> projects = new ArrayList<>();
+        if (user != null) {
+            List<Integer> uIds = new ArrayList<>();
+            List<Integer> projectIds = new ArrayList<>();
+            if (Constant.SYS_PARENT_ID == user.getParentId()) {
+                projects = projectMapper.selectList(new QueryWrapper<Project>());
+            } else if (Constant.SYS_ID == user.getParentId()) {
+                if (user.getSubordinateType() == 0) {
+                    QueryWrapper<Project> qwr = new QueryWrapper<>();
+                    //资产方管理员,看到自己创建的项目
+                    qwr.select("id").eq("creator_id", user.getId());
+                    projectIds = projectMapper.selectList(qwr).stream().map(Project::getId).collect(Collectors.toList());
+                    projectIds.add(-1);
+                    projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
+                } else if (user.getSubordinateType() == 1) {
+                    projectIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", user.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
+                    projectIds.add(-1);
+                    projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
+                } else {
+
+                    QueryWrapper<Project> qwPro = new QueryWrapper<>();
+                    qwPro.eq("manager_id", user.getId());
+                    projectIds = projectMapper.selectList(qwPro).stream().map(Project::getId).collect(Collectors.toList());
+                    projectIds.add(-1);
+                    //项目经理或者普通用户
+                    projectIds.addAll(projectUserMapper.selectList(new QueryWrapper<ProjectUser>()
+                            .eq("user_id", user.getId()))
+                            .stream()
+                            .map(ProjectUser::getProjectId)
+                            .collect(Collectors.toList()));
+                    //作为审批人
+                    projectIds.addAll(projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>()
+                            .eq("approver_id", user.getId()))
+                            .stream()
+                            .map(ProjectApprove::getProjectId)
+                            .collect(Collectors.toList()));
+                    projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
+                }
+            }
+        } else {
+            msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
+            return msg;
+        }
+        List<Integer> pIds = projects.stream().map(Project::getId).collect(Collectors.toList());
+        if(!pIds.contains(project.getId())){
+            msg.setError("您没有查看该项目的权限");
+            return msg;
+        }
         ProjectVO vo = projectMapper.getProjectById(project.getId());
-        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
-        if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+        if (Constant.SYS_PARENT_ID == user.getParentId()) {
             //当前人超级管理员 ,对项目只可以浏览
             map.put("update", 0);
             map.put("download", 0);
             map.put("view", 1);
             map.put("approve", 0);
-        } else if (Constant.SYS_ID == currentUser.getParentId()) {
+        } else if (Constant.SYS_ID == user.getParentId()) {
             //当前为系统管理员
-            if(Constant.ASSETS_COMPANY == currentUser.getSubordinateType()){
+            if (Constant.ASSETS_COMPANY == user.getSubordinateType()) {
                 map.put("update", 1);
                 map.put("download", 1);
                 map.put("view", 1);
                 map.put("approve", 0);
-            }else if(Constant.PRODUCER_COMPANY == currentUser.getSubordinateType()){
+            } else if (Constant.PRODUCER_COMPANY == user.getSubordinateType()) {
                 map.put("update", 0);
                 map.put("download", 1);
                 map.put("view", 1);
                 map.put("approve", 0);
             }
-        } else if (vo.getManagerId() == currentUser.getId()) {
+        } else if (vo.getManagerId() == user.getId()) {
             //当前人是该项目的项目经理
             Integer approve = 0;
-            if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
+            if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", user.getId())) > 0) {
                 //查看当前项目经理是否为审批人
                 approve = 1;
             }
@@ -344,14 +395,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             map.put("download", 1);
             map.put("view", 1);
             map.put("approve", approve);
-        } else if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
+        } else if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", user.getId())) > 0) {
             //是否为审批人
             //该项目的参与人
             Integer update = 0;
             Integer download = 0;
             Integer view = 0;
             Integer approve = 1;
-            List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", currentUser.getId()));
+            List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", user.getId()));
             if (powers.size() > 0) {
                 for (Power power : powers) {
                     if (power.getPowerType() == 0) {
@@ -375,7 +426,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             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()));
+            List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", user.getId()));
             if (powers.size() > 0) {
                 for (Power power : powers) {
                     if (power.getPowerType() == 0) {
@@ -473,10 +524,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 moulds = mouldMapper.selectListByCondition(userVO);
             } else if (Constant.SYS_ID == userVO.getParentId()) {
 
-                if(Constant.ASSETS_COMPANY == userVO.getSubordinateType()){
+                if (Constant.ASSETS_COMPANY == userVO.getSubordinateType()) {
                     //资产方管理员
                     moulds = mouldMapper.selectListByCondition(userVO);
-                }else if(Constant.PRODUCER_COMPANY == userVO.getSubordinateType()){
+                } else if (Constant.PRODUCER_COMPANY == userVO.getSubordinateType()) {
                     set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
                     moulds = mouldMapper.selectListByConditionByProject(userVO, set);
                 }
@@ -575,8 +626,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         } else {
             if (Constant.SYS_ID == user.getParentId()) {
                 //admin创建人员,获取该公司下的所有项目
-                list =  projectMapper.selectList(new QueryWrapper<Project>().eq("owner_company", user.getCompanyId()));
-            }else{
+                list = projectMapper.selectList(new QueryWrapper<Project>().eq("owner_company", user.getCompanyId()));
+            } else {
                 //项目经理创建人员,获取当前项目经理的充当项目经理的任务
                 list = projectMapper.selectList(new QueryWrapper<Project>().eq("manager_id", user.getId()));
             }
@@ -600,10 +651,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 moulds = mouldMapper.selectListByCondition(userVO);
             } else if (Constant.SYS_ID == userVO.getParentId()) {
 
-                if(Constant.ASSETS_COMPANY == userVO.getSubordinateType()){
+                if (Constant.ASSETS_COMPANY == userVO.getSubordinateType()) {
                     //资产方管理员
                     moulds = mouldMapper.selectListByCondition(userVO);
-                }else if(Constant.PRODUCER_COMPANY == userVO.getSubordinateType()){
+                } else if (Constant.PRODUCER_COMPANY == userVO.getSubordinateType()) {
                     set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
                     moulds = mouldMapper.selectListByConditionByProject(userVO, set);
                 }

+ 2 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/util/MD5Util.java

@@ -41,7 +41,8 @@ public class MD5Util {
         SimpleDateFormat df1 = new SimpleDateFormat ("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK);
         Date startDate = df1.parse(date1.toString());
         System.out.println("date1.toString()"+date1.toString()+"=====startDate"+startDate);
-
+        String substring = "D:/mould/upload/".substring(0, "D:/mould/upload/".length() - "/upload/".length());
+        System.out.println("substring"+substring);
 //        String password = "000000";
 //        System.out.println(MD5Util.getPassword(password));
 //        System.out.println(UUID.randomUUID().toString().replaceAll("-", ""));;