|
@@ -2,22 +2,19 @@ package com.bizmatics.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.bizmatics.common.core.exception.BusinessException;
|
|
|
import com.bizmatics.common.core.util.Arith;
|
|
|
+import com.bizmatics.common.core.util.BeanMapperUtils;
|
|
|
import com.bizmatics.common.core.util.DateUtils;
|
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
import com.bizmatics.common.spring.util.JsonUtils;
|
|
|
-import com.bizmatics.model.HadSiteStatic;
|
|
|
-import com.bizmatics.model.HtAnalogData;
|
|
|
+import com.bizmatics.model.*;
|
|
|
import com.bizmatics.model.vo.DataManagementVO;
|
|
|
import com.bizmatics.model.vo.HtAnalogDataVo;
|
|
|
import com.bizmatics.persistence.mapper.HtAnalogDataMapper;
|
|
|
-import com.bizmatics.service.HadSiteStaticService;
|
|
|
-import com.bizmatics.service.HtAnalogDataService;
|
|
|
+import com.bizmatics.service.*;
|
|
|
import com.bizmatics.service.util.SecurityUtils;
|
|
|
-import com.bizmatics.service.vo.CommonIcoOneVO;
|
|
|
-import com.bizmatics.service.vo.CommonIcoVO;
|
|
|
-import com.bizmatics.service.vo.HadCountVO;
|
|
|
-import com.bizmatics.service.vo.TimeShareVO;
|
|
|
+import com.bizmatics.service.vo.*;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -37,6 +34,15 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
|
|
|
@Autowired
|
|
|
private HadSiteStaticService hadSiteStaticService;
|
|
|
+ @Autowired
|
|
|
+ private RtAnalogDataService rtAnalogDataService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DeviceService deviceService;
|
|
|
+ @Autowired
|
|
|
+ private SiteDynamicPropertiesService siteDynamicPropertiesService;
|
|
|
+ @Autowired
|
|
|
+ private DeviceAttributeService deviceAttributeService;
|
|
|
|
|
|
@Override
|
|
|
public HadCountVO selectCount() {
|
|
@@ -274,42 +280,32 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<HtAnalogData> listByDeviceAndDate(String deviceName, Date startTime, Date endTime) {
|
|
|
+ public List<RealScoreVO> rtRealScore(String deviceName, Date startTime, Date endTime) {
|
|
|
LambdaQueryWrapper<HtAnalogData> queryWrapper = Wrappers.lambdaQuery();
|
|
|
queryWrapper.select(HtAnalogData::getIa,HtAnalogData::getIb,HtAnalogData::getIc,HtAnalogData::getUa,HtAnalogData::getUb,HtAnalogData::getUc)
|
|
|
.eq(HtAnalogData::getDeviceName,deviceName)
|
|
|
.between(HtAnalogData::getDataTime,startTime,endTime);
|
|
|
- return list(queryWrapper);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<CommonIcoVO> balun(String deviceName, Date startTime, Date endTime) {
|
|
|
- List<HtAnalogData> list = listByDeviceAndDate(deviceName, startTime, endTime);
|
|
|
- List<Double> aList = new ArrayList<>();
|
|
|
- List<Double> uList = new ArrayList<>();
|
|
|
- List<Double> checkList = new ArrayList<>();
|
|
|
+ List<HtAnalogData> list = this.list(queryWrapper);
|
|
|
+ //查询设备
|
|
|
+ LambdaQueryWrapper<Device> deviceQuery = Wrappers.lambdaQuery();
|
|
|
+ deviceQuery.eq(Device::getDeviceName,deviceName);
|
|
|
+ Device device = deviceService.getOne(deviceQuery);
|
|
|
+ Optional.ofNullable(device).orElseThrow(() -> new BusinessException("设备不存在"));
|
|
|
+ //查询sd
|
|
|
+ LambdaQueryWrapper<SiteDynamicProperties> sdQuery = Wrappers.lambdaQuery();
|
|
|
+ sdQuery.eq(SiteDynamicProperties::getSiteId,device.getSiteId());
|
|
|
+ SiteDynamicProperties siteDynamicProperties = siteDynamicPropertiesService.getOne(sdQuery);
|
|
|
+ Optional.ofNullable(siteDynamicProperties).orElseThrow(() -> new BusinessException("sd不存在"));
|
|
|
+ LambdaQueryWrapper<DeviceAttribute> adQuery = Wrappers.lambdaQuery();
|
|
|
+ adQuery.eq(DeviceAttribute::getSiteId,device.getSiteId());
|
|
|
+ DeviceAttribute deviceAttribute= deviceAttributeService.getOne(adQuery);
|
|
|
+ Optional.ofNullable(deviceAttribute).orElseThrow(() -> new BusinessException("da不存在"));
|
|
|
+ List<RealScoreVO> realScoreVOS = new ArrayList<>();
|
|
|
for (HtAnalogData htAnalogData:list) {
|
|
|
- checkList.add(htAnalogData.getIa());
|
|
|
- checkList.add(htAnalogData.getIb());
|
|
|
- checkList.add(htAnalogData.getIc());
|
|
|
- aList.add(checkBalun(checkList));
|
|
|
- list.clear();
|
|
|
- checkList.add(htAnalogData.getUa());
|
|
|
- checkList.add(htAnalogData.getUb());
|
|
|
- checkList.add(htAnalogData.getUc());
|
|
|
- uList.add(checkBalun(checkList));
|
|
|
- list.clear();
|
|
|
- }
|
|
|
- List<CommonIcoVO> commonIcoVOS = new ArrayList<>();
|
|
|
- commonIcoVOS.add(CommonIcoVO.builder().name("电流不平衡度").listDate(aList).build());
|
|
|
- commonIcoVOS.add(CommonIcoVO.builder().name("电压不平衡度").listDate(uList).build());
|
|
|
- return commonIcoVOS;
|
|
|
- }
|
|
|
-
|
|
|
- public Double checkBalun(List<Double> list){
|
|
|
- Double max = list.stream().max(Double::compareTo).get();
|
|
|
- Double min = list.stream().min(Double::compareTo).get();
|
|
|
- return Arith.div(Arith.sub(max,min),max);
|
|
|
+ RtAnalogData rtAnalogData = BeanMapperUtils.map(htAnalogData, RtAnalogData.class);
|
|
|
+ realScoreVOS.add(rtAnalogDataService.fillRealScoreData(rtAnalogData,siteDynamicProperties,deviceAttribute));
|
|
|
+ }
|
|
|
+ return realScoreVOS;
|
|
|
}
|
|
|
|
|
|
|