5 vuotta sitten
vanhempi
commit
43d023df23

+ 455 - 450
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -1,450 +1,455 @@
-package com.hssx.cloudmodel.service.impl;
-
-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.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;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hssx.cloudmodel.util.HttpRespMsg;
-import com.hssx.cloudmodel.util.ListUtil;
-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;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author 吴涛涛
- * @since 2019-07-26
- */
-@Service
-public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
-    @Resource
-    CompanyMapper companyMapper;
-    @Resource
-    UserMapper userMapper;
-    @Resource
-    LngLatCompanyMapper lngLatCompanyMapper;
-    @Resource
-    ProjectMapper projectMapper;
-    @Resource
-    MouldMapper mouldMapper;
-    @Resource
-    ProjectUserMapper projectUserMapper;
-    @Resource
-    ProjectApproveMapper projectApproveMapper;
-    @Resource
-    AssetCustomCompanyMapper assetCustomCompanyMapper;
-    @Resource
-    CustomCompanyMapper customCompanyMapper;
-
-
-    @Override
-    public HttpRespMsg addAndUpdateRole(CompanyVO companyVO, Integer flag, String companyIds) {
-        HttpRespMsg msg = new HttpRespMsg();
-        Company company = new Company();
-        if (flag == 0) {
-            //添加公司
-            QueryWrapper<Company> qw = new QueryWrapper<>();
-            qw.eq("company_name", companyVO.getCompanyName());
-            int count = companyMapper.selectCount(qw);
-            if (count > 0) {
-                msg.setError("公司已存在,请勿重复添加");
-                return msg;
-            } else {
-                if (companyVO.getCompanyType() == 0) {
-                    //资产方直接添加
-                    BeanUtils.copyProperties(companyVO, company);
-                    companyMapper.insert(company);
-                    if (companyIds != null && !"".equals(companyIds)) {
-                        List<Integer> 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();
-                                assetCustomCompany.setAssertId(company.getId());
-                                assetCustomCompany.setCustomId(ide);
-                                assetCustomCompanyMapper.insert(assetCustomCompany);
-                            }
-                        }
-                    }
-                } else if (companyVO.getCompanyType() == 1) {
-                    //生产方
-                    BeanUtils.copyProperties(companyVO, company);
-                    companyMapper.insert(company);
-                    if (companyIds != null && !"".equals(companyIds)) {
-                        List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
-                        for (Integer ide : ides) {
-                            if (assetCustomCompanyMapper.selectCount(new QueryWrapper<AssetCustomCompany>().eq("assert_id", ide).eq("custom_id", company.getId())) == 0) {
-                                AssetCustomCompany assetCustomCompany = new AssetCustomCompany();
-                                assetCustomCompany.setAssertId(ide);
-                                assetCustomCompany.setCustomId(company.getId());
-                                assetCustomCompanyMapper.insert(assetCustomCompany);
-                            }
-                        }
-                    }
-                    LngLatCompany factory = new LngLatCompany();
-                    factory.setxLat(companyVO.getXLat());
-                    factory.setyLng(companyVO.getYLng());
-                    factory.setCompanyId(company.getId());
-                    lngLatCompanyMapper.insert(factory);
-                }
-                msg.data = company;
-            }
-        } else if (flag == 1) {
-            //更新公司信息
-            BeanUtils.copyProperties(companyVO, company);
-            if (companyVO.getCompanyType() == 0) {
-                //修改资产方
-                BeanUtils.copyProperties(companyVO, company);
-                List<AssetCustomCompany> list = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("assert_id", company.getId()));
-                //判断所关联的生产方是否已被应用到项目
-                List<Integer> cousIds = list.stream().map(AssetCustomCompany::getCustomId).collect(Collectors.toList());
-                cousIds.add(-1);
-                List<Integer> noMouldCompanyIds = new ArrayList<>();
-                noMouldCompanyIds = mouldMapper.selectList(new QueryWrapper<Mould>().in("produce_company_id", cousIds).eq("company_id", company.getId())).stream().map(Mould::getProduceCompanyId).collect(Collectors.toList());
-                noMouldCompanyIds.add(-1);
-                List<Integer> ides = new ArrayList<>();
-                if (companyIds != null && !"".equals(companyIds)) {
-                    ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
-                }
-                ides.add(-1);
-                if (!ides.containsAll(noMouldCompanyIds)) {
-                    msg.setError("当前公司所关联的生产方公司中已被用用到项目,不可执行修改操作。");
-                    return msg;
-                }
-                //删除之前的关联公司
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id", company.getId()));
-                if (companyIds != null && !"".equals(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();
-                            assetCustomCompany.setAssertId(company.getId());
-                            assetCustomCompany.setCustomId(ide);
-                            assetCustomCompanyMapper.insert(assetCustomCompany);
-                        }
-                    }
-                }
-                companyMapper.updateById(company);
-            } else if (companyVO.getCompanyType() == 1) {
-                //生产方
-                BeanUtils.copyProperties(companyVO, company);
-                QueryWrapper<LngLatCompany> qw = new QueryWrapper<>();
-                qw.eq("company_id", companyVO.getId());
-                LngLatCompany lngLatCompany = lngLatCompanyMapper.selectOne(qw);
-                LngLatCompany factory = new LngLatCompany();
-                factory.setxLat(companyVO.getXLat());
-                factory.setyLng(companyVO.getYLng());
-                factory.setCompanyId(company.getId());
-                factory.setId(lngLatCompany.getId());
-                lngLatCompanyMapper.updateById(factory);
-                List<AssetCustomCompany> list = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("custom_id", company.getId()));
-                //判断所关联的生产方是否已被应用到项目
-                List<Integer> cousIds = list.stream().map(AssetCustomCompany::getAssertId).collect(Collectors.toList());
-                cousIds.add(-1);
-                List<Integer> noMouldCompanyIds = new ArrayList<>();
-                noMouldCompanyIds = mouldMapper.selectList(new QueryWrapper<Mould>().eq("produce_company_id", company.getId()).in("company_id", cousIds)).stream().map(Mould::getCompanyId).collect(Collectors.toList());
-                noMouldCompanyIds.add(-1);
-                List<Integer> ides = new ArrayList<>();
-                if (companyIds != null && !"".equals(companyIds)) {
-                    ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
-                }
-                ides.add(-1);
-                if (!ides.containsAll(noMouldCompanyIds)) {
-                    msg.setError("当前公司所关联的资产方公司已被用用到项目,不可执行修改操作。");
-                    return msg;
-                }
-                //删除之前的关联公司
-                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_id", companyVO.getId()));
-                if (companyIds != null && !"".equals(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();
-                            assetCustomCompany.setAssertId(ide);
-                            assetCustomCompany.setCustomId(company.getId());
-                            assetCustomCompanyMapper.insert(assetCustomCompany);
-                        }
-                    }
-                }
-                companyMapper.updateById(company);
-            }
-            msg.data = company;
-        }
-        return msg;
-    }
-
-    @Override
-    public HttpRespMsg pageList(PageUtil page, String keyName, Integer companyType) {
-        HttpRespMsg msg = new HttpRespMsg();
-        List<CompanyVO> list = new ArrayList<>();
-        PageHelper.startPage(page.getPageNum(), page.getPageSize());
-        list = companyMapper.getCustomerListByKeyName(keyName, companyType);
-        PageInfo<CompanyVO> pageInfos = new PageInfo<>(list);
-        msg.data = pageInfos;
-        return msg;
-    }
-
-    @Override
-    public List<Company> getIdAndNamelist(User user) {
-        QueryWrapper<Company> qw = new QueryWrapper<>();
-        qw.select("id", "company_name", "company_type");
-        List<Integer> ides = new ArrayList<>();
-        if (Constant.SYS_ID.equals(user.getParentId())) {
-            //此时是admin创建用户,返回可选的生产方公司,查询出当前admin的信息并获取他的公司id
-            User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getId()));
-            ides = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>()
-                    .eq("assert_id", admin.getCompanyId()))
-                    .stream()
-                    .map(AssetCustomCompany::getCustomId)
-                    .collect(Collectors.toList());
-            ides.add(admin.getCompanyId());
-            ides.add(-1);
-            qw.in("id", ides);
-        } else if (Constant.SYS_PARENT_ID.equals(user.getParentId())) {
-            //系统管理员创建admin,返回资产方公司
-            qw.eq("company_type", Constant.ASSETS_COMPANY);
-        } else {
-            //此时是项目经理创建其他用户
-            User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getParentId()));
-            //获取创建他的资产方管理员公司所关联的生产方
-            ides = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>()
-                    .eq("assert_id", admin.getCompanyId()))
-                    .stream()
-                    .map(AssetCustomCompany::getCustomId)
-                    .collect(Collectors.toList());
-            ides.add(admin.getCompanyId());
-            ides.add(-1);
-            qw.in("id", ides);
-        }
-        return companyMapper.selectList(qw);
-    }
-
-    @Override
-    public List<Company> addCompanyListToProject(User user) {
-        QueryWrapper<Company> qw = new QueryWrapper<>();
-        qw.eq("company_type", Constant.PRODUCER_COMPANY);
-        return companyMapper.selectList(qw);
-    }
-
-    @Override
-    public HttpRespMsg getCoutomCompanyAndMouldsByUser(UserVO userVO) {
-        HttpRespMsg msg = new HttpRespMsg();
-        List<CompanyVO> companyVOS = new ArrayList<>();
-        List<Integer> mouldIds = new ArrayList<>();
-        mouldIds.add(-1);
-        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
-        if (Constant.SYS_ID.equals(currentUser.getParentId())) {
-            //此时是admin,可看到自己公司下的模具和交于生产的公司
-            QueryWrapper<Mould> qw = new QueryWrapper<>();
-            List<Mould> moulds = mouldMapper.selectList(qw.eq("company_id", currentUser.getCompanyId()));
-            for (Mould mould : moulds) {
-                mouldIds.add(mould.getId());
-            }
-            companyVOS = companyMapper.getListMould(mouldIds);
-        } else if (Constant.SYS_PARENT_ID.equals(currentUser.getParentId())) {
-            //系统管理员创建admin,返回资产方公司
-            List<Mould> moulds = mouldMapper.selectList(new QueryWrapper<Mould>());
-            for (Mould mould : moulds) {
-                mouldIds.add(mould.getId());
-            }
-            companyVOS = companyMapper.getListMould(mouldIds);
-        } else {
-            //此时是项目经理
-            QueryWrapper<Project> qw = new QueryWrapper<>();
-            qw.eq("manager_id", currentUser.getId());
-            List<Integer> set = new ArrayList<>();
-            set.add(-1);
-            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());
-                }
-            }
-            List<Mould> moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id", set));
-            for (Mould mould : moulds) {
-                mouldIds.add(mould.getId());
-            }
-            companyVOS = companyMapper.getListMould(mouldIds);
-        }
-        msg.data = companyVOS;
-        return msg;
-    }
-
-    @Override
-    public HttpRespMsg relationList(Integer companyType) {
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.data = companyMapper.selectList(new QueryWrapper<Company>().eq("company_type", companyType));
-        return msg;
-    }
-
-    @Override
-    public HttpRespMsg detail(UserVO userVO) {
-        HttpRespMsg msg = new HttpRespMsg();
-//        Company company = companyMapper.selectById(userVO.getCompanyId());
-//        if (company != null) {
-//            if (0 == company.getCompanyType()) {
-//                //资产方
-//                CompanyVO
-//
-//            }
-//        } else {
-//            msg.setError("公司不存在");
-//        }
-        return msg;
-    }
-
-    @Override
-    public HttpRespMsg getOwnerRelateCompany(CompanyVO companyVO) {
-        HttpRespMsg msg = new HttpRespMsg();
-        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", companyVO.getToken()));
-        List<Integer> ides = new ArrayList<>();
-        ides.add(-1);
-        if (null == currentUser) {
-            msg.setError("用户不存在或者未登录");
-            return msg;
-        } else {
-            Company company = companyMapper.selectById(companyVO.getId());
-            if (Constant.PRODUCER_COMPANY .equals(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 .equals(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));
-            }
-        }
-        return msg;
-    }
-
-    @Override
-    public HttpRespMsg getProduceCompany(UserVO userVO) {
-        HttpRespMsg msg = new HttpRespMsg();
-        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
-        if (null == currentUser) {
-            msg.setError("用户不存在或者未登录");
-            return msg;
-        } else {
-            Integer ownerCompany = projectMapper.selectById(userVO.getProjectId()).getOwnerCompany();
-            List<Integer> companyIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>()
-                    .eq("project_id", userVO.getProjectId()))
-                    .stream()
-                    .map(CustomCompany::getCompanyId)
-                    .collect(Collectors.toList());
-            companyIds.add(ownerCompany);
-            List<Company> list = companyMapper.selectList(new QueryWrapper<Company>().in("id", companyIds));
-            msg.data = list;
-        }
-        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 .equals(currentUser.getParentId())) {
-                companies = companyMapper.selectList(new QueryWrapper<Company>());
-            } else if (Constant.SYS_ID .equals(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);
-                List<Integer> ids = projects.stream().map(Project::getOwnerCompany).collect(Collectors.toList());
-                ids.add(-1);
-                companies = companyMapper.selectList(new QueryWrapper<Company>().in("id", ids));
-            }
-            msg.data = companies;
-        }
-        return msg;
-    }
-
-    @Override
-    public HttpRespMsg deleteById(Integer id) {
-        HttpRespMsg msg = new HttpRespMsg();
-        Integer count = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", id));
-        if (count > 0) {
-            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;
-    }
-
-
-}
+package com.hssx.cloudmodel.service.impl;
+
+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.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;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import com.hssx.cloudmodel.util.ListUtil;
+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;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author 吴涛涛
+ * @since 2019-07-26
+ */
+@Service
+public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
+    @Resource
+    CompanyMapper companyMapper;
+    @Resource
+    UserMapper userMapper;
+    @Resource
+    LngLatCompanyMapper lngLatCompanyMapper;
+    @Resource
+    ProjectMapper projectMapper;
+    @Resource
+    MouldMapper mouldMapper;
+    @Resource
+    ProjectUserMapper projectUserMapper;
+    @Resource
+    ProjectApproveMapper projectApproveMapper;
+    @Resource
+    AssetCustomCompanyMapper assetCustomCompanyMapper;
+    @Resource
+    CustomCompanyMapper customCompanyMapper;
+
+
+    @Override
+    public HttpRespMsg addAndUpdateRole(CompanyVO companyVO, Integer flag, String companyIds) {
+        HttpRespMsg msg = new HttpRespMsg();
+        Company company = new Company();
+        if (flag == 0) {
+            //添加公司
+            QueryWrapper<Company> qw = new QueryWrapper<>();
+            qw.eq("company_name", companyVO.getCompanyName());
+            int count = companyMapper.selectCount(qw);
+            if (count > 0) {
+                msg.setError("公司已存在,请勿重复添加");
+                return msg;
+            } else {
+                if (companyVO.getCompanyType() == 0) {
+                    //资产方直接添加
+                    BeanUtils.copyProperties(companyVO, company);
+                    companyMapper.insert(company);
+                    if (companyIds != null && !"".equals(companyIds)) {
+                        List<Integer> 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();
+                                assetCustomCompany.setAssertId(company.getId());
+                                assetCustomCompany.setCustomId(ide);
+                                assetCustomCompanyMapper.insert(assetCustomCompany);
+                            }
+                        }
+                    }
+                } else if (companyVO.getCompanyType() == 1) {
+                    //生产方
+                    BeanUtils.copyProperties(companyVO, company);
+                    companyMapper.insert(company);
+                    if (companyIds != null && !"".equals(companyIds)) {
+                        List<Integer> ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
+                        for (Integer ide : ides) {
+                            if (assetCustomCompanyMapper.selectCount(new QueryWrapper<AssetCustomCompany>().eq("assert_id", ide).eq("custom_id", company.getId())) == 0) {
+                                AssetCustomCompany assetCustomCompany = new AssetCustomCompany();
+                                assetCustomCompany.setAssertId(ide);
+                                assetCustomCompany.setCustomId(company.getId());
+                                assetCustomCompanyMapper.insert(assetCustomCompany);
+                            }
+                        }
+                    }
+                    LngLatCompany factory = new LngLatCompany();
+                    factory.setxLat(companyVO.getXLat());
+                    factory.setyLng(companyVO.getYLng());
+                    factory.setCompanyId(company.getId());
+                    lngLatCompanyMapper.insert(factory);
+                }
+                msg.data = company;
+            }
+        } else if (flag == 1) {
+            //更新公司信息
+            BeanUtils.copyProperties(companyVO, company);
+            if (companyVO.getCompanyType() == 0) {
+                //修改资产方
+                BeanUtils.copyProperties(companyVO, company);
+                List<AssetCustomCompany> list = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("assert_id", company.getId()));
+                //判断所关联的生产方是否已被应用到项目
+                List<Integer> cousIds = list.stream().map(AssetCustomCompany::getCustomId).collect(Collectors.toList());
+                cousIds.add(-1);
+                List<Integer> noMouldCompanyIds = new ArrayList<>();
+                noMouldCompanyIds = mouldMapper.selectList(new QueryWrapper<Mould>().in("produce_company_id", cousIds).eq("company_id", company.getId())).stream().map(Mould::getProduceCompanyId).collect(Collectors.toList());
+                noMouldCompanyIds.add(-1);
+                List<Integer> ides = new ArrayList<>();
+                if (companyIds != null && !"".equals(companyIds)) {
+                    ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
+                }
+                ides.add(-1);
+                if (!ides.containsAll(noMouldCompanyIds)) {
+                    msg.setError("当前公司所关联的生产方公司中已被用用到项目,不可执行修改操作。");
+                    return msg;
+                }
+                //删除之前的关联公司
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("assert_id", company.getId()));
+                if (companyIds != null && !"".equals(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();
+                            assetCustomCompany.setAssertId(company.getId());
+                            assetCustomCompany.setCustomId(ide);
+                            assetCustomCompanyMapper.insert(assetCustomCompany);
+                        }
+                    }
+                }
+                companyMapper.updateById(company);
+            } else if (companyVO.getCompanyType() == 1) {
+                //生产方
+                BeanUtils.copyProperties(companyVO, company);
+                QueryWrapper<LngLatCompany> qw = new QueryWrapper<>();
+                qw.eq("company_id", companyVO.getId());
+                LngLatCompany lngLatCompany = lngLatCompanyMapper.selectOne(qw);
+                LngLatCompany factory = new LngLatCompany();
+                factory.setxLat(companyVO.getXLat());
+                factory.setyLng(companyVO.getYLng());
+                factory.setCompanyId(company.getId());
+                factory.setId(lngLatCompany.getId());
+                lngLatCompanyMapper.updateById(factory);
+                List<AssetCustomCompany> list = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>().eq("custom_id", company.getId()));
+                //判断所关联的生产方是否已被应用到项目
+                List<Integer> cousIds = list.stream().map(AssetCustomCompany::getAssertId).collect(Collectors.toList());
+                cousIds.add(-1);
+                List<Integer> noMouldCompanyIds = new ArrayList<>();
+                noMouldCompanyIds = mouldMapper.selectList(new QueryWrapper<Mould>().eq("produce_company_id", company.getId()).in("company_id", cousIds)).stream().map(Mould::getCompanyId).collect(Collectors.toList());
+                noMouldCompanyIds.add(-1);
+                List<Integer> ides = new ArrayList<>();
+                if (companyIds != null && !"".equals(companyIds)) {
+                    ides = ListUtil.convertIntegerIdsArrayToList(companyIds);
+                }
+                ides.add(-1);
+                if (!ides.containsAll(noMouldCompanyIds)) {
+                    msg.setError("当前公司所关联的资产方公司已被用用到项目,不可执行修改操作。");
+                    return msg;
+                }
+                //删除之前的关联公司
+                assetCustomCompanyMapper.delete(new QueryWrapper<AssetCustomCompany>().eq("custom_id", companyVO.getId()));
+                if (companyIds != null && !"".equals(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();
+                            assetCustomCompany.setAssertId(ide);
+                            assetCustomCompany.setCustomId(company.getId());
+                            assetCustomCompanyMapper.insert(assetCustomCompany);
+                        }
+                    }
+                }
+                companyMapper.updateById(company);
+                //修改项目关联的生产方公司表信息(以防止后续查询修改后公司名字与之前库里存的公司名不一样的问题)
+                CustomCompany customCompany = new CustomCompany();
+                customCompany.setCompanyId(company.getId());
+                customCompany.setCompanyName(company.getCompanyName());
+                customCompanyMapper.update(customCompany,new QueryWrapper<CustomCompany>().eq("company_id",company.getId()));
+            }
+            msg.data = company;
+        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg pageList(PageUtil page, String keyName, Integer companyType) {
+        HttpRespMsg msg = new HttpRespMsg();
+        List<CompanyVO> list = new ArrayList<>();
+        PageHelper.startPage(page.getPageNum(), page.getPageSize());
+        list = companyMapper.getCustomerListByKeyName(keyName, companyType);
+        PageInfo<CompanyVO> pageInfos = new PageInfo<>(list);
+        msg.data = pageInfos;
+        return msg;
+    }
+
+    @Override
+    public List<Company> getIdAndNamelist(User user) {
+        QueryWrapper<Company> qw = new QueryWrapper<>();
+        qw.select("id", "company_name", "company_type");
+        List<Integer> ides = new ArrayList<>();
+        if (Constant.SYS_ID.equals(user.getParentId())) {
+            //此时是admin创建用户,返回可选的生产方公司,查询出当前admin的信息并获取他的公司id
+            User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getId()));
+            ides = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>()
+                    .eq("assert_id", admin.getCompanyId()))
+                    .stream()
+                    .map(AssetCustomCompany::getCustomId)
+                    .collect(Collectors.toList());
+            ides.add(admin.getCompanyId());
+            ides.add(-1);
+            qw.in("id", ides);
+        } else if (Constant.SYS_PARENT_ID.equals(user.getParentId())) {
+            //系统管理员创建admin,返回资产方公司
+            qw.eq("company_type", Constant.ASSETS_COMPANY);
+        } else {
+            //此时是项目经理创建其他用户
+            User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getParentId()));
+            //获取创建他的资产方管理员公司所关联的生产方
+            ides = assetCustomCompanyMapper.selectList(new QueryWrapper<AssetCustomCompany>()
+                    .eq("assert_id", admin.getCompanyId()))
+                    .stream()
+                    .map(AssetCustomCompany::getCustomId)
+                    .collect(Collectors.toList());
+            ides.add(admin.getCompanyId());
+            ides.add(-1);
+            qw.in("id", ides);
+        }
+        return companyMapper.selectList(qw);
+    }
+
+    @Override
+    public List<Company> addCompanyListToProject(User user) {
+        QueryWrapper<Company> qw = new QueryWrapper<>();
+        qw.eq("company_type", Constant.PRODUCER_COMPANY);
+        return companyMapper.selectList(qw);
+    }
+
+    @Override
+    public HttpRespMsg getCoutomCompanyAndMouldsByUser(UserVO userVO) {
+        HttpRespMsg msg = new HttpRespMsg();
+        List<CompanyVO> companyVOS = new ArrayList<>();
+        List<Integer> mouldIds = new ArrayList<>();
+        mouldIds.add(-1);
+        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
+        if (Constant.SYS_ID.equals(currentUser.getParentId())) {
+            //此时是admin,可看到自己公司下的模具和交于生产的公司
+            QueryWrapper<Mould> qw = new QueryWrapper<>();
+            List<Mould> moulds = mouldMapper.selectList(qw.eq("company_id", currentUser.getCompanyId()));
+            for (Mould mould : moulds) {
+                mouldIds.add(mould.getId());
+            }
+            companyVOS = companyMapper.getListMould(mouldIds);
+        } else if (Constant.SYS_PARENT_ID.equals(currentUser.getParentId())) {
+            //系统管理员创建admin,返回资产方公司
+            List<Mould> moulds = mouldMapper.selectList(new QueryWrapper<Mould>());
+            for (Mould mould : moulds) {
+                mouldIds.add(mould.getId());
+            }
+            companyVOS = companyMapper.getListMould(mouldIds);
+        } else {
+            //此时是项目经理
+            QueryWrapper<Project> qw = new QueryWrapper<>();
+            qw.eq("manager_id", currentUser.getId());
+            List<Integer> set = new ArrayList<>();
+            set.add(-1);
+            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());
+                }
+            }
+            List<Mould> moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id", set));
+            for (Mould mould : moulds) {
+                mouldIds.add(mould.getId());
+            }
+            companyVOS = companyMapper.getListMould(mouldIds);
+        }
+        msg.data = companyVOS;
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg relationList(Integer companyType) {
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.data = companyMapper.selectList(new QueryWrapper<Company>().eq("company_type", companyType));
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg detail(UserVO userVO) {
+        HttpRespMsg msg = new HttpRespMsg();
+//        Company company = companyMapper.selectById(userVO.getCompanyId());
+//        if (company != null) {
+//            if (0 == company.getCompanyType()) {
+//                //资产方
+//                CompanyVO
+//
+//            }
+//        } else {
+//            msg.setError("公司不存在");
+//        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg getOwnerRelateCompany(CompanyVO companyVO) {
+        HttpRespMsg msg = new HttpRespMsg();
+        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", companyVO.getToken()));
+        List<Integer> ides = new ArrayList<>();
+        ides.add(-1);
+        if (null == currentUser) {
+            msg.setError("用户不存在或者未登录");
+            return msg;
+        } else {
+            Company company = companyMapper.selectById(companyVO.getId());
+            if (Constant.PRODUCER_COMPANY .equals(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 .equals(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));
+            }
+        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg getProduceCompany(UserVO userVO) {
+        HttpRespMsg msg = new HttpRespMsg();
+        User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
+        if (null == currentUser) {
+            msg.setError("用户不存在或者未登录");
+            return msg;
+        } else {
+            Integer ownerCompany = projectMapper.selectById(userVO.getProjectId()).getOwnerCompany();
+            List<Integer> companyIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>()
+                    .eq("project_id", userVO.getProjectId()))
+                    .stream()
+                    .map(CustomCompany::getCompanyId)
+                    .collect(Collectors.toList());
+            companyIds.add(ownerCompany);
+            List<Company> list = companyMapper.selectList(new QueryWrapper<Company>().in("id", companyIds));
+            msg.data = list;
+        }
+        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 .equals(currentUser.getParentId())) {
+                companies = companyMapper.selectList(new QueryWrapper<Company>());
+            } else if (Constant.SYS_ID .equals(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);
+                List<Integer> ids = projects.stream().map(Project::getOwnerCompany).collect(Collectors.toList());
+                ids.add(-1);
+                companies = companyMapper.selectList(new QueryWrapper<Company>().in("id", ids));
+            }
+            msg.data = companies;
+        }
+        return msg;
+    }
+
+    @Override
+    public HttpRespMsg deleteById(Integer id) {
+        HttpRespMsg msg = new HttpRespMsg();
+        Integer count = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", id));
+        if (count > 0) {
+            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;
+    }
+
+
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 774 - 783
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java


+ 301 - 295
cloud-model/src/main/resources/mapper/ProjectMapper.xml

@@ -1,295 +1,301 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hssx.cloudmodel.mapper.ProjectMapper">
-
-    <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.hssx.cloudmodel.entity.Project">
-        <id column="id" property="id" />
-        <result column="project_name" property="projectName" />
-        <result column="project_no" property="projectNo" />
-        <result column="start_time" property="startTime" />
-        <result column="end_time" property="endTime" />
-        <result column="content" property="content" />
-        <result column="creator_id" property="creatorId" />
-        <result column="creator" property="creator" />
-        <result column="is_delete" property="isDelete" />
-        <result column="owner_company" property="ownerCompany" />
-        <result column="owner_company_name" property="ownerCompanyName" />
-        <result column="indate" property="indate" />
-        <result column="manager_id" property="managerId" />
-        <result column="manager" property="manager" />
-    </resultMap>
-    <resultMap id="BaseResultMapList" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
-        <id column="id" property="id" />
-        <result column="project_name" property="projectName" />
-        <result column="project_no" property="projectNo" />
-        <result column="start_time" property="startTime" />
-        <result column="end_time" property="endTime" />
-        <result column="content" property="content" />
-        <result column="creator_id" property="creatorId" />
-        <result column="creator" property="creator" />
-        <result column="is_delete" property="isDelete" />
-        <result column="owner_company" property="ownerCompany" />
-        <result column="owner_company_name" property="ownerCompanyName" />
-        <result column="indate" property="indate" />
-        <result column="manager_id" property="managerId" />
-        <result column="manager" property="manager" />
-        <!--以下是分页插件的一对多-->
-        <collection property="customCompanies" javaType="java.util.List" ofType="com.hssx.cloudmodel.entity.CustomCompany"
-                    select="queryCustomCompaniesId" column="id">
-        </collection>
-    </resultMap>
-<!-- 以上一对多的映射-->
-    <resultMap id="getCustomCompany" type="com.hssx.cloudmodel.entity.CustomCompany">
-        <result column="company_id" property="companyId" />
-        <result column="company_name" property="companyName" />
-    </resultMap>
-    <select id="getProjectListByUid" resultMap="BaseResultMapList">
-        select
-        p.id id,p.project_name project_name, p.creator creator,p.owner_company owner_company,
-        p.owner_company_name owner_company_name,p.manager_id manager_id,p.manager manager,
-        p.indate indate
-        from
-        tb_project p
-        left join tb_project_user pu
-        on p.id = pu.project_id
-        left join tb_project_approve tpa
-        on tpa.project_id = p.id
-        <where>
-            <!--<if test="currentUser.id != 1">
-                pu.user_id = #{currentUser.id} OR p.`creator_id` = #{currentUser.id} OR p.`manager_id` = #{currentUser.id} OR tpa.approver_id = #{currentUser.id}
-            </if>-->
-            <if test="keyName != null and keyName != ''">
-                AND p.project_name like concat('%',#{keyName},'%')
-            </if>
-        </where>
-        GROUP BY p.id
-        order by p.id desc
-    </select>
-    <select id="getProjectListByUidInProjectIds" resultMap="BaseResultMapList">
-        select
-        p.id id,p.project_name project_name, p.creator creator,p.owner_company owner_company,
-        p.owner_company_name owner_company_name,p.manager_id manager_id,p.manager manager,
-        p.indate indate
-        from
-        tb_project p
-        left join tb_project_user pu
-        on p.id = pu.project_id
-        left join tb_project_approve tpa
-        on tpa.project_id = p.id
-        <where>
-            p.id in <foreach collection="list" separator="," close=")" item="item" open="(" index="index">
-            #{item}
-        </foreach>
-            <!--<if test="currentUser.id != 1">
-                pu.user_id = #{currentUser.id} OR p.`creator_id` = #{currentUser.id} OR p.`manager_id` = #{currentUser.id} OR tpa.approver_id = #{currentUser.id}
-            </if>-->
-            <if test="keyName != null and keyName != ''">
-                AND p.project_name like concat('%',#{keyName},'%')
-            </if>
-        </where>
-        GROUP BY p.id
-        order by p.id desc
-    </select>
-    <!--一对多的子查询 queryCustomCompaniesId-->
-    <select id="queryCustomCompaniesId" resultMap="getCustomCompany">
-    SELECT
-     c.company_id company_id,c.company_name company_name
-    from
-      tb_project p
-    RIGHT JOIN
-      tb_custom_company c
-    on
-      c.project_id = p.id
-    WHERE
-      p.id = #{id}
-    GROUP BY c.company_id
-    </select>
-    <!-- 通用查询结果列 -->
-    <sql id="Base_Column_List">
-        id, project_name, project_no, start_time, end_time, content, creator_id, creator, is_delete, owner_company, owner_company_name, indate, manager_id, manager
-    </sql>
-
-    <resultMap id="BaseResultMapVO" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
-        <id column="id" property="id" />
-        <result column="project_name" property="projectName" />
-        <result column="project_no" property="projectNo" />
-        <result column="creator_id" property="creatorId" />
-        <result column="creator" property="creator" />
-        <result column="is_delete" property="isDelete" />
-        <result column="pindate" property="indate" />
-        <result column="manager_id" property="managerId" />
-        <result column="manager" property="manager" />
-        <result column="owner_company" property="ownerCompany" />
-        <result column="owner_company_name" property="ownerCompanyName" />
-        <collection property="models" ofType="com.hssx.cloudmodel.entity.Mould">
-            <id column="model_id" property="id" />
-            <result column="model_no" property="modelNo" />
-            <result column="model_name" property="modelName" />
-            <result column="produce_company_id" property="produceCompanyId" />
-            <result column="belong_project_grade" property="belongProjectGrade" />
-            <result column="produce_company_name" property="produceCompanyName" />
-        </collection>
-        <collection property="approves" ofType="com.hssx.cloudmodel.entity.ProjectApprove">
-            <result column="approver_id" property="approverId" />
-            <result column="approver_name" property="approverName" />
-            <result column="company_id" property="companyId" />
-            <result column="company_name" property="companyName" />
-            <result column="subordinate_type" property="subordinateType" />
-            <result column="project_id" property="projectId" />
-        </collection>
-        <collection property="customCompanies" ofType="com.hssx.cloudmodel.entity.CustomCompany">
-            <result column="companyid" property="companyId" />
-            <result column="companyname" property="companyName" />
-        </collection>
-    </resultMap>
-
-    <select id="getProjectById" resultMap="BaseResultMapVO">
-    select
-        p.id id, p.project_name project_name, p.project_no project_no, p.creator_id creator_id,p.manager_id manager_id,p.manager manager,
-        p.creator creator, p.owner_company owner_company,p.owner_company_name owner_company_name,p.indate pindate,m.belong_project_grade,
-        m.id model_id, m.model_no model_no,m.model_name model_name,a.approver_id approver_id,a.approver_name approver_name,a.subordinate_type subordinate_type,
-        c.company_id companyid,c.company_name companyname,tbc.company_name produce_company_name,tbc.id produce_company_id
-    from
-        tb_project p
-    left join tb_mould m
-    on p.id = m.project_id
-    left join tb_project_approve a
-    on p.id = a.project_id
-    left join tb_custom_company c
-    on c.project_id = p.id
-    LEFT JOIN tb_company tbc
-    ON tbc.`id` = m.`produce_company_id`
-    where
-      p.id = #{id}
-    </select>
-
-    <resultMap id="UserResultMap" type="com.hssx.cloudmodel.entity.User">
-        <id column="id" property="id" />
-        <result column="username" property="username" />
-        <result column="role_type" property="roleType" />
-        <result column="company_id" property="companyId" />
-        <result column="head_imgurl" property="headImgurl" />
-        <result column="subordinate_type" property="subordinateType" />
-    </resultMap>
-
-    <select id="getProjectUserById" resultMap="UserResultMap">
-        select
-          u.id id, u.username username, u.indate indate, u.head_imgurl head_imgurl, u.subordinate_type subordinate_type
-        from
-          tb_project_user pu
-        RIGHT join
-          tb_user u
-        on
-          pu.user_id = u.id
-        where
-          pu.project_id = #{id} and pu.role_type IS NULL
-    </select>
-
-    <resultMap id="BaseResultMapPowerList" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
-        <id column="id" property="id" />
-        <result column="project_name" property="projectName" />
-        <result column="project_id" property="projectId" />
-        <result column="user_id" property="userId" />
-        <result column="company_name" property="companyName" />
-        <result column="powerString" property="powerString" />
-    </resultMap>
-    <select id="selectUserPowerList1" resultMap="BaseResultMapPowerList">
-      SELECT
-      tbpu.user_id ,tbpu.project_id ,GROUP_CONCAT(tbpu.power_type) powerString,
-        tbu.username ,tbc.company_name,
-        tbp.project_name
-      FROM `tb_power` tbpu
-      left join
-      tb_project tbp
-      on tbp.id = tbpu.project_id
-      left join
-      tb_user tbu
-      on tbpu.user_id = tbu.id
-      left join
-      tb_company tbc
-      on tbc.id = tbu.company_id
-        <where>
-            <if test="user.projectId != null">
-                tbpu.project_id = #{user.projectId}
-            </if>
-            <if test="user.companyId != null">
-                tbu.company_id = #{user.companyId}
-            </if>
-            <if test="user.keyName != null and user.keyName != ''">
-                tbu.username like concat('%',#{user.keyName},'%')
-            </if>
-            <if test="type == 0">
-                tbp.creator_id = #{user.id}
-            </if>
-            <if test="type == 1">
-                tbp.manager_id = #{user.id}
-            </if>
-        </where>
-      GROUP BY tbpu.user_id ,tbpu.project_id;
-      order by tbpu.user_id
-    </select>
-
-    <resultMap id="BaseResultMapPower" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
-        <id column="id" property="id" />
-        <result column="project_name" property="projectName" />
-        <result column="project_id" property="projectId" />
-        <result column="user_id" property="userId" />
-        <result column="username" property="username"/>
-        <result column="company_name" property="companyName" />
-        <result column="powerString" property="powerString" />
-        <collection property="powers" javaType="java.util.List" ofType="com.hssx.cloudmodel.entity.Power"
-                    select="queryPowerByUserIdAndProject" column="{userId = user_id,projectId = project_id}">
-        </collection>
-    </resultMap>
-    <resultMap id="BasePower" type="com.hssx.cloudmodel.entity.Power">
-        <result column="power_type" property="powerType" />
-        <result column="user_id" property="userId" />
-        <result column="project_id" property="projectId" />
-    </resultMap>
-
-    <select id="selectUserPowerList" resultMap="BaseResultMapPower">
-        SELECT
-        tbpu.user_id user_id,tbpu.project_id project_id,tbu.username username,tbc.company_name,
-        tbp.project_name
-        FROM
-        `tb_project_user` tbpu
-        LEFT JOIN
-        tb_project tbp
-        ON tbp.id = tbpu.project_id
-        LEFT JOIN
-        tb_user tbu
-        ON tbpu.user_id = tbu.id
-        LEFT JOIN
-        tb_company tbc
-        ON tbc.id = tbu.company_id
-        <where>
-            <if test="user.projectId != null and user.projectId !=''">
-               AND tbpu.project_id = #{user.projectId}
-            </if>
-            <if test="user.cId != null and user.cId !=''">
-                AND tbu.company_id = #{user.cId}
-            </if>
-            <if test="user.keyName != null and user.keyName != ''">
-                AND tbu.username like concat('%',#{user.keyName},'%')
-            </if>
-            <if test="type == 0">
-                AND tbp.creator_id = #{user.id}
-            </if>
-            <if test="type == 1">
-                AND tbp.manager_id = #{user.id}
-            </if>
-        </where>
-    </select>
-    <!--一对多的子查询 queryCustomCompaniesId-->
-    <select id="queryPowerByUserIdAndProject" resultMap="BasePower" parameterType="java.util.Map">
-    SELECT
-    tbpw.user_id,tbpw.project_id,tbpw.power_type
-     from
-     `tb_power` tbpw
-    WHERE
-    tbpw.project_id = #{projectId}
-    and
-    tbpw.user_id  =#{userId}
-    </select>
-</mapper>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hssx.cloudmodel.mapper.ProjectMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.hssx.cloudmodel.entity.Project">
+        <id column="id" property="id" />
+        <result column="project_name" property="projectName" />
+        <result column="project_no" property="projectNo" />
+        <result column="start_time" property="startTime" />
+        <result column="end_time" property="endTime" />
+        <result column="content" property="content" />
+        <result column="creator_id" property="creatorId" />
+        <result column="creator" property="creator" />
+        <result column="is_delete" property="isDelete" />
+        <result column="owner_company" property="ownerCompany" />
+        <result column="owner_company_name" property="ownerCompanyName" />
+        <result column="indate" property="indate" />
+        <result column="manager_id" property="managerId" />
+        <result column="manager" property="manager" />
+    </resultMap>
+    <resultMap id="BaseResultMapList" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
+        <id column="id" property="id" />
+        <result column="project_name" property="projectName" />
+        <result column="project_no" property="projectNo" />
+        <result column="start_time" property="startTime" />
+        <result column="end_time" property="endTime" />
+        <result column="content" property="content" />
+        <result column="creator_id" property="creatorId" />
+        <result column="creator" property="creator" />
+        <result column="is_delete" property="isDelete" />
+        <result column="owner_company" property="ownerCompany" />
+        <result column="owner_company_name" property="ownerCompanyName" />
+        <result column="indate" property="indate" />
+        <result column="manager_id" property="managerId" />
+        <result column="manager" property="manager" />
+        <!--以下是分页插件的一对多-->
+        <collection property="customCompanies" javaType="java.util.List" ofType="com.hssx.cloudmodel.entity.CustomCompany"
+                    select="queryCustomCompaniesId" column="id">
+        </collection>
+    </resultMap>
+<!-- 以上一对多的映射-->
+    <resultMap id="getCustomCompany" type="com.hssx.cloudmodel.entity.CustomCompany">
+        <result column="company_id" property="companyId" />
+        <result column="company_name" property="companyName" />
+    </resultMap>
+    <select id="getProjectListByUid" resultMap="BaseResultMapList">
+        select
+        p.id id,p.project_name project_name, p.creator creator,tbc.id owner_company,
+        tbc.company_name owner_company_name,p.manager_id manager_id,p.manager manager,
+        p.indate indate
+        from
+        tb_project p
+        left join tb_project_user pu
+        on p.id = pu.project_id
+        left join tb_company tbc
+        on p.owner_company = tbc.id
+        left join tb_project_approve tpa
+        on tpa.project_id = p.id
+        <where>
+            <!--<if test="currentUser.id != 1">
+                pu.user_id = #{currentUser.id} OR p.`creator_id` = #{currentUser.id} OR p.`manager_id` = #{currentUser.id} OR tpa.approver_id = #{currentUser.id}
+            </if>-->
+            <if test="keyName != null and keyName != ''">
+                AND p.project_name like concat('%',#{keyName},'%')
+            </if>
+        </where>
+        GROUP BY p.id
+        order by p.id desc
+    </select>
+    <select id="getProjectListByUidInProjectIds" resultMap="BaseResultMapList">
+        select
+        p.id id,p.project_name project_name, p.creator creator,tbc.id owner_company,
+        tbc.company_name owner_company_name,p.manager_id manager_id,p.manager manager,
+        p.indate indate
+        from
+        tb_project p
+        left join tb_project_user pu
+        on p.id = pu.project_id
+        left join tb_company tbc
+        on p.owner_company = tbc.id
+        left join tb_project_approve tpa
+        on tpa.project_id = p.id
+        <where>
+            p.id in <foreach collection="list" separator="," close=")" item="item" open="(" index="index">
+            #{item}
+        </foreach>
+            <!--<if test="currentUser.id != 1">
+                pu.user_id = #{currentUser.id} OR p.`creator_id` = #{currentUser.id} OR p.`manager_id` = #{currentUser.id} OR tpa.approver_id = #{currentUser.id}
+            </if>-->
+            <if test="keyName != null and keyName != ''">
+                AND p.project_name like concat('%',#{keyName},'%')
+            </if>
+        </where>
+        GROUP BY p.id
+        order by p.id desc
+    </select>
+    <!--一对多的子查询 queryCustomCompaniesId-->
+    <select id="queryCustomCompaniesId" resultMap="getCustomCompany">
+    SELECT
+     c.company_id company_id,c.company_name company_name
+    from
+      tb_project p
+    RIGHT JOIN
+      tb_custom_company c
+    on
+      c.project_id = p.id
+    WHERE
+      p.id = #{id}
+    GROUP BY c.company_id
+    </select>
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, project_name, project_no, start_time, end_time, content, creator_id, creator, is_delete, owner_company, owner_company_name, indate, manager_id, manager
+    </sql>
+
+    <resultMap id="BaseResultMapVO" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
+        <id column="id" property="id" />
+        <result column="project_name" property="projectName" />
+        <result column="project_no" property="projectNo" />
+        <result column="creator_id" property="creatorId" />
+        <result column="creator" property="creator" />
+        <result column="is_delete" property="isDelete" />
+        <result column="pindate" property="indate" />
+        <result column="manager_id" property="managerId" />
+        <result column="manager" property="manager" />
+        <result column="owner_company" property="ownerCompany" />
+        <result column="owner_company_name" property="ownerCompanyName" />
+        <collection property="models" ofType="com.hssx.cloudmodel.entity.Mould">
+            <id column="model_id" property="id" />
+            <result column="model_no" property="modelNo" />
+            <result column="model_name" property="modelName" />
+            <result column="produce_company_id" property="produceCompanyId" />
+            <result column="belong_project_grade" property="belongProjectGrade" />
+            <result column="produce_company_name" property="produceCompanyName" />
+        </collection>
+        <collection property="approves" ofType="com.hssx.cloudmodel.entity.ProjectApprove">
+            <result column="approver_id" property="approverId" />
+            <result column="approver_name" property="approverName" />
+            <result column="company_id" property="companyId" />
+            <result column="company_name" property="companyName" />
+            <result column="subordinate_type" property="subordinateType" />
+            <result column="project_id" property="projectId" />
+        </collection>
+        <collection property="customCompanies" ofType="com.hssx.cloudmodel.entity.CustomCompany">
+            <result column="companyid" property="companyId" />
+            <result column="companyname" property="companyName" />
+        </collection>
+    </resultMap>
+
+    <select id="getProjectById" resultMap="BaseResultMapVO">
+    select
+        p.id id, p.project_name project_name, p.project_no project_no, p.creator_id creator_id,p.manager_id manager_id,p.manager manager,
+        p.creator creator, tbp.id owner_company,tbp.company_name owner_company_name,p.indate pindate,m.belong_project_grade,
+        m.id model_id, m.model_no model_no,m.model_name model_name,a.approver_id approver_id,a.approver_name approver_name,a.subordinate_type subordinate_type,
+        c.company_id companyid,c.company_name companyname,tbc.company_name produce_company_name,tbc.id produce_company_id
+    from
+        tb_project p
+    left join tb_mould m
+    on p.id = m.project_id
+    left join tb_project_approve a
+    on p.id = a.project_id
+    left join tb_custom_company c
+    on c.project_id = p.id
+    LEFT JOIN tb_company tbc
+    ON tbc.`id` = m.`produce_company_id`
+    left join tb_company tbp
+    on tbp.id = p.owner_company
+    where
+      p.id = #{id}
+    </select>
+
+    <resultMap id="UserResultMap" type="com.hssx.cloudmodel.entity.User">
+        <id column="id" property="id" />
+        <result column="username" property="username" />
+        <result column="role_type" property="roleType" />
+        <result column="company_id" property="companyId" />
+        <result column="head_imgurl" property="headImgurl" />
+        <result column="subordinate_type" property="subordinateType" />
+    </resultMap>
+
+    <select id="getProjectUserById" resultMap="UserResultMap">
+        select
+          u.id id, u.username username, u.indate indate, u.head_imgurl head_imgurl, u.subordinate_type subordinate_type
+        from
+          tb_project_user pu
+        RIGHT join
+          tb_user u
+        on
+          pu.user_id = u.id
+        where
+          pu.project_id = #{id} and pu.role_type IS NULL
+    </select>
+
+    <resultMap id="BaseResultMapPowerList" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
+        <id column="id" property="id" />
+        <result column="project_name" property="projectName" />
+        <result column="project_id" property="projectId" />
+        <result column="user_id" property="userId" />
+        <result column="company_name" property="companyName" />
+        <result column="powerString" property="powerString" />
+    </resultMap>
+    <select id="selectUserPowerList1" resultMap="BaseResultMapPowerList">
+      SELECT
+      tbpu.user_id ,tbpu.project_id ,GROUP_CONCAT(tbpu.power_type) powerString,
+        tbu.username ,tbc.company_name,
+        tbp.project_name
+      FROM `tb_power` tbpu
+      left join
+      tb_project tbp
+      on tbp.id = tbpu.project_id
+      left join
+      tb_user tbu
+      on tbpu.user_id = tbu.id
+      left join
+      tb_company tbc
+      on tbc.id = tbu.company_id
+        <where>
+            <if test="user.projectId != null">
+                tbpu.project_id = #{user.projectId}
+            </if>
+            <if test="user.companyId != null">
+                tbu.company_id = #{user.companyId}
+            </if>
+            <if test="user.keyName != null and user.keyName != ''">
+                tbu.username like concat('%',#{user.keyName},'%')
+            </if>
+            <if test="type == 0">
+                tbp.creator_id = #{user.id}
+            </if>
+            <if test="type == 1">
+                tbp.manager_id = #{user.id}
+            </if>
+        </where>
+      GROUP BY tbpu.user_id ,tbpu.project_id;
+      order by tbpu.user_id
+    </select>
+
+    <resultMap id="BaseResultMapPower" type="com.hssx.cloudmodel.entity.vo.ProjectVO">
+        <id column="id" property="id" />
+        <result column="project_name" property="projectName" />
+        <result column="project_id" property="projectId" />
+        <result column="user_id" property="userId" />
+        <result column="username" property="username"/>
+        <result column="company_name" property="companyName" />
+        <result column="powerString" property="powerString" />
+        <collection property="powers" javaType="java.util.List" ofType="com.hssx.cloudmodel.entity.Power"
+                    select="queryPowerByUserIdAndProject" column="{userId = user_id,projectId = project_id}">
+        </collection>
+    </resultMap>
+    <resultMap id="BasePower" type="com.hssx.cloudmodel.entity.Power">
+        <result column="power_type" property="powerType" />
+        <result column="user_id" property="userId" />
+        <result column="project_id" property="projectId" />
+    </resultMap>
+
+    <select id="selectUserPowerList" resultMap="BaseResultMapPower">
+        SELECT
+        tbpu.user_id user_id,tbpu.project_id project_id,tbu.username username,tbc.company_name,
+        tbp.project_name
+        FROM
+        `tb_project_user` tbpu
+        LEFT JOIN
+        tb_project tbp
+        ON tbp.id = tbpu.project_id
+        LEFT JOIN
+        tb_user tbu
+        ON tbpu.user_id = tbu.id
+        LEFT JOIN
+        tb_company tbc
+        ON tbc.id = tbu.company_id
+        <where>
+            <if test="user.projectId != null and user.projectId !=''">
+               AND tbpu.project_id = #{user.projectId}
+            </if>
+            <if test="user.cId != null and user.cId !=''">
+                AND tbu.company_id = #{user.cId}
+            </if>
+            <if test="user.keyName != null and user.keyName != ''">
+                AND tbu.username like concat('%',#{user.keyName},'%')
+            </if>
+            <if test="type == 0">
+                AND tbp.creator_id = #{user.id}
+            </if>
+            <if test="type == 1">
+                AND tbp.manager_id = #{user.id}
+            </if>
+        </where>
+    </select>
+    <!--一对多的子查询 queryCustomCompaniesId-->
+    <select id="queryPowerByUserIdAndProject" resultMap="BasePower" parameterType="java.util.Map">
+    SELECT
+    tbpw.user_id,tbpw.project_id,tbpw.power_type
+     from
+     `tb_power` tbpw
+    WHERE
+    tbpw.project_id = #{projectId}
+    and
+    tbpw.user_id  =#{userId}
+    </select>
+</mapper>

+ 53 - 43
cloud-model/src/test/java/com/hssx/cloudmodel/CloudModelApplicationTests.java

@@ -1,43 +1,53 @@
-package com.hssx.cloudmodel;
-
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.hssx.cloudmodel.entity.ProjectUser;
-import com.hssx.cloudmodel.entity.User;
-import com.hssx.cloudmodel.mapper.ProjectUserMapper;
-import com.hssx.cloudmodel.mapper.UserMapper;
-import com.hssx.cloudmodel.util.HttpKit;
-import com.hssx.cloudmodel.util.HttpRespMsg;
-import org.apache.commons.lang3.StringEscapeUtils;
-import org.json.JSONObject;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest
-public class CloudModelApplicationTests {
-//    @Autowired
-    private ProjectUserMapper projectUserMapper;
-
-    @Resource
-    UserMapper userMapper;
-    @Test
-    public void contextLoads() {
-        User user = new User();
-        user.setUsername("超级管理员");
-        user = userMapper.selectOne(new QueryWrapper<>(user));
-        System.out.println("user+++"+user);
-        //builder对象的案例
-//        User user1 = User.builder().account("13856598755").companyId(1).mobile("12345678900").parentId(1).build();
-//        int insert = userMapper.insert(user1);
-    }
-
-
-
-}
+package com.hssx.cloudmodel;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hssx.cloudmodel.entity.CustomCompany;
+import com.hssx.cloudmodel.entity.ProjectUser;
+import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.mapper.CustomCompanyMapper;
+import com.hssx.cloudmodel.mapper.ProjectUserMapper;
+import com.hssx.cloudmodel.mapper.UserMapper;
+import com.hssx.cloudmodel.util.HttpKit;
+import com.hssx.cloudmodel.util.HttpRespMsg;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.json.JSONObject;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class CloudModelApplicationTests {
+//    @Autowired
+    private ProjectUserMapper projectUserMapper;
+
+    @Resource
+    UserMapper userMapper;
+    @Resource
+    CustomCompanyMapper customCompanyMapper;
+    @Test
+    public void contextLoads() {
+
+        CustomCompany customCompany = new CustomCompany();
+        customCompany.setCompanyId(66);
+        customCompany.setCompanyName("123456");
+        customCompanyMapper.update(customCompany,new QueryWrapper<CustomCompany>().eq("company_id",66));
+
+//        User user = new User();
+//        user.setUsername("超级管理员");
+//        user = userMapper.selectOne(new QueryWrapper<>(user));
+//        System.out.println("user+++"+user);
+        //builder对象的案例
+//        User user1 = User.builder().account("13856598755").companyId(1).mobile("12345678900").parentId(1).build();
+//        int insert = userMapper.insert(user1);
+    }
+
+
+
+}

+ 1 - 1
cloud-socket/src/jdbc.properties

@@ -2,7 +2,7 @@ classPath=D:/workspace/yunsu/cloud-socket/WebContent/WEB-INF/lib/mysql-connector
 driver=com.mysql.jdbc.Driver
 url=jdbc:mysql://118.190.47.230:3306/cloud_model?autoReconnect=true&rewriteBatchedStatements=TRUE&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8
 username=root
-password=p011430seya1026
+password=p011430seya10
 maxActive=255
 maxIdle=20
 maxWait=100

+ 11 - 5
target/classes/main/resources/mapper/ProjectMapper.xml

@@ -46,13 +46,15 @@
     </resultMap>
     <select id="getProjectListByUid" resultMap="BaseResultMapList">
         select
-        p.id id,p.project_name project_name, p.creator creator,p.owner_company owner_company,
-        p.owner_company_name owner_company_name,p.manager_id manager_id,p.manager manager,
+        p.id id,p.project_name project_name, p.creator creator,tbc.id owner_company,
+        tbc.company_name owner_company_name,p.manager_id manager_id,p.manager manager,
         p.indate indate
         from
         tb_project p
         left join tb_project_user pu
         on p.id = pu.project_id
+        left join tb_company tbc
+        on p.owner_company = tbc.id
         left join tb_project_approve tpa
         on tpa.project_id = p.id
         <where>
@@ -68,13 +70,15 @@
     </select>
     <select id="getProjectListByUidInProjectIds" resultMap="BaseResultMapList">
         select
-        p.id id,p.project_name project_name, p.creator creator,p.owner_company owner_company,
-        p.owner_company_name owner_company_name,p.manager_id manager_id,p.manager manager,
+        p.id id,p.project_name project_name, p.creator creator,tbc.id owner_company,
+        tbc.company_name owner_company_name,p.manager_id manager_id,p.manager manager,
         p.indate indate
         from
         tb_project p
         left join tb_project_user pu
         on p.id = pu.project_id
+        left join tb_company tbc
+        on p.owner_company = tbc.id
         left join tb_project_approve tpa
         on tpa.project_id = p.id
         <where>
@@ -147,7 +151,7 @@
     <select id="getProjectById" resultMap="BaseResultMapVO">
     select
         p.id id, p.project_name project_name, p.project_no project_no, p.creator_id creator_id,p.manager_id manager_id,p.manager manager,
-        p.creator creator, p.owner_company owner_company,p.owner_company_name owner_company_name,p.indate pindate,m.belong_project_grade,
+        p.creator creator, tbp.id owner_company,tbp.company_name owner_company_name,p.indate pindate,m.belong_project_grade,
         m.id model_id, m.model_no model_no,m.model_name model_name,a.approver_id approver_id,a.approver_name approver_name,a.subordinate_type subordinate_type,
         c.company_id companyid,c.company_name companyname,tbc.company_name produce_company_name,tbc.id produce_company_id
     from
@@ -160,6 +164,8 @@
     on c.project_id = p.id
     LEFT JOIN tb_company tbc
     ON tbc.`id` = m.`produce_company_id`
+    left join tb_company tbp
+    on tbp.id = p.owner_company
     where
       p.id = #{id}
     </select>