1.解决审计统计没有显示的bug
2.解决数据中心数据查询过慢和数据展示bug
This commit is contained in:
@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
@@ -134,7 +135,7 @@ public class GeneralDeviceInfoController extends BaseController {
|
||||
String methodDescribe = getMethodDescribe("getPracticalRunDeviceInfoAsSubstation");
|
||||
List<GeneralDeviceDTO> substationDeviceInfos = generalDeviceService.getDeviceInfoAsSubstation(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
||||
if (CollectionUtil.isEmpty(substationDeviceInfos)) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, new ArrayList<>(), methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, substationDeviceInfos, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -436,4 +436,11 @@ public interface LineMapper extends BaseMapper<Line> {
|
||||
* @date 2023/5/25
|
||||
*/
|
||||
List<String> getLineByIDs(@Param("searchValue")String searchValue);
|
||||
|
||||
/**
|
||||
* 通过电站id集合,和电压等级
|
||||
* @author cdf
|
||||
* @date 2023/5/10
|
||||
*/
|
||||
List<Line> getSubStations(@Param("subId")List<String> subId, @Param("scale") List<String> scale);
|
||||
}
|
||||
|
||||
@@ -1109,4 +1109,29 @@
|
||||
</where>
|
||||
|
||||
</select>
|
||||
<select id="getSubStations" resultType="com.njcn.device.pq.pojo.po.Line">
|
||||
SELECT
|
||||
line.*
|
||||
FROM
|
||||
pq_line line
|
||||
INNER JOIN pq_substation sub on line.id = sub.id
|
||||
<where>
|
||||
line.Level = 3
|
||||
AND line.State = 1
|
||||
<if test="subId!=null and subId.size()!=0">
|
||||
and line.id in
|
||||
<foreach collection="subId" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="scale!=null and scale.size()!=0">
|
||||
and sub.Scale in
|
||||
<foreach collection="scale" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -62,7 +62,7 @@ public interface TerminalBaseService {
|
||||
* @param substationIds 监测点id
|
||||
* @return 变电站信息
|
||||
*/
|
||||
List<Line> getSubstationByIds(List<String> substationIds);
|
||||
List<Line> getSubstationByIds(List<String> substationIds,List<String> scale);
|
||||
|
||||
/**
|
||||
* 根据监测点id,获取所有监测点
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.device.pq.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
@@ -198,6 +199,12 @@ public class GeneralDeviceService {
|
||||
*/
|
||||
public List<GeneralDeviceDTO> getDeviceInfoAsSubstation(DeviceInfoParam deviceInfoParam, List<Integer> runFlag, List<Integer> devModel) {
|
||||
List<GeneralDeviceDTO> deviceInfoAsSubstation = new ArrayList<>();
|
||||
List<String> scale = new ArrayList<>();
|
||||
if(CollUtil.isNotEmpty(deviceInfoParam.getScale())){
|
||||
scale = deviceInfoParam.getScale().stream().map(SimpleDTO::getId).collect(Collectors.toList());
|
||||
deviceInfoParam.setScale(new ArrayList<>());
|
||||
}
|
||||
|
||||
List<GeneralDeviceDTO> deviceInfoAsDept = getDeviceInfo(deviceInfoParam, runFlag, devModel);
|
||||
List<String> substationIds = new ArrayList<>();
|
||||
List<String> lineIds = new ArrayList<>();
|
||||
@@ -212,7 +219,7 @@ public class GeneralDeviceService {
|
||||
substationIds = substationIds.stream().distinct().collect(Collectors.toList());
|
||||
lineIds = lineIds.stream().distinct().collect(Collectors.toList());
|
||||
if (!CollectionUtil.isEmpty(substationIds)) {
|
||||
List<Line> substations = terminalBaseService.getSubstationByIds(substationIds);
|
||||
List<Line> substations = terminalBaseService.getSubstationByIds(substationIds,scale);
|
||||
List<Line> lines = terminalBaseService.getLineById(lineIds);
|
||||
for (Line substation : substations) {
|
||||
deviceInfoAsSubstation.add(mergeDeviceInfoAsSubstation(substation, lines));
|
||||
|
||||
@@ -203,7 +203,7 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataM
|
||||
if (CollectionUtils.isEmpty(lineIndexes)) {
|
||||
continue;
|
||||
}
|
||||
outParam.setType(generalDeviceDTO.getName()+"\n("+generalDeviceDTO.getDeviceIndexes().size()+")");
|
||||
outParam.setType(generalDeviceDTO.getName()+"\n("+generalDeviceDTO.getLineIndexes().size()+")");
|
||||
//根据监测点查询数据完整性
|
||||
List<PublicDTO> integrityData = getCondition(lineIndexes, integrityIconParam.getSearchBeginTime(), integrityIconParam.getSearchEndTime());
|
||||
outParam.setSingle(NumberUtil.round(integrityData.stream().mapToDouble(PublicDTO::getData).average().orElse(3.14159),2).doubleValue());
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.ImportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -1427,12 +1428,13 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Line> getSubstationByIds(List<String> substationIds) {
|
||||
return this.lambdaQuery()
|
||||
.in(Line::getId, substationIds)
|
||||
.eq(Line::getLevel, 3)
|
||||
.eq(Line::getState, DataStateEnum.ENABLE.getCode())
|
||||
.list();
|
||||
public List<Line> getSubstationByIds(List<String> substationIds,List<String> scale) {
|
||||
return this.baseMapper.getSubStations(substationIds,scale);
|
||||
// .in(Line::getId, substationIds)
|
||||
// .eq(Line::getLevel, 3)
|
||||
// .in(CollUtil.isNotEmpty(scale),Line::getLevel)
|
||||
// .eq(Line::getState, DataStateEnum.ENABLE.getCode())
|
||||
// .list();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -167,7 +167,7 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
||||
if (CollectionUtils.isEmpty(deviceIndexes)) {
|
||||
continue;
|
||||
}
|
||||
type.add(generalDeviceDTO.getName()+"\n("+generalDeviceDTO.getDeviceIndexes().size()+")");
|
||||
type.add(generalDeviceDTO.getName()+"\n("+generalDeviceDTO.getLineIndexes().size()+")");
|
||||
//根据终端索引集查询在线率
|
||||
List<PublicDTO> onlineRateList = getCondition(deviceIndexes, onlineRateCensusParam.getSearchBeginTime(), onlineRateCensusParam.getSearchEndTime());
|
||||
single.add(onlineRateList.stream().mapToDouble(PublicDTO::getData).average().orElse(3.14159));
|
||||
|
||||
Reference in New Issue
Block a user