Переглянути джерело

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 роки тому
батько
коміт
cb4a8e2685

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

@@ -153,18 +153,5 @@ public class CompanyController {
         msg = companyService.getCoutomCompanyAndMouldsByUser(userVO);
         return msg;
     }
-    /**
-     * 公司详情
-     * 参数 token 用户身份凭证 companyId 公司id
-     * @return
-     */
-    @ApiOperation(value = "公司详情")
-    @RequestMapping("/detail")
-    @ResponseBody
-    public HttpRespMsg detail(UserVO userVO){
-        HttpRespMsg msg = new HttpRespMsg();
-        msg = companyService.detail(userVO);
-        return msg;
-    }
 }
 

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

@@ -58,7 +58,7 @@ public class UserController {
      * 添加/修改用户
      *
      * 参数:account 账号 username 用户名(账号使用者的名字)parentId 创建此用户的创建者id
-     * password 密码 ,mobile 手机号 ,roleName 角色名称, companyId 所属公司id,
+     * password 密码 ,mobile 手机号 ,roleName 角色名称, companyId 所属公司id,projectId 项目id
      * flag 0-添加,1-修改
      * 注意:创建公司管理员的时候 ,addType 0
      * @return
@@ -66,9 +66,9 @@ public class UserController {
     @ApiOperation("添加/修改用户")
     @RequestMapping("/add")
     @ResponseBody
-    public HttpRespMsg addAndUpdateUser(User user, HttpServletRequest request, Integer flag,
+    public HttpRespMsg addAndUpdateUser(User user, HttpServletRequest request, Integer flag,@RequestParam(required = false) Integer projectId,
                                         HttpServletResponse response,@RequestParam(required = false)Integer addType) {
-        HttpRespMsg msg = userService.addAndUpdateUser(user, flag,addType);
+        HttpRespMsg msg = userService.addAndUpdateUser(user, flag,addType,projectId);
         return msg;
     }
 

+ 1 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/service/UserService.java

@@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 public interface UserService extends IService<User> {
 
-    HttpRespMsg addAndUpdateUser(User user, Integer flag,Integer addType);
+    HttpRespMsg addAndUpdateUser(User user, Integer flag,Integer addType,Integer projectId);
 
     HttpRespMsg login(UserVO userVO, HttpServletRequest request);
 

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

@@ -301,7 +301,14 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
             msg.setError("该公司已被应用到用户中,暂不提供删除操作");
             return msg;
         } else {
+            Company company = companyMapper.selectById(id);
             companyMapper.deleteById(id);
+            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));
+            }
         }
         return msg;
     }

+ 65 - 23
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/UserServiceImpl.java

@@ -14,7 +14,6 @@ import com.hssx.cloudmodel.util.HttpRespMsg;
 import com.hssx.cloudmodel.util.MD5Util;
 import com.hssx.cloudmodel.util.PageUtil;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -24,10 +23,6 @@ import java.util.List;
 import java.util.UUID;
 
 /**
- * <p>
- * 服务实现类
- * </p>
- *
  * @author 吴涛涛
  * @since 2019-07-26
  */
@@ -155,12 +150,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     @Override
-    public HttpRespMsg addAndUpdateUser(User user, Integer flag, Integer addType) {
+    public HttpRespMsg addAndUpdateUser(User user, Integer flag, Integer addType, Integer projectId) {
         //获取该账号的创建者
         User parentUser = userMapper.selectById(user.getParentId());
         HttpRespMsg msg = new HttpRespMsg();
         if (Constant.SYS_PARENT_ID == parentUser.getParentId()) {
-            //此时是创建admind,当前创建人是超级管理员
+            //此时是创建admind,当前创建人是超级管理员,此时没有项目id
             int count = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", user.getCompanyId()).eq("parent_id", parentUser.getId()));
             if (flag == 0) {
                 if (count > 0) {
@@ -190,7 +185,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                         user.setTeamName("生产方");
                     }
                     userMapper.insert(user);
-                    if(addType != null){
+                    if (addType != null) {
                         if (addType == 0) {
                             Company com = new Company();
                             com.setId(user.getCompanyId());
@@ -235,6 +230,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                         if (userCompanyCount == 0) {
                             userCompanyMapper.insert(userCompany);
                         }
+                        //添加一条项目参与人记录
+                        if (projectId != null) {
+                            ProjectUser projectUser = new ProjectUser();
+                            projectUser.setProjectId(projectId);
+                            projectUser.setSubordinate(existingUser.getCompanyId());
+                            projectUser.setUserId(existingUser.getId());
+                            projectUser.setSubordinateType(existingUser.getSubordinateType());
+                            projectUserMapper.insert(projectUser);
+                        }
                     }
                 } else {
                     //创建账号默认密码"000000"
@@ -259,6 +263,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                     if (userCompanyCount == 0) {
                         userCompanyMapper.insert(userCompany);
                     }
+                    //添加一条项目参与人记录
+                    if (projectId != null) {
+                        ProjectUser projectUser = new ProjectUser();
+                        projectUser.setProjectId(projectId);
+                        projectUser.setSubordinate(user.getCompanyId());
+                        projectUser.setUserId(user.getId());
+                        projectUser.setSubordinateType(user.getSubordinateType());
+                        projectUserMapper.insert(projectUser);
+                    }
                 }
             } else if (flag == 1) {
                 //更新角色信息
@@ -284,21 +297,42 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 if (count > 0) {
                     //当前账号已被创建
                     User existingUser = userMapper.selectOne(qw);
-                    //判断创建该账号的是admin或者是项目经理自己创建的账号,如果再次创建直接提示创建重复
-                    if (existingUser.getParentId() == managerParent.getId() || existingUser.getParentId() == parentUser.getId()) {
-                        msg.setError("该账号已存在,请勿重新创建");
+                    //查询该账号是否已参与创建项目经理的admin公司下的项目
+                    //得到admin公司下的所有项目
+                    List<Project> projects = projectMapper.selectList(new QueryWrapper<Project>().eq("owner_company", managerParent.getCompanyId()));
+                    List<Integer> ids = new ArrayList<>();
+                    ids.add(-1);
+                    for (Project project : projects) {
+                        ids.add(project.getId());
+                    }
+                    List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().in("project_id", ids).eq("user_id", existingUser.getId()));
+                    if (projectUsers.size() > 0) {
+                        msg.setError("该账号已参与本资产方公司下的其他项目,请前往本项目详情添加即可");
+                        return msg;
+                    }
+                    List<ProjectApprove> projectApproves = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", existingUser.getId()).in("project_id", ids));
+                    if (projectApproves.size() > 0) {
+                        msg.setError("该账号已参与本资产方公司下的其他项目,请前往本项目详情添加即可");
                         return msg;
-                    } else {
-                        //此时用户已经有了,则建立一条合作公司的关系
-                        UserCompany userCompany = new UserCompany();
-                        userCompany.setUserId(existingUser.getId());
-                        userCompany.setBelongCompanyId(existingUser.getCompanyId());
-                        userCompany.setCooperationCompanyId(managerParent.getCompanyId());
-                        QueryWrapper<UserCompany> qWra = new QueryWrapper<>(userCompany);
-                        int userCompanyCount = userCompanyMapper.selectCount(qWra);
-                        if (userCompanyCount == 0) {
-                            userCompanyMapper.insert(userCompany);
-                        }
+                    }
+                    //此时用户已经有了,创建人不是该忍之前参与过的项目的公司下的项目经理创建,则建立一条合作公司的关系
+                    UserCompany userCompany = new UserCompany();
+                    userCompany.setUserId(existingUser.getId());
+                    userCompany.setBelongCompanyId(existingUser.getCompanyId());
+                    userCompany.setCooperationCompanyId(managerParent.getCompanyId());
+                    QueryWrapper<UserCompany> qWra = new QueryWrapper<>(userCompany);
+                    int userCompanyCount = userCompanyMapper.selectCount(qWra);
+                    if (userCompanyCount == 0) {
+                        userCompanyMapper.insert(userCompany);
+                    }
+                    //添加一条项目参与人记录
+                    if (projectId != null) {
+                        ProjectUser projectUser = new ProjectUser();
+                        projectUser.setProjectId(projectId);
+                        projectUser.setSubordinate(existingUser.getCompanyId());
+                        projectUser.setUserId(existingUser.getId());
+                        projectUser.setSubordinateType(existingUser.getSubordinateType());
+                        projectUserMapper.insert(projectUser);
                     }
                 } else {
                     //创建账号默认密码"000000"
@@ -323,6 +357,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                     if (userCompanyCount == 0) {
                         userCompanyMapper.insert(userCompany);
                     }
+                    //添加一条项目参与人记录
+                    if (projectId != null) {
+                        ProjectUser projectUser = new ProjectUser();
+                        projectUser.setProjectId(projectId);
+                        projectUser.setSubordinate(user.getCompanyId());
+                        projectUser.setUserId(user.getId());
+                        projectUser.setSubordinateType(user.getSubordinateType());
+                        projectUserMapper.insert(projectUser);
+                    }
                 }
             } else if (flag == 1) {
                 //更新角色信息
@@ -337,7 +380,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 userMapper.updateById(user);
             }
         }
-
         return msg;
     }