1.完善稳态指标符合性占比树形结构
2.完成终端评价和异常终端详情联调
This commit is contained in:
@@ -1853,7 +1853,7 @@
|
||||
AND t.id = td.id
|
||||
AND dev.id = subv.pid
|
||||
AND sub.id = dev.pid
|
||||
<if test="powerFlag!=null ">
|
||||
<if test="powerFlag!=null and powerFlag!=2">
|
||||
AND td.Power_Flag =#{powerFlag}
|
||||
</if>
|
||||
<if test="lineIds!=null and lineIds.size()!=0">
|
||||
|
||||
@@ -115,7 +115,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
||||
if (CollUtil.isNotEmpty(integrityDS)) {
|
||||
double realTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getRealTime).sum();
|
||||
double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getDueTime).sum();
|
||||
evaluateVO.setIntegrityRate(NumberUtil.round(realTime * 100 / dueTime, 2));
|
||||
evaluateVO.setIntegrityRate(NumberUtil.round(Math.min(realTime * 100 / dueTime,100), 2));
|
||||
} else {
|
||||
evaluateVO.setIntegrityRate(new BigDecimal(0));
|
||||
}
|
||||
@@ -124,7 +124,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
||||
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
|
||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
|
||||
evaluateVO.setOnLineRate(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2));
|
||||
evaluateVO.setOnLineRate(NumberUtil.round(Math.min(onlineTime * 100.0 / (onlineTime + offlineTime),100), 2));
|
||||
} else {
|
||||
evaluateVO.setOnLineRate(new BigDecimal(0));
|
||||
}
|
||||
@@ -142,7 +142,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
||||
if (allTime == 0) {
|
||||
evaluateVO.setPassRate(new BigDecimal(0));
|
||||
} else {
|
||||
evaluateVO.setPassRate(NumberUtil.round((1 - (overTime * 1.0 / allTime)) * 100, 2));
|
||||
evaluateVO.setPassRate(NumberUtil.round(Math.min((1 - (overTime * 1.0 / allTime)) * 100,100), 2));
|
||||
}
|
||||
} else {
|
||||
evaluateVO.setPassRate(new BigDecimal(0));
|
||||
@@ -180,7 +180,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
||||
@Override
|
||||
public List<DeviceRunEvaluateVO> getRunEvaluateDetail(DevRunEvaluateParam param) {
|
||||
List<DeviceRunEvaluateVO> info = new ArrayList<>();
|
||||
List<DevDetailVO> devDetailVOList = deptLineService.getLineDetailByDeptIdAndDevIds(param.getOrgId(), param.getPowerFlag(), param.getIds());
|
||||
List<DevDetailVO> devDetailVOList = deptLineService.getLineDetailByDeptIdAndDevIds(param.getDeptIndex(), param.getPowerFlag(), param.getIds());
|
||||
if (CollUtil.isNotEmpty(devDetailVOList)) {
|
||||
List<RStatLimitRateDPO> limitRateList = new ArrayList<>();
|
||||
List<RStatOnlinerateD> onlineRateList = new ArrayList<>();
|
||||
|
||||
@@ -8,7 +8,6 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.config.GeneralInfo;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.biz.pojo.dto.PollutionLineDTO;
|
||||
import com.njcn.device.pq.api.AlarmClient;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.biz.enums.DeviceResponseEnum;
|
||||
@@ -28,17 +27,13 @@ import com.njcn.device.pq.pojo.vo.LineIntegrityDataVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatIntegrityVO;
|
||||
import com.njcn.device.pq.service.LineIntegrityDataService;
|
||||
import com.njcn.device.pq.utils.DataStatisticsUtil;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||
import com.njcn.harmonic.pojo.vo.IntegrityIconVO;
|
||||
import com.njcn.harmonic.pojo.vo.PollutionVO;
|
||||
import com.njcn.supervision.api.UserLedgerFeignClient;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.vo.user.UserLedgerVO;
|
||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
@@ -90,9 +85,8 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataM
|
||||
|
||||
// 判断所有数据集合状态
|
||||
if (CollectionUtil.isNotEmpty(generalDeviceDTOList)) {
|
||||
|
||||
Map<String, UserLedgerVO> userLedgerVOMap;
|
||||
if (Objects.isNull(lineIntegrityDataParam.getPowerFlag()) || !PowerFlagEnum.GRID_SIDE.getCode().equals(lineIntegrityDataParam.getPowerFlag())) {
|
||||
if (lineIntegrityDataParam.isUserLedger()) {
|
||||
List<UserLedgerVO> userLedgerVOList = userLedgerFeignClient.selectUserList(new UserReportParam()).getData();
|
||||
userLedgerVOMap = userLedgerVOList.stream().collect(Collectors.toMap(UserLedgerVO::getId, Function.identity()));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user