定版bug修改
This commit is contained in:
@@ -39,7 +39,7 @@ import java.util.regex.Pattern;
|
||||
@RequestMapping("/qualifiedReport")
|
||||
@Api(tags = "报告-合格率报告")
|
||||
@RequiredArgsConstructor
|
||||
public class QualifiedReport extends BaseController {
|
||||
public class QualifiedReportController extends BaseController {
|
||||
|
||||
private final QualifiedReportService qualifiedReportService;
|
||||
|
||||
@@ -56,7 +56,7 @@ public class QualifiedReport extends BaseController {
|
||||
TimeInterval timeInterval = new TimeInterval();
|
||||
String searchValue = qualifiedReportParam.getSearchValue();
|
||||
Pattern pattern = Pattern.compile(PatternRegex.SPECIAL_REGEX);
|
||||
if(pattern.matcher(searchValue).find()){
|
||||
if(!pattern.matcher(searchValue).find()){
|
||||
throw new BusinessException(ValidMessage.SPECIAL_REGEX);
|
||||
}
|
||||
String methodDescribe = getMethodDescribe("pageTable");
|
||||
@@ -185,34 +185,78 @@
|
||||
</select>
|
||||
|
||||
<select id="getPercentages" resultType="com.njcn.harmonic.pojo.vo.MonitorOverLimitVO$DataVO">
|
||||
SELECT
|
||||
TO_CHAR(time_id, 'YYYY-MM-DD') AS time,
|
||||
NVL(TRUNCATE(
|
||||
CASE
|
||||
WHEN SUM(all_time) = 0 THEN 0
|
||||
ELSE (1 - (
|
||||
sum( flicker_overtime )+ sum( flicker_all_time )+ sum( freq_dev_overtime )+ sum( voltage_dev_overtime )+ sum( ubalance_overtime )+ sum( uaberrance_overtime )+ sum( i_neg_overtime )+ sum( uharm_2_overtime )+ sum( uharm_3_overtime )+ sum( uharm_4_overtime )+ sum( uharm_5_overtime )+ sum( uharm_6_overtime )+ sum( uharm_7_overtime )+ sum( uharm_8_overtime )+ sum( uharm_9_overtime )+ sum( uharm_10_overtime )+ sum( uharm_11_overtime )+ sum( uharm_12_overtime )+ sum( uharm_13_overtime )+ sum( uharm_14_overtime )+ sum( uharm_15_overtime )+ sum( uharm_16_overtime )+ sum( uharm_17_overtime )+ sum( uharm_18_overtime )+ sum( uharm_19_overtime )+ sum( uharm_20_overtime )+ sum( uharm_21_overtime )+ sum( uharm_22_overtime )+ sum( uharm_23_overtime )+ sum( uharm_24_overtime )+ sum( uharm_25_overtime )+ sum( iharm_2_overtime )+ sum( iharm_3_overtime )+ sum( iharm_4_overtime )+ sum( iharm_5_overtime )+ sum( iharm_6_overtime )+ sum( iharm_7_overtime )+ sum( iharm_8_overtime )+ sum( iharm_9_overtime )+ sum( iharm_10_overtime )+ sum( iharm_11_overtime )+ sum( iharm_12_overtime )+ sum( iharm_13_overtime )+ sum( iharm_14_overtime )+ sum( iharm_15_overtime )+ sum( iharm_16_overtime )+ sum( iharm_17_overtime )+ sum( iharm_18_overtime )+ sum( iharm_19_overtime )+ sum( iharm_20_overtime )+ sum( iharm_21_overtime )+ sum( iharm_22_overtime )+ sum( iharm_23_overtime )+ sum( iharm_24_overtime )+ sum( iharm_25_overtime )+ sum( inuharm_1_overtime )+ sum( inuharm_2_overtime )+ sum( inuharm_3_overtime )+ sum( inuharm_4_overtime )+ sum( inuharm_5_overtime )+ sum( inuharm_6_overtime )+ sum( inuharm_7_overtime )+ sum( inuharm_8_overtime )+ sum( inuharm_9_overtime )+ sum( inuharm_10_overtime )+ sum( inuharm_11_overtime )+ sum( inuharm_12_overtime )+ sum( inuharm_13_overtime )+ sum( inuharm_14_overtime )+ sum( inuharm_15_overtime )+ sum( inuharm_16_overtime ))
|
||||
/ NULLIF(SUM(all_time) * 71, 0)) * 100
|
||||
END, 2), 0) AS data
|
||||
FROM
|
||||
r_stat_limit_rate_d
|
||||
<where>
|
||||
phasic_type = 'T'
|
||||
<if test=" ids != null and ids.size > 0">
|
||||
AND my_index IN
|
||||
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test=" statTime != null and statTime !=''">
|
||||
AND time_id >= #{statTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND time_id <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
TO_CHAR(time_id, 'YYYY-MM-DD')
|
||||
SELECT
|
||||
<choose>
|
||||
<when test="_databaseId == 'mysql'">
|
||||
DATE_FORMAT(time_id, '%Y-%m-%d')
|
||||
</when>
|
||||
<otherwise>
|
||||
TO_CHAR(time_id, 'YYYY-MM-DD')
|
||||
</otherwise>
|
||||
</choose> AS time,
|
||||
<choose>
|
||||
<when test="_databaseId == 'mysql'">
|
||||
IFNULL(ROUND(
|
||||
</when>
|
||||
<otherwise>
|
||||
NVL(TRUNC(
|
||||
</otherwise>
|
||||
</choose>
|
||||
CASE
|
||||
WHEN SUM(all_time) = 0 THEN 0
|
||||
ELSE (1 - (
|
||||
-- 各类指标求和(保持原有逻辑不变)
|
||||
SUM(flicker_overtime) + SUM(flicker_all_time) + SUM(freq_dev_overtime) +
|
||||
SUM(voltage_dev_overtime) + SUM(ubalance_overtime) + SUM(uaberrance_overtime) +
|
||||
SUM(i_neg_overtime) +
|
||||
-- 电压谐波 (2-25)
|
||||
SUM(uharm_2_overtime) + SUM(uharm_3_overtime) + SUM(uharm_4_overtime) + SUM(uharm_5_overtime) +
|
||||
SUM(uharm_6_overtime) + SUM(uharm_7_overtime) + SUM(uharm_8_overtime) + SUM(uharm_9_overtime) +
|
||||
SUM(uharm_10_overtime) + SUM(uharm_11_overtime) + SUM(uharm_12_overtime) + SUM(uharm_13_overtime) +
|
||||
SUM(uharm_14_overtime) + SUM(uharm_15_overtime) + SUM(uharm_16_overtime) + SUM(uharm_17_overtime) +
|
||||
SUM(uharm_18_overtime) + SUM(uharm_19_overtime) + SUM(uharm_20_overtime) + SUM(uharm_21_overtime) +
|
||||
SUM(uharm_22_overtime) + SUM(uharm_23_overtime) + SUM(uharm_24_overtime) + SUM(uharm_25_overtime) +
|
||||
-- 电流谐波 (2-25)
|
||||
SUM(iharm_2_overtime) + SUM(iharm_3_overtime) + SUM(iharm_4_overtime) + SUM(iharm_5_overtime) +
|
||||
SUM(iharm_6_overtime) + SUM(iharm_7_overtime) + SUM(iharm_8_overtime) + SUM(iharm_9_overtime) +
|
||||
SUM(iharm_10_overtime) + SUM(iharm_11_overtime) + SUM(iharm_12_overtime) + SUM(iharm_13_overtime) +
|
||||
SUM(iharm_14_overtime) + SUM(iharm_15_overtime) + SUM(iharm_16_overtime) + SUM(iharm_17_overtime) +
|
||||
SUM(iharm_18_overtime) + SUM(iharm_19_overtime) + SUM(iharm_20_overtime) + SUM(iharm_21_overtime) +
|
||||
SUM(iharm_22_overtime) + SUM(iharm_23_overtime) + SUM(iharm_24_overtime) + SUM(iharm_25_overtime) +
|
||||
-- 间谐波 (1-16)
|
||||
SUM(inuharm_1_overtime) + SUM(inuharm_2_overtime) + SUM(inuharm_3_overtime) + SUM(inuharm_4_overtime) +
|
||||
SUM(inuharm_5_overtime) + SUM(inuharm_6_overtime) + SUM(inuharm_7_overtime) + SUM(inuharm_8_overtime) +
|
||||
SUM(inuharm_9_overtime) + SUM(inuharm_10_overtime) + SUM(inuharm_11_overtime) + SUM(inuharm_12_overtime) +
|
||||
SUM(inuharm_13_overtime) + SUM(inuharm_14_overtime) + SUM(inuharm_15_overtime) + SUM(inuharm_16_overtime)
|
||||
) / NULLIF(SUM(all_time) * 71, 0)) * 100
|
||||
END, 2), 0) AS data
|
||||
FROM
|
||||
r_stat_limit_rate_d
|
||||
<where>
|
||||
phasic_type = 'T'
|
||||
<if test="ids != null and ids.size > 0">
|
||||
AND my_index IN
|
||||
<foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="statTime != null and statTime != ''">
|
||||
AND time_id >= #{statTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND time_id <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
<choose>
|
||||
<when test="_databaseId == 'mysql'">
|
||||
DATE_FORMAT(time_id, '%Y-%m-%d')
|
||||
</when>
|
||||
<otherwise>
|
||||
TO_CHAR(time_id, 'YYYY-MM-DD')
|
||||
</otherwise>
|
||||
</choose>
|
||||
ORDER BY time
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@@ -78,29 +78,37 @@ public class HarmInHarmServiceImpl implements HarmInHarmService {
|
||||
if (StrUtil.isNotBlank(lineId)) {
|
||||
if (harmState == 0) {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmRateV.class);
|
||||
influxQueryWrapper.meanSamePrefixAndSuffix("v_","", HarmonicTimesUtil.harmonicTimesList(2,50,1))
|
||||
.between(DataHarmRateV::getTime,startTime,endTime)
|
||||
.eq(DataHarmRateV::getLineId,lineId)
|
||||
influxQueryWrapper.meanSamePrefixAndSuffix("v_", "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1))
|
||||
.between(DataHarmRateV::getTime, startTime, endTime)
|
||||
.eq(DataHarmRateV::getLineId, lineId)
|
||||
.eq(DataHarmRateV::getValueType, InfluxDBTableConstant.CP95)
|
||||
.ne(DataHarmRateV::getPhaseType,InfluxDBTableConstant.PHASE_TYPE_T);
|
||||
.ne(DataHarmRateV::getPhaseType, InfluxDBTableConstant.PHASE_TYPE_T);
|
||||
DataHarmRateV dataHarmRateV = dataHarmRateVService.getMeanAllTimesData(influxQueryWrapper);
|
||||
if(Objects.nonNull(dataHarmRateV)){
|
||||
if (Objects.nonNull(dataHarmRateV)) {
|
||||
for (int i = 2; i < 51; i++) {
|
||||
floatList.add(PubUtils.getValueByMethodDouble(dataHarmRateV, "getV", i).floatValue());
|
||||
}
|
||||
}else {
|
||||
for (int i = 2; i < 51; i++) {
|
||||
floatList.add(null);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataI.class);
|
||||
influxQueryWrapper.meanSamePrefixAndSuffix("i_","", HarmonicTimesUtil.harmonicTimesList(2,50,1))
|
||||
.between(DataHarmRateV::getTime,startTime,endTime)
|
||||
.eq(DataHarmRateV::getLineId,lineId)
|
||||
influxQueryWrapper.meanSamePrefixAndSuffix("i_", "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1))
|
||||
.between(DataHarmRateV::getTime, startTime, endTime)
|
||||
.eq(DataHarmRateV::getLineId, lineId)
|
||||
.eq(DataHarmRateV::getValueType, InfluxDBTableConstant.CP95)
|
||||
.ne(DataHarmRateV::getPhaseType,InfluxDBTableConstant.PHASE_TYPE_T);
|
||||
.ne(DataHarmRateV::getPhaseType, InfluxDBTableConstant.PHASE_TYPE_T);
|
||||
DataI dataI = dataIService.getMeanAllTimesData(influxQueryWrapper);
|
||||
if(Objects.nonNull(dataI)){
|
||||
if (Objects.nonNull(dataI)) {
|
||||
for (int i = 2; i < 51; i++) {
|
||||
floatList.add(PubUtils.getValueByMethodDouble(dataI, "getI", i).floatValue());
|
||||
}
|
||||
}else {
|
||||
for (int i = 2; i < 51; i++) {
|
||||
floatList.add(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,6 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
public List<PollutionVO> getDeptSubstationRelations(HarmonicPublicParam harmonicPublicParam) {
|
||||
harmonicPublicParam.setServerName(generalInfo.getMicroServiceName());
|
||||
List<PollutionVO> list = new ArrayList<>();
|
||||
List<String> lineList = new ArrayList<>();
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())) {
|
||||
return list;
|
||||
}
|
||||
@@ -83,25 +82,23 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
} else {
|
||||
userLedgerVOMap = new HashMap<>();
|
||||
}
|
||||
|
||||
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(harmonicPublicParam).getData();
|
||||
deptList.forEach(dept -> lineList.addAll(dept.getLineIndexes()));
|
||||
//获取所有的数据信息
|
||||
List<RStatLimitTargetDPO> limitTargetNew = getLimitTargetNew(lineList, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
//聚合查询
|
||||
List<RStatLimitTargetDPO> finalAllData;
|
||||
if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
finalAllData = getAllDataV(lineList, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
} else if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
finalAllData = getAllDataI(lineList, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
} else {
|
||||
finalAllData = new ArrayList<>();
|
||||
}
|
||||
|
||||
for (GeneralDeviceDTO dept : deptList) {
|
||||
if (CollUtil.isEmpty(dept.getLineIndexes())) {
|
||||
continue;
|
||||
}
|
||||
//获取所有的数据信息
|
||||
List<RStatLimitTargetDPO> limitTargetNew = getLimitTargetNew(dept.getLineIndexes(), harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
//聚合查询
|
||||
List<RStatLimitTargetDPO> finalAllData;
|
||||
if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
finalAllData = getAllDataV(dept.getLineIndexes(), harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
} else if (Objects.equals(harmonicPublicParam.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
finalAllData = getAllDataI(dept.getLineIndexes(), harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
|
||||
} else {
|
||||
finalAllData = new ArrayList<>();
|
||||
}
|
||||
|
||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||
paramDTO.setLineList(dept.getLineIndexes());
|
||||
List<PollutionLineDTO> pollutionLineDTOList = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||
@@ -127,10 +124,7 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
children.setPowerFlag(PowerFlagEnum.GRID_SIDE.getCode());
|
||||
children.setName(monitList.get(0).getSubstation());
|
||||
//监测点id
|
||||
List<String> lineIds = monitList.stream().map(PollutionLineDTO::getId).collect(Collectors.toList());
|
||||
List<RStatLimitTargetDPO> collect = limitTargetNew.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
|
||||
List<RStatLimitTargetDPO> sumList = finalAllData.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
|
||||
children.setData(handleDataNew(collect, sumList, harmonicPublicParam.getStatisticalType().getCode()).getRatio());
|
||||
children.setData(handleDataNew(limitTargetNew, finalAllData, harmonicPublicParam.getStatisticalType().getCode()).getRatio());
|
||||
childrenList.add(children);
|
||||
});
|
||||
|
||||
@@ -144,10 +138,7 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
children.setName(StrUtil.isNotBlank(userLedgerVO.getProjectName()) ? userLedgerVO.getProjectName() : "异常数据");
|
||||
children.setPowerFlag(PowerFlagEnum.NO_GRID_SIDE.getCode());
|
||||
//监测点id
|
||||
List<String> lineIds = mList.stream().map(PollutionLineDTO::getId).collect(Collectors.toList());
|
||||
List<RStatLimitTargetDPO> collect = limitTargetNew.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
|
||||
List<RStatLimitTargetDPO> sumList = finalAllData.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
|
||||
children.setData(handleDataNew(collect, sumList, harmonicPublicParam.getStatisticalType().getCode()).getRatio());
|
||||
children.setData(handleDataNew(limitTargetNew, finalAllData, harmonicPublicParam.getStatisticalType().getCode()).getRatio());
|
||||
childrenList.add(children);
|
||||
});
|
||||
}
|
||||
@@ -173,33 +164,26 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
param.setServerName(generalInfo.getMicroServiceName());
|
||||
List<HarmonicDeptVO> list = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
|
||||
//获取所有监测点
|
||||
List<String> lineIds = deptList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
//获取所有的数据信息
|
||||
List<RStatLimitTargetDPO> limitTargetNew = getLimitTargetNew(lineIds, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
//聚合查询
|
||||
List<RStatLimitTargetDPO> allData = new ArrayList<>();
|
||||
if (Objects.equals(param.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
allData = getAllDataV(lineIds, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
} else if (Objects.equals(param.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
allData = getAllDataI(lineIds, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
|
||||
}
|
||||
List<RStatLimitTargetDPO> finalAllData = allData;
|
||||
deptList.forEach(item -> {
|
||||
List<String> lineList = item.getLineIndexes();
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
for(GeneralDeviceDTO dept : deptList){
|
||||
if (!CollectionUtils.isEmpty(dept.getLineIndexes())) {
|
||||
HarmonicDeptVO harmonicDeptVO = new HarmonicDeptVO();
|
||||
List<RStatLimitTargetDPO> collect = limitTargetNew.stream().filter(x -> lineList.contains(x.getLineId())).collect(Collectors.toList());
|
||||
List<RStatLimitTargetDPO> sumList = finalAllData.stream().filter(x -> lineList.contains(x.getLineId())).collect(Collectors.toList());
|
||||
AreaDTO areaDTO = handleDataNew(collect, sumList, param.getStatisticalType().getCode());
|
||||
harmonicDeptVO.setId(dept.getIndex());
|
||||
harmonicDeptVO.setName(dept.getName());
|
||||
//获取所有的数据信息
|
||||
List<RStatLimitTargetDPO> limitTargetNew = getLimitTargetNew(dept.getLineIndexes(), param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
//聚合查询
|
||||
List<RStatLimitTargetDPO> allData = new ArrayList<>();
|
||||
if (Objects.equals(param.getStatisticalType().getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
allData = getAllDataV(dept.getLineIndexes(), param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
} else if (Objects.equals(param.getStatisticalType().getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
allData = getAllDataI(dept.getLineIndexes(), param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
}
|
||||
AreaDTO areaDTO = handleDataNew(limitTargetNew, allData, param.getStatisticalType().getCode());
|
||||
BeanUtil.copyProperties(areaDTO, harmonicDeptVO);
|
||||
harmonicDeptVO.setId(item.getIndex());
|
||||
harmonicDeptVO.setName(item.getName());
|
||||
list.add(harmonicDeptVO);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
List<HarmonicDeptVO> collect = list.stream().filter(x -> x.getRatio() != 3.14159 && x.getOnlineCount() != 0 && x.getOverLineCount() != 0)
|
||||
.sorted(Comparator.comparing(HarmonicDeptVO::getRatio).reversed().thenComparing(HarmonicDeptVO::getOnlineCount).thenComparing(HarmonicDeptVO::getOverLineCount)).collect(Collectors.toList());
|
||||
@@ -352,26 +336,31 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Map<LocalDate, List<RStatLimitTargetDPO>> map = list.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getTime));
|
||||
for (LocalDate key : map.keySet()) {
|
||||
int overDay = 0;
|
||||
List<RStatLimitTargetDPO> l = map.get(key);
|
||||
for (RStatLimitTargetDPO pojo : l) {
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
if (pojo.getUaberranceOvertime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm3Overtime() > 0 || pojo.getUharm4Overtime() > 0 || pojo.getUharm5Overtime() > 0 || pojo.getUharm6Overtime() > 0 || pojo.getUharm7Overtime() > 0 || pojo.getUharm8Overtime() > 0 || pojo.getUharm9Overtime() > 0 || pojo.getUharm10Overtime() > 0 || pojo.getUharm11Overtime() > 0 || pojo.getUharm12Overtime() > 0 || pojo.getUharm13Overtime() > 0 || pojo.getUharm14Overtime() > 0 || pojo.getUharm15Overtime() > 0 || pojo.getUharm16Overtime() > 0 || pojo.getUharm17Overtime() > 0 || pojo.getUharm18Overtime() > 0 || pojo.getUharm19Overtime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm21Overtime() > 0 || pojo.getUharm22Overtime() > 0 || pojo.getUharm23Overtime() > 0 || pojo.getUharm24Overtime() > 0 || pojo.getUharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
if (pojo.getIharm2Overtime() > 0 || pojo.getIharm3Overtime() > 0 || pojo.getIharm4Overtime() > 0 || pojo.getIharm5Overtime() > 0 || pojo.getIharm6Overtime() > 0 || pojo.getIharm7Overtime() > 0 || pojo.getIharm8Overtime() > 0 || pojo.getIharm9Overtime() > 0 || pojo.getIharm10Overtime() > 0 || pojo.getIharm11Overtime() > 0 || pojo.getIharm12Overtime() > 0 || pojo.getIharm13Overtime() > 0 || pojo.getIharm14Overtime() > 0 || pojo.getIharm15Overtime() > 0 || pojo.getIharm16Overtime() > 0 || pojo.getIharm17Overtime() > 0 || pojo.getIharm18Overtime() > 0 || pojo.getIharm19Overtime() > 0 || pojo.getIharm20Overtime() > 0 || pojo.getIharm21Overtime() > 0 || pojo.getIharm22Overtime() > 0 || pojo.getIharm23Overtime() > 0 || pojo.getIharm24Overtime() > 0 || pojo.getIharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
|
||||
Map<LocalDate, List<RStatLimitTargetDPO>> map = list.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getTime));
|
||||
for (LocalDate key : map.keySet()) {
|
||||
int overDay = 0;
|
||||
List<RStatLimitTargetDPO> l = map.get(key);
|
||||
for (RStatLimitTargetDPO pojo : l) {
|
||||
if (Objects.equals(type, DicDataEnum.XBDY_ENUM.getCode())) {
|
||||
if (pojo.getUaberranceOvertime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm3Overtime() > 0 || pojo.getUharm4Overtime() > 0 || pojo.getUharm5Overtime() > 0 || pojo.getUharm6Overtime() > 0 || pojo.getUharm7Overtime() > 0 || pojo.getUharm8Overtime() > 0 || pojo.getUharm9Overtime() > 0 || pojo.getUharm10Overtime() > 0 || pojo.getUharm11Overtime() > 0 || pojo.getUharm12Overtime() > 0 || pojo.getUharm13Overtime() > 0 || pojo.getUharm14Overtime() > 0 || pojo.getUharm15Overtime() > 0 || pojo.getUharm16Overtime() > 0 || pojo.getUharm17Overtime() > 0 || pojo.getUharm18Overtime() > 0 || pojo.getUharm19Overtime() > 0 || pojo.getUharm20Overtime() > 0 || pojo.getUharm21Overtime() > 0 || pojo.getUharm22Overtime() > 0 || pojo.getUharm23Overtime() > 0 || pojo.getUharm24Overtime() > 0 || pojo.getUharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
} else if (Objects.equals(type, DicDataEnum.XBDL_ENUM.getCode())) {
|
||||
if (pojo.getIharm2Overtime() > 0 || pojo.getIharm3Overtime() > 0 || pojo.getIharm4Overtime() > 0 || pojo.getIharm5Overtime() > 0 || pojo.getIharm6Overtime() > 0 || pojo.getIharm7Overtime() > 0 || pojo.getIharm8Overtime() > 0 || pojo.getIharm9Overtime() > 0 || pojo.getIharm10Overtime() > 0 || pojo.getIharm11Overtime() > 0 || pojo.getIharm12Overtime() > 0 || pojo.getIharm13Overtime() > 0 || pojo.getIharm14Overtime() > 0 || pojo.getIharm15Overtime() > 0 || pojo.getIharm16Overtime() > 0 || pojo.getIharm17Overtime() > 0 || pojo.getIharm18Overtime() > 0 || pojo.getIharm19Overtime() > 0 || pojo.getIharm20Overtime() > 0 || pojo.getIharm21Overtime() > 0 || pojo.getIharm22Overtime() > 0 || pojo.getIharm23Overtime() > 0 || pojo.getIharm24Overtime() > 0 || pojo.getIharm25Overtime() > 0) {
|
||||
overCountByDay = overCountByDay + 1;
|
||||
overDay = overDay + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
ratio = ratio + overDay * 1.0 / l.size();
|
||||
}
|
||||
ratio = ratio + overDay * 1.0 / l.size();
|
||||
ratio = map.isEmpty() ? 0 : BigDecimal.valueOf(ratio * 100.0 / map.size()).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
}else {
|
||||
ratio = 3.14159;
|
||||
}
|
||||
|
||||
//平均超标天数
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
avgOverDay = 0;
|
||||
@@ -379,7 +368,6 @@ public class HarmonicServiceImpl implements IHarmonicService {
|
||||
avgOverDay = overLineCount == 0 ? 0.0 : BigDecimal.valueOf(overCountByDay * 1.0 / overLineCount).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
}
|
||||
//月监测点符合性超标占比
|
||||
ratio = map.size() == 0 ? 0 : BigDecimal.valueOf(ratio * 100.0 / map.size()).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||
areaDTO.setOnlineCount(onlineCount);
|
||||
areaDTO.setOverLineCount(overLineCount);
|
||||
//平均超标天数
|
||||
|
||||
@@ -282,7 +282,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
|
||||
|
||||
List<PollutionVO> subPollutionVO = new ArrayList<>();
|
||||
|
||||
List<LineDetail> lineDetailList = lineFeignClient.getLineDetail(temp.getLineIndexes()).getData();
|
||||
if (CollUtil.isNotEmpty(lineDetailList)) {
|
||||
List<LineDetail> userLedgerList = lineDetailList.stream().filter(it -> StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList());
|
||||
@@ -323,6 +322,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
}
|
||||
|
||||
}
|
||||
double exe = subPollutionVO.stream().mapToDouble(PollutionVO::getData).filter(it->it != 3.14159).max().orElse(3.14159);
|
||||
pollutionVO.setData(exe);
|
||||
pollutionVO.setChildren(subPollutionVO);
|
||||
list.add(pollutionVO);
|
||||
}
|
||||
|
||||
@@ -80,8 +80,12 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
||||
//组装子集数据树
|
||||
List<SteadyExceedRateVO> treeList = getTreeData(lineIndexes, steadyExceedParam,userLedgerVOMap,steadyExceedParam.getPowerFlag());
|
||||
//父级数据
|
||||
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(NumberUtil.round(treeList.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue()));
|
||||
|
||||
double parentRate = treeList.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0);
|
||||
if(parentRate == 3.14159){
|
||||
steadyExceedRateVO.setSteadyExceedRate(parentRate);
|
||||
}else {
|
||||
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(NumberUtil.round(parentRate, 2).doubleValue()));
|
||||
}
|
||||
steadyExceedRateVO.setChildren(treeList);
|
||||
steadyExceedRateVOS.add(steadyExceedRateVO);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
public List<TerminalVO> getTerminalData(DeviceInfoParam.BusinessParam terminalParam) {
|
||||
List<TerminalVO> terminalList = new ArrayList<>();
|
||||
//按照条件获取所有终端综合信息
|
||||
List<GeneralDeviceDTO> deviceDataList = generalDeviceInfoClient.getPracticalRunDeviceInfo(new DeviceInfoParam(terminalParam.getStatisticalType(), terminalParam.getDeptIndex(), generalInfo.getMicroServiceName(), null, terminalParam.getManufacturer(), null)).getData();
|
||||
List<GeneralDeviceDTO> deviceDataList = generalDeviceInfoClient.getPracticalAllDeviceInfo(new DeviceInfoParam(terminalParam.getStatisticalType(), terminalParam.getDeptIndex(), generalInfo.getMicroServiceName(), null, terminalParam.getManufacturer(), null)).getData();
|
||||
//组装终端Top层集合
|
||||
for (GeneralDeviceDTO generalDeviceDTO : deviceDataList) {
|
||||
List<String> deviceIndexes = generalDeviceDTO.getDeviceIndexes();
|
||||
@@ -85,7 +85,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
if (CollectionUtils.isEmpty(generalDeviceDTO.getDeviceIndexes())) {
|
||||
continue;
|
||||
}
|
||||
type.add(generalDeviceDTO.getName()+"\n("+generalDeviceDTO.getLineIndexes().size()+")");
|
||||
type.add(generalDeviceDTO.getName()+"\n("+generalDeviceDTO.getDeviceIndexes().size()+"台)");
|
||||
List<String> deviceIndexes = generalDeviceDTO.getDeviceIndexes();
|
||||
//根据终端查询在线率
|
||||
List<PublicDTO> condition = getCondition(deviceIndexes, terminalCensusParam.getSearchBeginTime(), terminalCensusParam.getSearchEndTime());
|
||||
|
||||
Reference in New Issue
Block a user