1.修改全景稳态告警数据不一致问题 2.初步修改在线监测功能

This commit is contained in:
xy
2025-12-10 16:25:38 +08:00
parent c03a516931
commit 2117e16b61
26 changed files with 551 additions and 55 deletions

View File

@@ -74,6 +74,8 @@ public interface DeptLineMapper extends BaseMapper<DeptLine> {
List<LineDevGetDTO> lineDevGet(@Param("list")List<Integer> devType,@Param("type")Integer type,@Param("lineRunFlag") Integer lineRunFlag);
List<LineDevGetDTO> lineDevAllGet(@Param("list")List<Integer> devType,@Param("type")Integer type,@Param("lineRunFlag") Integer lineRunFlag, @Param("lineType") Integer lineType);
List<TerminalGetBase> orgSubStationGet(@Param("list")List<Integer> devType);
List<TerminalGetBase.Extend> orgSubStationInfoGet(@Param("list")List<Integer> devType,

View File

@@ -74,6 +74,71 @@
</select>
<select id="lineDevAllGet" resultType="com.njcn.device.biz.pojo.dto.LineDevGetDTO">
select
<!--监测点-->
<if test="type == 1">
pq_dept_line.id unitId,
point.id pointId,
lineDetail.Time_Interval as timeInterval,
lineDetail.load_type lineTag,
lineDetail.Run_Flag as lineRunFlag,
dic.id voltageLevel,
dev.id devId,
device.com_flag comFlag,
1 as lineType,
0 as type,
lineDetail.obj_id,
lineDetail.monitor_flag as isUpToGrid,
point.name pointName
</if>
<!--母线-->
<if test="type == 2">
DISTINCT
pq_dept_line.id unitId,
dic.id voltageLevel,
voltage.id pointId,
point.id devId
</if>
<!--装置-->
<if test="type == 3">
DISTINCT
pq_dept_line.id unitId,
dev.id devId,
dic.id voltageLevel,
1 as type ,
device.update_time,
device.Com_Flag as comFlag
</if>
from pq_dept_line pq_dept_line
inner join pq_line point on pq_dept_line.line_id = point.id
inner join pq_line_detail lineDetail on point.id = lineDetail.id
inner join pq_line voltage on point.pid = voltage.id
inner join pq_voltage pq_voltage on voltage.id = pq_voltage.id
inner join sys_dict_data dic on pq_voltage.Scale= dic.id
inner join pq_line dev on voltage.pid = dev.id
inner join pq_device device on dev.id = device.id
where device.Dev_Model = 1
and point.state = 1
and device.Dev_Data_Type in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="lineRunFlag!=null ">
and lineDetail.Run_Flag = #{lineRunFlag}
</if>
<if test="lineType!=null and lineType!=''">
<choose>
<when test="lineType == 0">
and lineDetail.Monitor_Id is not null
</when>
<otherwise>
and (lineDetail.Monitor_Id is null or lineDetail.Monitor_Id = '')
</otherwise>
</choose>
</if>
</select>
<select id="orgSubStationGet" resultType="com.njcn.device.biz.pojo.dto.TerminalGetBase">
select

View File

@@ -105,7 +105,7 @@ public interface DeptLineService extends IService<DeptLine> {
*/
Map<String, List<LineDevGetDTO>> lineDevGet(List<Integer> devType,Integer type,Integer lineRunFlag);
Map<String, List<LineDevGetDTO>> lineDevAllGet(List<Integer> devType,Integer type,Integer lineRunFlag, Integer lineType);
/**
* 获取根据单位分组的变电站集合信息

View File

@@ -169,6 +169,12 @@ public class DeptLineServiceImpl extends ServiceImpl<DeptLineMapper, DeptLine> i
return deptLines.stream().collect(Collectors.groupingBy(LineDevGetDTO::getUnitId));
}
@Override
public Map<String, List<LineDevGetDTO>> lineDevAllGet(List<Integer> devDataType, Integer type, Integer lineRunFlag, Integer lineType) {
List<LineDevGetDTO> deptLines = deptLineMapper.lineDevAllGet(devDataType, type, lineRunFlag,lineType);
return deptLines.stream().collect(Collectors.groupingBy(LineDevGetDTO::getUnitId));
}
@Override
public Map<String, List<TerminalGetBase>> orgSubStationGet(List<Integer> devDataType) {
List<TerminalGetBase> deptLines = deptLineMapper.orgSubStationGet(devDataType);

View File

@@ -6,6 +6,7 @@ import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
import com.njcn.device.pq.pojo.param.OnlineRateParam;
import com.njcn.device.pq.pojo.po.LineDataIntegrity;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.device.pq.pojo.vo.OnlineMonitorVo;
import com.njcn.device.pq.pojo.vo.RStatIntegrityVO;
import org.apache.ibatis.annotations.Param;
@@ -56,4 +57,10 @@ public interface RStatIntegrityDMapper extends MppBaseMapper<RStatIntegrityD> {
*/
List<RStatIntegrityVO> getLineIntegrityRateInfo(@Param("lineIds")List<String> lineIds,@Param("startTime")String startTime,@Param("endTime")String endTime);
/**
* 获取监测点数据完整性为0的数据
* @author xy
* @date 2025/12/10
*/
List<OnlineMonitorVo> getNoData(@Param("lineIds")List<String> lineIds, @Param("startTime")String startTime, @Param("endTime")String endTime);
}

View File

@@ -110,4 +110,41 @@
group by line_index
</select>
<select id="getNoData" resultType="OnlineMonitorVo">
SELECT DISTINCT
t6.`Name` gdName,
t5.`Name` subName,
t4.`Name` deviceName,
t1.line_index lineId,
t2.`Name` lineName,
t8.`Name` monitorObjType,
t7.Obj_Name monitorObj,
count(t1.time_id) lastDay
FROM
r_stat_integrity_d t1
left join pq_line t2 on t1.line_index = t2.Id
left join pq_line t3 on t2.Pid = t3.Id
left join pq_line t4 on t3.Pid = t4.Id
left join pq_line t5 on t4.Pid = t5.Id
left join pq_line t6 on t5.Pid = t6.Id
left join pq_line_detail t7 on t1.line_index = t7.Id
left join sys_dict_data t8 on t7.Load_Type = t8.Id
WHERE
t1.real_time = 0
<if test="lineIds!=null and lineIds.size > 0">
and line_index in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test=" startTime != null and startTime !=''">
and time_id >= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
and time_id &lt;= #{endTime}
</if>
GROUP BY
line_index
order by lastDay desc
</select>
</mapper>