1.数据清洗页面增加厂商/部门筛选

2.调整数据为空,页面报错问题
This commit is contained in:
wr
2025-07-17 16:01:14 +08:00
parent b93db7cd08
commit a191d28c97
11 changed files with 91 additions and 103 deletions

View File

@@ -35,6 +35,7 @@ public class MonitorBaseParam extends BaseParam {
@ApiModelProperty(value = "指标id") @ApiModelProperty(value = "指标id")
private String targetKey; private String targetKey;
@ApiModelProperty(value = "终端厂家")
private String manufacturer;
} }

View File

@@ -1,7 +1,6 @@
package com.njcn.device.pq.controller; package com.njcn.device.pq.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
@@ -25,7 +24,6 @@ import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>

View File

@@ -78,7 +78,7 @@ public interface DeptLineMapper extends BaseMapper<DeptLine> {
List<TerminalGetBase.Extend> orgSubStationInfoGet(@Param("list")List<Integer> devType,@Param("powerFlag")Integer powerFlag,@Param("lineRunFlag") Integer lineRunFlag); List<TerminalGetBase.Extend> orgSubStationInfoGet(@Param("list")List<Integer> devType,@Param("powerFlag")Integer powerFlag,@Param("lineRunFlag") Integer lineRunFlag);
List<String> getLineIdByDeptIds(@Param("deptIds")List<String> deptIds,@Param("runFlag")List<Integer> runFlag,@Param("dataType")List<Integer> dataType,@Param("objType")String objType); List<String> getLineIdByDeptIds(@Param("deptIds")List<String> deptIds,@Param("manufacturer")String manufacturer,@Param("runFlag")List<Integer> runFlag,@Param("dataType")List<Integer> dataType,@Param("objType")String objType);
List<SubGetBase> selectSubStationList(@Param("param") SubstationParam substationParam); List<SubGetBase> selectSubStationList(@Param("param") SubstationParam substationParam);

View File

@@ -154,6 +154,9 @@
<foreach collection="deptIds" item="item" open="(" close=")" separator=","> <foreach collection="deptIds" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
<if test="manufacturer!=null and manufacturer!='' ">
and device.Manufacturer = #{manufacturer}
</if>
</select> </select>
<select id="selectSubStationList" resultType="com.njcn.device.biz.pojo.dto.SubGetBase"> <select id="selectSubStationList" resultType="com.njcn.device.biz.pojo.dto.SubGetBase">
select select

View File

@@ -49,7 +49,7 @@ public interface DeptLineService extends IService<DeptLine> {
* @param ids 部门ids * @param ids 部门ids
* @return 查询结果 * @return 查询结果
*/ */
List<String> getLineByDeptIds(List<String> ids,List<Integer> runFlag,List<Integer> dataType,String objType); List<String> getLineByDeptIds(List<String> ids,String manufacturer,List<Integer> runFlag,List<Integer> dataType,String objType);
/** /**
* 部门解除绑定监测点 * 部门解除绑定监测点

View File

@@ -295,7 +295,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
@Override @Override
public List<String> getRunMonitorByDept(MonitorBaseParam monitorBaseParam) { public List<String> getRunMonitorByDept(MonitorBaseParam monitorBaseParam) {
List<String> ids = deptFeignClient.getDepSonIdtByDeptId(monitorBaseParam.getDeptId()).getData(); List<String> ids = deptFeignClient.getDepSonIdtByDeptId(monitorBaseParam.getDeptId()).getData();
List<String> monitorIds = deptLineService.getLineByDeptIds(ids,Stream.of(RunFlagEnum.RUNNING.getStatus()).collect(Collectors.toList()),Stream.of(0,1,2).collect(Collectors.toList()),monitorBaseParam.getObjType()); List<String> monitorIds = deptLineService.getLineByDeptIds(ids,monitorBaseParam.getManufacturer(),Stream.of(RunFlagEnum.RUNNING.getStatus()).collect(Collectors.toList()),Stream.of(0,1,2).collect(Collectors.toList()),monitorBaseParam.getObjType());
return monitorIds; return monitorIds;
} }

View File

@@ -650,13 +650,7 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH); DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH);
Map<String, Integer> map = limitList.stream().collect(Collectors.groupingBy(it -> it.getTime().format(DATE_FORMAT), Map<String, Integer> map = limitList.stream().collect(Collectors.groupingBy(it -> it.getTime().format(DATE_FORMAT),
Collectors.mapping(DataLimitTargetDto::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size)))); Collectors.mapping(DataLimitTargetDto::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size))));
for (DateTime dateTime : ranged) { PqDataVerifyBakServiceImpl.setTime(result, ranged, map, DATE_FORMAT);
Map<String, Object> rangeMap = new HashMap<>();
String time = DateUtil.format(dateTime, DATE_FORMAT);
rangeMap.put("time", time);
rangeMap.put("val", map.getOrDefault(time, 0));
result.add(rangeMap);
}
} else { } else {
//不在一个月则展示月数据 //不在一个月则展示月数据
DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.MONTH); DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.MONTH);
@@ -687,13 +681,7 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH); DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH);
Map<String, Integer> map = dataVerifyList.stream().collect(Collectors.groupingBy(it -> it.getTime().format(DATE_FORMAT), Map<String, Integer> map = dataVerifyList.stream().collect(Collectors.groupingBy(it -> it.getTime().format(DATE_FORMAT),
Collectors.mapping(DataVerify::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size)))); Collectors.mapping(DataVerify::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size))));
for (DateTime dateTime : ranged) { PqDataVerifyBakServiceImpl.setTime(result, ranged, map, DATE_FORMAT);
Map<String, Object> rangeMap = new HashMap<>();
String time = DateUtil.format(dateTime, DATE_FORMAT);
rangeMap.put("time", time);
rangeMap.put("val", map.getOrDefault(time, 0));
result.add(rangeMap);
}
} else { } else {
//不在一个月则展示月数据 //不在一个月则展示月数据
DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.MONTH); DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.MONTH);

View File

@@ -104,8 +104,8 @@ public class DeptLineServiceImpl extends ServiceImpl<DeptLineMapper, DeptLine> i
} }
@Override @Override
public List<String> getLineByDeptIds(List<String> ids, List<Integer> runFlag, List<Integer> dataType, String objType) { public List<String> getLineByDeptIds(List<String> ids,String manufacturer, List<Integer> runFlag, List<Integer> dataType, String objType) {
return this.baseMapper.getLineIdByDeptIds(ids, runFlag, dataType, objType); return this.baseMapper.getLineIdByDeptIds(ids, manufacturer ,runFlag, dataType, objType);
} }
@Override @Override

View File

@@ -767,7 +767,7 @@ public class GeneralDeviceService {
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(deptId, Stream.of(0, 1).collect(Collectors.toList())).getData(); List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(deptId, Stream.of(0, 1).collect(Collectors.toList())).getData();
if (CollUtil.isNotEmpty(deptDTOList)) { if (CollUtil.isNotEmpty(deptDTOList)) {
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getId).distinct().collect(Collectors.toList()); List<String> deptIds = deptDTOList.stream().map(DeptDTO::getId).distinct().collect(Collectors.toList());
return deptLineService.getLineByDeptIds(deptIds,runFlag,dataType,null); return deptLineService.getLineByDeptIds(deptIds,null,runFlag,dataType,null);
} }
return new ArrayList<>(); return new ArrayList<>();
} }

View File

@@ -91,17 +91,24 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
@Override @Override
public VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam) { public VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam) {
List<String> monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam); List<String> monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam);
if (CollUtil.isEmpty(monitorIds)) {
throw new BusinessException(DeviceResponseEnum.QUERY_LINE_DATA_EMPTY);
}
List<PqDataVerifyBak> dataVerifyList = baseDataVerifyQuery(monitorIds, monitorBaseParam);
VerifyMonitorVO verifyMonitorVO = new VerifyMonitorVO(); VerifyMonitorVO verifyMonitorVO = new VerifyMonitorVO();
verifyMonitorVO.setRunNum(monitorIds.size()); if (CollUtil.isNotEmpty(monitorIds)) {
verifyMonitorVO.setAbnormalNum(dataVerifyList.stream().collect(Collectors.groupingBy(PqDataVerifyBak::getLineId)).size()); List<PqDataVerifyBak> dataVerifyList = baseDataVerifyQuery(monitorIds, monitorBaseParam);
List<PqDataVerifyBak> dataSumVerifyList = baseDataSumVerifyQuery(monitorIds, monitorBaseParam); verifyMonitorVO.setRunNum(monitorIds.size());
verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, dataVerifyList)); verifyMonitorVO.setAbnormalNum(dataVerifyList.stream().collect(Collectors.groupingBy(PqDataVerifyBak::getLineId)).size());
verifyMonitorVO.setTargetList(getAbnormalTarget(dataSumVerifyList)); List<PqDataVerifyBak> dataSumVerifyList = baseDataSumVerifyQuery(monitorIds, monitorBaseParam);
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(dataVerifyList, monitorBaseParam)); verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, dataVerifyList));
verifyMonitorVO.setTargetList(getAbnormalTarget(dataSumVerifyList));
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(dataVerifyList, monitorBaseParam));
} else {
verifyMonitorVO.setRunNum(0);
verifyMonitorVO.setAbnormalNum(0);
verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, new ArrayList<>()));
verifyMonitorVO.setTargetList(getAbnormalTarget(new ArrayList<>()));
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(new ArrayList<>(), monitorBaseParam));
}
return verifyMonitorVO; return verifyMonitorVO;
} }
@@ -181,8 +188,8 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
public List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam) { public List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam) {
List<DetailAbnormalVO> result = new ArrayList<>(); List<DetailAbnormalVO> result = new ArrayList<>();
//参数校验 //参数校验
Map<String, PqReasonableRangeDto> rangeMap= getStandRange(); Map<String, PqReasonableRangeDto> rangeMap = getStandRange();
if(StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
if (!rangeMap.containsKey(monitorBaseParam.getTargetKey())) { if (!rangeMap.containsKey(monitorBaseParam.getTargetKey())) {
throw new BusinessException("targetKey异常参数!"); throw new BusinessException("targetKey异常参数!");
} }
@@ -198,73 +205,73 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
.eq(PqDataVerifyBak::getState, 1) .eq(PqDataVerifyBak::getState, 1)
.orderByAsc(PqDataVerifyBak::getTimeId); .orderByAsc(PqDataVerifyBak::getTimeId);
if(StrUtil.isNotBlank(monitorBaseParam.getTargetKey())){ if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
switch (monitorBaseParam.getTargetKey()) { switch (monitorBaseParam.getTargetKey()) {
case Param.freq: case Param.freq:
lambdaQueryWrapper.eq(PqDataVerifyBak::getFreq,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getFreq, 1);
break; break;
case Param.freq_dev: case Param.freq_dev:
lambdaQueryWrapper.eq(PqDataVerifyBak::getFreqDev,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getFreqDev, 1);
break; break;
case Param.rms_v: case Param.rms_v:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVRms,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVRms, 1);
break; break;
case Param.rms_lvr: case Param.rms_lvr:
lambdaQueryWrapper.eq(PqDataVerifyBak::getRmsLvr,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getRmsLvr, 1);
break; break;
case Param.vu_dev: case Param.vu_dev:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVuDev,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVuDev, 1);
break; break;
case Param.vl_dev: case Param.vl_dev:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVlDev,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVlDev, 1);
break; break;
case Param.rms_i: case Param.rms_i:
lambdaQueryWrapper.eq(PqDataVerifyBak::getIRms,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getIRms, 1);
break; break;
case Param.v_thd: case Param.v_thd:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVThd,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVThd, 1);
break; break;
case Param.v_1_v: case Param.v_1_v:
lambdaQueryWrapper.eq(PqDataVerifyBak::getV,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getV, 1);
break; break;
case Param.phasic_v_1: case Param.phasic_v_1:
lambdaQueryWrapper.eq(PqDataVerifyBak::getV1Phasic,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getV1Phasic, 1);
break; break;
case Param.phasic_rate_x: case Param.phasic_rate_x:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVPhasic,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVPhasic, 1);
break; break;
case Param.v_rate: case Param.v_rate:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVHarm,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVHarm, 1);
break; break;
case Param.in_v_rate: case Param.in_v_rate:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVInharm,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVInharm, 1);
break; break;
case Param.v_zero: case Param.v_zero:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVZero,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVZero, 1);
break; break;
case Param.v_neg: case Param.v_neg:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVNeg,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVNeg, 1);
break; break;
case Param.v_pos: case Param.v_pos:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVPos,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVPos, 1);
break; break;
case Param.v_unbalance: case Param.v_unbalance:
lambdaQueryWrapper.eq(PqDataVerifyBak::getVUnbalance,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getVUnbalance, 1);
break; break;
case Param.fluc: case Param.fluc:
lambdaQueryWrapper.eq(PqDataVerifyBak::getFluc,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getFluc, 1);
break; break;
case Param.pst: case Param.pst:
lambdaQueryWrapper.eq(PqDataVerifyBak::getPst,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getPst, 1);
break; break;
case Param.plt: case Param.plt:
lambdaQueryWrapper.eq(PqDataVerifyBak::getPlt,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getPlt, 1);
break; break;
case Param.pf: case Param.pf:
lambdaQueryWrapper.eq(PqDataVerifyBak::getPf,1); lambdaQueryWrapper.eq(PqDataVerifyBak::getPf, 1);
break; break;
default: default:
log.error("方法{}未匹配到异常数据指标","monitorAbnormalTable"); log.error("方法{}未匹配到异常数据指标", "monitorAbnormalTable");
break; break;
} }
} }
@@ -272,40 +279,40 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
for (PqDataVerifyBak pqDataVerifyBak : dataVerifyList) { for (PqDataVerifyBak pqDataVerifyBak : dataVerifyList) {
LineDetailDataVO lineDevGetDTO = lineDetailMap.get(pqDataVerifyBak.getLineId()); LineDetailDataVO lineDevGetDTO = lineDetailMap.get(pqDataVerifyBak.getLineId());
String temBgName = ""; String temBgName = "";
if(lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())){ if (lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())) {
temBgName = lineDevGetDTO.getBdName(); temBgName = lineDevGetDTO.getBdName();
}else if(lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())) { } else if (lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())) {
temBgName = lineDevGetDTO.getObjName(); temBgName = lineDevGetDTO.getObjName();
} }
try (InputStream fileStream = fileStorageUtil.getFileStream(pqDataVerifyBak.getPath())) { try (InputStream fileStream = fileStorageUtil.getFileStream(pqDataVerifyBak.getPath())) {
JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig())); JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig()));
String[] errorTimeCount = {"0"}; String[] errorTimeCount = {"0"};
Long [] errAllCount = {0L}; Long[] errAllCount = {0L};
jsonArray.forEach(it -> { jsonArray.forEach(it -> {
JSONObject targetJson = (JSONObject) it; JSONObject targetJson = (JSONObject) it;
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
if (targetJson.containsKey(monitorBaseParam.getTargetKey())) { if (targetJson.containsKey(monitorBaseParam.getTargetKey())) {
JSONArray innerJson = targetJson.getJSONArray(monitorBaseParam.getTargetKey()); JSONArray innerJson = targetJson.getJSONArray(monitorBaseParam.getTargetKey());
PqReasonableRangeDto dto = rangeMap.get(monitorBaseParam.getTargetKey()); PqReasonableRangeDto dto = rangeMap.get(monitorBaseParam.getTargetKey());
if(Objects.nonNull(dto.getHarmStart()) && Objects.nonNull(dto.getHarmEnd())){ if (Objects.nonNull(dto.getHarmStart()) && Objects.nonNull(dto.getHarmEnd())) {
errorTimeCount[0] = targetJson.get("errorTimes").toString(); errorTimeCount[0] = targetJson.get("errorTimes").toString();
for(Object oJson : innerJson){ for (Object oJson : innerJson) {
JSONObject jsonObjectTem = (JSONObject) oJson; JSONObject jsonObjectTem = (JSONObject) oJson;
JSONArray list = jsonObjectTem.getJSONArray("list"); JSONArray list = jsonObjectTem.getJSONArray("list");
list.forEach(listItem -> { list.forEach(listItem -> {
JSONObject object = (JSONObject) listItem; JSONObject object = (JSONObject) listItem;
long errCount = Long.parseLong(object.get("errorCounts").toString()); long errCount = Long.parseLong(object.get("errorCounts").toString());
errAllCount[0] +=errCount; errAllCount[0] += errCount;
}); });
} }
}else { } else {
for(Object oJson : innerJson){ for (Object oJson : innerJson) {
JSONObject jsonObjectTem = (JSONObject) oJson; JSONObject jsonObjectTem = (JSONObject) oJson;
JSONArray list = jsonObjectTem.getJSONArray("list"); JSONArray list = jsonObjectTem.getJSONArray("list");
list.forEach(listItem -> { list.forEach(listItem -> {
JSONObject object = (JSONObject) listItem; JSONObject object = (JSONObject) listItem;
long errCount = Long.parseLong(object.get("errorCounts").toString()); long errCount = Long.parseLong(object.get("errorCounts").toString());
errAllCount[0] +=errCount; errAllCount[0] += errCount;
}); });
errorTimeCount[0] = jsonObjectTem.get("errorTimes").toString(); errorTimeCount[0] = jsonObjectTem.get("errorTimes").toString();
} }
@@ -315,13 +322,13 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
rangeMap.forEach((rangeKey, val) -> { rangeMap.forEach((rangeKey, val) -> {
if (targetJson.containsKey(rangeKey)) { if (targetJson.containsKey(rangeKey)) {
JSONArray innerJson = targetJson.getJSONArray(rangeKey); JSONArray innerJson = targetJson.getJSONArray(rangeKey);
for(Object oJson : innerJson){ for (Object oJson : innerJson) {
JSONObject jsonObjectTem = (JSONObject) oJson; JSONObject jsonObjectTem = (JSONObject) oJson;
JSONArray list = jsonObjectTem.getJSONArray("list"); JSONArray list = jsonObjectTem.getJSONArray("list");
list.forEach(listItem -> { list.forEach(listItem -> {
JSONObject object = (JSONObject) listItem; JSONObject object = (JSONObject) listItem;
long errCount = Long.parseLong(object.get("errorCounts").toString()); long errCount = Long.parseLong(object.get("errorCounts").toString());
errAllCount[0] +=errCount; errAllCount[0] += errCount;
}); });
} }
} }
@@ -340,7 +347,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey()); detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey());
detailAbnormalVO.setErrCount(errAllCount[0].toString()); detailAbnormalVO.setErrCount(errAllCount[0].toString());
result.add(detailAbnormalVO); result.add(detailAbnormalVO);
} catch (BusinessException b){ } catch (BusinessException b) {
//文件为空时候的特殊处理 //文件为空时候的特殊处理
DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO(); DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO();
detailAbnormalVO.setTimeSum("/"); detailAbnormalVO.setTimeSum("/");
@@ -361,7 +368,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
@Override @Override
public List<DetailAbnormalVO.DetailAbnormalInnerVO> monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam) { public List<DetailAbnormalVO.DetailAbnormalInnerVO> monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam) {
Map<String, PqReasonableRangeDto> dtoMap = getStandRange(); Map<String, PqReasonableRangeDto> dtoMap = getStandRange();
if(StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
if (!dtoMap.containsKey(monitorBaseParam.getTargetKey())) { if (!dtoMap.containsKey(monitorBaseParam.getTargetKey())) {
throw new BusinessException("targetKey异常参数!"); throw new BusinessException("targetKey异常参数!");
} }
@@ -376,7 +383,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig())); JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig()));
for (Object it : jsonArray) { for (Object it : jsonArray) {
JSONObject targetJson = (JSONObject) it; JSONObject targetJson = (JSONObject) it;
if(targetJson.containsKey("lineErrorTimes")){ if (targetJson.containsKey("lineErrorTimes")) {
continue; continue;
} }
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
@@ -436,7 +443,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
private void resultDeal(Map<String, PqReasonableRangeDto> dtoMap, String targetKey, JSONObject targetJson, List<DetailAbnormalVO.DetailAbnormalInnerVO> result) { private void resultDeal(Map<String, PqReasonableRangeDto> dtoMap, String targetKey, JSONObject targetJson, List<DetailAbnormalVO.DetailAbnormalInnerVO> result) {
PqReasonableRangeDto pqReasonableRangeDto = dtoMap.get(targetKey); PqReasonableRangeDto pqReasonableRangeDto = dtoMap.get(targetKey);
JSONArray innerJson = targetJson.getJSONArray(targetKey); JSONArray innerJson = targetJson.getJSONArray(targetKey);
innerJson.forEach(oo-> { innerJson.forEach(oo -> {
JSONObject jsonObjectTem = (JSONObject) oo; JSONObject jsonObjectTem = (JSONObject) oo;
String targetName = jsonObjectTem.get("targetName").toString(); String targetName = jsonObjectTem.get("targetName").toString();
JSONArray list = jsonObjectTem.getJSONArray("list"); JSONArray list = jsonObjectTem.getJSONArray("list");
@@ -477,9 +484,9 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
vo.setTargetKey(targetKey); vo.setTargetKey(targetKey);
vo.setPhaseType(phaseKey); vo.setPhaseType(phaseKey);
if((pqReasonableRangeDto.getInfluxdbTableName()+SEPARATOR+pqReasonableRangeDto.getIndexCode()).equals(targetKey)){ if ((pqReasonableRangeDto.getInfluxdbTableName() + SEPARATOR + pqReasonableRangeDto.getIndexCode()).equals(targetKey)) {
vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue()+"*CT1" + unit); vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + "*CT1" + unit);
}else { } else {
vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + unit); vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + unit);
} }
valueList.forEach(ites -> { valueList.forEach(ites -> {
@@ -537,33 +544,29 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
DateTime endTime = DateUtil.parse(monitorBaseParam.getSearchEndTime()); DateTime endTime = DateUtil.parse(monitorBaseParam.getSearchEndTime());
if (startTime.year() == endTime.year() && startTime.month() == endTime.month()) { if (startTime.year() == endTime.year() && startTime.month() == endTime.month()) {
DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH); DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.DAY_OF_MONTH);
Map<String, Integer> map = dataVerifyList.stream().collect(Collectors.groupingBy(its -> its.getTimeId().format(DATE_FORMAT), Map<String, Integer> map = dataVerifyList.stream().collect(Collectors.groupingBy(its -> its.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)),
Collectors.mapping(PqDataVerifyBak::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size)))); Collectors.mapping(PqDataVerifyBak::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size))));
for (DateTime dateTime : ranged) { setTime(result, ranged, map, DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
Map<String, Object> rangeMap = new HashMap<>();
String time = DateUtil.format(dateTime, DATE_FORMAT);
rangeMap.put("time", time);
rangeMap.put("val", map.getOrDefault(time, 0));
result.add(rangeMap);
}
} else { } else {
//不在一个月则展示月数据 //不在一个月则展示月数据
DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.MONTH); DateRange ranged = DateUtil.range(DateUtil.parse(monitorBaseParam.getSearchBeginTime()), DateUtil.parse(monitorBaseParam.getSearchEndTime()), DateField.MONTH);
if (CollUtil.isNotEmpty(dataVerifyList)) { Map<String, Integer> map = dataVerifyList.stream().collect(Collectors.groupingBy(it -> it.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_MONTH_PATTERN)),
Map<String, Integer> map = dataVerifyList.stream().collect(Collectors.groupingBy(it -> it.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_MONTH_PATTERN)), Collectors.mapping(PqDataVerifyBak::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size))));
Collectors.mapping(PqDataVerifyBak::getLineId, Collectors.collectingAndThen(Collectors.toSet(), Set::size)))); setTime(result, ranged, map, DateTimeFormatter.ofPattern(DatePattern.NORM_MONTH_PATTERN));
for (DateTime dateTime : ranged) {
Map<String, Object> rangeMap = new HashMap<>();
String time = DateUtil.format(dateTime, DateTimeFormatter.ofPattern(DatePattern.NORM_MONTH_PATTERN));
rangeMap.put("time", time);
rangeMap.put("val", map.getOrDefault(time, 0));
result.add(rangeMap);
}
}
} }
return result; return result;
} }
static void setTime(List<Map<String, Object>> result, DateRange ranged, Map<String, Integer> map, DateTimeFormatter dateFormat) {
for (DateTime dateTime : ranged) {
Map<String, Object> rangeMap = new HashMap<>();
String time = DateUtil.format(dateTime, dateFormat);
rangeMap.put("time", time);
rangeMap.put("val", map.getOrDefault(time, 0));
result.add(rangeMap);
}
}
/** /**
* 指标异常测点数量 * 指标异常测点数量
@@ -681,9 +684,9 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
if (StrUtil.isNotBlank(dto.getUnit())) { if (StrUtil.isNotBlank(dto.getUnit())) {
unit = dto.getUnit(); unit = dto.getUnit();
} }
if(temStr.equals(Param.rms_i)){ if (temStr.equals(Param.rms_i)) {
verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue()+"*CT1" + unit); verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + "*CT1" + unit);
}else { } else {
verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + unit); verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + unit);
} }

View File

@@ -19,14 +19,11 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.vo.DeptLineTreeVO; import com.njcn.device.pq.pojo.vo.DeptLineTreeVO;
import com.njcn.device.pq.pojo.vo.DevAndLine;
import com.njcn.device.pq.pojo.vo.TerminalTree; import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.device.pq.service.TerminalTreeService; import com.njcn.device.pq.service.TerminalTreeService;
import com.njcn.supervision.api.UserLedgerFeignClient; import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.param.user.UserReportParam; import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.UserReportPO;
import com.njcn.supervision.pojo.vo.user.UserLedgerVO; import com.njcn.supervision.pojo.vo.user.UserLedgerVO;
import com.njcn.supervision.pojo.vo.user.UserReportVO;
import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.pojo.enums.StatisticsEnum; import com.njcn.system.pojo.enums.StatisticsEnum;
@@ -58,8 +55,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
private final AreaFeignClient areaFeignClient; private final AreaFeignClient areaFeignClient;
private final DicDataFeignClient dicDataFeignClient;
private final DeptLineMapper deptLineMapper; private final DeptLineMapper deptLineMapper;
private final GeneralDeviceService generalDeviceService; private final GeneralDeviceService generalDeviceService;