Explorar el Código

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
hace 5 años
padre
commit
7faac1bcfa

+ 14 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/controller/CompanyController.java

@@ -183,5 +183,19 @@ public class CompanyController {
         return msg;
     }
 
+    /**
+     * 根据当前人登录人所能看到的公司,进行项目,模具的筛选
+     * 参数 token 身份凭证
+     * @return
+     */
+    @ApiOperation(value = "根据当前人登录人所能看到的公司,进行项目,模具的筛选")
+    @RequestMapping("/getProduceCompanyByCurrentUser")
+    @ResponseBody
+    public HttpRespMsg getProduceCompanyByCurrentUser(UserVO userVO){
+        HttpRespMsg msg = new HttpRespMsg();
+        msg = companyService.getProduceCompanyByCurrentUser(userVO);
+        return msg;
+    }
+
 }
 

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

@@ -50,6 +50,7 @@ public class MouldOperationDynamicsController {
         }
         return msg;
     }
+
     public List<Integer> recursion(int mouldId, List<Integer> list){
         Mould mould = null;
         mould = mouldService.getById(mouldId);

+ 2 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/CompanyService.java

@@ -39,4 +39,6 @@ public interface CompanyService extends IService<Company> {
     HttpRespMsg getOwnerRelateCompany(CompanyVO companyVO);
 
     HttpRespMsg getProduceCompany(UserVO userVO);
+
+    HttpRespMsg getProduceCompanyByCurrentUser(UserVO userVO);
 }

+ 54 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
 import com.hssx.cloudmodel.constant.Constant;
 import com.hssx.cloudmodel.entity.*;
 import com.hssx.cloudmodel.entity.vo.CompanyVO;
+import com.hssx.cloudmodel.entity.vo.ProjectVO;
 import com.hssx.cloudmodel.entity.vo.UserVO;
 import com.hssx.cloudmodel.mapper.*;
 import com.hssx.cloudmodel.service.CompanyService;
@@ -20,6 +21,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -362,6 +364,58 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         return msg;
     }
 
+    @Override
+    public HttpRespMsg getProduceCompanyByCurrentUser(UserVO userVO) {
+        HttpRespMsg msg = new HttpRespMsg();
+        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
+        List<Company> companies = new ArrayList<>();
+        if (null == currentUser) {
+            msg.setError("当前用户不存在或者不存在");
+            return msg;
+        } else {
+            if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+                companies = companyMapper.selectList(new QueryWrapper<Company>());
+            } else if (Constant.SYS_ID == currentUser.getParentId()) {
+                if (currentUser.getSubordinateType() == 0) {
+                    List<Integer> customCompanyIds = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("assert_id", currentUser.getCompanyId())).stream().map(AssetCustomCompany::getCustomId).collect(Collectors.toList());
+                    customCompanyIds.add(currentUser.getCompanyId());
+                    companies = companyMapper.selectList(new QueryWrapper<Company>().in("id",customCompanyIds));
+                }else if(currentUser.getSubordinateType() == 1){
+                    List<Integer> assetCompanyIds = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("custom_id", currentUser.getCompanyId())).stream().map(AssetCustomCompany::getAssertId).collect(Collectors.toList());
+                    assetCompanyIds.add(currentUser.getCompanyId());
+                    companies = companyMapper.selectList(new QueryWrapper<Company>().in("id",assetCompanyIds));
+                }
+            }else{
+                List<Integer> projectIds = new ArrayList<>();
+                QueryWrapper<Project> qwPro = new QueryWrapper<>();
+                qwPro.eq("manager_id", currentUser.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", currentUser.getId()))
+                        .stream()
+                        .map(ProjectUser::getProjectId)
+                        .collect(Collectors.toList()));
+                //作为审批人
+                projectIds.addAll(projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>()
+                        .eq("approver_id", currentUser.getId()))
+                        .stream()
+                        .map(ProjectApprove::getProjectId)
+                        .collect(Collectors.toList()));
+                String keyName = null;
+                List<ProjectVO> projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
+                String cIds = projects.stream().map(Project::getOwnerCompanyName).collect(Collectors.joining(","));
+                if(cIds.length()>0){
+                    List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(cIds);
+                    companies = companyMapper.selectList(new QueryWrapper<Company>().in("id",ides));
+                }
+            }
+            msg.data = companies;
+        }
+        return msg;
+    }
+
     @Override
     public HttpRespMsg deleteById(Integer id) {
         HttpRespMsg msg = new HttpRespMsg();

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

@@ -173,27 +173,27 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                     if (mould.getProjectId() != null) {
                         List<ProjectApprove> projectApproves = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("project_id", project.getId()));
                         String content = "";
+                        NewsNotice newsNotice = new NewsNotice();
+                        newsNotice.setRefId(projectFile.getModelId());
+                        newsNotice.setProjectId(project.getId());
+                        newsNotice.setProjectName(project.getProjectName()+"-"+mould.getModelName());
+                        newsNotice.setNoticeType(Constant.APPROVEL_TYPE);
+                        if (blongType == 0) {
+                            content = "模具文档";
+                        } else if (blongType == 1) {
+                            content = "零件文档";
+                        } else if (blongType == 2) {
+                            content = "试模验收文档";
+                        } else if (blongType == 3) {
+                            content = "保养方案文档";
+                        } else if (blongType == 5) {
+                            content = "模具报废文档";
+                        }
+                        newsNotice.setContent("有新的" + content + ",待您审批。");
+                        newsNoticeMapper.insert(newsNotice);
                         for (ProjectApprove projectApprove : projectApproves) {
-                            NewsNotice newsNotice = new NewsNotice();
-                            newsNotice.setRefId(projectFile.getModelId());
-                            newsNotice.setProjectId(project.getId());
-                            newsNotice.setProjectName(project.getProjectName()+"-"+mould.getModelName());
-                            newsNotice.setNoticeType(Constant.APPROVEL_TYPE);
-                            if (blongType == 0) {
-                                content = "模具文档";
-                            } else if (blongType == 1) {
-                                content = "零件文档";
-                            } else if (blongType == 2) {
-                                content = "试模验收文档";
-                            } else if (blongType == 3) {
-                                content = "保养方案文档";
-                            } else if (blongType == 5) {
-                                content = "模具报废文档";
-                            }
-                            newsNotice.setContent("有新的" + content + ",待您审批。");
-                            newsNoticeMapper.insert(newsNotice);
                             NewsNoticeUser newsNoticeUser = new NewsNoticeUser();
-                            newsNoticeUser.setUserId(user.getId());
+                            newsNoticeUser.setUserId(projectApprove.getApproverId());
                             newsNoticeUser.setNewsId(newsNotice.getId());
                             newsNoticeUserMapper.insert(newsNoticeUser);
                         }
@@ -219,19 +219,20 @@ public class MouldFileServiceImpl extends ServiceImpl<MouldFileMapper, MouldFile
                 Project project = projectMapper.selectOne(new QueryWrapper<Project>().eq("id", mould.getProjectId()));
                 List<ProjectApprove> projectApproves = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("project_id", project.getId()));
                 String content = "";
+                NewsNotice newsNotice = new NewsNotice();
+                newsNotice.setRefId(projectFile.getModelId());
+                newsNotice.setProjectId(project.getId());
+                newsNotice.setProjectName(project.getProjectName()+"-"+mould.getModelName());
+                newsNotice.setNoticeType(Constant.APPROVEL_TYPE);
+                if (blongType == 4) {
+                    content = "模具更新";
+                }
+                newsNotice.setContent("有新的" + content + "申请记录,待您审批。");
+                newsNoticeMapper.insert(newsNotice);
+
                 for (ProjectApprove projectApprove : projectApproves) {
-                    NewsNotice newsNotice = new NewsNotice();
-                    newsNotice.setRefId(projectFile.getModelId());
-                    newsNotice.setProjectId(project.getId());
-                    newsNotice.setProjectName(project.getProjectName()+"-"+mould.getModelName());
-                    newsNotice.setNoticeType(Constant.APPROVEL_TYPE);
-                    if (blongType == 4) {
-                        content = "模具更新";
-                    }
-                    newsNotice.setContent("有新的" + content + "申请记录,待您审批。");
-                    newsNoticeMapper.insert(newsNotice);
                     NewsNoticeUser newsNoticeUser = new NewsNoticeUser();
-                    newsNoticeUser.setUserId(user.getId());
+                    newsNoticeUser.setUserId(projectApprove.getApproverId());
                     newsNoticeUser.setNewsId(newsNotice.getId());
                     newsNoticeUserMapper.insert(newsNoticeUser);
                 }

+ 0 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -280,7 +280,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     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());