PlatformAreaServiceImpl.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package com.bizmatics.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.bizmatics.common.core.bean.CommonPage;
  5. import com.bizmatics.common.core.exception.BusinessException;
  6. import com.bizmatics.common.mvc.base.AbstractCrudService;
  7. import com.bizmatics.model.Device;
  8. import com.bizmatics.model.DeviceAttribute;
  9. import com.bizmatics.model.PlatformArea;
  10. import com.bizmatics.model.Site;
  11. import com.bizmatics.model.system.SysUser;
  12. import com.bizmatics.model.vo.*;
  13. import com.bizmatics.persistence.mapper.PlatformAreaMapper;
  14. import com.bizmatics.persistence.mapper.system.SysUserMapper;
  15. import com.bizmatics.service.PlatformAreaService;
  16. import com.bizmatics.service.util.SecurityUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import java.util.ArrayList;
  20. import java.util.Date;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * <p>
  25. * 服务实现类
  26. * </p>
  27. *
  28. * @author ya
  29. * @since 2021-09-29
  30. */
  31. @Service
  32. public class PlatformAreaServiceImpl extends AbstractCrudService<PlatformAreaMapper, PlatformArea> implements PlatformAreaService {
  33. @Autowired
  34. private SiteServiceImpl siteService;
  35. @Autowired
  36. private DeviceServiceImpl deviceService;
  37. @Autowired
  38. private DeviceStatusServiceImpl deviceStatusService;
  39. @Autowired
  40. private DeviceAttributeServiceImpl deviceAttributeService;
  41. @Autowired
  42. private SysUserMapper userMapper;
  43. @Override
  44. public void platformAreaAdd(PlatformArea platformArea){
  45. List<SysUser> tenantDaya = userMapper.getTenantId(SecurityUtils.getLoginUser().getUser().getUserId());
  46. if (tenantDaya.size()<0) {
  47. throw new BusinessException("无此租户,请联系管理员");
  48. }
  49. LambdaQueryWrapper<PlatformArea> queryWrapper = Wrappers.lambdaQuery();
  50. queryWrapper.eq(PlatformArea::getEnable, 1).eq(PlatformArea::getPlatformAreaCode, platformArea.getPlatformAreaCode());
  51. List<PlatformArea> platformAreaList = this.list(queryWrapper);
  52. if (platformAreaList!=null&&!platformAreaList.isEmpty()){
  53. throw new BusinessException("台区编号重复,不可重复添加台区");
  54. }else {
  55. platformArea.setCreator(SecurityUtils.getLoginUser().getUser().getUserName());
  56. platformArea.setCreateTime(new Date());
  57. platformArea.setTenantId(tenantDaya.get(0).getTenantId());
  58. platformArea.setEnable(1);
  59. this.save(platformArea);
  60. }
  61. }
  62. @Override
  63. public void platformAreaUpdate(PlatformArea platformArea){
  64. this.updateById(platformArea);
  65. }
  66. @Override
  67. public List<PlatformAreaVo> platformAreaList(Integer id){
  68. LambdaQueryWrapper<PlatformArea> queryWrapper = Wrappers.lambdaQuery();
  69. queryWrapper.eq(PlatformArea::getEnable, 1).eq(PlatformArea::getId, id);
  70. List<PlatformArea> platformAreaList = this.list(queryWrapper);
  71. LambdaQueryWrapper<Site> siteQueryWrapper = Wrappers.lambdaQuery();
  72. siteQueryWrapper.eq(Site::getStationAreaId,platformAreaList.get(0).getId()).eq(Site::getEnable, 1);
  73. List<Site> siteList = siteService.list(siteQueryWrapper);
  74. int siteCount = siteList.size();
  75. List<Integer> siteListOne = new ArrayList<>();
  76. List<Device> deviceList = new ArrayList<>();
  77. if (siteList.size()>0){
  78. for (int i = 0; i < siteList.size(); i++) {
  79. siteListOne.add(siteList.get(i).getId());
  80. }
  81. LambdaQueryWrapper<Device> deviceQueryWrapper = Wrappers.lambdaQuery();
  82. deviceQueryWrapper.in(Device::getSiteId,siteListOne).eq(Device::getEnable, 1);
  83. deviceList = deviceService.list(deviceQueryWrapper);
  84. }
  85. Integer deviceCount = deviceList.size();
  86. PlatformAreaVo platformAreaVo = new PlatformAreaVo();
  87. platformAreaVo.setPlatformAreaName(platformAreaList.get(0).getPlatformAreaName());
  88. platformAreaVo.setPlatformAreaAddress(platformAreaList.get(0).getPlatformAreaAddress());
  89. platformAreaVo.setPlatformAreaCode(platformAreaList.get(0).getPlatformAreaCode());
  90. platformAreaVo.setSiteCount(siteCount);
  91. platformAreaVo.setDeviceCount(deviceCount);
  92. platformAreaVo.setSite(siteList);
  93. platformAreaVo.setId(platformAreaList.get(0).getId());
  94. platformAreaVo.setEnable(platformAreaList.get(0).getEnable());
  95. List<PlatformAreaVo> platformAreaVoList = new ArrayList<>();
  96. platformAreaVoList.add(platformAreaVo);
  97. return platformAreaVoList;
  98. }
  99. @Override
  100. public CommonPage<PlatformAreaVo> platformAreaListOne(String platformAreaName,Integer current,Integer size){
  101. List<SysUser> tenantDaya = userMapper.getTenantId(SecurityUtils.getLoginUser().getUser().getUserId());
  102. if (tenantDaya.size()<0) {
  103. throw new BusinessException("无此租户,请联系管理员");
  104. }
  105. int platformAreaConut = baseMapper.platformSiteCount(platformAreaName,null,0,tenantDaya.get(0).getTenantId());
  106. int startCurrent = (current - 1) * size;
  107. List<PlatformAreaVo> platformAreaVoSite = baseMapper.siteCount(platformAreaName,startCurrent,size,tenantDaya.get(0).getTenantId());
  108. List<PlatformAreaVo> platformAreaVoDevice =baseMapper.deviceCount(platformAreaName,tenantDaya.get(0).getTenantId());
  109. List<PlatformAreaVo> platformAreaList = new ArrayList<>();
  110. for (int i = 0; i < platformAreaVoSite.size(); i++) {
  111. PlatformAreaVo platformArea = new PlatformAreaVo();
  112. platformArea.setPlatformAreaName(platformAreaVoSite.get(i).getPlatformAreaName());
  113. platformArea.setPlatformAreaAddress(platformAreaVoSite.get(i).getPlatformAreaAddress());
  114. platformArea.setPlatformAreaCode(platformAreaVoSite.get(i).getPlatformAreaCode());
  115. platformArea.setId(platformAreaVoSite.get(i).getId());
  116. platformArea.setEnable(platformAreaVoSite.get(i).getEnable());
  117. platformArea.setSiteCount(platformAreaVoSite.get(i).getSiteCount());
  118. platformArea.setCreator(platformAreaVoSite.get(i).getCreator());
  119. platformArea.setTenantId(platformAreaVoSite.get(i).getTenantId());
  120. platformArea.setCreateTime(platformAreaVoSite.get(i).getCreateTime());
  121. if (platformAreaVoDevice.size()>0){
  122. Integer deviceCount = 0;
  123. for (int j = 0; j < platformAreaVoDevice.size(); j++) {
  124. int id1=platformAreaVoSite.get(i).getId();
  125. int id2=platformAreaVoDevice.get(j).getId();
  126. if (id1==id2){
  127. deviceCount = deviceCount + platformAreaVoDevice.get(j).getDeviceCount();
  128. }
  129. }
  130. platformArea.setDeviceCount(deviceCount);
  131. }else {
  132. platformArea.setDeviceCount(0);
  133. }
  134. platformAreaList.add(platformArea);
  135. }
  136. return new CommonPage<>(platformAreaList, platformAreaConut, size, current);
  137. }
  138. // @Override
  139. // public CommonPage<PlatformAreaVo> platformAreaListOne(String platformAreaName,Integer current,Integer size){
  140. // SysUser user = SecurityUtils.getLoginUser().getUser();
  141. // List<PlatformAreaVo> platformAreaVoSiteOne = baseMapper.siteCount(platformAreaName,null,0,user.getUserId());
  142. // int startCurrent = (current - 1) * size;
  143. // List<PlatformAreaVo> platformAreaVoSite = baseMapper.siteCount(platformAreaName,startCurrent,size,user.getUserId());
  144. // List<PlatformAreaVo> platformAreaVoDevice =baseMapper.deviceCount(platformAreaName);
  145. // List<PlatformAreaVo> platformAreaList = new ArrayList<>();
  146. // for (int i = 0; i < platformAreaVoSite.size(); i++) {
  147. // PlatformAreaVo platformArea = new PlatformAreaVo();
  148. // platformArea.setPlatformAreaName(platformAreaVoSite.get(i).getPlatformAreaName());
  149. // platformArea.setPlatformAreaAddress(platformAreaVoSite.get(i).getPlatformAreaAddress());
  150. // platformArea.setPlatformAreaCode(platformAreaVoSite.get(i).getPlatformAreaCode());
  151. // platformArea.setId(platformAreaVoSite.get(i).getId());
  152. // platformArea.setEnable(platformAreaVoSite.get(i).getEnable());
  153. // platformArea.setSiteCount(platformAreaVoSite.get(i).getSiteCount());
  154. // if (platformAreaVoDevice.size()>0){
  155. // Integer deviceCount = 0;
  156. // for (int j = 0; j < platformAreaVoDevice.size(); j++) {
  157. // int id1=platformAreaVoSite.get(i).getId();
  158. // int id2=platformAreaVoDevice.get(j).getId();
  159. // if (id1==id2){
  160. // deviceCount = deviceCount + platformAreaVoDevice.get(j).getDeviceCount();
  161. // }
  162. // }
  163. // platformArea.setDeviceCount(deviceCount);
  164. // }else {
  165. // platformArea.setDeviceCount(0);
  166. // }
  167. //
  168. // platformAreaList.add(platformArea);
  169. // }
  170. // return new CommonPage<>(platformAreaList, platformAreaVoSiteOne.size(), size, current);
  171. // }
  172. @Override
  173. public void platformAreaDel(int id){
  174. PlatformArea platformArea = new PlatformArea();
  175. platformArea.setId(id);
  176. platformArea.setEnable(0);
  177. this.updateById(platformArea);
  178. }
  179. @Override
  180. public List<SiteListVo> siteDeviceList(Integer stationAreaId){
  181. List<SiteListVo> siteDeviceList = baseMapper.deviceList(stationAreaId);
  182. return siteDeviceList;
  183. }
  184. @Override
  185. public void siteDeviceUpdate (DeviceVo deviceVo){
  186. deviceService.updateById(deviceVo.getDevice());
  187. deviceAttributeService.updateById(deviceVo.getDeviceAttribute());
  188. }
  189. @Override
  190. public void siteDeviceDel(int deviceId,int deviceAttributeId){
  191. Device device = new Device();
  192. DeviceAttribute deviceAttribute = new DeviceAttribute();
  193. device.setId(deviceId);
  194. device.setEnable(0);
  195. deviceAttribute.setId(deviceAttributeId);
  196. deviceAttribute.setStatus(0);
  197. deviceService.updateById(device);
  198. deviceAttributeService.updateById(deviceAttribute);
  199. }
  200. }