1.数据完整性列表调整

2.区域电能质量评估列表调整
3.调整监测点台账列表顺序
4.删除灿能电力字样
5.调整loge和ico图标
6.调整概览首页在线率和完整率数据
7.调整设备树的查询方式
This commit is contained in:
wr
2024-04-11 15:20:41 +08:00
parent 438c21880f
commit 051d4fc85a
43 changed files with 1169 additions and 208 deletions

View File

@@ -3,6 +3,7 @@ package com.njcn.mapper.data;
import java.util.Date;
import java.util.List;
import com.njcn.pojo.data.AssesData;
import org.apache.ibatis.annotations.Param;
import com.njcn.pojo.data.Asses;
@@ -22,4 +23,5 @@ public interface AssesMapper extends Mapper<Asses> {
//获取对应范围内综合质量
List<PqsComasses> getSynData(@Param("list")List<Integer> temp,@Param("startTime")Date startTime,@Param("endTime")Date endTime);
List<AssesData> getLineVol( @Param("list") List<Integer> lineIds,@Param("startTime") Date startTime, @Param("endTime") Date endTime);
}

View File

@@ -26,7 +26,7 @@ public interface PointBaseInfoMapper {
List<Integer> getDeptsLineIndex(@Param("deptsIndex")String deptsIndex,@Param("sysIndex")String sysIndex);
List<LineLedger> getLineLedger(@Param("lineList")List<Integer> lineList,@Param("loadTypeList")List<String> loadTypeList,@Param("scaleList")List<String> scaleList,@Param("status")Integer status,@Param("type")Integer type);
List<LineLedger> getLineLedger(@Param("lineList")List<Integer> lineList,@Param("loadTypeList")List<String> loadTypeList,@Param("scaleList")List<String> scaleList,@Param("status")Integer status,@Param("type")Integer type,@Param("powerId")Integer powerId);
DeviceUnitVO lineUnitDetail(@Param("lineId")Integer lineId);

View File

@@ -36,6 +36,16 @@ public interface DeptsLineMapper extends Mapper<DeptsLine> {
List<IndexsCount> selectIndexsByDeptRun(@Param("deptsIndex") String deptsIndex, @Param("sysType") String sysType, @Param("devModel") Integer devModel, @Param("dataType") List<Integer> dataType,@Param("devStatus") Integer devicdStatus,@Param("status")Integer status);
List<IndexsCount> selectIndexsPowerIdByDeptRun(@Param("depts") List<String> depts,
@Param("sysType") String sysType,
@Param("devModel") Integer devModel,
@Param("dataType") List<Integer> dataType,
@Param("devStatus") Integer devicdStatus,
@Param("status")Integer status,
@Param("powerId") Integer powerId
);
//扩展上面两个sql(多关联了一个pq_linedetail表)
List<IndexsCount> selectIndexsByDeptsRunForStatFlag(@Param("depts") List<Depts> depts, @Param("sysType") String sysType, @Param("devModel") Integer devModel, @Param("dataType") List<Integer> dataType, @Param("devStatus") Integer devicdStatus,@Param("status")Integer status);

View File

@@ -0,0 +1,111 @@
package com.njcn.pojo.data;
import java.io.Serializable;
/**
* @author wr
* @description
* @date 2024/4/9 16:32
*/
public class AssesData implements Serializable {
//供电公司
private String powerCompany;
//变电站
private String substation;
//监测点id
private String lineId;
//监测点名称
private String lineName;
//综合评估
private Float synData;
//电压偏差
private Float vuDevs;
//频率偏差
private Float freqDev;
//电压闪变
private Float dataPlt;
//电压不平衡度
private Float vunbalanceCp95;
//谐波含量
private Float vThdCp95;
public String getPowerCompany() {
return powerCompany;
}
public void setPowerCompany(String powerCompany) {
this.powerCompany = powerCompany;
}
public String getSubstation() {
return substation;
}
public void setSubstation(String substation) {
this.substation = substation;
}
public String getLineName() {
return lineName;
}
public void setLineName(String lineName) {
this.lineName = lineName;
}
public Float getSynData() {
return synData;
}
public void setSynData(Float synData) {
this.synData = synData;
}
public Float getVuDevs() {
return vuDevs;
}
public void setVuDevs(Float vuDevs) {
this.vuDevs = vuDevs;
}
public Float getFreqDev() {
return freqDev;
}
public void setFreqDev(Float freqDev) {
this.freqDev = freqDev;
}
public Float getDataPlt() {
return dataPlt;
}
public void setDataPlt(Float dataPlt) {
this.dataPlt = dataPlt;
}
public Float getVunbalanceCp95() {
return vunbalanceCp95;
}
public void setVunbalanceCp95(Float vunbalanceCp95) {
this.vunbalanceCp95 = vunbalanceCp95;
}
public Float getvThdCp95() {
return vThdCp95;
}
public void setvThdCp95(Float vThdCp95) {
this.vThdCp95 = vThdCp95;
}
public String getLineId() {
return lineId;
}
public void setLineId(String lineId) {
this.lineId = lineId;
}
}

View File

@@ -11,6 +11,8 @@ public class LineLedger {
private String lineIndex;
private String lineName;
//母线名称
private String busBarName;
private String electricityQualityName;
private Long devIndex;
@@ -655,4 +657,12 @@ public class LineLedger {
public void setElectricityQualityName(String electricityQualityName) {
this.electricityQualityName = electricityQualityName;
}
public String getBusBarName() {
return busBarName;
}
public void setBusBarName(String busBarName) {
this.busBarName = busBarName;
}
}

View File

@@ -18,6 +18,8 @@ public class LineLedgerVO {
private Integer status;
//上报类型(国网、非国网)
private Integer appear;
//监测点性质
private Integer powerId;
public String getDeptIndex() {
return deptIndex;
@@ -74,4 +76,12 @@ public class LineLedgerVO {
public void setAppear(Integer appear) {
this.appear = appear;
}
public Integer getPowerId() {
return powerId;
}
public void setPowerId(Integer powerId) {
this.powerId = powerId;
}
}

View File

@@ -82,7 +82,7 @@ public interface DeviceService {
List<OnlineRateData> getOnlineRate(Date startTime, Date endTime, String area);
//运行管理--》监测点数据完整性
IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag);
IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId);
String getDeviceOnline(Date startTime, Date endTime, Long lineIndex);

View File

@@ -312,10 +312,10 @@ public class DeviceServiceImpl implements DeviceService {
* @param area 区域
*/
@Override
public IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag) {
public IntergralityData getDataIntegralityTable(Date startTime, Date endTime, String area,Integer devflag,Integer powerId) {
IntergralityData intergralityData = new IntergralityData();
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area);
List<AreaGeneralData> areaGeneralDataList = userUtil.getAreaGeneralRun(devflag,area,powerId);
List<Integer> lineIndexs = areaGeneralDataList.stream().flatMap(item->item.getLineIndexs().stream()).collect(Collectors.toList());
if (CollectionUtils.isEmpty(lineIndexs)) {
return null;
@@ -6776,12 +6776,13 @@ public class DeviceServiceImpl implements DeviceService {
getGwData(tmp, gwLineList, start, end);
String onlinerate = getOnline(devList, start, end);
//在线率
deviceMapInfo.setOnline(onlinerate.equals("3.14159") ? "0" : onlinerate);
deviceMapInfo.setGwOnline(tmp.getGwonline().equals("3.14159") ? "0" : tmp.getGwonline());
String dataIntegrality = getIntegrality(lineList, start, end);
String gwdataIntegrality = getGwIntegrality(gwLineList, start, end);
//数据完整率
deviceMapInfo.setDataIntegrality(dataIntegrality.equals("3.14159") ? "0" : dataIntegrality);
deviceMapInfo.setGwDataIntegrality(gwdataIntegrality.equals("3.14159") ? "0" : gwdataIntegrality);
}

View File

@@ -1,6 +1,7 @@
package com.njcn.serviceimpl.point;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.njcn.mapper.configuration.DeviceDetailMapper;
import com.njcn.mapper.point.PointBaseInfoMapper;
@@ -17,10 +18,7 @@ import com.njcn.utils.UserUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -91,14 +89,14 @@ public class PointBaseInfoServiceImpl implements PointBaseInfoService {
} else {
list = lineIndexes;
}
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(list, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear());
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(list, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear(),lineLedgerVO.getPowerId());
if (CollectionUtil.isNotEmpty(rvoList)) {
lineLedgerList.addAll(rvoList);
}
list.clear();
}
} else {
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineIndexes, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear());
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineIndexes, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear(),lineLedgerVO.getPowerId());
lineLedgerList.addAll(rvoList);
}
@@ -122,7 +120,7 @@ public class PointBaseInfoServiceImpl implements PointBaseInfoService {
if (CollectionUtil.isEmpty(lineLedgerVO.getVoltage())) {
lineLedgerVO.setVoltage(null);
}
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineList, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear());
List<LineLedger> rvoList = pointBaseInfoMapper.getLineLedger(lineList, lineLedgerVO.getLoadType(), lineLedgerVO.getVoltage(), lineLedgerVO.getStatus(), lineLedgerVO.getAppear(),lineLedgerVO.getPowerId());
lineLedgerList.addAll(rvoList);
}
}
@@ -140,7 +138,6 @@ public class PointBaseInfoServiceImpl implements PointBaseInfoService {
lineLedger.setDevNo(deviceDetails.getDevNo());
lineLedger.setLineStatus(deviceDetails.getLineStatus());
}
return lineLedgerList;
}

View File

@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil;
import com.njcn.pojo.configuration.*;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.session.Session;
@@ -530,14 +531,14 @@ public class UserUtil {
return ag;
}
public List<AreaGeneralData> getAreaGeneralRun(Integer devFlag,String deptId) {
public List<AreaGeneralData> getAreaGeneralRun(Integer devFlag,String deptId,Integer powerId) {
List<AreaGeneralData> ag;
Depts depts = getDeptsByIndex(deptId);
DeviceType deviceType = getOnLineDeviceType();
if (null == depts) {
return new ArrayList<>();
}
ag = getAreaDatas(depts, deviceType, devFlag);
ag = getAreaPowerIdData(depts, deviceType, devFlag,powerId);
return ag;
}
@@ -644,6 +645,63 @@ public class UserUtil {
return ag;
}
/**
* @param dept 部门 只统计在线装置 且投运状态
* 1判断该部门有没有直接子部门
* 2根据有效部门获取部门对应的各项信息
*/
private List<AreaGeneralData> getAreaPowerIdData(Depts dept, DeviceType deviceType, Integer devFlag,Integer powerId) {
List<AreaGeneralData> ag = new ArrayList<>();
try {
List<Depts> depts = getDirectDeptsByNode(dept.getDeptsIndex());
if (CollectionUtils.isEmpty(depts)) {
//则只获取当前部门下的所有信息
ag.add(getAreaPowerIdDept(dept, deviceType, devFlag,powerId));
} else {
//返回当前用户下所有子部门的信息
for (Depts deptsTemp : depts) {
ag.add(getAreaPowerIdDept(deptsTemp, deviceType, devFlag,powerId));
}
}
} catch (Exception e) {
logger.error(e.getMessage());
}
return ag;
}
/**
* 获取部门下详细信息(监测点性质)
*
* @param dept 部门
*/
private AreaGeneralData getAreaPowerIdDept(Depts dept, DeviceType deviceType, Integer devicdStatus,Integer powerId) {
AreaGeneralData areaGeneralData = new AreaGeneralData();
if (dept.getCustomDept() == 0) {
areaGeneralData.setName(dept.getArea());
} else {
areaGeneralData.setName(dept.getDeptsName());
}
areaGeneralData.setDeptIndex(dept.getDeptsIndex());
String sysType = getSysType().equals(ProjectEnum.APP.getKey()) ? null : getSysType();
List<IndexsCount> indexsCountsByDept = deptsLineMapper.selectIndexsPowerIdByDeptRun(Arrays.asList(dept.getDeptsIndex()), sysType, deviceType.getDevModel(), deviceType.getDataType(), devicdStatus,null,powerId);
if (CollectionUtils.isEmpty(indexsCountsByDept)) {
//如果该部门没有任何的监测点关联,有可能是因为其是父节点(程序默认,当存在子节点时,当前部门节点不可绑定监测点)
List<Depts> depts = getDeptsByNode(dept.getDeptsIndex());
if (CollectionUtils.isEmpty(depts)) {
areaGeneralData.setMonitors(0);
} else {
List<String> deptIds = depts.stream().map(Depts::getDeptsIndex).collect(Collectors.toList());
List<IndexsCount> indexsCountsByDepts = deptsLineMapper.selectIndexsPowerIdByDeptRun(deptIds, sysType, deviceType.getDevModel(), deviceType.getDataType(), devicdStatus,null,powerId);
if (CollectionUtils.isEmpty(indexsCountsByDepts)) {
areaGeneralData.setMonitors(0);
} else {
areaGeneralData = filtIndexData(indexsCountsByDepts, areaGeneralData);
}
}
} else {
areaGeneralData = filtIndexData(indexsCountsByDept, areaGeneralData);
}
return areaGeneralData;
}
private List<AreaGeneralData> getDeptsDatas(Depts dept, DeviceType deviceType, Integer devStatus) {
List<AreaGeneralData> ag = new ArrayList<>();
try {