|
@@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.bizmatics.common.core.exception.BusinessException;
|
|
|
import com.bizmatics.common.core.util.BeanMapperUtils;
|
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
-import com.bizmatics.model.AlarmPower;
|
|
|
-import com.bizmatics.model.Device;
|
|
|
-import com.bizmatics.model.Site;
|
|
|
+import com.bizmatics.model.*;
|
|
|
import com.bizmatics.persistence.mapper.AlarmPowerMapper;
|
|
|
import com.bizmatics.persistence.mapper.DeviceMapper;
|
|
|
import com.bizmatics.persistence.mapper.SiteMapper;
|
|
@@ -23,14 +21,12 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Optional;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
- * 服务实现类
|
|
|
+ * 服务实现类
|
|
|
* </p>
|
|
|
*
|
|
|
* @author ya
|
|
@@ -55,20 +51,71 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
// Integer userId = UserUtil.getUserId();
|
|
|
Integer userId = SessionLocal.getUserId();
|
|
|
DeviceCountVO deviceCountVO = new DeviceCountVO();
|
|
|
- deviceCountVO.setNormalCount(baseMapper.selectCount(userId,null,DeviceStatusCode.NORMAL.getValue()));
|
|
|
- deviceCountVO.setOffLineCount(baseMapper.selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue()));
|
|
|
- deviceCountVO.setDeviceCount(baseMapper.selectCount(userId,null,DeviceStatusCode.DEVICE.getValue()));
|
|
|
- deviceCountVO.setFaultCount(baseMapper.selectCount(userId,null,DeviceStatusCode.FAULT.getValue()));
|
|
|
+ deviceCountVO.setNormalCount(baseMapper.selectCount(userId, null, DeviceStatusCode.NORMAL.getValue()));
|
|
|
+ deviceCountVO.setOffLineCount(baseMapper.selectCount(userId, null, DeviceStatusCode.OFFLINE.getValue()));
|
|
|
+ deviceCountVO.setDeviceCount(baseMapper.selectCount(userId, null, DeviceStatusCode.DEVICE.getValue()));
|
|
|
+ deviceCountVO.setFaultCount(baseMapper.selectCount(userId, null, DeviceStatusCode.FAULT.getValue()));
|
|
|
deviceCountVO.setCount(userSiteService.count(userId));
|
|
|
return deviceCountVO;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<Site> list(String name) {
|
|
|
- return baseMapper.list(SessionLocal.getUserId(),name);
|
|
|
+ return baseMapper.list(SessionLocal.getUserId(), name);
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> Sitelist(String name) {
|
|
|
+ List<Map<String, Object>> list = new ArrayList<>();
|
|
|
+ List<SiteList> site_list = null;
|
|
|
+ List<GroupingList> grouping_list = null;
|
|
|
+ List<SiteList> site_grouping_list = null;
|
|
|
+ grouping_list = baseMapper.GroupingList(name,SessionLocal.getUser().getUserName());
|
|
|
+ site_list = baseMapper.Sitelist(SessionLocal.getUserId(), name);
|
|
|
+ site_grouping_list = baseMapper.SiteGroupinglist(SessionLocal.getUserId(), name);
|
|
|
+ List<Map<String, Object>> list1 = new ArrayList<>();
|
|
|
+ if (grouping_list.size() > 0) {
|
|
|
+ for (int i = 0; i < grouping_list.size(); i++) {
|
|
|
+ GroupingList grouping_list_one = (GroupingList) grouping_list.get(i);
|
|
|
+ Map<String, Object> map1 = new HashMap<>();
|
|
|
+ List<Map<String, Object>> list2 = new ArrayList<>();
|
|
|
+ map1.put("id", grouping_list_one.getId());
|
|
|
+ map1.put("grouping_id", grouping_list_one.getId());
|
|
|
+ map1.put("grouping_name", grouping_list_one.getGroupingName());
|
|
|
+ if (site_list.size() > 0) {
|
|
|
+ for (int j = 0; j < site_list.size(); j++) {
|
|
|
+ SiteList site_list_one = (SiteList) site_list.get(j);
|
|
|
+ Map<String, Object> map2 = new HashMap<>();
|
|
|
+ if (grouping_list_one.getId().equals(site_list_one.getGroupingId())) {
|
|
|
+ map2.put("site_id", site_list_one.getId());
|
|
|
+ map2.put("site_name", site_list_one.getSiteName());
|
|
|
+// map2.put("grouping_id",site_list_one.getGroupingId());
|
|
|
+ list2.add(map2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map1.put("site_list", list2);
|
|
|
+ }else {
|
|
|
+ map1.put("site_list", list2);
|
|
|
+ }
|
|
|
+ list1.add(map1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (site_grouping_list.size() > 0) {
|
|
|
+ List<Map<String, Object>> list3 = new ArrayList<>();
|
|
|
+ for (int i = 0; i < site_grouping_list.size(); i++) {
|
|
|
+ SiteList site_grouping_list_one = (SiteList) site_grouping_list.get(i);
|
|
|
+ Map<String, Object> map3 = new HashMap<>();
|
|
|
+ map3.put("id", site_grouping_list_one.getId());
|
|
|
+ map3.put("grouping_id", 0);
|
|
|
+ map3.put("grouping_name", site_grouping_list_one.getSiteName());
|
|
|
+ map3.put("site_list", list3);
|
|
|
+ list1.add(map3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list1;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<SiteVO> siteAndStatusList(String name) {
|
|
|
List<SiteVO> list = new ArrayList<>();
|
|
@@ -77,7 +124,7 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
List<Site> sites = baseMapper.list(SessionLocal.getUserId(), name);
|
|
|
List<Device> deviceList = deviceMapper.list(userId, null, null, null, null, null);
|
|
|
List<AlarmPower> alarmPowers = alarmPowerMapper.list(userId, null, null, null, null, null, 1);
|
|
|
- sites.forEach(site -> list.add(enhanceSite(deviceList,site,alarmPowers)));
|
|
|
+ sites.forEach(site -> list.add(enhanceSite(deviceList, site, alarmPowers)));
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -87,7 +134,7 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
return Optional.ofNullable(site)
|
|
|
.map(st -> {
|
|
|
LambdaQueryWrapper<Device> deviceLambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
- deviceLambdaQueryWrapper.eq(Device::getSiteId,site.getId());
|
|
|
+ deviceLambdaQueryWrapper.eq(Device::getSiteId, site.getId());
|
|
|
List<Device> list = deviceService.list(deviceLambdaQueryWrapper);
|
|
|
Integer count = alarmPowerMapper.selectCount(null, site.getId(), null, null, null, null, 1);
|
|
|
SiteVO siteVO = enhanceSite(list, site, null);
|
|
@@ -99,7 +146,7 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
}
|
|
|
|
|
|
|
|
|
- public SiteVO enhanceSite(List<Device> list,Site site,List<AlarmPower> alarmPowers){
|
|
|
+ public SiteVO enhanceSite(List<Device> list, Site site, List<AlarmPower> alarmPowers) {
|
|
|
SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
|
|
|
siteVo.setDeviceCount(list.size());
|
|
|
long deviceCount = list.stream()
|
|
@@ -114,18 +161,18 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
.filter(device -> device.getSiteId().equals(site.getId()))
|
|
|
.filter(device -> DeviceStatusCode.OFFLINE.getValue().equals(device.getDeviceStatus()))
|
|
|
.count();
|
|
|
- if (CollectionUtils.isNotEmpty(alarmPowers)){
|
|
|
+ if (CollectionUtils.isNotEmpty(alarmPowers)) {
|
|
|
siteVo.setAlarmPowerCount((int) alarmPowers.stream().filter(alarmPower -> alarmPower.getSiteId().equals(site.getId())).count());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
siteVo.setAlarmPowerCount(0);
|
|
|
}
|
|
|
- if (deviceCount > 0){
|
|
|
+ if (deviceCount > 0) {
|
|
|
siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
- }else if (offCount > 0){
|
|
|
+ } else if (offCount > 0) {
|
|
|
siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
|
|
|
- }else if (faultCount > 0){
|
|
|
+ } else if (faultCount > 0) {
|
|
|
siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
|
|
|
}
|
|
|
List<String> deviceTypes = list.stream()
|