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();
if (CollUtil.isNotEmpty(monitorIds)) {
List<PqDataVerifyBak> dataVerifyList = baseDataVerifyQuery(monitorIds, monitorBaseParam);
verifyMonitorVO.setRunNum(monitorIds.size()); verifyMonitorVO.setRunNum(monitorIds.size());
verifyMonitorVO.setAbnormalNum(dataVerifyList.stream().collect(Collectors.groupingBy(PqDataVerifyBak::getLineId)).size()); verifyMonitorVO.setAbnormalNum(dataVerifyList.stream().collect(Collectors.groupingBy(PqDataVerifyBak::getLineId)).size());
List<PqDataVerifyBak> dataSumVerifyList = baseDataSumVerifyQuery(monitorIds, monitorBaseParam); List<PqDataVerifyBak> dataSumVerifyList = baseDataSumVerifyQuery(monitorIds, monitorBaseParam);
verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, dataVerifyList)); verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, dataVerifyList));
verifyMonitorVO.setTargetList(getAbnormalTarget(dataSumVerifyList)); verifyMonitorVO.setTargetList(getAbnormalTarget(dataSumVerifyList));
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(dataVerifyList, monitorBaseParam)); 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;
} }
@@ -537,32 +544,28 @@ 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));
}
return result;
}
static void setTime(List<Map<String, Object>> result, DateRange ranged, Map<String, Integer> map, DateTimeFormatter dateFormat) {
for (DateTime dateTime : ranged) { for (DateTime dateTime : ranged) {
Map<String, Object> rangeMap = new HashMap<>(); Map<String, Object> rangeMap = new HashMap<>();
String time = DateUtil.format(dateTime, DateTimeFormatter.ofPattern(DatePattern.NORM_MONTH_PATTERN)); String time = DateUtil.format(dateTime, dateFormat);
rangeMap.put("time", time); rangeMap.put("time", time);
rangeMap.put("val", map.getOrDefault(time, 0)); rangeMap.put("val", map.getOrDefault(time, 0));
result.add(rangeMap); result.add(rangeMap);
} }
} }
}
return result;
}
/** /**

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;