CompanyServiceImpl.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.hssx.cloudmodel.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.hssx.cloudmodel.constant.Constant;
  4. import com.hssx.cloudmodel.entity.Company;
  5. import com.hssx.cloudmodel.entity.Factory;
  6. import com.hssx.cloudmodel.entity.LngLatCompany;
  7. import com.hssx.cloudmodel.entity.User;
  8. import com.hssx.cloudmodel.entity.vo.CompanyVO;
  9. import com.hssx.cloudmodel.mapper.CompanyMapper;
  10. import com.hssx.cloudmodel.mapper.LngLatCompanyMapper;
  11. import com.hssx.cloudmodel.mapper.UserMapper;
  12. import com.hssx.cloudmodel.service.CompanyService;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import com.hssx.cloudmodel.util.HttpRespMsg;
  15. import com.hssx.cloudmodel.util.PageUtil;
  16. import org.springframework.beans.BeanUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import javax.annotation.Resource;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. /**
  23. * <p>
  24. * 服务实现类
  25. * </p>
  26. *
  27. * @author 吴涛涛
  28. * @since 2019-07-26
  29. */
  30. @Service
  31. public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
  32. @Resource
  33. CompanyMapper companyMapper;
  34. @Resource
  35. UserMapper userMapper;
  36. @Resource
  37. LngLatCompanyMapper lngLatCompanyMapper;
  38. @Override
  39. public HttpRespMsg addAndUpdateRole(CompanyVO companyVO, Integer flag) {
  40. HttpRespMsg msg = new HttpRespMsg();
  41. Company company = new Company();
  42. if (flag == 0) {
  43. //添加公司
  44. QueryWrapper<Company> qw = new QueryWrapper<>();
  45. qw.eq("company_name", companyVO.getCompanyName());
  46. int count = companyMapper.selectCount(qw);
  47. if (count > 0) {
  48. msg.setError("公司已存在,请勿重复添加");
  49. } else {
  50. if (companyVO.getCompanyType() == 0) {
  51. //资产方直接添加
  52. BeanUtils.copyProperties(companyVO,company);
  53. companyMapper.insert(company);
  54. }else if (companyVO.getCompanyType() == 1){
  55. //生产方
  56. BeanUtils.copyProperties(companyVO,company);
  57. companyMapper.insert(company);
  58. LngLatCompany factory = new LngLatCompany();
  59. factory.setxLat(companyVO.getXLat());
  60. factory.setyLng(companyVO.getYLng());
  61. factory.setCompanyId(company.getId());
  62. lngLatCompanyMapper.insert(factory);
  63. }
  64. }
  65. } else if (flag == 1) {
  66. //更新公司信息
  67. BeanUtils.copyProperties(companyVO,company);
  68. if (companyVO.getCompanyType() == 0) {
  69. //修改资产方
  70. BeanUtils.copyProperties(companyVO,company);
  71. companyMapper.updateById(company);
  72. }else if (companyVO.getCompanyType() == 1){
  73. //生产方
  74. BeanUtils.copyProperties(companyVO,company);
  75. companyMapper.updateById(company);
  76. QueryWrapper<LngLatCompany> qw = new QueryWrapper<>();
  77. qw.eq("company_id",companyVO.getId());
  78. LngLatCompany lngLatCompany = lngLatCompanyMapper.selectOne(qw);
  79. LngLatCompany factory = new LngLatCompany();
  80. factory.setxLat(companyVO.getXLat());
  81. factory.setyLng(companyVO.getYLng());
  82. factory.setCompanyId(company.getId());
  83. factory.setId(lngLatCompany.getId());
  84. lngLatCompanyMapper.updateById(factory);
  85. }
  86. }
  87. return msg;
  88. }
  89. @Override
  90. public HttpRespMsg pageList(PageUtil page, String keyName,Integer companyType) {
  91. HttpRespMsg msg = new HttpRespMsg();
  92. List<CompanyVO> list = new ArrayList<>();
  93. System.out.println(page);
  94. Integer start = (page.getPageNum() - 1) * page.getPageSize();
  95. if(companyType == 0){
  96. list = companyMapper.getListByKeyName(keyName, start, page.getPageSize(),companyType);
  97. Integer count = list.size();
  98. page.setTotal(count);
  99. page.setPages(page.getTotal());
  100. }else{
  101. list = companyMapper.getCustomerListByKeyName(keyName, start, page.getPageSize(),companyType);
  102. Integer count = list.size();
  103. page.setTotal(count);
  104. page.setPages(page.getTotal());
  105. }
  106. page.setList(list);
  107. msg.data = page;
  108. return msg;
  109. }
  110. @Override
  111. public List<Company> getIdAndNamelist(User user) {
  112. QueryWrapper<Company> qw = new QueryWrapper<>();
  113. qw.select("id", "company_name", "company_type");
  114. if (Constant.SYS_ID == user.getParentId()) {
  115. //此时是admin创建用户,返回可选的生产方公司,查询出当前admin的信息并获取他的公司id
  116. User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getId()));
  117. qw.eq("company_type", Constant.PRODUCER_COMPANY).or().eq("id", admin.getCompanyId());
  118. } else if (Constant.SYS_PARENT_ID == user.getParentId()) {
  119. //系统管理员创建admin,返回资产方公司
  120. qw.eq("company_type", Constant.ASSETS_COMPANY);
  121. } else {
  122. //此时是项目经理创建其他用户
  123. User admin = userMapper.selectOne(new QueryWrapper<User>().eq("id", user.getParentId()));
  124. qw.eq("company_type", Constant.PRODUCER_COMPANY).or().eq("id", admin.getCompanyId());
  125. }
  126. return companyMapper.selectList(qw);
  127. }
  128. @Override
  129. public List<Company> addCompanyListToProject(User user) {
  130. QueryWrapper<Company> qw = new QueryWrapper<>();
  131. qw.eq("company_type", Constant.PRODUCER_COMPANY);
  132. return companyMapper.selectList(qw);
  133. }
  134. @Override
  135. public HttpRespMsg deleteById(Integer id) {
  136. HttpRespMsg msg = new HttpRespMsg();
  137. Integer count = userMapper.selectCount(new QueryWrapper<User>().eq("company_id", id));
  138. if (count > 0) {
  139. msg.setError("该公司已被应用到用户中,暂不提供删除操作");
  140. } else {
  141. companyMapper.deleteById(id);
  142. }
  143. return msg;
  144. }
  145. }