瀏覽代碼

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 年之前
父節點
當前提交
4aeca2a383

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

@@ -153,6 +153,5 @@ public class UserController {
         HttpRespMsg msg = projectService.getUserByCompanyIdOrSubordinateType(user);
         return msg;
     }
-
 }
 

+ 12 - 10
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -118,10 +118,12 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                     ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
                     ides.add(-1);
                 }
-                if (ides.containsAll(cousIds)) {
+                if (!ides.containsAll(cousIds)) {
                     msg.setError("当前公司所关联的生产方公司已被用用到项目,不可执行修改操作。");
                     return msg;
                 }
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id", companyVO.getId()));
+
 //                List<Integer> idess = new ArrayList<>();
 //                idess.add(-1);
 //                for (AssetCustomCompany assetCustomCompany : list) {
@@ -132,7 +134,6 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
 //
 //                }
                 //删除之前的关联公司
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id", companyVO.getId()));
                 if (companyIds != null && !"".equals(companyIds)) {
                     ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
                     for (Integer ide : ides) {
@@ -160,20 +161,21 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 lngLatCompanyMapper.updateById(factory);
                 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::getAssertId).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>().eq("company_id", company.getId()));
-                if (count > 0) {
-                    msg.setError("当前公司已和所关联的资产方合作相关项目,不可执行修改操作。");
+                if (!ides.containsAll(cousIds)) {
+                    msg.setError("当前公司所关联的生产方公司已被用用到项目,不可执行修改操作。");
                     return msg;
                 }
                 //删除之前的关联公司
                 assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_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();

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

@@ -280,7 +280,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                 mouldFileMapper.updateById(mf);
                 if (oldData.getBlongType() == 4) {
                     if(mf.getState()==3){
-                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belongType", 4).eq("is_pass", 1).eq("mould_id", oldData.getModelId()));
+                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belong_type", 4).eq("is_pass", 1).eq("mould_id", oldData.getModelId()));
                         if(count == 0){
                             dynamics.setMouldId(oldData.getModelId());
                             dynamics.setApplicantName(oldData.getUploadtor());
@@ -292,7 +292,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                             mouldOperationDynamicsMapper.insert(dynamics);
                         }
                     }else if(mf.getState() < 0){
-                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belongType", 4).eq("is_pass", 0).eq("mould_id", oldData.getModelId()));
+                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belong_type", 4).eq("is_pass", 0).eq("mould_id", oldData.getModelId()));
                         if(count == 0){
                             dynamics.setMouldId(oldData.getModelId());
                             dynamics.setApplicantName(oldData.getUploadtor());
@@ -343,7 +343,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                 mouldFileMapper.updateById(mf);
                 if (oldData.getBlongType() == 4) {
                     if(mf.getState()==3){
-                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belongType", 4).eq("is_pass", 1).eq("mould_id", oldData.getModelId()));
+                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belong_type", 4).eq("is_pass", 1).eq("mould_id", oldData.getModelId()));
                         if(count == 0){
                             dynamics.setMouldId(oldData.getModelId());
                             dynamics.setApplicantName(oldData.getUploadtor());
@@ -355,7 +355,7 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                             mouldOperationDynamicsMapper.insert(dynamics);
                         }
                     }else if(mf.getState() < 0){
-                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belongType", 4).eq("is_pass", 0).eq("mould_id", oldData.getModelId()));
+                        Integer count = mouldOperationDynamicsMapper.selectCount(new QueryWrapper<MouldOperationDynamics>().eq("belong_type", 4).eq("is_pass", 0).eq("mould_id", oldData.getModelId()));
                         if(count == 0){
                             dynamics.setMouldId(oldData.getModelId());
                             dynamics.setApplicantName(oldData.getUploadtor());

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

@@ -3,6 +3,8 @@ package com.hssx.cloudmodel.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.hssx.cloudmodel.constant.Constant;
 import com.hssx.cloudmodel.entity.*;
 import com.hssx.cloudmodel.entity.vo.MouldEquipmentVO;
@@ -18,6 +20,7 @@ import com.hssx.cloudmodel.util.ListUtil;
 import com.hssx.cloudmodel.util.WechatTemplateMessage;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringEscapeUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -62,7 +65,7 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
     MouldFileMapper mouldFileMapper;
 
     @Override
-    public HttpRespMsg addAndUpdateMould(Mould mould, User user,Integer dynamicId) {
+    public HttpRespMsg addAndUpdateMould(Mould mould, User user, Integer dynamicId) {
         HttpRespMsg msg = new HttpRespMsg();
         if (mould.getId() != null) {
             //修改
@@ -84,7 +87,7 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
                 //更新模具操作
                 //取出之前模具的信息
                 Mould model = mouldMapper.selectById(mould.getPreUpdateId());
-                if(null != dynamicId){
+                if (null != dynamicId) {
                     //更新模具更新的动态为已更新
                     MouldFile mf = new MouldFile();
                     mf.setId(dynamicId);
@@ -146,61 +149,62 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
     public HttpRespMsg getMoildDetail(MouldVO mouldVO) {
         HttpRespMsg msg = new HttpRespMsg();
         Map<String, Object> map = new HashMap<>();
-        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", mouldVO.getToken()));
+        User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", mouldVO.getToken()));
+        UserVO userVO = new UserVO();
+        BeanUtils.copyProperties(user, userVO);
         List<Integer> set = new ArrayList<>();
-        List<Mould> moulds = new ArrayList<>();
-        if (currentUser.getId() != null) {
+        List<MouldVO> moulds = new ArrayList<>();
+        if (userVO.getId() != null) {
             //资产方管理员,获取他公司下的所有模具
-            if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+            if (Constant.SYS_PARENT_ID == userVO.getParentId()) {
                 //超级管理员,获取平台所有模具
-                moulds = mouldMapper.selectList(new QueryWrapper<Mould>());
-            } else if (Constant.SYS_ID == currentUser.getParentId()) {
+                moulds = mouldMapper.selectListByCondition(userVO);
+            } else if (Constant.SYS_ID == userVO.getParentId()) {
 
-                if(Constant.ASSETS_COMPANY == currentUser.getSubordinateType()){
+                if (Constant.ASSETS_COMPANY == userVO.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());
+                    moulds = mouldMapper.selectListByCondition(userVO);
+                } 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());
                     set.add(-1);
-                    moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id",set));
+                    moulds = mouldMapper.selectListByConditionByProject(userVO, 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());
-                        }
+                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", currentUser.getId()));
-                    if (projectUsers.size() > 0) {
-                        for (ProjectUser projectUser : projectUsers) {
-                            set.add(projectUser.getProjectId());
-                        }
+                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", currentUser.getId()));
-                    if (projectss.size() > 0) {
-                        for (ProjectApprove projectUser : projectss) {
-                            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());
                     }
+                }
                 set.add(-1);
-                moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id",set));
+                moulds = mouldMapper.selectListByConditionByProject(userVO, set);
             }
         } else {
             msg.setError("用户不存在,或者未登录!");
-            return msg;
         }
-        List<Integer> mIds = moulds.stream().map(Mould::getId).collect(Collectors.toList());
-        if(!mIds.contains(mouldVO.getId())){
+        List<Integer> mIds = moulds.stream().map(MouldVO::getId).collect(Collectors.toList());
+        if (!mIds.contains(mouldVO.getId())) {
             msg.setError("你没有查看该模具的权限!");
             return msg;
-        }else{
+        } else {
             MouldVO mould = mouldMapper.getDetailById(mouldVO);
             map.put("vo", mould);
             ProjectVO vo = projectMapper.getProjectById(mould.getProjectId());
@@ -212,29 +216,29 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
             } 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()) {
+                if (Constant.SYS_PARENT_ID == userVO.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 == userVO.getParentId()) {
                     //当前为系统管理员
-                    if (Constant.ASSETS_COMPANY == currentUser.getSubordinateType()) {
+                    if (Constant.ASSETS_COMPANY == userVO.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 == userVO.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() == userVO.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", userVO.getId())) > 0) {
                         //查看当前项目经理是否为审批人
                         approve = 1;
                     }
@@ -242,7 +246,7 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
                     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", userVO.getId())) > 0) {
                     //是否为审批人
                     map.put("update", 0);
                     map.put("download", 1);
@@ -254,7 +258,7 @@ public class MouldServiceImpl extends ServiceImpl<MouldMapper, Mould> implements
                     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()));
+                    List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", mould.getProjectId()).eq("user_id", userVO.getId()));
                     if (powers.size() > 0) {
                         for (Power power : powers) {
                             if (power.getPowerType() == 0) {

+ 48 - 32
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -141,8 +141,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                         .collect(Collectors.toList());
                 approverIds.add(-1);
                 powerMapper.delete(new QueryWrapper<Power>().in("user_id", approverIds));
+                //删除之前分配的人员
+                QueryWrapper<ProjectUser> qwPro = new QueryWrapper<>();
+                qwPro.eq("project_id", project.getId());
+                projectUserMapper.delete(qwPro);
+                //再次重新分配
+                this.handOutProject(project, userIds);
                 //重新添加审批人
-                //1.添加资产方审批人
+                //1.添加产方审批人
                 if (null != customerApproverId) {
                     User customerExaminer = userMapper.selectById(customerApproverId);
                     Company company = companyMapper.selectById(customerExaminer.getCompanyId());
@@ -164,9 +170,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     power.setProjectId(project.getId());
                     power.setPowerType(Constant.DOWNLOAD_AUTHORITY);
                     powerMapper.insert(power);
+                    //将审批人加入到参与人中
+                    ProjectUser projectUser = new ProjectUser();
+                    projectUser.setUserId(customerExaminer.getId());
+                    projectUser.setSubordinateType(customerExaminer.getSubordinateType());
+                    projectUser.setProjectId(project.getId());
+                    projectUser.setSubordinate(customerExaminer.getCompanyId());
+                    projectUser.setRoleType(1);//审批人
+                    projectUserMapper.insert(projectUser);
                 }
                 if (null != ownerApproverId) {
-                    //2.添加生产方审批人
+                    //2.添加产方审批人
                     User ownerExaminer = userMapper.selectById(ownerApproverId);
                     Company company = companyMapper.selectById(ownerExaminer.getCompanyId());
                     ProjectApprove ownerProjectApprove = new ProjectApprove();
@@ -187,13 +201,15 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     power.setProjectId(project.getId());
                     power.setPowerType(Constant.DOWNLOAD_AUTHORITY);
                     powerMapper.insert(power);
+                    //将审批人加入到参与人中
+                    ProjectUser projectUser = new ProjectUser();
+                    projectUser.setUserId(ownerExaminer.getId());
+                    projectUser.setSubordinateType(ownerExaminer.getSubordinateType());
+                    projectUser.setProjectId(project.getId());
+                    projectUser.setSubordinate(ownerExaminer.getCompanyId());
+                    projectUser.setRoleType(1);//审批人
+                    projectUserMapper.insert(projectUser);
                 }
-                //删除之前分配的人员
-                QueryWrapper<ProjectUser> qwPro = new QueryWrapper<>();
-                qwPro.eq("project_id", project.getId());
-                projectUserMapper.delete(qwPro);
-                //再次重新分配
-                this.handOutProject(project, userIds);
                 //删除之前分配与项目关联的模具,即将之前的关联项目id修改成未关联
                 mouldMapper.updateMouldByProjectId(project);
                 //再次模具的分配
@@ -316,12 +332,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         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<>();
+        List<ProjectVO> projects = new ArrayList<>();
+        String keyName = null;
         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>());
+                projects = projectMapper.getProjectListByUid(keyName, user);
             } else if (Constant.SYS_ID == user.getParentId()) {
                 if (user.getSubordinateType() == 0) {
                     QueryWrapper<Project> qwr = new QueryWrapper<>();
@@ -329,35 +346,34 @@ 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());
                     projectIds.add(-1);
-                    projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
+                    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());
                     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));
+                    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.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.getProjectListByUidInProjectIds(keyName, projectIds);
             }
         } else {
             msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
-            return msg;
         }
         List<Integer> pIds = projects.stream().map(Project::getId).collect(Collectors.toList());
         if(!pIds.contains(project.getId())){

+ 84 - 16
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -120,22 +120,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             set.add(-1);
             if (userVO.getId() != null) {
                 QueryWrapper<Project> qw = new QueryWrapper<>();
-                if (Constant.SYS_PARENT_ID == userVO.getParentId()) {
-                    //系统超级管理员,可获得所有项目
-                    projects = projectMapper.selectList(qw);
-//                    for (Project project : projects) {
-//                        set.add(project.getId());
-//                    }
-                    userVO.setProjects(projects);
-                } else if (Constant.SYS_ID == userVO.getParentId()) {
-                    //资产方管理员,看到自己创建的项目
-                    qw.eq("creator_id", userVO.getId());
-                    projects = projectMapper.selectList(qw);
-//                    for (Project project : projects) {
-//                        set.add(project.getId());
-//                    }
-                    userVO.setProjects(projects);
-                } else {
+                //当前登录人是什么人
+                if (Constant.SYS_PARENT_ID == user.getParentId()) {
+                    //超级管理员
+                    //看到该人参与的所有项目
                     QueryWrapper<Project> qwPro = new QueryWrapper<>();
                     qwPro.eq("manager_id", userVO.getId());
                     List<Project> projectList = projectMapper.selectList(qwPro);
@@ -155,6 +143,86 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                     qw.in("id", set);
                     projects = projectMapper.selectList(qw);
                     userVO.setProjects(projects);
+                } else if (Constant.SYS_ID == user.getParentId()) {
+                    List<Integer> proIds = projectMapper.selectList(new QueryWrapper<Project>().eq("creator_id", user.getId())).stream().map(Project::getId).collect(Collectors.toList());
+                    if (user.getSubordinateType() == 0) {
+                        //看到该人参与的所有项目
+                        QueryWrapper<Project> qwPro = new QueryWrapper<>();
+                        qwPro.eq("manager_id", userVO.getId());
+                        List<Project> projectList = projectMapper.selectList(qwPro);
+                        for (Project project : projectList) {
+                            set.add(project.getId());
+                        }
+                        //项目经理或者普通用户
+                        List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id", userVO.getId()));
+                        for (ProjectUser projectUser : projectUsers) {
+                            set.add(projectUser.getProjectId());
+                        }
+                        //作为审批人
+                        List<ProjectApprove> projectApproves = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", userVO.getId()));
+                        for (ProjectApprove projectApprove : projectApproves) {
+                            set.add(projectApprove.getProjectId());
+                        }
+                        set.retainAll(proIds);
+                        set.add(-1);
+                        qw.in("id", set);
+                        projects = projectMapper.selectList(qw);
+                        userVO.setProjects(projects);
+                    } else if (user.getSubordinateType() == 1) {
+                        List<Integer> projectIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", user.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
+                        projectIds.add(-1);
+                        if (user.getSubordinateType() == 0) {
+                            //看到该人参与的所有项目
+                            QueryWrapper<Project> qwPro = new QueryWrapper<>();
+                            qwPro.eq("manager_id", userVO.getId());
+                            List<Project> projectList = projectMapper.selectList(qwPro);
+                            for (Project project : projectList) {
+                                set.add(project.getId());
+                            }
+                            //项目经理或者普通用户
+                            List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id", userVO.getId()));
+                            for (ProjectUser projectUser : projectUsers) {
+                                set.add(projectUser.getProjectId());
+                            }
+                            //作为审批人
+                            List<ProjectApprove> projectApproves = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", userVO.getId()));
+                            for (ProjectApprove projectApprove : projectApproves) {
+                                set.add(projectApprove.getProjectId());
+                            }
+                            set.retainAll(projectIds);
+                            set.add(-1);
+                            qw.in("id", set);
+                            projects = projectMapper.selectList(qw);
+                            userVO.setProjects(projects);
+                        }
+                    } else {
+                        List<Integer> pIds = projectMapper.selectList(new QueryWrapper<Project>().eq("manager_id", user.getId())).stream().map(Project::getId).collect(Collectors.toList());
+                        pIds.add(-1);
+                        if (user.getSubordinateType() == 0) {
+                            //看到该人参与的所有项目
+                            QueryWrapper<Project> qwPro = new QueryWrapper<>();
+                            qwPro.eq("manager_id", userVO.getId());
+                            List<Project> projectList = projectMapper.selectList(qwPro);
+                            for (Project project : projectList) {
+                                set.add(project.getId());
+                            }
+                            //项目经理或者普通用户
+                            List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id", userVO.getId()));
+                            for (ProjectUser projectUser : projectUsers) {
+                                set.add(projectUser.getProjectId());
+                            }
+                            //作为审批人
+                            List<ProjectApprove> projectApproves = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", userVO.getId()));
+                            for (ProjectApprove projectApprove : projectApproves) {
+                                set.add(projectApprove.getProjectId());
+                            }
+                            set.retainAll(pIds);
+                            set.add(-1);
+                            qw.in("id", set);
+                            projects = projectMapper.selectList(qw);
+                            userVO.setProjects(projects);
+                        }
+                    }
                 }
             } else {
                 msg.setError("当前用户未登录,或者用户不存在");

+ 15 - 3
cloud-model/src/main/java/com/hssx/cloudmodel/util/MD5Util.java

@@ -11,9 +11,7 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.Locale;
-import java.util.UUID;
+import java.util.*;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
@@ -43,6 +41,20 @@ public class MD5Util {
         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);
+        List<Integer>ids = new ArrayList<>();
+        ids.add(-1);
+        List<String> list1 = new ArrayList<String>();
+        List<String> list2 = new ArrayList<String>();
+        list1.add("g");
+        list1.add("s");
+        list1.add("a");
+        list1.add("f");
+        list2.add("g");
+        list2.add("c");
+        list2.add("b");
+        list2.add("a");
+        list1.retainAll(list2);
+        System.out.print(list1);
 //        String password = "000000";
 //        System.out.println(MD5Util.getPassword(password));
 //        System.out.println(UUID.randomUUID().toString().replaceAll("-", ""));;

+ 2 - 0
cloud-model/src/main/resources/application-prod.properties

@@ -39,6 +39,8 @@ upload.path=E:/staticproject/cloudmodel
 ######################################################################################################
 # 文件上传路径
 download.path=E:/mould/download/
+# 邀请人员链接前缀
+invitation.url.prefix=https://118.190.47.230:9098/#/invite/
 #######################################################################################################
 # 配置上传文件的大小设置
 # Single file max size  即单个文件大小

+ 1 - 1
cloud-model/src/main/resources/application.properties

@@ -12,7 +12,7 @@ spring.thymeleaf.jackson.date-format=yyyy-MM-dd HH:mm:ss
 # ####################################################################################################
 # Êý¾ÝÔ´ÅäÖÃ
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://118.190.47.230:3306/cloud_model?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+spring.datasource.url=jdbc:mysql://118.190.47.230:3306/new_cloud_model?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
 spring.datasource.username=root
 spring.datasource.password=p011430seya10
 #spring.datasource.druid.test-on-borrow=true

+ 1 - 0
cloud-model/src/main/resources/mapper/MouldMapper.xml

@@ -215,6 +215,7 @@ select
         tbco.id = tbm.produce_company_id
         where
           tbm.company_id = #{companyId}
+          AND tbm.pre_update_id = 0
     </select>
     
     <update id="updateModelProjectIdAndEquipmentIdToNullById">