更换git仓库后的提交

This commit is contained in:
2025-09-25 10:57:37 +08:00
parent 9e8662efc0
commit 5c8088e808
741 changed files with 62243 additions and 0 deletions

33
cn-terminal/.gitignore vendored Normal file
View File

@@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

90
cn-terminal/pom.xml Normal file
View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.njcn.product</groupId>
<artifactId>CN_Product</artifactId>
<version>1.0.0</version>
</parent> <artifactId>cn-terminal</artifactId>
<version>1.0.0</version>
<name>cn-terminal</name>
<description>cn-terminal</description>
<dependencies>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>njcn-common</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>mybatis-plus</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>spingboot2.3.12</artifactId>
<version>2.3.12</version>
</dependency>
<!--oracle驱动-->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.6.0.0</version>
</dependency>
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<version>21.1.0.0</version> <!-- 版本号需要与你的ojdbc版本匹配 -->
</dependency>
<!-- 多数据源切换当数据源为oracle时需要使用 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>common-event</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<artifactId>common-microservice</artifactId>
<groupId>com.njcn</groupId>
</exclusion>
<exclusion>
<artifactId>common-web</artifactId>
<groupId>com.njcn</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.njcn.product</groupId>
<artifactId>cn-user</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.njcn.product</groupId>
<artifactId>cn-system</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,13 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.po.PqDeviceDetail;
/**
* CN_Gather
*
* @author cdf
* @date 2025/8/12
*/
public interface PqDeviceDetailMapper extends BaseMapper<PqDeviceDetail> {
}

View File

@@ -0,0 +1,30 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.product.terminal.device.pojo.dto.DeviceDTO;
import com.njcn.product.terminal.device.pojo.dto.DeviceDeptDTO;
import com.njcn.product.terminal.device.pojo.po.PqDevice;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* Description:
* Date: 2025/06/19 下午 1:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqDeviceMapper extends BaseMapper<PqDevice> {
List<DeviceDTO> queryListByIds(@Param("ids") List<Integer> ids);
Page<DeviceDTO> selectDeviceDTOPage(Page<DeviceDTO> pqsEventdetailPage, @Param("searchValue") String searchValue,@Param("devIndexs") List<Integer> devIndexs);
Page<DeviceDTO> queryListByLineIds(Page<DeviceDTO> pqsEventdetailPage, @Param("searchValue") String searchValue,@Param("lineIds") List<Integer> lineIds);
List<DeviceDeptDTO> selectDeviceDept();
}

View File

@@ -0,0 +1,16 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.po.PqGdCompany;
/**
*
* Description:
* Date: 2025/06/19 下午 1:48【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqGdCompanyMapper extends BaseMapper<PqGdCompany> {
}

View File

@@ -0,0 +1,28 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.dto.LedgerBaseInfoDTO;
import com.njcn.product.terminal.device.pojo.po.PqLine;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* Description:
* Date: 2025/06/19 下午 1:43【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqLineMapper extends BaseMapper<PqLine> {
List<LedgerBaseInfoDTO> getBaseLineInfo(@Param("ids")List<Integer> ids);
List<LedgerBaseInfoDTO> getBaseLedger(@Param("ids")List<Integer> ids,@Param("searchValue")String searchValue);
List<Integer> getRunMonitorIds(@Param("ids")List<Integer> ids);
}

View File

@@ -0,0 +1,9 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.po.PqLinedetail;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PqLinedetailMapper extends BaseMapper<PqLinedetail> {
}

View File

@@ -0,0 +1,21 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.dto.SubstationDTO;
import com.njcn.product.terminal.device.pojo.po.PqSubstation;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* Description:
* Date: 2025/06/19 下午 1:48【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqSubstationMapper extends BaseMapper<PqSubstation> {
List<SubstationDTO> queryListByIds(@Param("ids")List<Integer> ids);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.po.PqsDeptsline;
/**
*
* Description:
* Date: 2025/06/19 下午 3:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqsDeptslineMapper extends BaseMapper<PqsDeptsline> {
// List<PqsDeptsline> getPhoneUser(@Param("lineId")String lineId);
}

View File

@@ -0,0 +1,18 @@
package com.njcn.product.terminal.device.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.device.pojo.po.PqsStationMap;
/**
*
* Description:
* Date: 2025/06/19 下午 1:43【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqsStationMapMapper extends BaseMapper<PqsStationMap> {
}

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.device.mapper.PqDeviceMapper">
<resultMap id="BaseResultMap" type="com.njcn.product.terminal.device.pojo.po.PqDevice">
<!--@mbg.generated-->
<!--@Table PQ_DEVICE-->
<id column="DEV_INDEX" jdbcType="DECIMAL" property="devIndex" />
<result column="GD_INDEX" jdbcType="DECIMAL" property="gdIndex" />
<result column="SUB_INDEX" jdbcType="DECIMAL" property="subIndex" />
<result column="NAME" jdbcType="VARCHAR" property="name" />
<result column="STATUS" jdbcType="DECIMAL" property="status" />
<result column="DEVTYPE" jdbcType="VARCHAR" property="devtype" />
<result column="LOGONTIME" jdbcType="TIMESTAMP" property="logontime" />
<result column="UPDATETIME" jdbcType="TIMESTAMP" property="updatetime" />
<result column="NODE_INDEX" jdbcType="DECIMAL" property="nodeIndex" />
<result column="PORTID" jdbcType="DECIMAL" property="portid" />
<result column="DEVFLAG" jdbcType="DECIMAL" property="devflag" />
<result column="DEV_SERIES" jdbcType="VARCHAR" property="devSeries" />
<result column="DEV_KEY" jdbcType="VARCHAR" property="devKey" />
<result column="IP" jdbcType="VARCHAR" property="ip" />
<result column="DEVMODEL" jdbcType="DECIMAL" property="devmodel" />
<result column="CALLFLAG" jdbcType="DECIMAL" property="callflag" />
<result column="DATATYPE" jdbcType="DECIMAL" property="datatype" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
DEV_INDEX, GD_INDEX, SUB_INDEX, "NAME", "STATUS", DEVTYPE, LOGONTIME, UPDATETIME,
NODE_INDEX, PORTID, DEVFLAG, DEV_SERIES, DEV_KEY, IP, DEVMODEL, CALLFLAG, DATATYPE
</sql>
<select id="queryListByIds" resultType="com.njcn.product.terminal.device.pojo.dto.DeviceDTO">
select
pq_device.dev_index devId,
pq_device.name devName,
pq_device.UpdateTime updateTime,
pq_device.DevFlag devFlag,
pq_device.IP ip,
pq_device.status status,
PQ_SUBSTATION.sub_index stationId,
PQ_SUBSTATION.name stationName,
PQ_GDINFORMATION.Name gdName
from
pq_device,
PQ_SUBSTATION,
PQ_GDINFORMATION
where
pq_device.SUB_INDEX = PQ_SUBSTATION.SUB_INDEX
and pq_device.GD_INDEX =PQ_GDINFORMATION.GD_INDEX
and pq_device.DEV_INDEX in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="selectDeviceDTOPage" resultType="com.njcn.product.terminal.device.pojo.dto.DeviceDTO">
SELECT DISTINCT
pq_device.dev_index devId,
pq_device.name devName,
pq_device.UpdateTime updateTime,
pq_device.DevFlag devFlag,
pq_device.IP ip,
pq_device.status status,
PQ_DEVICEDETAIL.ThisTimeCheck thisTimeCheck,
PQ_DEVICEDETAIL.NextTimeCheck nextTimeCheck,
pq_device.LogonTime logonTime,
PQ_DEVICEDETAIL.MANUFACTURER
FROM
pq_device
inner JOIN PQ_DEVICEDETAIL ON PQ_DEVICEDETAIL.dev_index = pq_device.dev_index
<where>
pq_device.DEV_INDEX in
<foreach collection="devIndexs" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
order by pq_device.updatetime
</where>
</select>
<!-- <select id="selectDeviceDTOPage" resultType="com.njcn.product.event.devcie.pojo.dto.DeviceDTO">-->
<!-- WITH temp AS(-->
<!-- SELECT DISTINCT-->
<!-- PQ_LINE.DEV_INDEX,-->
<!-- PQS_DEPTS.DEPTSNAME-->
<!-- FROM-->
<!-- PQ_LINE,-->
<!-- PQS_DEPTSLINE,-->
<!-- PQS_DEPTS-->
<!-- WHERE-->
<!-- PQ_LINE.LINE_INDEX = PQS_DEPTSLINE.LINE_INDEX-->
<!-- AND PQS_DEPTS.DEPTS_INDEX = PQS_DEPTSLINE.DEPTS_INDEX-->
<!-- )-->
<!-- SELECT DISTINCT-->
<!-- pq_device.dev_index devId,-->
<!-- pq_device.name devName,-->
<!-- pq_device.UpdateTime updateTime,-->
<!-- pq_device.DevFlag devFlag,-->
<!-- pq_device.IP ip,-->
<!-- pq_device.status status,-->
<!-- PQ_SUBSTATION.sub_index stationId,-->
<!-- PQ_SUBSTATION.name stationName,-->
<!-- PQ_GDINFORMATION.Name gdName,-->
<!-- PQS_DICDATA.DIC_Name MANUFACTURER_Name,-->
<!-- PQ_DEVICEDETAIL.ThisTimeCheck thisTimeCheck,-->
<!-- PQ_DEVICEDETAIL.NextTimeCheck nextTimeCheck,-->
<!-- pq_device.LogonTime logonTime,-->
<!-- temp.DEPTSNAME deptName-->
<!-- FROM-->
<!-- pq_device-->
<!-- LEFT JOIN PQ_SUBSTATION ON pq_device.SUB_INDEX = PQ_SUBSTATION.SUB_INDEX-->
<!-- LEFT JOIN PQ_GDINFORMATION ON pq_device.GD_INDEX = PQ_GDINFORMATION.GD_INDEX-->
<!-- LEFT JOIN PQ_DEVICEDETAIL ON PQ_DEVICEDETAIL.dev_index = pq_device.dev_index-->
<!-- LEFT JOIN PQS_DICDATA on PQ_DEVICEDETAIL.MANUFACTURER = PQS_DICDATA.DIC_INDEX-->
<!-- LEFT JOIN temp on temp.DEV_INDEX = pq_device.dev_index-->
<!-- where 1=1-->
<!-- <if test="searchValue!= null and searchValue!= ''">-->
<!-- AND (-->
<!-- pq_device.name LIKE '%' || #{searchValue} || '%'-->
<!-- OR PQ_SUBSTATION.name LIKE '%' || #{searchValue} || '%'-->
<!-- OR PQ_GDINFORMATION.Name LIKE '%' || #{searchValue} || '%'-->
<!-- )-->
<!-- </if>-->
<!-- <if test="state!= null and state!= ''">-->
<!-- and pq_device.status = #{state}-->
<!-- </if>-->
<!-- and pq_device.DEV_INDEX in-->
<!-- <foreach collection="devIndexs" item="item" open="(" close=")" separator=",">-->
<!-- #{item}-->
<!-- </foreach>-->
<!-- order by pq_device.updatetime-->
<!-- </select>-->
</mapper>

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.device.mapper.PqLineMapper">
<resultMap id="BaseResultMap" type="com.njcn.product.terminal.device.pojo.po.PqLine">
<!--@mbg.generated-->
<!--@Table PQ_LINE-->
<id column="LINE_INDEX" jdbcType="DECIMAL" property="lineIndex" />
<result column="GD_INDEX" jdbcType="DECIMAL" property="gdIndex" />
<result column="SUB_INDEX" jdbcType="DECIMAL" property="subIndex" />
<result column="SUBV_INDEX" jdbcType="DECIMAL" property="subvIndex" />
<result column="DEV_INDEX" jdbcType="DECIMAL" property="devIndex" />
<result column="NAME" jdbcType="VARCHAR" property="name" />
<result column="PT1" jdbcType="FLOAT" property="pt1" />
<result column="PT2" jdbcType="FLOAT" property="pt2" />
<result column="CT1" jdbcType="FLOAT" property="ct1" />
<result column="CT2" jdbcType="FLOAT" property="ct2" />
<result column="DEVCMP" jdbcType="FLOAT" property="devcmp" />
<result column="DLCMP" jdbcType="FLOAT" property="dlcmp" />
<result column="JZCMP" jdbcType="FLOAT" property="jzcmp" />
<result column="XYCMP" jdbcType="FLOAT" property="xycmp" />
<result column="SUBV_NO" jdbcType="DECIMAL" property="subvNo" />
<result column="SCALE" jdbcType="VARCHAR" property="scale" />
<result column="SUBV_NAME" jdbcType="VARCHAR" property="subvName" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
LINE_INDEX, GD_INDEX, SUB_INDEX, SUBV_INDEX, DEV_INDEX, "NAME", PT1, PT2, CT1, CT2,
DEVCMP, DLCMP, JZCMP, XYCMP, SUBV_NO, "SCALE", SUBV_NAME
</sql>
<select id="getBaseLineInfo" resultType="com.njcn.product.terminal.device.pojo.dto.LedgerBaseInfoDTO">
WITH temp AS(
select PQ_USER_LINE_ASS.LINE_INDEX LINE_INDEX,listagg(PQ_USER_LEDGER.CUSTOMER_NAME,';') within GROUP (order by PQ_USER_LEDGER.CUSTOMER_NAME) objName from PQ_USER_LINE_ASS ,PQ_USER_LEDGER where PQ_USER_LINE_ASS.USER_INDEX=PQ_USER_LEDGER.ID group by PQ_USER_LINE_ASS.LINE_INDEX
)
select
PQ_GDINFORMATION.name gdName,
pq_line.GD_INDEX gdIndex,
pq_line.line_index lineId,
pq_line.name lineName,
PQ_SUBVOLTAGE.SUBV_INDEX busBarId,
PQ_SUBVOLTAGE.name busBarName,
pq_device.dev_index devId,
pq_device.name devName,
pq_device.Status runFlag,
PQ_SUBSTATION.sub_index stationId,
PQ_SUBSTATION.name stationName,
temp.objName objName
from
pq_line LEFT JOIN PQ_SUBVOLTAGE on pq_line.SUBV_INDEX = PQ_SUBVOLTAGE.SUBV_INDEX
LEFT JOIN
pq_device on PQ_SUBVOLTAGE.DEV_INDEX = pq_device.DEV_INDEX
LEFT JOIN PQ_SUBSTATION on pq_device.SUB_INDEX = PQ_SUBSTATION.SUB_INDEX
LEFT JOIN PQ_GDINFORMATION on pq_line.GD_INDEX =PQ_GDINFORMATION.GD_INDEX
LEFT JOIN temp on temp.LINE_INDEX = pq_line.LINE_INDEX
where 1=1
and pq_line.line_index in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="getBaseLedger" resultType="com.njcn.product.terminal.device.pojo.dto.LedgerBaseInfoDTO">
select
PQ_GDINFORMATION.name gdName,
pq_line.GD_INDEX gdIndex,
pq_line.line_index lineId,
pq_line.name lineName,
PQ_SUBVOLTAGE.SUBV_INDEX busBarId,
PQ_SUBVOLTAGE.name busBarName,
pq_device.dev_index devId,
pq_device.name devName,
pq_device.Status runFlag,
PQ_SUBSTATION.sub_index stationId,
PQ_SUBSTATION.name stationName
from
pq_line inner JOIN PQ_SUBVOLTAGE on pq_line.SUBV_INDEX = PQ_SUBVOLTAGE.SUBV_INDEX
inner JOIN pq_device on PQ_SUBVOLTAGE.DEV_INDEX = pq_device.DEV_INDEX
inner JOIN PQ_SUBSTATION on pq_device.SUB_INDEX = PQ_SUBSTATION.SUB_INDEX
inner JOIN PQ_GDINFORMATION on pq_line.GD_INDEX =PQ_GDINFORMATION.GD_INDEX
<where>
and pq_line.line_index in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="searchValue!=null and searchValue!=''">
and (
PQ_GDINFORMATION.name LIKE '%' || #{searchValue} || '%'
or PQ_SUBSTATION.name LIKE '%' || #{searchValue} || '%'
or pq_line.name LIKE '%' || #{searchValue} || '%'
)
</if>
</where>
</select>
<select id="getRunMonitorIds" resultType="integer">
select DISTINCT pq_line.line_index from pq_line inner join pq_device on pq_line.DEV_INDEX = pq_device.DEV_INDEX
where pq_line.line_index in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and pq_device.DEVFLAG = 0
</select>
</mapper>

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.device.mapper.PqSubstationMapper">
<resultMap id="BaseResultMap" type="com.njcn.product.terminal.device.pojo.po.PqSubstation">
<!--@mbg.generated-->
<!--@Table PQ_SUBSTATION-->
<id column="SUB_INDEX" jdbcType="DECIMAL" property="subIndex" />
<result column="GD_INDEX" jdbcType="DECIMAL" property="gdIndex" />
<result column="NAME" jdbcType="VARCHAR" property="name" />
<result column="SCALE" jdbcType="VARCHAR" property="scale" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
SUB_INDEX, GD_INDEX, "NAME", "SCALE"
</sql>
<select id="queryListByIds" resultType="com.njcn.product.terminal.device.pojo.dto.SubstationDTO">
select
PQ_SUBSTATION.sub_index stationId,
PQ_SUBSTATION.name stationName,
PQ_GDINFORMATION.Name gdName,
PQS_MAP.LATITUDE LATITUDE,
PQS_MAP.LONGITUDE LONGITUDE
from
PQ_SUBSTATION left join
PQS_MAP on PQ_SUBSTATION.SUB_INDEX =PQS_MAP.SUB_INDEX
left join
PQ_GDINFORMATION on PQ_SUBSTATION.GD_INDEX =PQ_GDINFORMATION.GD_INDEX
where
PQS_MAP.state=1
and PQ_SUBSTATION.SUB_INDEX in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper>

View File

@@ -0,0 +1,45 @@
package com.njcn.product.terminal.device.pojo.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2025/06/27 下午 3:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class DeviceDTO {
private Integer devId;
private String devName;
private Integer stationId;
private String stationName;
private String gdName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
private String devFlag;
private String ip;
private String manufacturerName;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate thisTimeCheck;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate nextTimeCheck;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime logonTime;
private String deptName;
//通讯状态
private Integer runFlag=0;
//装置通讯状态0中断1正常
private Integer status;
private double onLineRate=0.00;
private double integrityRate = 0.00;
}

View File

@@ -0,0 +1,18 @@
package com.njcn.product.terminal.device.pojo.dto;
import lombok.Data;
/**
* Description:
* Date: 2025/06/27 下午 3:25【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class DeviceDeptDTO {
private Integer devId;
private String deptId;
private String deptName;
}

View File

@@ -0,0 +1,39 @@
package com.njcn.product.terminal.device.pojo.dto;
import lombok.Data;
/**
* @Author: cdf
* @CreateTime: 2025-06-25
* @Description:
*/
@Data
public class LedgerBaseInfoDTO {
private String gdName;
private String gdIndex;
private Integer lineId;
private String lineName;
private Integer busBarId;
private String busBarName;
private Integer devId;
private String devName;
private String objName;
private Integer stationId;
private String stationName;
//通讯状态
private Integer runFlag=0;
private Integer eventCount;
}

View File

@@ -0,0 +1,25 @@
package com.njcn.product.terminal.device.pojo.dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: cdf
* @CreateTime: 2025-08-28
* @Description:
*/
@Data
public class OracleLedgerTreeDTO {
private String name;
private Integer id;
private Integer pid;
private Integer level;
private List<OracleLedgerTreeDTO> children = new ArrayList<>();
}

View File

@@ -0,0 +1,70 @@
package com.njcn.product.terminal.device.pojo.dto;
import lombok.Data;
import java.time.LocalDateTime;
/**
* Description:
* Date: 2025/07/29 下午 3:15【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class PqsDeptDTO {
/**
* 部门表Guid
*/
private String deptsIndex;
/**
* 部门名称
*/
private String deptsname;
/**
* 排序
*/
private Integer deptsDesc;
/**
* 关联表PQS_User用户表Guid
*/
private String userIndex;
/**
* 更新时间
*/
private LocalDateTime updatetime;
/**
* 部门描述
*/
private String deptsDescription;
/**
* 角色状态0删除1正常
*/
private Integer state;
/**
* 行政区域
*/
private String area;
private String areaName;
private Integer customDept;
private String parentnodeid;
}

View File

@@ -0,0 +1,22 @@
package com.njcn.product.terminal.device.pojo.dto;
import lombok.Data;
/**
* Description:
* Date: 2025/06/27 下午 3:37【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class SubstationDTO {
private Integer stationId;
private String stationName;
private String gdName;
private double longitude;
private double latitude;
private Integer runFlag=0;;
}

View File

@@ -0,0 +1,127 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2025/06/19 下午 1:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 靠靠?
*/
@Data
@NoArgsConstructor
@TableName(value = "PQ_DEVICE")
public class PqDevice {
/**
* 靠靠
*/
@TableId(value = "DEV_INDEX", type = IdType.INPUT)
private Integer devIndex;
/**
* 靠靠靠
*/
@TableField(value = "GD_INDEX")
private Integer gdIndex;
/**
* 靠靠?
*/
@TableField(value = "SUB_INDEX")
private Integer subIndex;
/**
* 靠靠
*/
@TableField(value = "\"NAME\"")
private String name;
/**
* 靠靠靠(0:靠;1:靠)
*/
@TableField(value = "\"STATUS\"")
private Integer status;
/**
* (靠縋QS_Dicdata)靠靠Guid
*/
@TableField(value = "DEVTYPE")
private String devtype;
/**
* 靠靠
*/
@TableField(value = "LOGONTIME")
private LocalDateTime logontime;
/**
* 靠靠靠
*/
@TableField(value = "UPDATETIME")
private LocalDateTime updatetime;
/**
* 靠縉odeInformation)靠靠靠,靠靠靠靠靠靠靠?
*/
@TableField(value = "NODE_INDEX")
private Integer nodeIndex;
/**
* 靠ID,靠靠靠
*/
@TableField(value = "PORTID")
private Long portid;
/**
* 靠靠(0:投运;1:靠;2:靠)
*/
@TableField(value = "DEVFLAG")
private Integer devflag;
/**
* 靠靠?靠3ds靠
*/
@TableField(value = "DEV_SERIES")
private String devSeries;
/**
* 靠靠,靠3ds靠
*/
@TableField(value = "DEV_KEY")
private String devKey;
/**
* IP靠
*/
@TableField(value = "IP")
private String ip;
/**
* 靠靠(0:靠靠;1:靠靠)
*/
@TableField(value = "DEVMODEL")
private Integer devmodel;
/**
* 靠靠?
*/
@TableField(value = "CALLFLAG")
private Integer callflag;
/**
* 靠靠(0:靠靠;1:靠靠;2:靠靠)
*/
@TableField(value = "DATATYPE")
private Integer datatype;
}

View File

@@ -0,0 +1,69 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDate;
/**
* CN_Gather
*
* @author cdf
* @date 2025/8/12
*/
@TableName(value = "PQ_DEVICEDETAIL")
@Data
public class PqDeviceDetail {
@TableId(value = "DEV_INDEX")
private Long devIndex;
@TableField(value = "Manufacturer")
private String manufacturer;
@TableField(value = "CheckFlag")
private Long checkFlag;
@TableField(value="ThisTimeCheck")
private LocalDate ThisTimeCheck;
@TableField(value="NextTimeCheck")
private LocalDate NextTimeCheck;
@TableField(value="DATAPLAN")
private Long dataplan;
@TableField(value="NEWTRAFFIC")
private Long newtraffic;
@TableField(value = "electroplate")
private Integer electroplate = 0;
@TableField(value = "ONTIME")
private Integer ontime;
@TableField(value = "contract")
private String contract;
@TableField(value = "DEV_CATENA")
private String devCatnea;
@TableField(value = "SIM")
private String sim;
@TableField(value = "DEV_NO")
private String devNo;
@TableField(value = "DEV_LOCATION")
private String devLocation;
@TableField(value = "IS_ALARM")
private Integer isAlarm;
}

View File

@@ -0,0 +1,26 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* CN_Gather
*
* @author cdf
* @date 2025/8/9
*/
@Data
@TableName(value = "PQ_GDINFORMATION")
public class PqGdCompany {
@TableId(value = "GD_INDEX")
private Long gdIndex;
@TableField(value="NAME")
private String name;
@TableField(value="PROVINCE_INDEX")
private Long provinceIndex;
}

View File

@@ -0,0 +1,132 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2025/06/19 下午 1:43【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 靠靠?
*/
@Data
@NoArgsConstructor
@TableName(value = "PQ_LINE")
public class PqLine {
/**
* 靠靠
*/
@TableId(value = "LINE_INDEX", type = IdType.INPUT)
private Integer lineIndex;
/**
* 靠靠靠
*/
@TableField(value = "GD_INDEX")
private Integer gdIndex;
/**
* 靠靠?
*/
@TableField(value = "SUB_INDEX")
private Integer subIndex;
/**
* 靠靠
*/
@TableField(value = "SUBV_INDEX")
private Integer subvIndex;
/**
* 靠靠
*/
@TableField(value = "DEV_INDEX")
private Integer devIndex;
/**
* 靠靠
*/
@TableField(value = "\"NAME\"")
private String name;
/**
* PT靠靠
*/
@TableField(value = "PT1")
private Double pt1;
/**
* PT靠靠
*/
@TableField(value = "PT2")
private Double pt2;
/**
* CT靠靠
*/
@TableField(value = "CT1")
private Double ct1;
/**
* CT靠靠
*/
@TableField(value = "CT2")
private Double ct2;
/**
* 靠靠
*/
@TableField(value = "DEVCMP")
private Double devcmp;
/**
* 靠靠
*/
@TableField(value = "DLCMP")
private Double dlcmp;
/**
* 靠靠
*/
@TableField(value = "JZCMP")
private Double jzcmp;
/**
* 靠靠
*/
@TableField(value = "XYCMP")
private Double xycmp;
/**
* 靠?靠靠靠靠靠靠?
*/
@TableField(value = "SUBV_NO")
private Integer subvNo;
/**
* (靠PQS_Dictionary?靠靠Guid
*/
@TableField(value = "\"SCALE\"")
private String scale;
/**
* 靠靠
*/
@TableField(value = "SUBV_NAME")
private String subvName;
@TableField(exist = false)
private String subName;
@TableField(exist = false)
private String deptName;
}

View File

@@ -0,0 +1,52 @@
package com.njcn.product.terminal.device.pojo.po;
/**
* @Author: cdf
* @CreateTime: 2025-06-26
* @Description:
*/
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
@TableName("PQ_LINEDETAIL")
public class PqLinedetail {
@TableId(value = "LINE_INDEX", type = IdType.INPUT)
private Integer lineIndex;
private Integer gdIndex;
private Integer subIndex;
private String lineName;
private Integer pttype;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastTime;
private Integer tinterval;
private String loadtype;
private String businesstype;
private String remark;
private String monitorId;
private Integer powerid;
private String objname;
@TableField(fill = FieldFill.INSERT)
private Integer statflag;
private String lineGrade;
private String powerSubstationName;
}

View File

@@ -0,0 +1,45 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2025/06/19 下午 1:48【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 靠靠靠
*/
@Data
@NoArgsConstructor
@TableName(value = "PQ_SUBSTATION")
public class PqSubstation {
/**
* 靠靠?
*/
@TableId(value = "SUB_INDEX", type = IdType.INPUT)
private Integer subIndex;
/**
* 靠靠靠
*/
@TableField(value = "GD_INDEX")
private Integer gdIndex;
/**
* 靠靠?
*/
@TableField(value = "\"NAME\"")
private String name;
@TableField(value = "\"SCALE\"")
private String scale;
}

View File

@@ -0,0 +1,30 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* Description:
* Date: 2025/06/19 下午 3:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "PQS_DEPTSLINE")
public class PqsDeptsline {
/**
* 部门表Guid
*/
@TableField(value = "DEPTS_INDEX")
private String deptsIndex;
@TableField(value = "LINE_INDEX")
private Integer lineIndex;
@TableField(value = "SYSTYPE")
private String systype;
}

View File

@@ -0,0 +1,57 @@
package com.njcn.product.terminal.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* CN_Gather
*
* @author cdf
* @date 2025/8/11
*/
@TableName(value="PQS_MAP")
@Data
public class PqsStationMap {
@TableId(value = "MAP_INDEX")
private String mapIndex;
@TableField(value = "SUB_INDEX")
private Long subIndex;
@TableField(value = "GD_INDEX")
private Long gdIndex;
//经度
@TableField(value = "LONGITUDE")
private Float longItude;
//纬度
@TableField(value = "LATITUDE")
private Float latItude;
//数据状态
@TableField(value = "STATE")
private Long state;
//用户ID
@TableField(value = "USER_INDEX")
private String userIndex;
//更新时间
@TableField(value = "UPDATETIME")
private Date updateTime;
}

View File

@@ -0,0 +1,10 @@
package com.njcn.product.terminal.device.service;
import com.njcn.product.terminal.device.pojo.dto.OracleLedgerTreeDTO;
import java.util.List;
public interface LedgerTreeService {
List<OracleLedgerTreeDTO> getTree();
}

View File

@@ -0,0 +1,27 @@
package com.njcn.product.terminal.device.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.product.terminal.device.pojo.dto.DeviceDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.product.terminal.device.pojo.dto.DeviceDeptDTO;
import com.njcn.product.terminal.device.pojo.po.PqDevice;
import java.util.List;
/**
*
* Description:
* Date: 2025/06/19 下午 1:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqDeviceService extends IService<PqDevice>{
List<DeviceDTO> queryListByIds(List<Integer> lineIds);
Page<DeviceDTO> selectDeviceDTOPage(Page<DeviceDTO> pqsEventdetailPage, String searchValue, List<Integer> devIndexs);
List<DeviceDeptDTO> selectDeviceDept();
}

View File

@@ -0,0 +1,25 @@
package com.njcn.product.terminal.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.product.terminal.device.pojo.dto.LedgerBaseInfoDTO;
import com.njcn.product.terminal.device.pojo.po.PqLine;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* Description:
* Date: 2025/06/19 下午 1:43【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqLineService extends IService<PqLine>{
List<LedgerBaseInfoDTO> getBaseLineInfo(List<Integer> ids);
List<LedgerBaseInfoDTO> getBaseLedger(@Param("ids") List<Integer> ids, @Param("searchValue") String searchValue);
}

View File

@@ -0,0 +1,21 @@
package com.njcn.product.terminal.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.product.terminal.device.pojo.dto.SubstationDTO;
import com.njcn.product.terminal.device.pojo.po.PqSubstation;
import java.util.List;
/**
*
* Description:
* Date: 2025/06/19 下午 1:48【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqSubstationService extends IService<PqSubstation>{
List<SubstationDTO> queryListByIds(List<Integer> lineIds);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.product.terminal.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.product.terminal.device.pojo.po.PqsDeptsline;
/**
*
* Description:
* Date: 2025/06/19 下午 3:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqsDeptslineService extends IService<PqsDeptsline>{
}

View File

@@ -0,0 +1,85 @@
package com.njcn.product.terminal.device.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.product.terminal.device.mapper.PqDeviceMapper;
import com.njcn.product.terminal.device.mapper.PqGdCompanyMapper;
import com.njcn.product.terminal.device.mapper.PqLineMapper;
import com.njcn.product.terminal.device.mapper.PqSubstationMapper;
import com.njcn.product.terminal.device.pojo.dto.OracleLedgerTreeDTO;
import com.njcn.product.terminal.device.pojo.po.PqDevice;
import com.njcn.product.terminal.device.pojo.po.PqGdCompany;
import com.njcn.product.terminal.device.pojo.po.PqLine;
import com.njcn.product.terminal.device.pojo.po.PqSubstation;
import com.njcn.product.terminal.device.service.LedgerTreeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Author: cdf
* @CreateTime: 2025-08-28
* @Description:
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class LedgerTreeServiceImpl implements LedgerTreeService {
private final PqLineMapper pqLineMapper;
private final PqGdCompanyMapper pqGdCompanyMapper;
private final PqDeviceMapper pqDeviceMapper;
private final PqSubstationMapper substationMapper;
@Override
public List<OracleLedgerTreeDTO> getTree() {
List<PqLine> pqLineList = pqLineMapper.selectList(null);
List<OracleLedgerTreeDTO> lineDtoList = pqLineList.stream().map(it->{
OracleLedgerTreeDTO oracleLedgerTreeDTO = new OracleLedgerTreeDTO();
oracleLedgerTreeDTO.setId(it.getLineIndex());
oracleLedgerTreeDTO.setName(it.getSubvName()+"_"+it.getName());
oracleLedgerTreeDTO.setPid(it.getDevIndex());
oracleLedgerTreeDTO.setLevel(4);
return oracleLedgerTreeDTO;
}).collect(Collectors.toList());
List<PqDevice> deviceList = pqDeviceMapper.selectList(new LambdaQueryWrapper<PqDevice>().eq(PqDevice::getDevflag,0).eq(PqDevice::getDevmodel,1));
List<OracleLedgerTreeDTO> devDtoList = deviceList.stream().map(it->{
OracleLedgerTreeDTO oracleLedgerTreeDTO = new OracleLedgerTreeDTO();
oracleLedgerTreeDTO.setId(it.getDevIndex());
oracleLedgerTreeDTO.setName(it.getName());
oracleLedgerTreeDTO.setPid(it.getSubIndex());
oracleLedgerTreeDTO.setLevel(3);
oracleLedgerTreeDTO.setChildren(lineDtoList.stream().filter(line->Objects.equals(it.getDevIndex(),line.getPid())).collect(Collectors.toList()));
return oracleLedgerTreeDTO;
}).collect(Collectors.toList());
List<PqSubstation> substationList = substationMapper.selectList(null);
List<OracleLedgerTreeDTO> stationDtoList = substationList.stream().map(it->{
OracleLedgerTreeDTO oracleLedgerTreeDTO = new OracleLedgerTreeDTO();
oracleLedgerTreeDTO.setId(it.getSubIndex());
oracleLedgerTreeDTO.setName(it.getName());
oracleLedgerTreeDTO.setPid(it.getGdIndex());
oracleLedgerTreeDTO.setLevel(2);
oracleLedgerTreeDTO.setChildren(devDtoList.stream().filter(dev->Objects.equals(it.getSubIndex(),dev.getPid())).collect(Collectors.toList()));
return oracleLedgerTreeDTO;
}).collect(Collectors.toList());
List<PqGdCompany> pqGdCompanyList = pqGdCompanyMapper.selectList(null);
List<OracleLedgerTreeDTO> gdDtoList = pqGdCompanyList.stream().map(it->{
OracleLedgerTreeDTO oracleLedgerTreeDTO = new OracleLedgerTreeDTO();
oracleLedgerTreeDTO.setId(it.getGdIndex().intValue());
oracleLedgerTreeDTO.setName(it.getName());
oracleLedgerTreeDTO.setPid(0);
oracleLedgerTreeDTO.setLevel(1);
oracleLedgerTreeDTO.setChildren(stationDtoList.stream().filter(sub->Objects.equals(it.getGdIndex().intValue(),sub.getPid())).collect(Collectors.toList()));
return oracleLedgerTreeDTO;
}).collect(Collectors.toList());
return gdDtoList;
}
}

View File

@@ -0,0 +1,40 @@
package com.njcn.product.terminal.device.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.product.terminal.device.mapper.PqDeviceMapper;
import com.njcn.product.terminal.device.pojo.dto.DeviceDTO;
import com.njcn.product.terminal.device.pojo.dto.DeviceDeptDTO;
import com.njcn.product.terminal.device.pojo.po.PqDevice;
import com.njcn.product.terminal.device.service.PqDeviceService;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
*
* Description:
* Date: 2025/06/19 下午 1:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class PqDeviceServiceImpl extends ServiceImpl<PqDeviceMapper, PqDevice> implements PqDeviceService {
@Override
public List<DeviceDTO> queryListByIds(List<Integer> lineIds) {
return this.baseMapper.queryListByIds(lineIds);
}
@Override
public Page<DeviceDTO> selectDeviceDTOPage(Page<DeviceDTO> pqsEventdetailPage, String searchValue, List<Integer> devIndexs) {
return this.baseMapper.selectDeviceDTOPage(pqsEventdetailPage,searchValue,devIndexs);
}
@Override
public List<DeviceDeptDTO> selectDeviceDept() {
return this.baseMapper.selectDeviceDept();
}
}

View File

@@ -0,0 +1,70 @@
package com.njcn.product.terminal.device.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.product.terminal.device.mapper.PqLineMapper;
import com.njcn.product.terminal.device.pojo.dto.LedgerBaseInfoDTO;
import com.njcn.product.terminal.device.pojo.po.PqLine;
import com.njcn.product.terminal.device.service.PqLineService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import org.springframework.util.CollectionUtils;
/**
*
* Description:
* Date: 2025/06/19 下午 1:43【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class PqLineServiceImpl extends ServiceImpl<PqLineMapper, PqLine> implements PqLineService {
@Override
public List<LedgerBaseInfoDTO> getBaseLineInfo(List<Integer> ids){
List<LedgerBaseInfoDTO> ledgerBaseInfoDTOS = new ArrayList<>();
if(CollectionUtils.isEmpty(ids)){
return ledgerBaseInfoDTOS;
}
if(ids.size()>1000){
List<List<Integer>> listIds = CollUtil.split(ids,1000);
for(List<Integer> itemIds : listIds){
List<LedgerBaseInfoDTO> temp =this.baseMapper.getBaseLineInfo(itemIds);
ledgerBaseInfoDTOS.addAll(temp);
}
}else {
List<LedgerBaseInfoDTO> temp =this.baseMapper.getBaseLineInfo(ids);
ledgerBaseInfoDTOS.addAll(temp);
}
return ledgerBaseInfoDTOS;
}
@Override
public List<LedgerBaseInfoDTO> getBaseLedger(List<Integer> ids,String searchValue) {
List<LedgerBaseInfoDTO> ledgerBaseInfoDTOS = new ArrayList<>();
if(CollectionUtils.isEmpty(ids)){
return ledgerBaseInfoDTOS;
}
if(ids.size()>1000){
List<List<Integer>> listIds = CollUtil.split(ids,1000);
for(List<Integer> itemIds : listIds){
List<LedgerBaseInfoDTO> temp =this.baseMapper.getBaseLedger(itemIds,searchValue);
ledgerBaseInfoDTOS.addAll(temp);
}
}else {
List<LedgerBaseInfoDTO> temp =this.baseMapper.getBaseLedger(ids,searchValue);
ledgerBaseInfoDTOS.addAll(temp);
}
return ledgerBaseInfoDTOS;
};
}

View File

@@ -0,0 +1,26 @@
package com.njcn.product.terminal.device.service.impl;
import com.njcn.product.terminal.device.mapper.PqSubstationMapper;
import com.njcn.product.terminal.device.pojo.dto.SubstationDTO;
import com.njcn.product.terminal.device.pojo.po.PqSubstation;
import com.njcn.product.terminal.device.service.PqSubstationService;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
*
* Description:
* Date: 2025/06/19 下午 1:48【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class PqSubstationServiceImpl extends ServiceImpl<PqSubstationMapper, PqSubstation> implements PqSubstationService {
@Override
public List<SubstationDTO> queryListByIds(List<Integer> lineIds) {
return this.baseMapper.queryListByIds(lineIds);
}
}

View File

@@ -0,0 +1,20 @@
package com.njcn.product.terminal.device.service.impl;
import com.njcn.product.terminal.device.mapper.PqsDeptslineMapper;
import com.njcn.product.terminal.device.pojo.po.PqsDeptsline;
import com.njcn.product.terminal.device.service.PqsDeptslineService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
*
* Description:
* Date: 2025/06/19 下午 3:45【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class PqsDeptslineServiceImpl extends ServiceImpl<PqsDeptslineMapper, PqsDeptsline> implements PqsDeptslineService {
}

View File

@@ -0,0 +1,45 @@
package com.njcn.product.terminal.event.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.event.file.pojo.dto.WaveDataDTO;
import com.njcn.product.terminal.event.pojo.param.MonitorTerminalParam;
import com.njcn.product.terminal.event.service.EventGateService;
import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.HttpResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: cdf
* @CreateTime: 2025-09-03
* @Description:
*/
@Api(tags = "暂降接收")
@RequestMapping("accept")
@RestController
@RequiredArgsConstructor
@Slf4j
public class EventGateController extends BaseController {
private final EventGateService eventGateService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getTransientAnalyseWave")
@ApiOperation("暂态事件波形分析")
public HttpResult<WaveDataDTO> getTransientAnalyseWave(@RequestBody @Validated MonitorTerminalParam param) {
String methodDescribe = getMethodDescribe("getTransientAnalyseWave");
WaveDataDTO wave = eventGateService.getTransientAnalyseWave(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, wave, methodDescribe);
}
}

View File

@@ -0,0 +1,23 @@
package com.njcn.product.terminal.event.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <监测点波形入参>
*
* @author wr
* @createTime: 2023-03-23
*/
@Data
public class MonitorTerminalParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@NotBlank(message = "事件id不能为空")
private String id;
}

View File

@@ -0,0 +1,15 @@
package com.njcn.product.terminal.event.service;
import com.njcn.event.file.pojo.dto.WaveDataDTO;
import com.njcn.product.terminal.event.pojo.param.MonitorTerminalParam;
public interface EventGateService {
/**
* 功能描述: 暂态事件波形分析
* @param param
* @return
*/
WaveDataDTO getTransientAnalyseWave(MonitorTerminalParam param);
}

View File

@@ -0,0 +1,80 @@
package com.njcn.product.terminal.event.service.impl;
import cn.hutool.core.util.StrUtil;
import com.njcn.common.config.GeneralInfo;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.event.file.component.WaveFileComponent;
import com.njcn.event.file.pojo.dto.WaveDataDTO;
import com.njcn.event.file.pojo.enums.WaveFileResponseEnum;
import com.njcn.product.terminal.event.pojo.param.MonitorTerminalParam;
import com.njcn.product.terminal.event.service.EventGateService;
import com.njcn.product.terminal.mysqlTerminal.mapper.LedgerScaleMapper;
import com.njcn.product.terminal.mysqlTerminal.mapper.RmpEventDetailMapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerBaseInfo;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.RmpEventDetailPO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.InputStream;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @Author: cdf
* @CreateTime: 2025-06-30
* @Description:
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class EventGateServiceImpl implements EventGateService {
private final RmpEventDetailMapper rmpEventDetailMapper;
private final WaveFileComponent waveFileComponent;
private final LedgerScaleMapper ledgerScaleMapper;
private final GeneralInfo generalInfo;
@Override
public WaveDataDTO getTransientAnalyseWave(MonitorTerminalParam param) {
WaveDataDTO waveDataDTO;
//获取暂降事件
RmpEventDetailPO eventDetail = rmpEventDetailMapper.selectById(param.getId());
if(Objects.isNull(eventDetail)){
throw new BusinessException(CommonResponseEnum.FAIL,"查询事件为空,请检查参数");
}
String lineid = eventDetail.getLineId();
LedgerBaseInfo pqLine = ledgerScaleMapper.getLedgerBaseInfo(Stream.of(lineid).collect(Collectors.toList())).get(0);
String waveName = eventDetail.getWavePath();
String cfgPath, datPath;
if (StrUtil.isBlank(waveName)) {
throw new BusinessException(WaveFileResponseEnum.ANALYSE_WAVE_NOT_FOUND);
}
cfgPath = generalInfo.getBusinessWavePath()+ File.separator+pqLine.getIp()+"/"+waveName+".CFG";
datPath = generalInfo.getBusinessWavePath()+ File.separator+pqLine.getIp()+"/"+waveName+".DAT";
log.info("本地磁盘波形文件路径----" + cfgPath);
InputStream cfgStream = waveFileComponent.getFileInputStreamByFilePath(cfgPath);
InputStream datStream = waveFileComponent.getFileInputStreamByFilePath(datPath);
if (Objects.isNull(cfgStream) || Objects.isNull(datStream)) {
throw new BusinessException(WaveFileResponseEnum.ANALYSE_WAVE_NOT_FOUND);
}
waveDataDTO = waveFileComponent.getComtrade(cfgStream, datStream, 1);
waveDataDTO = waveFileComponent.getValidData(waveDataDTO);
waveDataDTO.setPtType(pqLine.getPtType());
waveDataDTO.setPt(pqLine.getPt1()/ pqLine.getPt2());
waveDataDTO.setCt(pqLine.getCt1()/ pqLine.getCt2());
waveDataDTO.setMonitorName(pqLine.getLineName());
return waveDataDTO;
}
}

View File

@@ -0,0 +1,72 @@
package com.njcn.product.terminal.mysqlTerminal.controller;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.product.terminal.device.service.LedgerTreeService;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerTreeDTO;
import com.njcn.product.terminal.mysqlTerminal.pojo.enums.StatisticsEnum;
import com.njcn.product.terminal.mysqlTerminal.pojo.param.DeviceInfoParam;
import com.njcn.product.terminal.mysqlTerminal.pojo.vo.TerminalTree;
import com.njcn.product.terminal.mysqlTerminal.service.LineService;
import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.HttpResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author: cdf
* @CreateTime: 2025-08-28
* @Description:
*/
@RestController
@RequiredArgsConstructor
@Api(tags = "台账树")
@RequestMapping("/terminalTree")
public class LedgerTreeController extends BaseController {
private final LineService lineService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取台账树")
@GetMapping(value = "/tree")
public HttpResult<Object> tree() {
String methodDescribe = getMethodDescribe("tree");
List<LedgerTreeDTO> treeDTOList = lineService.getTree();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, treeDTOList, methodDescribe);
}
/**
* 获取终端台账设备树
* @author cdf
* @date 2021/7/19
*/
@ApiOperation("获取5层终端树")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
@PostMapping("getTerminalTreeForFive")
@ApiImplicitParam(name = "deviceInfoParam", value = "台账查询参数", required = true)
public HttpResult<List<TerminalTree>> getTerminalTreeForFive(@RequestBody @Validated DeviceInfoParam deviceInfoParam){
String methodDescribe = getMethodDescribe("getTerminalTreeForFive");
SimpleDTO simpleDTO = new SimpleDTO();
simpleDTO.setCode(StatisticsEnum.POWER_NETWORK.getCode());
deviceInfoParam.setStatisticalType(simpleDTO);
List<TerminalTree> tree = lineService.getTerminalTreeForFive(deviceInfoParam);
return com.njcn.common.utils.HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, tree, methodDescribe);
}
}

View File

@@ -0,0 +1,46 @@
package com.njcn.product.terminal.mysqlTerminal.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.product.terminal.device.pojo.dto.OracleLedgerTreeDTO;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerTreeDTO;
import com.njcn.product.terminal.mysqlTerminal.service.LineService;
import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.HttpResultUtil;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author denghuajun
* @date 2022/2/23
* 监测点相关
*/
@Slf4j
@Api(tags = "监测点管理")
@RestController
@RequestMapping("/line")
@RequiredArgsConstructor
public class LineController extends BaseController {
private final LineService lineService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取台账树")
@GetMapping(value = "/tree")
public HttpResult<Object> tree() {
String methodDescribe = getMethodDescribe("tree");
List<LedgerTreeDTO> treeDTOList = lineService.getTree();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, treeDTOList, methodDescribe);
}
}

View File

@@ -0,0 +1,28 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LineDevGetDTO;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.DeptLine;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author denghuajun
* @since 2022-01-12 18:04
*/
public interface DeptLineMapper extends BaseMapper<DeptLine> {
List<String> getLineIdByDeptIds(@Param("deptIds") List<String> deptIds,@Param("runFlag")List<Integer> runFlag);
List<LineDevGetDTO> lineDevGet(@Param("list")List<Integer> devType, @Param("type")Integer type, @Param("lineRunFlag") Integer lineRunFlag);
}

View File

@@ -0,0 +1,24 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.Device;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2022-01-04
*/
public interface DeviceMapper extends BaseMapper<Device> {
}

View File

@@ -0,0 +1,19 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerBaseInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface LedgerScaleMapper {
List<LedgerBaseInfo> getLedgerBaseInfo(@Param("lineIds") List<String> lineIds);
List<String> getQueryLedger(@Param("lineIds") List<String> lineIds,@Param("searchValue")String searchValue);
List<LedgerBaseInfo> getBaseInfo(@Param("lineIds") List<String> lineIds);
}

View File

@@ -0,0 +1,86 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.LineDetail;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2022-01-04
*/
public interface LineDetailMapper extends BaseMapper<LineDetail> {
/*
*/
/**
* 查询装置下监测点号号是否已被占用
* @param devIndex 装置索引
* @param num 线路号
* @return 监测点信息
*//*
List<LineDetail> getLineDetail(@Param("devIndex") String devIndex, @Param("num") List<Integer> num);
*/
/**
* 实际设备下的监测点&&稳态系统和两个系统的监测点&&投运终端下的监测点
* 获取指定条件的监测点信息
* @param list 监测点集合
* @return 结果
*//*
List<LineDetail> getSpecifyLineDetail(@Param("list") List<String> list);
*/
/**
* 获取指定的监测点信息以及电压等级(需要其他字段可在基础上扩充)
* @param lineIds 监测点集合
* @return 结果
*//*
List<LineDetailDataVO> getLineDetailInfo(@Param("lineIds") List<String> lineIds);
@Select ("select count(1) from pq_line a where a.Level=4 and SUBSTRING_INDEX(SUBSTRING_INDEX(a.Pids, ',', 4),',',-1)=#{subIndex}")
Integer getDeviceCountBySubstation(@Param("subIndex")String subIndex);
@Select ("select count(1) from pq_line a where a.Level=6 and SUBSTRING_INDEX(SUBSTRING_INDEX(a.Pids, ',', 4),',',-1)=#{subIndex}")
Integer getLineCountBySubstation(@Param("subIndex")String subIndex);
LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId);
void updateLineRunFlag(@Param("id")String lineId, @Param("runFlag")Integer status);
void updateLineRunFlagBatch(@Param("lineIds") List<String> lineIds, @Param("runFlag") Integer status);
*/
/**
* 根据监测点信息获取监测点详情(关联终端和母线)
* 获取指定条件的监测点信息
* @param Ids 监测点集合
* @return 结果
*//*
List<LineDetail> getLineDetailByIds(@Param("ids") List<String> Ids);
*/
/**
* 判断该新能源场站信息是否绑定了测点ID
*//*
Integer checkExistsLineByNewStationId(@Param("newStationId") String newStationId);
*/
}

View File

@@ -0,0 +1,114 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.DeviceType;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerBaseInfo;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LineDevGetDTO;
import com.njcn.product.terminal.mysqlTerminal.pojo.param.DeviceInfoParam;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.Line;
import com.njcn.product.terminal.mysqlTerminal.pojo.vo.LineDataVO;
import com.njcn.product.terminal.mysqlTerminal.pojo.vo.LineDetailVO;
import com.njcn.product.terminal.mysqlTerminal.pojo.vo.TerminalShowVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2022-01-04
*/
public interface LineMapper extends BaseMapper<Line> {
Page<TerminalShowVO> getStationList(@Param("page")Page<TerminalShowVO> page,@Param("lineIds")List<String> lineIds,@Param("runFlag")Integer runFlag,@Param("searchValue") String searchValue);
Page<TerminalShowVO> getDevList(@Param("page")Page<TerminalShowVO> page,@Param("lineIds")List<String> lineIds,@Param("runFlag")Integer runFlag,@Param("searchValue") String searchValue);
Page<TerminalShowVO> getLineList(@Param("page")Page<TerminalShowVO> page,@Param("lineIds")List<String> lineIds,@Param("comFlag")Integer comFlag,@Param("searchValue") String searchValue);
LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId);
/**
* 根据监测点id获取所有监测点
*
* @param ids 监测点id
* @param deviceInfoParam 监测点查询条件
* @return 监测点数据
*/
List<Line> getLineByCondition(@Param("ids") List<String> ids, @Param("deviceInfoParam") DeviceInfoParam deviceInfoParam);
/**
* 查询母线信息
*
* @param voltageIds 母线索引
* @param scale 电压等级
*/
List<Line> getVoltageByCondition(@Param("voltageIds") List<String> voltageIds, @Param("scale") List<SimpleDTO> scale);
/**
* 查询终端信息
*
* @param devIds 终端索引
* @param deviceType 终端筛选条件
* @param manufacturer 终端厂家
*/
List<Line> getDeviceByCondition(@Param("devIds") List<String> devIds, @Param("deviceType") DeviceType deviceType, @Param("manufacturer") List<SimpleDTO> manufacturer);
List<Line> getSubByCondition(@Param("subIds") List<String> subIds, @Param("scale") List<SimpleDTO> scale);
/**
* 查询变电站id
*
* @param subIds 变电站索引集合
* @param scale 电压等级
*/
List<String> getSubIdByScale(@Param("subIds") List<String> subIds, @Param("scale") String scale);
/**
* 查询监测点id
*
* @param lineIds 监测点索引集合
* @param loadType 干扰源类型
*/
List<String> getLineIdByLoadType(@Param("lineIds") List<String> lineIds, @Param("loadType") String loadType);
/**
* 查询终端id
*
* @param deviceIds 终端索引集合
* @param manufacturer 制造厂家
*/
List<String> getDeviceIdByManufacturer(@Param("deviceIds") List<String> deviceIds, @Param("manufacturer") String manufacturer);
List<String> getDeviceIdByPowerFlag(@Param("lineIds")List<String> lineIds, @Param("powerFlag")Integer manufacturer);
/**
* 获取监测点信息
*
* @param id 监测点id
* @return 结果
*/
LineDetailVO getLineSubGdDetail(@Param("id") String id);
List<LineDataVO> getLineDetail(@Param("ids") List<String> ids);
List<LedgerBaseInfo> queryMonitorByUser(@Param("userIds")List<String> userIds);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.Overlimit;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2022-01-04
*/
public interface OverlimitMapper extends BaseMapper<Overlimit> {
}

View File

@@ -0,0 +1,20 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.RmpEventDetailPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
@Mapper
public interface RmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {
}

View File

@@ -0,0 +1,45 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.vo.TerminalTree;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2022/2/28
*/
public interface TreeMapper {
/**
* 根据供电公司索引获取出省会的信息
* @param gdIndexes 供电公司索引
* @return 省会信息
*/
List<TerminalTree> getProvinceList(@Param("gdIndex")List<String> gdIndexes);
/**
* 获取出供电公司的信息
* @param gdIndexes 供电公司索引
* @return 供电公司信息
*/
List<TerminalTree> getGdList(@Param("gdIndex")List<String> gdIndexes);
/**
* 获取出变电站的信息
* @param subIndexes 变电站索引
* @return 变电站信息
*/
List<TerminalTree> getSubList(@Param("subIndex")List<String> subIndexes);
/**
* 根据监测点索引获取监测点级五层树数据
* @param lineIndexes 监测点索引
* @return 监测点信息
*/
List<TerminalTree> getLineList(@Param("lineIndex")List<String> lineIndexes);
}

View File

@@ -0,0 +1,20 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.UserReportPO;
import org.apache.ibatis.annotations.Param;
/**
*
* Description:
* Date: 2024/4/25 10:07【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface UserReportPOMapper extends BaseMapper<UserReportPO> {
}

View File

@@ -0,0 +1,37 @@
package com.njcn.product.terminal.mysqlTerminal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.LineDetail;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.Voltage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2022-01-04
*/
public interface VoltageMapper extends BaseMapper<Voltage> {
/**
* 查询装置下母线号是否已被占用
* @param devIndex 装置索引
* @param num 线路号
* @return 母线信息
*/
List<Voltage> getVoltageByNum(@Param("devIndex") String devIndex, @Param("num") List<Integer> num);
/**
* 通过母线id获取下层所有监测点详情
* @author cdf
* @date 2023/5/24
*/
List<LineDetail> getLineDetailByBusBarId(@Param("busBarId")String busBarId);
}

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.mysqlTerminal.mapper.DeptLineMapper">
<select id="getLineIdByDeptIds" resultType="string">
select
DISTINCT
pq_dept_line.line_id
from pq_dept_line pq_dept_line
inner join pq_line point on pq_dept_line.line_id = point.id
inner join pq_line voltage on point.pid = voltage.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 device.run_flag in
<foreach collection="runFlag" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and pq_dept_line.id in
<foreach collection="deptIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="lineDevGet" resultType="LineDevGetDTO">
select
<!--监测点-->
<if test="type == 1">
pq_dept_line.id unitId,
point.id pointId,
lineDetail.Time_Interval as timeInterval,
lineDetail.load_type lineTag,
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>
and device.Run_Flag = 0
<if test="lineRunFlag!=null ">
and lineDetail.Run_Flag = #{lineRunFlag}
</if>
</select>
</mapper>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.cnuser.user.mapper.DeptMapper">
<select id="getDeptDescendantIndexes" resultType="DeptDTO">
SELECT
*
FROM
(
SELECT
T3.id,
T3.pid,
T3.pids,
T3.NAME,
T3.CODE,
T3.type,
T5.Short_Name area,
T3.Remark,
T3.sort
FROM
sys_dept T3,
sys_area T5
WHERE
FIND_IN_SET( #{id}, T3.pids )
and T3.type in
<foreach collection="type" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND T3.area = T5.id
AND T3.State = 1
UNION
SELECT
T3.id,
T3.pid,
T3.pids,
T3.NAME,
T3.CODE,
T3.type,
T5.Short_Name area,
T3.Remark,
T3.sort
FROM
sys_dept T3,
sys_area T5
WHERE
T3.area = T5.id
AND T3.id = #{id}
AND T3.State = 1
) T3
ORDER BY
T3.sort ASC;
</select>
<select id="getAllDeptTree" resultType="DeptAllTreeVO">
SELECT
T3.*
FROM
sys_dept T3,
sys_area T5
WHERE
FIND_IN_SET( #{id}, T3.pids )
and T3.type in
<foreach collection="type" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND T3.area = T5.id
AND T3.State = 1
UNION
SELECT
T3.*
FROM
sys_dept T3,
sys_area T5
WHERE
T3.area = T5.id
and T3.id = #{id}
AND T3.State = 1
</select>
</mapper>

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.mysqlTerminal.mapper.LedgerScaleMapper">
<select id="getBaseInfo" resultType="com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerBaseInfo">
select
point.id lineId,
point.name lineName,
detail.obj_name
from pq_line point
inner join pq_line_detail detail on point.id = detail.id
where point.id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="getLedgerBaseInfo" resultType="com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerBaseInfo">
select
point.id lineId,
point.name lineName,
voltage.id busBarId,
voltage.name busBarName,
dev.id devId,
dev.name devName,
device.com_flag,
device.run_flag,
device.ip,
station.id stationId,
station.name stationName,
gd.id gdId,
gd.name gdName,
detail.num,
detail.ct1,
detail.ct2,
detail.pt1,
detail.pt2,
detail.PT_Type ptType,
detail.Time_Interval,
users.project_name objName,
busBar.scale voltageLevel
from pq_line point
inner join pq_line_detail detail on point.id = detail.id
inner join pq_line voltage on point.pid = voltage.id
inner join pq_voltage busBar on voltage.id = busBar.id
inner join pq_line dev on voltage.pid = dev.id
inner join pq_device device on dev.id = device.id
inner join pq_line station on dev.pid = station.id
inner join pq_line gd on station.pid = gd.id
LEFT JOIN supervision_user_report users ON users.id = detail.obj_id
where point.id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
order by station.name,dev.name,point.name
</select>
<select id="getQueryLedger" resultType="string">
select
distinct point.id lineId
from pq_line point
inner join pq_line_detail detail on point.id = detail.id
inner join pq_line voltage on point.pid = voltage.id
inner join pq_voltage busBar on voltage.id = busBar.id
inner join pq_line dev on voltage.pid = dev.id
inner join pq_device device on dev.id = device.id
inner join pq_line station on dev.pid = station.id
inner join pq_line gd on station.pid = gd.id
LEFT JOIN supervision_user_report users ON users.id = detail.obj_id
where point.id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="searchValue!=null and searchValue!=''">
and (point.name like CONCAT('%', #{searchValue}, '%')
or station.name like CONCAT('%', #{searchValue}, '%')
or gd.name like CONCAT('%', #{searchValue}, '%')
or users.project_name like CONCAT('%', #{searchValue}, '%'))
</if>
</select>
</mapper>

View File

@@ -0,0 +1,400 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.mysqlTerminal.mapper.LineMapper">
<select id="getLineIdByIds" resultType="string">
select
point.id lineId,
point.name lineName,
dev.id devId,
dev.name devName,
device.com_flag,
device.run_flag,
station.id stationId,
station.name stationName,
gd.id gdId,
gd.name gdName,
detail.num,
busBar.scale voltageLevel
from pq_line point
inner join pq_line_detail detail on point.id = detail.id
inner join pq_line voltage on point.pid = voltage.id
inner join pq_voltage busBar on voltage.id = busBar.id
inner join pq_line dev on voltage.pid = dev.id
inner join pq_device device on dev.id = device.id
inner join pq_line station on dev.pid = station.id
inner join pq_line gd on station.pid = gd.id
where point.id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<select id="getStationList" resultType="TerminalShowVO">
SELECT DISTINCT
a.NAME stationName,
a.id stationId,
b.Scale stationVoltageLevel,
b.lng,
b.lat,
c.NAME gdName,
min( detail.run_flag ) runFlag
FROM
pq_line line
INNER JOIN pq_line bus ON line.pid = bus.id
INNER JOIN pq_line dev ON bus.pid = dev.id
INNER JOIN pq_device detail ON detail.id = dev.id
INNER JOIN pq_line a ON dev.pid = a.id
INNER JOIN pq_substation b ON a.id = b.id
INNER JOIN pq_line c ON a.pid = c.id
where line.id in
<foreach collection="lineIds" open="(" separator="," close=")" item="item">
#{item}
</foreach>
<if test="runFlag!=null">
and detail.run_flag = #{runFlag}
</if>
<if test="searchValue!=null and searchValue!=''">
and (a.name like CONCAT('%', #{searchValue}, '%')
or c.name like CONCAT('%', #{searchValue}, '%'))
</if>
GROUP BY stationName,stationId,stationVoltageLevel,lng,lat,gdName order by gdName,stationName
</select>
<select id="getDevList" resultType="TerminalShowVO">
SELECT DISTINCT
dev.NAME devName,
dev.id devId,
a.name stationName,
c.NAME gdName,
detail.run_flag,
detail.ip,
detail.Manufacturer,
detail.Login_Time
FROM
pq_line line
INNER JOIN pq_line bus ON line.pid = bus.id
INNER JOIN pq_line dev ON bus.pid = dev.id
INNER JOIN pq_device detail ON detail.id = dev.id
INNER JOIN pq_line a ON dev.pid = a.id
INNER JOIN pq_substation b ON a.id = b.id
INNER JOIN pq_line c ON a.pid = c.id
where line.id in
<foreach collection="lineIds" open="(" separator="," close=")" item="item">
#{item}
</foreach>
<if test="runFlag!=null">
and detail.run_flag = #{runFlag}
</if>
<if test="searchValue!=null and searchValue!=''">
and (dev.name like CONCAT('%', #{searchValue}, '%')
or a.name like CONCAT('%', #{searchValue}, '%'))
</if>
order by c.name,a.name
</select>
<select id="getLineList" resultType="TerminalShowVO">
SELECT DISTINCT
line.NAME lineName,
line.id lineId,
a.name stationName,
c.NAME gdName,
detail.run_flag,
detail.ip,
detail.Manufacturer,
detail.Login_Time,
detail.com_flag,
users.project_name objName,
pq_voltage.scale voltageLevel
from pq_line line
INNER JOIN pq_line_detail lined ON line.id = lined.id
INNER JOIN pq_line bus ON line.pid = bus.id
INNER JOIN pq_voltage ON pq_voltage.id = bus.id
INNER JOIN pq_line dev ON bus.pid = dev.id
INNER JOIN pq_device detail ON detail.id = dev.id
INNER JOIN pq_line a ON dev.pid = a.id
INNER JOIN pq_substation b ON a.id = b.id
INNER JOIN pq_line c ON a.pid = c.id
LEFT JOIN supervision_user_report users ON users.id = lined.obj_id
where line.id in
<foreach collection="lineIds" open="(" separator="," close=")" item="item">
#{item}
</foreach>
<if test="comFlag!=null">
and detail.com_flag = #{comFlag}
</if>
<if test="searchValue!=null and searchValue!=''">
and (line.name like CONCAT('%', #{searchValue}, '%')
or a.name like CONCAT('%', #{searchValue}, '%')
or c.name like CONCAT('%', #{searchValue}, '%'))
</if>
order by c.name,a.name
</select>
<select id="getMonitorDetail" resultType="com.njcn.product.terminal.mysqlTerminal.pojo.dto.LineDevGetDTO">
select a.id pointId,a.name pointName,b.Time_Interval timeInterval,bus.pid devId,b.PT_Type wiringMethod
from pq_line a
inner join pq_line_detail b on a.id=b.id
inner join pq_line bus on a.pid =bus.id
where a.id = #{monitorId}
</select>
<select id="getLineByCondition" resultType="Line">
select
t1.*
from
pq_line t1 ,
pq_line_detail t2
where
t1.state = 1
and t1.id = t2.id
and
t1.id in
<foreach collection="ids" separator="," open="(" close=")" item="item">
#{item}
</foreach>
<if test="deviceInfoParam.monitorFlag!=2 and deviceInfoParam.monitorFlag!=null">
and t2.Monitor_Flag = #{deviceInfoParam.monitorFlag}
</if>
<if test="deviceInfoParam.powerFlag!=2 and deviceInfoParam.powerFlag!=null ">
and t2.Power_Flag = #{deviceInfoParam.powerFlag}
</if>
<if test="deviceInfoParam.lineRunFlag!=null ">
and t2.Run_Flag = #{deviceInfoParam.lineRunFlag}
</if>
<if test="deviceInfoParam.lineGrade!='' and deviceInfoParam.lineGrade!=null">
and t2.line_grade = #{deviceInfoParam.lineGrade}
</if>
<if test="deviceInfoParam.loadType!=null and deviceInfoParam.loadType.size()!=0">
AND t2.Load_Type in
<foreach collection="deviceInfoParam.loadType" open="(" close=")" item="item" separator=",">
#{item.id}
</foreach>
</if>
<!-- xy -->
<choose>
<when test="deviceInfoParam.statFlag">
AND t2.Stat_Flag = 1
</when>
</choose>
<!-- -->
</select>
<select id="getVoltageByCondition" resultType="Line">
select
t1.*
from
pq_line t1 ,
pq_voltage t2
<where>
t1.id = t2.id
<if test="voltageIds!=null and voltageIds.size()!=0">
and t1.id in
<foreach collection="voltageIds" separator="," open="(" close=")" item="item">
#{item}
</foreach>
</if>
<if test="scale!=null and scale.size()!=0">
AND t2.scale in
<foreach collection="scale" open="(" close=")" item="item" separator=",">
#{item.id}
</foreach>
</if>
</where>
</select>
<select id="getDeviceByCondition" resultType="Line">
SELECT
t1.*
FROM
pq_line t1,
pq_device t2
<where>
t1.id = t2.id
<if test="deviceType.devModel!=null and deviceType.devModel.size()!=0">
AND t2.Dev_Model in
<foreach collection="deviceType.devModel" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="deviceType.runFlag!=null and deviceType.runFlag.size()!=0">
AND t2.Run_Flag in
<foreach collection="deviceType.runFlag" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="deviceType.dataType!=null and deviceType.dataType.size()!=0">
AND t2.Dev_Data_Type in
<foreach collection="deviceType.dataType" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="deviceType.comFlag!=null and deviceType.comFlag.size()!=0">
AND t2.Com_Flag in
<foreach collection="deviceType.comFlag" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="manufacturer!=null and manufacturer.size()!=0">
AND t2.manufacturer in
<foreach collection="manufacturer" open="(" close=")" item="item" separator=",">
#{item.id}
</foreach>
</if>
<if test="devIds!=null and devIds.size()!=0">
AND t1.id IN
<foreach collection="devIds" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getSubByCondition" resultType="Line">
select
t1.*
from
pq_line t1
left join pq_substation t2 on t1.id = t2.id
<where>
<if test="subIds!=null and subIds.size()!=0">
AND t1.id in
<foreach collection="subIds" separator="," open="(" close=")" item="item">
#{item}
</foreach>
</if>
<if test="scale!=null and scale.size()!=0">
AND t2.scale in
<foreach collection="scale" open="(" close=")" item="item" separator=",">
#{item.id}
</foreach>
</if>
</where>
</select>
<select id="getSubIdByScale" resultType="java.lang.String">
select
t1.id
from
pq_line t1 ,
pq_substation t2
where
t1.id = t2.id
and
t1.id in
<foreach collection="subIds" separator="," open="(" close=")" item="item">
#{item}
</foreach>
AND
t2.scale = #{scale}
</select>
<select id="getLineIdByLoadType" resultType="String">
select
t1.id
from
pq_line t1 ,
pq_line_detail t2
where
t1.id = t2.id
and
t1.id in
<foreach collection="lineIds" separator="," open="(" close=")" item="item">
#{item}
</foreach>
AND
t2.Load_Type = #{loadType}
</select>
<select id="getDeviceIdByManufacturer" resultType="String">
select
t1.id
from
pq_line t1 ,
pq_device t2
where
t1.id = t2.id
and
t1.id in
<foreach collection="deviceIds" separator="," open="(" close=")" item="item">
#{item}
</foreach>
AND
t2.Manufacturer = #{manufacturer}
</select>
<select id="getDeviceIdByPowerFlag" resultType="String">
select
t1.id
from
pq_line t1 ,
pq_line_detail t2
where
t1.id = t2.id
and
t1.id in
<foreach collection="lineIds" separator="," open="(" close=")" item="item">
#{item}
</foreach>
AND
t2.Power_Flag = #{powerFlag}
</select>
<select id="getLineSubGdDetail" resultType="LineDetailVO">
SELECT DISTINCT gd.NAME gdName,
substation.NAME subName,
device.NAME devName,
deviceDetail.ip ip,
line.NAME lineName
FROM pq_line line,
pq_line voltage,
pq_line device,
pq_device deviceDetail,
pq_line substation,
pq_line gd
WHERE line.pid = voltage.id
AND voltage.pid = device.id
AND device.pid = substation.id
AND substation.pid = gd.id
AND device.id = deviceDetail.id
AND line.id = #{id}
</select>
<select id="getLineDetail" resultType="LineDataVO">
SELECT line.*
FROM PQ_LINE line
WHERE line.id IN
<foreach collection="ids" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
order by line.level asc
</select>
<select id="queryMonitorByUser" resultType="LedgerBaseInfo">
select line.id lineId,line.name lineName,users.project_name objName,users.user_no userNo
from pq_line line
inner join pq_line_detail detail on line.id = detail.id
inner join supervision_user_report users on detail.obj_id = users.id
where users.user_no in
<foreach collection="userIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>

View File

@@ -0,0 +1,413 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.product.terminal.mysqlTerminal.mapper.TreeMapper">
<!--监测点-->
<select id="getMancLineListByLineIds" resultType="TerminalTree">
select distinct a.id,a.pid,a.name,a.level,a.sort,e.pt_type
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_device d on c.id = d.id
inner join pq_line_detail e on a.id = e.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and d.manufacturer = #{manufacturer}
and a.state = 1
order by sort
</select>
<!--母线-->
<select id="getMancVoltageListByLineIds" resultType="TerminalTree">
select distinct b.id,b.pid,b.name,b.level,b.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_device d on c.id = d.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and d.manufacturer = #{manufacturer}
and a.state = 1
order by sort
</select>
<!--设备-->
<select id="getMancDevListByLineIds" resultType="TerminalTree">
select distinct c.id,c.pid,c.name,c.level,c.sort,d.com_flag comFlag
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_device d on c.id = d.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and d.manufacturer = #{manufacturer}
and a.state = 1
order by sort
</select>
<!--变电站-->
<select id="getMancSubListByLineIds" resultType="TerminalTree">
select distinct d.id,d.pid,d.name,d.level,d.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_device e on c.id = e.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and e.manufacturer = #{manufacturer}
and a.state = 1
order by sort
</select>
<!--供电公司-->
<select id="getMancGdListByLineIds" resultType="TerminalTree">
select distinct e.id,e.pid,e.name,e.level,e.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line e on d.pid = e.id
inner join pq_device f on c.id = f.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and f.manufacturer = #{manufacturer}
and a.state = 1
order by sort
</select>
<!--省份-->
<select id="getMancProvListByLineIds" resultType="TerminalTree">
select distinct f.id,f.pid,h.name,f.level,f.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line e on d.pid = e.id
inner join pq_line f on e.pid = f.id
inner join pq_device g on c.id = g.id
inner join sys_area h on f.name = h.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and g.manufacturer = #{manufacturer}
and a.state = 1
order by sort
</select>
<!--电压等级++++++++++++++++++++++++++++++++++-->
<!--监测点-->
<select id="getScaleLineListByLineIds" resultType="TerminalTree">
select distinct a.id,a.pid,a.name,a.level,a.sort,d.pt_type
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_voltage c on c.id = b.id
inner join pq_line_detail d on a.id = d.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and c.scale = #{scale}
and a.state = 1
order by sort
</select>
<!--母线-->
<select id="getScaleVoltageListByLineIds" resultType="TerminalTree">
select distinct b.id,b.pid,b.name,b.level,b.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_voltage c on c.id = b.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and c.scale = #{scale}
and a.state = 1
order by sort
</select>
<!--设备-->
<select id="getScaleDevListByLineIds" resultType="TerminalTree">
select distinct c.id,c.pid,c.name,c.level,c.sort,e.com_flag comFlag
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_voltage d on b.id = d.id
inner join pq_device e on c.id = e.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and d.scale = #{scale}
and a.state = 1
order by sort
</select>
<!--变电站-->
<select id="getScaleSubListByLineIds" resultType="TerminalTree">
select distinct d.id,d.pid,d.name,d.level,d.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_voltage e on b.id = e.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and e.scale = #{scale}
and a.state = 1
order by sort
</select>
<!--供电公司-->
<select id="getScaleGdListByLineIds" resultType="TerminalTree">
select distinct e.id,e.pid,e.name,e.level,e.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line e on d.pid = e.id
inner join pq_voltage f on b.id = f.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and f.scale = #{scale}
and a.state = 1
order by sort
</select>
<!--省份-->
<select id="getScaleProvListByLineIds" resultType="TerminalTree">
select distinct f.id,f.pid,h.name,f.level,f.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line e on d.pid = e.id
inner join pq_line f on e.pid = f.id
inner join pq_voltage g on b.id = g.id
inner join sys_area h on f.name = h.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and g.scale = #{scale}
and a.state = 1
order by sort
</select>
<!--干扰源类型++++++++++++++++++++++++++++++-->
<!--监测点-->
<select id="getLoadTypeLineListByLineIds" resultType="TerminalTree">
select distinct a.id,a.pid,a.name,a.level,a.sort,c.pt_type
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line_detail c on c.id = a.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and c.load_type = #{loadType}
and a.state = 1
order by sort
</select>
<!--母线-->
<select id="getLoadTypeVoltageListByLineIds" resultType="TerminalTree">
select distinct b.id,b.pid,b.name,b.level,b.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line_detail c on c.id = a.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and c.load_type = #{loadType}
and a.state = 1
order by sort
</select>
<!--设备-->
<select id="getLoadTypeDevListByLineIds" resultType="TerminalTree">
select distinct c.id,c.pid,c.name,c.level,c.sort,e.com_flag comFlag
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line_detail d on a.id = d.id
inner join pq_device e on c.id = e.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and d.load_type = #{loadType}
and a.state = 1
order by sort
</select>
<!--变电站-->
<select id="getLoadTypeSubListByLineIds" resultType="TerminalTree">
select distinct d.id,d.pid,d.name,d.level,d.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line_detail e on a.id = e.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and e.load_type = #{loadType}
and a.state = 1
order by sort
</select>
<!--供电公司-->
<select id="getLoadTypeGdListByLineIds" resultType="TerminalTree">
select distinct e.id,e.pid,e.name,e.level,e.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line e on d.pid = e.id
inner join pq_line_detail f on a.id = f.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and f.load_type = #{loadType}
and a.state = 1
order by sort
</select>
<!--省份-->
<select id="getLoadTypeProvListByLineIds" resultType="TerminalTree">
select distinct f.id,f.pid,h.name,f.level,f.sort
from pq_line a
inner join pq_line b on a.pid = b.id
inner join pq_line c on b.pid = c.id
inner join pq_line d on c.pid = d.id
inner join pq_line e on d.pid = e.id
inner join pq_line f on e.pid = f.id
inner join pq_line_detail g on a.id = g.id
inner join sys_area h on f.name = h.id
where a.id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and g.load_type = #{loadType}
and a.state = 1
order by sort
</select>
<!--根据供电公司索引获取出省会的信息-->
<select id="getProvinceList" resultType="TerminalTree">
SELECT
DISTINCT(pro.id),
pro.pid,
pro.level,
pro.sort,
area.name name
FROM
pq_line pro,
pq_line gd,
sys_area area
WHERE
pro.id = gd.pid
AND
pro.name = area.id
AND
gd.id in
<foreach collection="gdIndex" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<!--获取出供电公司的信息-->
<select id="getGdList" resultType="TerminalTree">
SELECT gd.id,
gd.pid,
gd.LEVEL,
gd.sort,
gd.Name
FROM pq_line gd
WHERE
gd.id in
<foreach collection="gdIndex" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<!--获取出变电站的信息-->
<select id="getSubList" resultType="TerminalTree">
SELECT
sub.id,
sub.pid,
sub.LEVEL,
sub.sort,
sub.Name
FROM
pq_line sub
WHERE
sub.id in
<foreach collection="subIndex" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<!--根据监测点索引获取监测点级五层树数据-->
<select id="getLineList" resultType="TerminalTree">
SELECT
line.id,
line.pid,
line.LEVEL,
line.sort,
line.pids,
CONCAT(voltage.name, '_', line.name, '(',device.`Name`,')') name,
comFlag.Com_Flag,
detail.pt_type,
detail.obj_id
FROM
pq_line line,
pq_line_detail detail,
pq_line voltage,
pq_line device,
pq_device comFlag
WHERE
line.id = detail.id
AND
line.pid = voltage.id
AND
voltage.pid = device.id
AND
device.id = comFlag.id
AND line.id in
<foreach collection="lineIndex" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper>

View File

@@ -0,0 +1,77 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.constant;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年12月17日 10:16
*/
public interface ValidMessage {
String MISS_PREFIX="字段不能为空,请检查";
String ID_NOT_BLANK = "id不能为空请检查id参数";
String ID_FORMAT_ERROR = "id格式错误请检查id参数";
String DICT_TYPE_ID_NOT_BLANK = "typeId不能为空请检查typeId参数";
String DICT_TYPE_ID_FORMAT_ERROR = "typeId格式错误请检查typeId参数";
String NAME_NOT_BLANK = "名称不能为空请检查name参数";
String NAME_FORMAT_ERROR = "名称格式错误存在特殊符号或超过20字符请检查name参数";
String INDUSTRY_NOT_BLANK = "行业不能为空请检查industry参数";
String INDUSTRY_FORMAT_ERROR = "行业格式错误请检查industry参数";
String ADDR_NOT_BLANK = "所属区域不能为空请检查addr参数";
String CODE_NOT_BLANK = "编号不能为空请检查code参数";
String CODE_FORMAT_ERROR = "编号格式错误请检查code参数";
String SORT_NOT_NULL = "排序不能为空请检查sort参数";
String SORT_FORMAT_ERROR = "排序格式错误请检查sort参数";
String OPEN_LEVEL_NOT_NULL = "开启等级不能为空请检查openLevel参数";
String OPEN_LEVEL_FORMAT_ERROR = "开启等级格式错误请检查openLevel参数";
String OPEN_DESCRIBE_NOT_NULL = "开启描述不能为空请检查openDescribe参数";
String OPEN_DESCRIBE_FORMAT_ERROR = "开启描述格式错误请检查openDescribe参数";
String AREA_NOT_BLANK = "行政区域不能为空请检查area参数";
String AREA_FORMAT_ERROR = "行政区域格式错误请检查area参数";
String PID_NOT_BLANK = "父节点不能为空请检查pid参数";
String PID_FORMAT_ERROR = "父节点格式错误请检查pid参数";
String COLOR_NOT_BLANK = "主题色不能为空请检查color参数";
String COLOR_FORMAT_ERROR = "主题色格式错误请检查color参数";
String LOGO_NOT_BLANK = "iconUrl不能为空请检查iconUrl参数";
String FAVICON_NOT_BLANK = "faviconUrl不能为空请检查faviconUrl参数";
String REMARK_NOT_BLANK = "描述不能为空请检查remark参数";
String REMARK_FORMAT_ERROR = "描述格式错误请检查remark参数";
String PARAM_FORMAT_ERROR = "参数值非法";
String IP_FORMAT_ERROR = "IP格式非法";
String DEVICE_VERSION_NOT_BLANK = "装置版本json文件不能为空请检查deviceVersionFile参数";
String SEARCH_DATA_ERROR = "搜索值过长,请检查搜索参数";
String SPECIAL_REGEX = "搜索值包含特殊字符";
String NAME_SPECIAL_REGEX = "包含特殊字符";
String DATA_TOO_LONG = "参数过长,请检查参数";
}

View File

@@ -0,0 +1,41 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2023/5/10
*/
@Data
public class DeptGetBase implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 单位索引
*/
private String unitId;
/**
* 单位名称
*/
private String unitName;
/**
* 部门层级 1.全国 2.省级 3.市级 4.县级 (具体根据单位层级调整)
* @author cdf
* @date 2023/6/26
*/
private Integer deptLevel;
/**
* 所有子级单位索引
*/
private List<String> unitChildrenList;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2023/4/24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DeptGetChildrenMoreDTO extends DeptGetBase {
@ApiModelProperty(name = "lineBaseList",value = "主网监测点信息")
private List<LineDevGetDTO> lineBaseList;
@ApiModelProperty(name = "pwMonitorIds",value = "配网监测点信息")
private List<LineDevGetDTO> pwMonitorIds;
}

View File

@@ -0,0 +1,42 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 设备状态类
* @author hongawen
* @version 1.0.0
* @date 2022年02月11日 14:54
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeviceType implements Serializable {
/**
* 终端模型0虚拟设备1实际设备2离线设备默认是实际设备
*/
private List<Integer> devModel;
/**
* 终端状态0投运1热备用2停运
*/
private List<Integer> runFlag;
/**
* 数据类型0暂态系统1稳态系统2两个系统
*/
private List<Integer> dataType ;
/**
* 通讯状态0中断1正常
*/
private List<Integer> comFlag ;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年09月07日 10:48
* name对应统计名称如 区域南京市、苏州市电压等级10kV、220kV...
* index对应统计索引如 区域南京市索引、苏州市索引电压等级10kV索引、220kV索引...
* gdIndexes供电公司索引集合
* subIndexes变电站索引集合
* deviceIndexes终端索引集合
* voltageIndexes母线索引集合
* lineIndexes监测点索引集合
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GeneralDeviceDTO implements Serializable {
/**
* name对应统计名称如 区域南京市、苏州市电压等级10kV、220kV...
*/
@ApiModelProperty(name = "name", value = "名称")
private String name;
/**
* index对应统计索引如 区域南京市索引、苏州市索引电压等级10kV索引、220kV索引...
*/
private String index;
/**
* gdIndexes供电公司索引集合
*/
private List<String> gdIndexes = new ArrayList<>();
/**
* subIndexes变电站索引集合
*/
private List<String> subIndexes = new ArrayList<>();
/**
* deviceIndexes终端索引集合
*/
private List<String> deviceIndexes = new ArrayList<>();
/**
* voltageIndexes母线索引集合
*/
private List<String> voltageIndexes = new ArrayList<>();
/**
* lineIndexes监测点索引集合
*/
private List<String> lineIndexes = new ArrayList<>();
@ApiModelProperty(name = "tail", value = "总数")
private Integer tail;
}

View File

@@ -0,0 +1,75 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
/**
* @Author: cdf
* @CreateTime: 2025-09-01
* @Description:
*/
@Data
public class LedgerBaseInfo implements Serializable {
private static final long serialVersionUID = 1L;
private String lineId;
private String lineName;
private Integer num;
private String voltageLevel;
private String objName;
private String userNo;
private Double ct1;
private Double ct2;
private Double pt1;
private Double pt2;
private Integer ptType;
private Integer timeInterval;
private String busBarId;
private String busBarName;
/**
* 0中断1正常
*/
private Integer comFlag;
/**
* 0投运1热备用2停运
*/
private Integer runFlag;
private String devId;
private String devName;
private String ip;
private String manufacturer;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
private LocalDate loginTime;
private String stationId;
private String stationName;
private String gdId;
private String gdName;
}

View File

@@ -0,0 +1,27 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import com.njcn.product.terminal.device.pojo.dto.OracleLedgerTreeDTO;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: cdf
* @CreateTime: 2025-08-29
* @Description:
*/
@Data
public class LedgerTreeDTO {
private String name;
private String id;
private String pid;
private Integer level;
private List<LedgerTreeDTO> children = new ArrayList<>();
}

View File

@@ -0,0 +1,123 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/**
* pqs
*
* @author cdf
* @date 2023/5/10
*/
@Data
public class LineDevGetDTO {
/**
* 部门索引
*/
private String unitId;
private String unitName;
/**
* 监测点索引
*/
private String pointId;
private String pointName;
/**
* 装置监测点索引集合
*/
private List<String> monitorIds;
/**
* 监测点电压等级
*/
private String voltageLevel;
/**
* 监测点统计间隔
*/
private Integer interval;
/**
* 装置索引
*/
private String devId;
/**
* 0.主网 1.配网
*/
private Integer type;
/**
* 1.I类监测点 2.II类监测点 3.III类监测点
*/
private Integer lineType;
/**
* pq返回干扰源类型 pms主网返回监测对象类型配网返回监测点类别
*/
private String lineTag;
/**
* 监测点对象类型
*/
private String objType;
/**
* 监测点对象
*/
private String objId;
/**
* 装置通讯状态
*/
private Integer comFlag;
/**
* 装置数据最新更新时间
*/
private LocalDateTime updateTime;
/**
* 是否上送国网是否是上送国网监测点,0-否 1-是
*/
private Integer isUpToGrid;
/**
* 0.未上送 1.已上送 2.取消上送 3.待重新上送(用于典型负荷)
*/
private Integer isUploadHead;
/**
* 0.未上送 1.已上送 2.取消上送 3.待重新上送(用于主网监测点)
*/
private Integer monitorUploadStatus;
/**
* oracle监测点id
*/
private Integer oracleLineId;
/**
* 接线方式 0.星型 1.星三角 2.三角
*/
private String wiringMethod;
/**
* 监测点统计间隔(解决MySQL关键字问题)
*/
private Integer timeInterval;
public void setTimeInterval(Integer timeInterval) {
if(Objects.nonNull(timeInterval)) {
this.interval = timeInterval;
this.timeInterval = timeInterval;
}
}
}

View File

@@ -0,0 +1,30 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.dto;
import lombok.Data;
/**
* @Author: cdf
* @CreateTime: 2025-09-03
* @Description:
*/
@Data
public class LineInfo {
private String lineId;
private String lineName;
private String devId;
private String ip;
private Integer ct1;
private Integer ct2;
private Integer pt1;
private Integer pt2;
}

View File

@@ -0,0 +1,63 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.enums;
import lombok.Getter;
import java.util.Arrays;
/**
* pqs
*
* @author cdf
* @date 2022/1/4
*/
@Getter
public enum LineBaseEnum {
/**
* 系统拓扑各层级描述
*/
PROJECT_LEVEL(0, "项目"),
PROVINCE_LEVEL(1, "省份"),
GD_LEVEL(2, "供电公司"),
SUB_LEVEL(3, "变电站"),
DEVICE_LEVEL(4, "终端"),
SUB_V_LEVEL(5, "母线"),
LINE_LEVEL(6, "监测点"),
USER_LEVEL(7,"用户"),
INVALID_LEVEL(-1, "非法拓扑等级"),
/**
* 分布式光伏树层级
*/
PV_UNIT_LEVEL(0,"单位"),
PV_SUB_LEVEL(1,"变电站"),
PV_SUB_AREA_LEVEL(2,"台区"),
/**
* 电网标志
*/
POWER_FLAG(0,"电网侧"),
POWER_FLAG_NOT(1,"非电网侧"),
;
private final Integer code;
private final String message;
LineBaseEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public static LineBaseEnum getLineBaseEnumByCode(Integer code) {
return Arrays.stream(LineBaseEnum.values())
.filter(lineBaseEnum -> lineBaseEnum.getCode().equals(code))
.findAny()
.orElse(INVALID_LEVEL);
}
}

View File

@@ -0,0 +1,35 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.enums;
import lombok.Getter;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月23日 15:24
*/
@Getter
public enum LineFlagEnum {
/**
* 区分监测点的类型标志
*/
//非网公司
LINE_MONITOR_NOT_NET_COMPANY(0),
//网公司
LINE_MONITOR_NET_COMPANY(1),
//所有公司
LINE_MONITOR_ALL(2),
//电网侧
LINE_POWER_GRID(0),
//非电网侧
LINE_POWER(1),
//所有
LINE_POWER_ALL(2);
private final int flag;
LineFlagEnum(int flag) {
this.flag = flag;
}
}

View File

@@ -0,0 +1,52 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.enums;
import lombok.Getter;
import java.util.Arrays;
/**
* pqs
*
* @author cdf
* @date 2022/1/4
*/
@Getter
public enum PowerFlagEnum {
/**
* 系统拓扑各层级描述
*/
GRID_SIDE(0, "电网侧"),
NO_GRID_SIDE(1, "非电网侧"),
NEW_ENERGY(2, "电网侧(新能源)"),
NO_NEW_ENERGY(3, "非电网侧(新能源)"),
SEND_NETWORK(4, "上送国网"),
PCC(5, "PCC"),
VIRTUAL_DEVICE(0,"虚拟终端"),
REAL_DEVICE(1,"实际终端"),
OFFLINE_DEICE(2,"离线终端")
;
private final Integer code;
private final String message;
PowerFlagEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public static PowerFlagEnum getPowerFlagEnumByCode(Integer code) {
return Arrays.stream(PowerFlagEnum.values())
.filter(x -> x.getCode().equals(code))
.findAny()
.orElse(GRID_SIDE);
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.enums;
import lombok.Getter;
import java.util.Arrays;
@Getter
public enum RunFlagEnum {
/**
* 运行状态枚举
*/
RUNNING(0, "运行"),
OVERHAUL(1, "检修"),
OFF_LINE(2, "停运"),
DEBUG(3, "调试"),
QUIT(4, "退运");
private final Integer status;
private final String remark;
RunFlagEnum(Integer status, String remark) {
this.status = status;
this.remark = remark;
}
public static String getRunFlagRemarkByStatus(Integer status) {
RunFlagEnum runFlagEnum = Arrays.stream(RunFlagEnum.values())
.filter(runFlagEnum1 -> runFlagEnum1.getStatus().equals(status))
.findAny()
.orElse(RUNNING);
return runFlagEnum.getRemark();
}
}

View File

@@ -0,0 +1,49 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.enums;
import lombok.Getter;
import java.util.Arrays;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年03月18日 13:27
*/
@Getter
public enum StatisticsEnum {
/**
* 统计类型字典枚举
*/
POWER_NETWORK("网络拓扑", "Power_Network"),
VOLTAGE_LEVEL("电压等级", "Voltage_Level"),
LOAD_TYPE("干扰源类型", "Load_Type"),
MANUFACTURER("终端厂家", "Manufacturer"),
POWER_FLAG("监测点性质", "Power_Flag"),
REPORT_TYPE("上报类型", "Report_Type");
private final String name;
private final String code;
StatisticsEnum(String name, String code) {
this.name = name;
this.code = code;
}
/**
* 没有匹配到,则默认为网络拓扑
* @param code 统计类型code
* @return 统计枚举实例
*/
public static StatisticsEnum getStatisticsEnumByCode(String code) {
return Arrays.stream(StatisticsEnum.values())
.filter(statisticsEnum -> statisticsEnum.getCode().equalsIgnoreCase(code))
.findAny()
.orElse(POWER_NETWORK);
}
}

View File

@@ -0,0 +1,51 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.param;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
/**
* pqs
*
* @author cdf
* @date 2023/4/24
*/
@Data
public class DeptGetLineParam {
@NotBlank(message = "部门id不可为空")
@ApiModelProperty(name = "deptId",value = "部门id")
private String deptId;
@ApiModelProperty(name = "serverName",value = "系统类型 0.event-boot 1.harmonic-boot")
private String serverName;
@ApiModelProperty(name = "systemType",value = "0.只返回主网的监测点信息; 1.只返回配网的监测点信息; null、2.返回主网配网两种监测点信息")
private Integer systemType;
@ApiModelProperty(name = "monitorStateAll",value = "true.只返回在线监测点信息 false.返回全部监测点信息")
private Boolean monitorStateRunning=true;
@ApiModelProperty(name = "isUpToGrid",value = "0.非送国网 1.需要送国网的")
private Integer isUpToGrid;
/**
* 0-电网侧
* 1-非电网侧
*/
@ApiModelProperty("电网侧标识")
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
private Integer powerFlag;
/**
* 监测点运行状态0运行1检修2停运3调试4退运pq使用
*/
@ApiModelProperty("监测点运行状态")
@Range(min = 0, max = 2, message = "监测点运行状态" + ValidMessage.PARAM_FORMAT_ERROR)
private Integer lineRunFlag;
}

View File

@@ -0,0 +1,218 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import com.njcn.product.terminal.mysqlTerminal.pojo.enums.LineFlagEnum;
import com.njcn.product.terminal.mysqlTerminal.pojo.enums.PowerFlagEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月23日 19:04
*/
@Data
@ApiModel
@NoArgsConstructor
public class DeviceInfoParam implements Serializable {
/**
* 统计类型
*/
@ApiModelProperty(name = "statisticalType", value = "统计类型", required = true)
private SimpleDTO statisticalType;
@ApiModelProperty(name = "deptIndex", value = "部门索引", required = true)
@NotBlank(message = "部门索引不可为空")
private String deptIndex;
@ApiModelProperty(name = "serverName", value = "服务名称")
private String serverName;
@ApiModelProperty(name = "scale", value = "电压等级")
private List<SimpleDTO> scale;
@ApiModelProperty(name = "manufacturer", value = "终端厂家")
private List<SimpleDTO> manufacturer;
@ApiModelProperty(name = "loadType", value = "干扰源类型")
private List<SimpleDTO> loadType;
/**
* xy添加
* 默认true
* true statFlag = 1
* false statFlag = 0 or 1
*/
@ApiModelProperty(name = "statFlag", value = "人为干预是否参与统计")
private Boolean statFlag;
/**
* 0-非网公司
* 1-网公司
* 2-全部数据
*/
@ApiModelProperty("网公司标识")
@Range(min = 0, max = 2, message = "网公司标识" + ValidMessage.PARAM_FORMAT_ERROR)
private Integer monitorFlag;
/**
* 0-电网侧
* 1-非电网侧
*/
@ApiModelProperty("电网侧标识")
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
private Integer powerFlag;
/**
* 0-极重要
* 1-重要
* 2-普通
* 3-不重要
*/
@ApiModelProperty("监测点等级")
private String lineGrade;
/**
* 通讯状态0中断1正常
*/
@ApiModelProperty("通讯状态")
@Range(min = 0, max = 2, message = "通讯状态" + ValidMessage.PARAM_FORMAT_ERROR)
private Integer comFlagStatus;
/**
* 监测点运行状态0运行1检修2停运3调试4退运
*/
@ApiModelProperty("监测点运行状态")
@Range(min = 0, max = 2, message = "监测点运行状态" + ValidMessage.PARAM_FORMAT_ERROR)
private Integer lineRunFlag;
/**
* 默认全部监测点
*
* @param deptIndex 部门索引
* @param serverName 服务名
*/
public DeviceInfoParam(String deptIndex, String serverName) {
this.deptIndex = deptIndex;
this.serverName = serverName;
monitorFlag = LineFlagEnum.LINE_MONITOR_ALL.getFlag();
powerFlag = LineFlagEnum.LINE_POWER_ALL.getFlag();
}
/**
* 默认全部监测点
*
* @param deptIndex 部门索引
* @param serverName 服务名
*/
public DeviceInfoParam(SimpleDTO statisticalType, String deptIndex, String serverName, List<SimpleDTO> scale, List<SimpleDTO> manufacturer, List<SimpleDTO> loadType) {
this.statisticalType = statisticalType;
this.deptIndex = deptIndex;
this.serverName = serverName;
this.scale = scale;
this.manufacturer = manufacturer;
this.loadType = loadType;
monitorFlag = LineFlagEnum.LINE_MONITOR_ALL.getFlag();
powerFlag = LineFlagEnum.LINE_POWER_ALL.getFlag();
}
/**
* 自定义上报方式、电网侧方式的统计
*/
public DeviceInfoParam(SimpleDTO statisticalType, String deptIndex, String serverName, List<SimpleDTO> scale, List<SimpleDTO> manufacturer, List<SimpleDTO> loadType, int monitorFlag, int powerFlag) {
this.statisticalType = statisticalType;
this.deptIndex = deptIndex;
this.serverName = serverName;
this.scale = scale;
this.manufacturer = manufacturer;
this.loadType = loadType;
this.monitorFlag = monitorFlag;
this.powerFlag = powerFlag;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class BusinessParam extends DeviceInfoParam {
@ApiModelProperty("开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
@ApiModelProperty("时间范围标志 0.查询展示天 1.查询展示月")
@Deprecated
private Integer timeFlag;
@ApiModelProperty("统计类型 1.年 2.季 3.月 4.周 5.天")
private String reportFlag;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class CompareBusinessParam extends BusinessParam {
@ApiModelProperty("比较开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodBeginTime;
@ApiModelProperty("比较结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodEndTime;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class CompareLimitParam extends BusinessParam {
@ApiModelProperty("查询条数")
@NotNull(message = " 查询条数查询条数不能为空")
private Integer limit;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class GridDiagram extends BusinessParam {
@ApiModelProperty("查询总数监测点")
private List<String> coutList;
@ApiModelProperty("查询告警监测点")
private List<String> alarmList;
@ApiModelProperty("是否是冀北电网一张图树 0:否 1:是")
private Integer type = 0;
}
public Boolean isUserLedger() {
if (Objects.isNull(this.powerFlag) || !PowerFlagEnum.GRID_SIDE.getCode().equals(this.powerFlag)) {
return true;
}
return false;
}
}

View File

@@ -0,0 +1,41 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: cdf
* @CreateTime: 2025-08-29
* @Description:
*/
@Data
public class LargeScreenCountParam extends BaseParam {
@ApiModelProperty(name="deptId",value="部门id")
private String deptId;
@ApiModelProperty(name="lineId",value="监测点id")
private String lineId;
@ApiModelProperty(name="runFlag",value="运行状态")
private Integer runFlag;
@ApiModelProperty(name="runFlag",value="通讯状态")
private Integer comFlag;
@ApiModelProperty(name="runFlag",value="暂降事件关联分析聚合id")
private String eventAssId;
private String eventType;
private Float eventValueMin;
private Float eventValueMax;
private Float eventDurationMin;
private Float eventDurationMax;
}

View File

@@ -0,0 +1,215 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.UserReportProjectPO;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.UserReportSensitivePO;
import com.njcn.product.terminal.mysqlTerminal.pojo.po.UserReportSubstationPO;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
/**
* Description:
* Date: 2024/4/25 10:07【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserReportParam {
private String id;
/**
* 填报人
*/
@ApiModelProperty(value = "填报人")
private String reporter;
/**
* 填报日期
*/
@ApiModelProperty(value = "填报日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate reportDate;
/**
* 填报部门
*/
@ApiModelProperty(value = "填报部门")
private String orgId;
/**
* 填报部门
*/
@ApiModelProperty(value = "填报部门名称")
private String orgName;
/**
* 工程预期投产日期
*/
@ApiModelProperty(value = "工程预期投产日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate expectedProductionDate;
/**
* 用户性质
*/
@ApiModelProperty(value = "用户性质")
private Integer userType;
/**
* 所属地市
*/
@ApiModelProperty(value = "所属地市")
private String city;
/**
* 归口管理部门
*/
@ApiModelProperty(value = "归口管理部门")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String responsibleDepartment;
/**
* 用户状态
*/
@ApiModelProperty(value = "用户状态")
private Integer userStatus;
/**
* 变电站
*/
@ApiModelProperty(value = "变电站")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String substation;
/**
* 变电站
*/
@ApiModelProperty(value = "变电站id")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String stationId;
/**
* 电压等级
*/
@ApiModelProperty(value = "电压等级")
private String voltageLevel;
/**
* 工程名称
*/
@ApiModelProperty(value = "工程名称")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String projectName;
/**
* 预测评估单位
*/
@ApiModelProperty(value = "预测评估单位")
private String evaluationDept;
@ApiModelProperty(value = "经度")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度")
private BigDecimal latitude;
@ApiModelProperty(value = "额定容量")
private Double ratePower;
/**
* 预测评估结论
*/
@ApiModelProperty(value = "预测评估结论")
@Pattern(regexp = PatternRegex.DES400_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String evaluationConclusion;
@ApiModelProperty("发起人自选审批人 Map")
private Map<String, List<String>> startUserSelectAssignees;
@ApiModelProperty(value = "保存1,提交审批2")
private String saveOrCheckflag;
@ApiModelProperty(value = "数据来源类型 0正常审核流程 1批量导入")
private Integer dataType;
private UserReportProjectPO userReportProjectPO;
private UserReportSensitivePO userReportSensitivePO;
private UserReportSubstationPO userReportSubstationPO;
/**
* 流程实例的编号
*/
@ApiModelProperty(value = "流程实例的编号")
private String processInstanceId;
@ApiModelProperty(value = "历史流程实例的编号")
private String historyInstanceId;
/**
* 终端id
*/
@ApiModelProperty(value = "终端id")
private String devId;
/**
* 监测点id
*/
@ApiModelProperty(value = "监测点id")
private String lineId;
@Data
@EqualsAndHashCode(callSuper = true)
public static class UserReportUpdate extends UserReportParam {
@ApiModelProperty("id")
private String id;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class UserReportQueryParam extends BaseParam {
@ApiModelProperty(value = "所属区域")
private String city;
@ApiModelProperty(value = "工程名称")
private String projectName;
@ApiModelProperty(value = "填报部门")
private String orgId;
@ApiModelProperty(value = "数据来源类型 0正常审核流程 1批量导入")
private Integer dataType;
@ApiModelProperty(value = "审核状态")
private Integer status;
}
}

View File

@@ -0,0 +1,31 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_dept_line")
public class DeptLine {
private static final long serialVersionUID = 1L;
/**
* 部门Id
*/
private String id;
/**
* 监测点Id
*/
private String lineId;
}

View File

@@ -0,0 +1,165 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_device")
public class Device implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 装置序号
*/
@TableId
private String id;
/**
* 装置模型0虚拟设备1实际设备2离线设备默认是实际设备
*/
private Integer devModel;
/**
* 数据类型0暂态系统1稳态系统2两个系统
*/
private Integer devDataType;
/**
* 终端运行状态0运行1检修2停运3调试4退运
*/
private Integer runFlag;
/**
* 通讯状态0中断1正常
*/
private Integer comFlag;
/**
* 设备制造商,字典表
*/
private String manufacturer;
/**
* 定检状态0未检 1已检
*/
private Integer checkFlag;
/**
* 前置类型MMS、CLD字典表
*/
private String frontType;
/**
* 终端型号570、580……字典表
*/
private String devType;
/**
* 网络参数
*/
private String ip;
/**
* 召唤标志0周期触发1变为触发
*/
private Integer callFlag;
/**
* 端口
*/
private Integer port;
/**
* 装置识别码3ds加密
*/
private String series;
/**
* 装置秘钥3ds加密
*/
private String devKey;
/**
* 前置序号Id,前置表
*/
private String nodeId;
/**
* 投运时间
*/
private LocalDate loginTime;
/**
* 数据更新时间
*/
private LocalDateTime updateTime;
/**
* 本次定检时间,默认等于投运时间
*/
private LocalDate thisTimeCheck;
/**
* 下次定检时间,默认为投运时间后推3年假如时间小于3个月则为待检
*/
private LocalDate nextTimeCheck;
/**
* 电度功能 0 关闭 1开启
*/
private Integer electroplate;
/**
* 对时功能 0 关闭, 1开启
*/
private Integer onTime;
/**
* 合同号
*/
private String contract;
/**
* 设备sim卡号
*/
private String sim;
/**
* 装置系列
*/
private String devSeries;
/**
* 监测装置安装位置
*/
private String devLocation;
/**
* 监测厂家设备编号
*/
private String devNo;
/**
* 告警功能 0:关闭 null、1:开启
*/
private Integer isAlarm;
}

View File

@@ -0,0 +1,66 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pq_line")
public class Line extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 监测点Id
*/
private String id;
/**
* 父节点0为根节点
*/
private String pid;
/**
* 上层所有节点
*/
private String pids;
/**
* 名称
*/
private String name;
/**
* 等级0-项目名称1- 工程名称2-单位3-部门4-终端5-母线6-监测点
*/
private Integer level;
/**
* 排序默认为0有特殊排序需要时候人为输入
*/
private Integer sort;
/**
* 备注
*/
private String remark;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,219 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_line_detail")
public class LineDetail {
private static final long serialVersionUID = 1L;
/**
* 监测点序号
*/
private String id;
@TableField(exist = false)
private String monitorName;
/**
* 线路号(在同一台设备中的监测点号)
*/
private Integer num;
/**
* PT一次变比
*/
private Float pt1;
/**
* PT二次变比
*/
private Float pt2;
/**
* CT一次变比
*/
private Float ct1;
/**
* CT二次变比
*/
private Float ct2;
/**
* 设备容量
*/
private Float devCapacity;
/**
* 短路容量
*/
private Float shortCapacity;
/**
* 基准容量
*/
private Float standardCapacity;
/**
* 协议容量
*/
private Float dealCapacity;
/**
* 接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)
*/
private Integer ptType;
/**
* 测量间隔1-10分钟
*/
private Integer timeInterval;
/**
* 干扰源类型,字典表
*/
private String loadType;
/**
* 行业类型,字典表
*/
private String businessType;
/**
* 网公司谐波监测平台标志(0-否;1-是),默认否
*/
private Integer monitorFlag;
/**
* 电网标志0-电网侧1-非电网侧)
*/
private Integer powerFlag;
/**
* 国网谐波监测平台监测点号
*/
private String monitorId;
/**
* 监测点对象名称
*/
@Deprecated
private String objName;
/**
* 监测点对象id
*/
private String objId;
/**
* 监测对象大类
*/
private String bigObjType;
/**
* 监测对象小类
*/
private String smallObjType;
/**
* 人为干预 0 不参与统计 1 参与统计
*/
private Integer statFlag;
/**
* 关联字典的终端等级
*/
private String lineGrade;
/**
* 备注
*/
private String remark;
/**
* 电网侧变电站
*/
private String powerSubstationName;
/**
* 分类等级
*/
private String calssificationGrade;
/**
* 上级电站
*/
@Deprecated
private String superiorsSubstation;
/**
* 挂接线路
*/
@Deprecated
private String hangLine;
/**
* 监测点拥有者
*/
@Deprecated
private String owner;
/**
* 拥有者职务
*/
@Deprecated
private String ownerDuty;
/**
* 拥有者联系方式
*/
@Deprecated
private String ownerTel;
/**
* 接线图
*/
private String wiringDiagram;
/**
* 监测点接线相别0单相,1三相默认三相
*/
private Integer ptPhaseType;
/**
* 监测点实际安装位置
*/
private String actualArea;
/**
* 监测点运行状态0运行1检修2停运3调试4退运
*/
private Integer runFlag;
/**
* 新能源场站信息ID
*/
@Deprecated
private String newStationId;
/**
* 通讯状态
*/
@TableField(exist = false)
private Integer comFlag;
}

View File

@@ -0,0 +1,876 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_overlimit")
public class Overlimit implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 监测点序号
*/
private String id;
/**
* 频率限值
*/
private Float freqDev;
/**
* 电压波动
*/
private Float voltageFluctuation;
/**
* 电压上偏差限值
*/
private Float voltageDev;
/**
* 电压下偏差限值
*/
private Float uvoltageDev;
/**
* 三相电压不平衡度限值
*/
private Float ubalance;
/**
* 短时电压不平衡度限值
*/
private Float shortUbalance;
/**
* 闪变限值
*/
private Float flicker;
/**
* 电压总谐波畸变率限值
*/
private Float uaberrance;
/**
* 负序电流限值
*/
private Float iNeg;
/**
* 2次谐波电压限值
*/
@TableField("uharm_2")
private Float uharm2;
/**
* 3次谐波电压限值
*/
@TableField("uharm_3")
private Float uharm3;
/**
* 4次谐波电压限值
*/
@TableField("uharm_4")
private Float uharm4;
/**
* 5次谐波电压限值
*/
@TableField("uharm_5")
private Float uharm5;
/**
* 6次谐波电压限值
*/
@TableField("uharm_6")
private Float uharm6;
/**
* 7次谐波电压限值
*/
@TableField("uharm_7")
private Float uharm7;
/**
* 8次谐波电压限值
*/
@TableField("uharm_8")
private Float uharm8;
/**
* 9次谐波电压限值
*/
@TableField("uharm_9")
private Float uharm9;
/**
* 10次谐波电压限值
*/
@TableField("uharm_10")
private Float uharm10;
/**
* 11次谐波电压限值
*/
@TableField("uharm_11")
private Float uharm11;
/**
* 12次谐波电压限值
*/
@TableField("uharm_12")
private Float uharm12;
/**
* 13次谐波电压限值
*/
@TableField("uharm_13")
private Float uharm13;
/**
* 14次谐波电压限值
*/
@TableField("uharm_14")
private Float uharm14;
/**
* 15次谐波电压限值
*/
@TableField("uharm_15")
private Float uharm15;
/**
* 16次谐波电压限值
*/
@TableField("uharm_16")
private Float uharm16;
/**
* 17次谐波电压限值
*/
@TableField("uharm_17")
private Float uharm17;
/**
* 18次谐波电压限值
*/
@TableField("uharm_18")
private Float uharm18;
/**
* 19次谐波电压限值
*/
@TableField("uharm_19")
private Float uharm19;
/**
* 20次谐波电压限值
*/
@TableField("uharm_20")
private Float uharm20;
/**
* 21次谐波电压限值
*/
@TableField("uharm_21")
private Float uharm21;
/**
* 22次谐波电压限值
*/
@TableField("uharm_22")
private Float uharm22;
/**
* 23次谐波电压限值
*/
@TableField("uharm_23")
private Float uharm23;
/**
* 24次谐波电压限值
*/
@TableField("uharm_24")
private Float uharm24;
/**
* 25次谐波电压限值
*/
@TableField("uharm_25")
private Float uharm25;
/**
* 2次谐波电压限值
*/
@TableField("uharm_26")
private Float uharm26;
/**
* 3次谐波电压限值
*/
@TableField("uharm_27")
private Float uharm27;
/**
* 4次谐波电压限值
*/
@TableField("uharm_28")
private Float uharm28;
/**
* 5次谐波电压限值
*/
@TableField("uharm_29")
private Float uharm29;
/**
* 6次谐波电压限值
*/
@TableField("uharm_30")
private Float uharm30;
/**
* 7次谐波电压限值
*/
@TableField("uharm_31")
private Float uharm31;
/**
* 8次谐波电压限值
*/
@TableField("uharm_32")
private Float uharm32;
/**
* 9次谐波电压限值
*/
@TableField("uharm_33")
private Float uharm33;
/**
* 10次谐波电压限值
*/
@TableField("uharm_34")
private Float uharm34;
/**
* 11次谐波电压限值
*/
@TableField("uharm_35")
private Float uharm35;
/**
* 12次谐波电压限值
*/
@TableField("uharm_36")
private Float uharm36;
/**
* 13次谐波电压限值
*/
@TableField("uharm_37")
private Float uharm37;
/**
* 14次谐波电压限值
*/
@TableField("uharm_38")
private Float uharm38;
/**
* 15次谐波电压限值
*/
@TableField("uharm_39")
private Float uharm39;
/**
* 16次谐波电压限值
*/
@TableField("uharm_40")
private Float uharm40;
/**
* 17次谐波电压限值
*/
@TableField("uharm_41")
private Float uharm41;
/**
* 18次谐波电压限值
*/
@TableField("uharm_42")
private Float uharm42;
/**
* 19次谐波电压限值
*/
@TableField("uharm_43")
private Float uharm43;
/**
* 20次谐波电压限值
*/
@TableField("uharm_44")
private Float uharm44;
/**
* 21次谐波电压限值
*/
@TableField("uharm_45")
private Float uharm45;
/**
* 22次谐波电压限值
*/
@TableField("uharm_46")
private Float uharm46;
/**
* 23次谐波电压限值
*/
@TableField("uharm_47")
private Float uharm47;
/**
* 24次谐波电压限值
*/
@TableField("uharm_48")
private Float uharm48;
/**
* 25次谐波电压限值
*/
@TableField("uharm_49")
private Float uharm49;
/**
* 50次谐波电压限值
*/
@TableField("uharm_50")
private Float uharm50;
/**
* 2次谐波电流限值
*/
@TableField("iharm_2")
private Float iharm2;
/**
* 3次谐波电流限值
*/
@TableField("iharm_3")
private Float iharm3;
/**
* 4次谐波电流限值
*/
@TableField("iharm_4")
private Float iharm4;
/**
* 5次谐波电流限值
*/
@TableField("iharm_5")
private Float iharm5;
/**
* 6次谐波电流限值
*/
@TableField("iharm_6")
private Float iharm6;
/**
* 7次谐波电流限值
*/
@TableField("iharm_7")
private Float iharm7;
/**
* 8次谐波电流限值
*/
@TableField("iharm_8")
private Float iharm8;
/**
* 9次谐波电流限值
*/
@TableField("iharm_9")
private Float iharm9;
/**
* 10次谐波电流限值
*/
@TableField("iharm_10")
private Float iharm10;
/**
* 11次谐波电流限值
*/
@TableField("iharm_11")
private Float iharm11;
/**
* 12次谐波电流限值
*/
@TableField("iharm_12")
private Float iharm12;
/**
* 13次谐波电流限值
*/
@TableField("iharm_13")
private Float iharm13;
/**
* 14次谐波电流限值
*/
@TableField("iharm_14")
private Float iharm14;
/**
* 15次谐波电流限值
*/
@TableField("iharm_15")
private Float iharm15;
/**
* 16次谐波电流限值
*/
@TableField("iharm_16")
private Float iharm16;
/**
* 17次谐波电流限值
*/
@TableField("iharm_17")
private Float iharm17;
/**
* 18次谐波电流限值
*/
@TableField("iharm_18")
private Float iharm18;
/**
* 19次谐波电流限值
*/
@TableField("iharm_19")
private Float iharm19;
/**
* 20次谐波电流限值
*/
@TableField("iharm_20")
private Float iharm20;
/**
* 21次谐波电流限值
*/
@TableField("iharm_21")
private Float iharm21;
/**
* 22次谐波电流限值
*/
@TableField("iharm_22")
private Float iharm22;
/**
* 23次谐波电流限值
*/
@TableField("iharm_23")
private Float iharm23;
/**
* 24次谐波电流限值
*/
@TableField("iharm_24")
private Float iharm24;
/**
* 25次谐波电流限值
*/
@TableField("iharm_25")
private Float iharm25;
/**
* 2次谐波电压限值
*/
@TableField("iharm_26")
private Float iharm26;
/**
* 3次谐波电压限值
*/
@TableField("iharm_27")
private Float iharm27;
/**
* 4次谐波电压限值
*/
@TableField("iharm_28")
private Float iharm28;
/**
* 5次谐波电压限值
*/
@TableField("iharm_29")
private Float iharm29;
/**
* 6次谐波电压限值
*/
@TableField("iharm_30")
private Float iharm30;
/**
* 7次谐波电压限值
*/
@TableField("iharm_31")
private Float iharm31;
/**
* 8次谐波电压限值
*/
@TableField("iharm_32")
private Float iharm32;
/**
* 9次谐波电压限值
*/
@TableField("iharm_33")
private Float iharm33;
/**
* 10次谐波电压限值
*/
@TableField("iharm_34")
private Float iharm34;
/**
* 11次谐波电压限值
*/
@TableField("iharm_35")
private Float iharm35;
/**
* 12次谐波电压限值
*/
@TableField("iharm_36")
private Float iharm36;
/**
* 13次谐波电压限值
*/
@TableField("iharm_37")
private Float iharm37;
/**
* 14次谐波电压限值
*/
@TableField("iharm_38")
private Float iharm38;
/**
* 15次谐波电压限值
*/
@TableField("iharm_39")
private Float iharm39;
/**
* 16次谐波电压限值
*/
@TableField("iharm_40")
private Float iharm40;
/**
* 17次谐波电压限值
*/
@TableField("iharm_41")
private Float iharm41;
/**
* 18次谐波电压限值
*/
@TableField("iharm_42")
private Float iharm42;
/**
* 19次谐波电压限值
*/
@TableField("iharm_43")
private Float iharm43;
/**
* 20次谐波电压限值
*/
@TableField("iharm_44")
private Float iharm44;
/**
* 21次谐波电压限值
*/
@TableField("iharm_45")
private Float iharm45;
/**
* 22次谐波电压限值
*/
@TableField("iharm_46")
private Float iharm46;
/**
* 23次谐波电压限值
*/
@TableField("iharm_47")
private Float iharm47;
/**
* 24次谐波电压限值
*/
@TableField("iharm_48")
private Float iharm48;
/**
* 25次谐波电压限值
*/
@TableField("iharm_49")
private Float iharm49;
/**
* 50次谐波电压限值
*/
@TableField("iharm_50")
private Float iharm50;
/**
* 0.5次间谐波电压限值
*/
@TableField("inuharm_1")
private Float inuharm1;
/**
* 1.5次间谐波电压限值
*/
@TableField("inuharm_2")
private Float inuharm2;
/**
* 2.5次间谐波电压限值
*/
@TableField("inuharm_3")
private Float inuharm3;
/**
* 3.5次间谐波电压限值
*/
@TableField("inuharm_4")
private Float inuharm4;
/**
* 4.5次间谐波电压限值
*/
@TableField("inuharm_5")
private Float inuharm5;
/**
* 5.5次间谐波电压限值
*/
@TableField("inuharm_6")
private Float inuharm6;
/**
* 6.5次间谐波电压限值
*/
@TableField("inuharm_7")
private Float inuharm7;
/**
* 7.5次间谐波电压限值
*/
@TableField("inuharm_8")
private Float inuharm8;
/**
* 8.5次间谐波电压限值
*/
@TableField("inuharm_9")
private Float inuharm9;
/**
* 9.5次间谐波电压限值
*/
@TableField("inuharm_10")
private Float inuharm10;
/**
* 10.5次间谐波电压限值
*/
@TableField("inuharm_11")
private Float inuharm11;
/**
* 11.5次间谐波电压限值
*/
@TableField("inuharm_12")
private Float inuharm12;
/**
* 12.5次间谐波电压限值
*/
@TableField("inuharm_13")
private Float inuharm13;
/**
* 13.5次间谐波电压限值
*/
@TableField("inuharm_14")
private Float inuharm14;
/**
* 14.5次间谐波电压限值
*/
@TableField("inuharm_15")
private Float inuharm15;
/**
* 15.5次间谐波电压限值
*/
@TableField("inuharm_16")
private Float inuharm16;
public Overlimit(){}
public void buildIHarm(Float[] iHarmTem){
this.iharm2= iHarmTem[0];
this.iharm4= iHarmTem[2];
this.iharm6= iHarmTem[4];
this.iharm8= iHarmTem[6];
this.iharm10= iHarmTem[8];
this.iharm12= iHarmTem[10];
this.iharm14= iHarmTem[12];
this.iharm16= iHarmTem[14];
this.iharm18= iHarmTem[16];
this.iharm20= iHarmTem[18];
this.iharm22= iHarmTem[20];
this.iharm24= iHarmTem[22];
this.iharm26= iHarmTem[24];
this.iharm28= iHarmTem[26];
this.iharm30= iHarmTem[28];
this.iharm32= iHarmTem[30];
this.iharm34= iHarmTem[32];
this.iharm36= iHarmTem[34];
this.iharm38= iHarmTem[36];
this.iharm40= iHarmTem[38];
this.iharm42= iHarmTem[40];
this.iharm44= iHarmTem[42];
this.iharm46= iHarmTem[44];
this.iharm48= iHarmTem[46];
this.iharm50= iHarmTem[48];
this.iharm3= iHarmTem[1];
this.iharm5= iHarmTem[3];
this.iharm7= iHarmTem[5];
this.iharm9= iHarmTem[7];
this.iharm11= iHarmTem[9];
this.iharm13= iHarmTem[11];
this.iharm15= iHarmTem[13];
this.iharm17= iHarmTem[15];
this.iharm19= iHarmTem[17];
this.iharm21= iHarmTem[19];
this.iharm23= iHarmTem[21];
this.iharm25= iHarmTem[23];
this.iharm27= iHarmTem[25];
this.iharm29= iHarmTem[27];
this.iharm31= iHarmTem[29];
this.iharm33= iHarmTem[31];
this.iharm35= iHarmTem[33];
this.iharm37= iHarmTem[35];
this.iharm39= iHarmTem[37];
this.iharm41= iHarmTem[39];
this.iharm43= iHarmTem[41];
this.iharm45= iHarmTem[43];
this.iharm47= iHarmTem[45];
this.iharm49= iHarmTem[47];
}
public void buildUharm(Float resultEven,Float resultOdd){
this.uharm2=resultEven;
this.uharm4=resultEven;
this.uharm6=resultEven;
this.uharm8=resultEven;
this.uharm10=resultEven;
this.uharm12=resultEven;
this.uharm14=resultEven;
this.uharm16=resultEven;
this.uharm18=resultEven;
this.uharm20=resultEven;
this.uharm22=resultEven;
this.uharm24=resultEven;
this.uharm26=resultEven;
this.uharm28=resultEven;
this.uharm30=resultEven;
this.uharm32=resultEven;
this.uharm34=resultEven;
this.uharm36=resultEven;
this.uharm38=resultEven;
this.uharm40=resultEven;
this.uharm42=resultEven;
this.uharm44=resultEven;
this.uharm46=resultEven;
this.uharm48=resultEven;
this.uharm50=resultEven;
this.uharm3=resultOdd;
this.uharm5=resultOdd;
this.uharm7=resultOdd;
this.uharm9=resultOdd;
this.uharm11=resultOdd;
this.uharm13=resultOdd;
this.uharm15=resultOdd;
this.uharm17=resultOdd;
this.uharm19=resultOdd;
this.uharm21=resultOdd;
this.uharm23=resultOdd;
this.uharm25=resultOdd;
this.uharm27=resultOdd;
this.uharm29=resultOdd;
this.uharm31=resultOdd;
this.uharm33=resultOdd;
this.uharm35=resultOdd;
this.uharm37=resultOdd;
this.uharm39=resultOdd;
this.uharm41=resultOdd;
this.uharm43=resultOdd;
this.uharm45=resultOdd;
this.uharm47=resultOdd;
this.uharm49=resultOdd;
}
}

View File

@@ -0,0 +1,120 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description: 数据单位管理表
* @Author: wr
* @Date: 2023/8/21 9:56
*/
@Data
@TableName("pqs_device_unit")
public class PqsDeviceUnit {
private static final long serialVersionUID = 1L;
@TableId(value = "DEV_INDEX")
@ApiModelProperty(value = "终端编号")
private String devIndex;
@TableField("UNIT_FREQUENCY")
@ApiModelProperty(value = "频率")
private String unitFrequency = "Hz";
@TableField("UNIT_FREQUENCY_DEV")
@ApiModelProperty(value = "频率偏差")
private String unitFrequencyDev = "Hz";
@TableField("PHASE_VOLTAGE")
@ApiModelProperty(value = "相电压有效值")
private String phaseVoltage = "kV";
@TableField("LINE_VOLTAGE")
@ApiModelProperty(value = "线电压有效值")
private String lineVoltage = "kV";
@TableField("VOLTAGE_DEV")
@ApiModelProperty(value = "电压上偏差")
private String voltageDev = "%";
@TableField("UVOLTAGE_DEV")
@ApiModelProperty(value = "电压下偏差")
private String uvoltageDev = "%";
@TableField("I_EFFECTIVE")
@ApiModelProperty(value = "电流有效值")
private String ieffective = "A";
@TableField("SINGLE_P")
@ApiModelProperty(value = "单相有功功率")
private String singleP = "kW";
@TableField("SINGLE_VIEW_P")
@ApiModelProperty(value = "单相视在功率")
private String singleViewP = "kVA";
@TableField("SINGLE_NO_P")
@ApiModelProperty(value = "单相无功功率")
private String singleNoP = "kVar";
@TableField("TOTAL_ACTIVE_P")
@ApiModelProperty(value = "总有功功率")
private String totalActiveP = "kW";
@TableField("TOTAL_VIEW_P")
@ApiModelProperty(value = "总视在功率")
private String totalViewP = "kVA";
@TableField("TOTAL_NO_P")
@ApiModelProperty(value = "总无功功率")
private String totalNoP = "kVar";
@TableField("V_FUND_EFFECTIVE")
@ApiModelProperty(value = "相(线)电压基波有效值")
private String vfundEffective = "kV";
@TableField("I_FUND")
@ApiModelProperty(value = "基波电流")
private String ifund = "A";
@TableField("FUND_ACTIVE_P")
@ApiModelProperty(value = "基波有功功率")
private String fundActiveP = "kW";
@TableField("FUND_NO_P")
@ApiModelProperty(value = "基波无功功率")
private String fundNoP = "kVar";
@TableField("V_DISTORTION")
@ApiModelProperty(value = "电压总谐波畸变率")
private String vdistortion = "%";
@TableField("V_HARMONIC_RATE")
@ApiModelProperty(value = "250次谐波电压含有率")
private String vharmonicRate = "%";
@TableField("I_HARMONIC")
@ApiModelProperty(value = "250次谐波电流有效值")
private String iharmonic = "A";
@TableField("P_HARMONIC")
@ApiModelProperty(value = "250次谐波有功功率")
private String pharmonic = "kW";
@TableField("I_IHARMONIC")
@ApiModelProperty(value = "0.549.5次间谐波电流有效值")
private String iiharmonic = "A";
@TableField("POSITIVE_V")
@ApiModelProperty(value = "正序电压")
private String positiveV = "kV";
@TableField("NO_POSITIVE_V")
@ApiModelProperty(value = "零序负序电压")
private String noPositiveV = "V";
}

View File

@@ -0,0 +1,46 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 变压器逻辑节点关系表
* </p>
*
* @author wr
* @since 2023-07-19
*/
@Getter
@Setter
@TableName("pqs_tflgass")
public class PqsTflgass extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "变压器跟逻辑节点关系Guid")
@TableId(value = "Ass_Index")
private String assIndex;
@ApiModelProperty(value = "变压器台账Guid")
private String tfIndex;
/**
* 上级逻辑节点
*/
@ApiModelProperty(value = "上级逻辑节点")
private String logicBefore;
/**
* 下级逻辑节点
*/
@ApiModelProperty(value = "下级逻辑节点")
private String logicNext;
}

View File

@@ -0,0 +1,55 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* PQS_TfLgPloy变压器策略表
* </p>
*
* @author wr
* @since 2023-07-19
*/
@Getter
@Setter
@TableName("pqs_tflgploy")
public class PqsTflgploy extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 变压器策略Guid
*/
@ApiModelProperty(value = "变压器策略Guid")
@TableId(value = "tp_Index")
private String tpIndex;
/**
* 变压器策略名称
*/
@ApiModelProperty(value = "变压器策略名称")
private String tpName;
/**
* 变压器策略描述
*/
@ApiModelProperty(value = "变压器策略描述")
private String tfDescribe;
/**
* 0删除 1.正常
*/
@ApiModelProperty(value = "0删除 1.正常")
@TableLogic(value="1",delval="0")
private Integer status;
}

View File

@@ -0,0 +1,37 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* PQS_TfLgPloyAss策略、变压器关系表
* </p>
*
* @author wr
* @since 2023-07-19
*/
@Getter
@Setter
@TableName("pqs_tflgployass")
public class PqsTflgployass extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 策略Guid外键PQS_TfLgPloy中TP_Index
*/
@ApiModelProperty(value = "策略Guid外键PQS_TfLgPloy中TP_Index")
private String tpIndex;
/**
* 报告基础项Guid外键PQS_Transformer中Tf_Index
*/
@ApiModelProperty(value = "报告基础项Guid外键PQS_Transformer中Tf_Index")
private String tfIndex;
}

View File

@@ -0,0 +1,127 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 暂降明细实体类
*
* @author yzh
* @since 2022-10-12 18:34:55
*/
@Data
@TableName("r_mp_event_detail")
@ApiModel(value="RmpEventDetail对象")
public class RmpEventDetailPO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "暂时事件ID")
@TableId(value = "event_id", type = IdType.ASSIGN_ID)
private String eventId;
@ApiModelProperty(value = "监测点ID")
private String measurementPointId;
@ApiModelProperty(value = "监测点ID(复制)")
@TableField("measurement_point_id")
private String lineId;
@ApiModelProperty(value = "统计类型")
private String eventType;
@ApiModelProperty(value = "暂降原因Event_Reason")
@TableField("advance_reason")
private String advanceReason;
@ApiModelProperty(value = "暂降类型Event_Type")
@TableField("advance_type")
private String advanceType;
@ApiModelProperty(value = "事件关联分析表Guid")
private String eventassIndex;
@ApiModelProperty(value = "dq计算持续时间 ")
private Double dqTime;
@ApiModelProperty(value = "特征值计算更新时间外键PQS_Relevance的Time字段")
private LocalDateTime dealTime;
@ApiModelProperty(value = "默认事件个数为0")
private Integer num;
@ApiModelProperty(value = "波形文件是否从装置招到本地(0未招1已招)默认值为0")
private Integer fileFlag;
@ApiModelProperty(value = "特征值计算标志0未处理1已处理; 2已处理无结果;3计算失败默认值为0")
private Integer dealFlag;
@ApiModelProperty(value = "处理结果第一条事件发生时间(读comtra文件获取)")
private LocalDateTime firstTime;
@ApiModelProperty(value = "处理结果第一条事件暂降类型字典表PQS_Dicdata")
private String firstType;
@ApiModelProperty(value = "处理结果第一条事件发生时间毫秒(读comtra文件获取)")
private Double firstMs;
@ApiModelProperty(value = "暂降能量")
private Double energy;
@ApiModelProperty(value = "暂降严重度")
private Double severity;
@ApiModelProperty(value = "暂降源与监测位置关系 Upper:上游Lower :下游Unknown :未知;为空则是未计算")
private String sagsource;
@ApiModelProperty(value = "开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private LocalDateTime startTime;
@ApiModelProperty(value = "格式化开始时间")
@TableField(exist = false)
private String formatTime;
@ApiModelProperty(value = "持续时间,单位秒")
private Double duration;
@ApiModelProperty(value = "特征幅值")
private Double featureAmplitude;
@ApiModelProperty(value = "相别")
private String phase;
@ApiModelProperty(value = "事件描述")
private String eventDescribe;
@ApiModelProperty(value = "波形路径")
private String wavePath;
@ApiModelProperty(value = "暂降核实原因")
@TableField("verify_reason")
private String verifyReason;
@ApiModelProperty(value = "暂降核实原因详情")
@TableField("verify_reason_detail")
private String verifyReasonDetail;
private Double transientValue;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(value = "用于计算数量")
@TableField(exist = false)
private Integer count;
}

View File

@@ -0,0 +1,53 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 干扰源用户常态化管理
* </p>
*
* @author hongawen
* @since 2024-05-17
*/
@Getter
@Setter
@TableName("supervision_user_report_normal")
public class UserReportNormalPO extends BaseEntity {
private static final long serialVersionUID = 1L;
private String id;
/**
* 关联干扰源用户表
*/
private String userReportId;
/**
* 类型0方案审查 1治理工程
*/
private Integer type;
/**
* 报告存放路径
*/
private String reportUrl;
private String processInstanceId;
private String historyInstanceId;
/**
* 1:审批中2审批通过3审批不通过4已取消
*/
private Integer status;
private Integer state;
}

View File

@@ -0,0 +1,184 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
*
* Description:
* Date: 2024/4/25 10:07【需求编号】
*
* @author clam
* @version V1.0.0
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_user_report")
public class UserReportPO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 填报人
*/
@TableField(value = "reporter")
private String reporter;
/**
* 填报日期
*/
@TableField(value = "report_date")
private LocalDate reportDate;
/**
* 填报部门
*/
@TableField(value = "org_id")
private String orgId;
/**
* 工程预期投产日期
*/
@TableField(value = "expected_production_date")
private LocalDate expectedProductionDate;
/**
* 用户性质
*/
@TableField(value = "user_type")
private Integer userType;
/**
* 所属地市
*/
@TableField(value = "city")
private String city;
/**
* 归口管理部门
*/
@TableField(value = "responsible_department")
private String responsibleDepartment;
/**
* 用户状态
*/
@TableField(value = "user_status")
private Integer userStatus;
/**
* 变电站
*/
@TableField(value = "substation")
private String substation;
/**
* 电压等级
*/
@TableField(value = "voltage_level")
private String voltageLevel;
/**
* 用户编号
*/
@TableField(value = "user_no")
private String userNo;
/**
* 工程名称
*/
@TableField(value = "project_name")
private String projectName;
/**
* 预测评估单位
*/
@TableField(value = "evaluation_dept")
private String evaluationDept;
/**
* 预测评估结论
*/
@TableField(value = "evaluation_conclusion")
private String evaluationConclusion;
/**
* 流程实例的编号
*/
@TableField(value = "process_instance_id")
private String processInstanceId;
@TableField(value = "history_instance_id")
private String historyInstanceId;
/**
* 数据来源类型 0.正常流程审核入库 1.批量导入
*/
@TableField(value = "data_type")
private Integer dataType;
/**
* 电站id
*/
private String stationId;
/**
* 额定容量
*/
private Double ratePower;
/**
* 经度
*/
private BigDecimal longitude;
/**
* 纬度
*/
private BigDecimal latitude;
/**
* 终端id
*/
@TableField(value = "dev_id")
private String devId;
/**
* 监测点id
*/
@TableField(value = "line_id")
private String lineId;
/**
* 审批状态1:审批中2审批通过3审批不通过4已取消
*/
@TableField(value = "status")
private Integer status;
/**
* 状态0-删除 1-正常
*/
@TableField(value = "State")
private Integer state;
}

View File

@@ -0,0 +1,96 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Pattern;
/**
*
* Description:
* Date: 2024/4/25 10:08【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_user_report_project")
public class UserReportProjectPO extends BaseEntity {
/**
* 关联id
*/
@TableId(value = "id", type = IdType.INPUT)
private String id;
/**
* 用户协议容量
*/
@TableField(value = "agreement_capacity")
@Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
private Double agreementCapacity;
/**
* 非线性设备类型
*/
@TableField(value = "nonlinear_device_type")
private String nonlinearDeviceType;
/**
* 是否需要治理
*/
@TableField(value = "need_governance")
private Integer needGovernance;
/**
* 是否开展背景测试
*/
@TableField(value = "background_test_performed")
private Integer backgroundTestPerformed;
/**
* 可研报告告地址
*/
@TableField(value = "feasibility_report")
private String feasibilityReport;
/**
* 项目初步设计说明书告地址
*/
@TableField(value = "preliminary_design_description")
private String preliminaryDesignDescription;
/**
* 预测评估报告告地址
*/
@TableField(value = "prediction_evaluation_report")
private String predictionEvaluationReport;
/**
* 预测评估评审意见报告地址
*/
@TableField(value = "prediction_evaluation_review_opinions")
private String predictionEvaluationReviewOpinions;
/**
* 其他附件告地址
*/
@TableField(value = "additional_attachments")
private String additionalAttachments;
/**
* 数据状态
*/
@TableField(value = "state")
private Integer state;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import com.njcn.product.terminal.mysqlTerminal.pojo.param.UserReportParam;
import lombok.Data;
/**
* <p>
* 用户档案信息表
* </p>
*
* @author wr
* @since 2024-06-26
*/
@Data
@TableName("supervision_user_report_renewal")
public class UserReportRenewalPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 常态化用户跟新后信息
*/
private String userReportMessage;
/**
* 常态化用户跟新后信息
*/
@TableField(exist = false)
private UserReportParam userReportMessageJson;
/**
* 流程实例的编号
*/
private String processInstanceId;
/**
* 历史流程实列
*/
private String historyInstanceId;
/**
* 1:审批中2审批通过3审批不通过4已取消
*/
private Integer status;
/**
* 状态0-删除 1-正常
*/
private Integer state;
public void setUserReportMessage(String userReportMessage) {
if(StrUtil.isNotBlank(userReportMessage)){
this.userReportMessageJson= JSONObject.parseObject(userReportMessage,UserReportParam.class);
}
this.userReportMessage = userReportMessage;
}
}

View File

@@ -0,0 +1,191 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Pattern;
/**
*
* Description:
* Date: 2024/4/25 10:09【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_user_report_sensitive")
public class UserReportSensitivePO extends BaseEntity {
/**
* 关联id
*/
@TableId(value = "id", type = IdType.INPUT)
private String id;
/**
* PCC点
*/
@TableField(value = "pcc_point")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String pccPoint;
/**
* 行业
*/
@TableField(value = "industry")
private String industry;
/**
* 敏感装置名称
*/
@TableField(value = "device_name")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String deviceName;
/**
* 供电电源数量
*/
@TableField(value = "power_supply_count")
private Integer powerSupplyCount;
/**
* 敏感电能质量指标
*/
@TableField(value = "energy_quality_index")
private String energyQualityIndex;
/**
* 评估类型
*/
@TableField(value = "evaluation_type")
private String evaluationType;
/**
* 是否开展抗扰度测试
*/
@TableField(value = "anti_interference_test")
private String antiInterferenceTest;
/**
* 预测评估审核单位
*/
@TableField(value = "evaluation_chek_dept")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String evaluationChekDept;
/**
* 是否需要治理
*/
@TableField(value = "need_governance")
private Integer needGovernance;
/**
* 是否开展背景测试
*/
@TableField(value = "background_test_performed")
private Integer backgroundTestPerformed;
/**
* 用户接入变电站主接线示意图地址
*/
@TableField(value = "substation_main_wiring_diagram")
private String substationMainWiringDiagram;
/**
* 主要敏感设备清单
*/
@TableField(value = "sensitive_devices")
private String sensitiveDevices;
/**
* 抗扰度测试报告
*/
@TableField(value = "anti_interference_report")
private String antiInterferenceReport;
/**
* 背景电能质量测试报告
*/
@TableField(value = "power_quality_report")
private String powerQualityReport;
/**
* 可研报告地址
*/
@TableField(value = "feasibility_report")
private String feasibilityReport;
/**
* 项目初步设计说明书地址
*/
@TableField(value = "preliminary_design_description")
private String preliminaryDesignDescription;
/**
* 预测评估报告地址
*/
@TableField(value = "prediction_evaluation_report")
private String predictionEvaluationReport;
/**
* 预测评估评审意见报告地址
*/
@TableField(value = "prediction_evaluation_review_opinions")
private String predictionEvaluationReviewOpinions;
/**
* 其他附件
*/
@TableField(value = "additional_attachments")
private String additionalAttachments;
/**
* 数据状态
*/
@TableField(value = "state")
private Integer state;
/**
* 供电电源
*/
@TableField(value = "power_supply")
private String powerSupply;
/**
* 接入电压等级
*/
@TableField(value = "supply_voltage_level")
private String supplyVoltageLevel;
/**
* 负荷级别
*/
@TableField(value = "load_level")
private String loadLevel;
/**
* 供电电源情况(单电源、双电源、多电源)
*/
@TableField(value = "power_supply_info")
private String powerSupplyInfo;
/**
* 运维单位
*/
@TableField(value = "maintenance_unit")
private String maintenanceUnit;
}

View File

@@ -0,0 +1,142 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.db.mybatisplus.bo.BaseEntity;
import com.njcn.product.terminal.mysqlTerminal.pojo.constant.ValidMessage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
/**
*
* Description:
* Date: 2024/4/25 10:09【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "supervision_user_report_substation")
public class UserReportSubstationPO extends BaseEntity {
@TableId(value = "id", type = IdType.INPUT)
private String id;
/**
* PCC点
*/
@TableField(value = "pcc_point")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String pccPoint;
/**
* 基准短路容量MVA
*/
@TableField(value = "base_short_circuit_capacity")
@Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
private BigDecimal baseShortCircuitCapacity;
/**
* 系统最小短路容量MVA
*/
@TableField(value = "min_short_circuit_capacity")
@Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
private BigDecimal minShortCircuitCapacity;
/**
* PCC供电设备容量MVA
*/
@TableField(value = "pcc_equipment_capacity")
@Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
private BigDecimal pccEquipmentCapacity;
/**
* 用户用电协议容量MVA
*/
@TableField(value = "user_agreement_capacity")
@Pattern(regexp = PatternRegex.COORDINATE, message = ValidMessage.PARAM_FORMAT_ERROR)
private BigDecimal userAgreementCapacity;
/**
* 评估类型
*/
@TableField(value = "evaluation_type")
private String evaluationType;
/**
* 非线性负荷类型
*/
@TableField(value = "nonlinear_load_type")
private String nonlinearLoadType;
/**
* 预测评估审核单位
*/
@TableField(value = "evaluation_chek_dept")
@Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG)
private String evaluationChekDept;
/**
* 是否需要治理
*/
@TableField(value = "need_governance")
private Integer needGovernance;
/**
* 是否开展背景测试
*/
@TableField(value = "background_test_performed")
private Integer backgroundTestPerformed;
/**
* 用户接入变电站主接线示意图地址
*/
@TableField(value = "substation_main_wiring_diagram")
private String substationMainWiringDiagram;
/**
* 可研报告地址
*/
@TableField(value = "feasibility_report")
private String feasibilityReport;
/**
* 项目初步设计说明书地址
*/
@TableField(value = "preliminary_design_description")
private String preliminaryDesignDescription;
/**
* 预测评估报告地址
*/
@TableField(value = "prediction_evaluation_report")
private String predictionEvaluationReport;
/**
* 预测评估评审意见报告地址
*/
@TableField(value = "prediction_evaluation_review_opinions")
private String predictionEvaluationReviewOpinions;
/**
* 其他附件
*/
@TableField(value = "additional_attachments")
private String additionalAttachments;
/**
* 数据状态
*/
@TableField(value = "state")
private Integer state;
}

View File

@@ -0,0 +1,42 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_voltage")
public class Voltage {
private static final long serialVersionUID = 1L;
/**
* 母线序号
*/
private String id;
/**
* 母线号(在同一台设备中的电压通道号)
*/
private Integer num;
/**
* 电压等级Id字典表
*/
private String scale;
/**
* 母线模型0虚拟母线1实际母线默认是实际母线
*/
private Integer model;
}

View File

@@ -0,0 +1,116 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* pqs
*
* @author cdf
* @date 2023/7/20
*/
@Data
public class AdvanceEventDetailVO {
@ApiModelProperty(value = "暂时事件ID")
private String eventId;
@ApiModelProperty(value = "监测点ID")
private String measurementPointId;
@ApiModelProperty(value = "监测点ID(复制)")
private String lineId;
@ApiModelProperty(value = "统计类型")
private String eventType;
@ApiModelProperty(value = "暂降原因Event_Reason")
private String advanceReason;
@ApiModelProperty(value = "暂降类型Event_Type")
private String advanceType;
@ApiModelProperty(value = "事件关联分析表Guid")
private String eventassIndex;
@ApiModelProperty(value = "dq计算持续时间 ")
private Double dqTime;
@ApiModelProperty(value = "特征值计算更新时间外键PQS_Relevance的Time字段")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime dealTime;
@ApiModelProperty(value = "默认事件个数为0")
private Integer num;
@ApiModelProperty(value = "波形文件是否从装置招到本地(0未招1已招)默认值为0")
private Integer fileFlag;
@ApiModelProperty(value = "特征值计算标志0未处理1已处理; 2已处理无结果;3计算失败默认值为0")
private Integer dealFlag;
@ApiModelProperty(value = "处理结果第一条事件发生时间(读comtra文件获取)")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime firstTime;
@ApiModelProperty(value = "处理结果第一条事件暂降类型字典表PQS_Dicdata")
private String firstType;
@ApiModelProperty(value = "处理结果第一条事件发生时间毫秒(读comtra文件获取)")
private Integer firstMs;
@ApiModelProperty(value = "暂降能量")
private Double energy;
@ApiModelProperty(value = "暂降严重度")
private Double severity;
@ApiModelProperty(value = "暂降源与监测位置关系 Upper:上游Lower :下游Unknown :未知;为空则是未计算")
private String sagsource;
@ApiModelProperty(value = "开始时间")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss.SSS")
private LocalDateTime startTime;
@ApiModelProperty(value = "持续时间,单位秒")
private Integer duration;
@ApiModelProperty(value = "特征幅值")
private Double featureAmplitude;
@ApiModelProperty(value = "相别")
private String phase;
@ApiModelProperty(value = "事件描述")
private String eventDescribe;
@ApiModelProperty(value = "波形路径")
private String wavePath;
private Double transientValue;
@ApiModelProperty(value = "供电公司名称")
private String gdName;
@ApiModelProperty(value = "变电站名称")
private String subName;
@ApiModelProperty(value = "监测点名称")
private String lineName;
@ApiModelProperty(value = "母线节点id")
private String busBarId;
@ApiModelProperty(value = "母线电压等级")
private String voltageId;
@ApiModelProperty(value = "特征值是否计算")
private String featureAmplitudeFlag;
@ApiModelProperty(value = "录波文件是否存在")
private String boFileFlag;
}

View File

@@ -0,0 +1,52 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import lombok.Data;
/**
* @author denghuajun
* @date 2022/2/23
* 保存line信息表
*/
@Data
public class LineDataVO {
/**
* 监测点Id
*/
private String id;
/**
* 父节点0为根节点
*/
private String pid;
/**
* 上层所有节点
*/
private String pids;
/**
* 名称
*/
private String name;
/**
* 等级0-项目名称1- 工程名称2-单位3-部门4-终端5-母线6-监测点
*/
private Integer level;
/**
* 排序默认为0有特殊排序需要时候人为输入
*/
private Integer sort;
/**
* 备注
*/
private String remark;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,135 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @author denghuajun
* @date 2022/2/23
* 监测点信息
*/
@Data
@ApiModel
public class LineDetailDataVO {
private String lineId;
@ApiModelProperty(name = "id",value = "监测点序号")
private Integer id;
@ApiModelProperty(name = "lineName",value = "监测点名称")
private String lineName;
@ApiModelProperty(name = "areaName",value = "工程名称")
private String areaName;
@ApiModelProperty(name = "gdName",value = "单位")
private String gdName;
@ApiModelProperty(name = "bdName",value = "部门")
private String bdName;
@ApiModelProperty(name = "scale",value = "电压等级")
private String scale;
@ApiModelProperty(name = "manufacturer",value = "厂家")
private String manufacturer;
@ApiModelProperty(name = "devId",value = "终端Id")
private String devId;
@ApiModelProperty(name = "devName",value = "终端名称")
private String devName;
@ApiModelProperty(name = "ip",value = "网络参数")
private String ip;
@ApiModelProperty(name = "runFlag",value = "终端运行状态")
private String runFlag;
@ApiModelProperty(name = "comFlag",value = "通讯状态")
private String comFlag;
@ApiModelProperty(name = "loadType",value = "干扰源类型")
private String loadType;
@ApiModelProperty(name = "businessType",value = "行业类型")
private String businessType;
@ApiModelProperty(name = "objName",value = "监测点对象名称")
private String objName;
@ApiModelProperty(name = "ptType",value = "接线方式")
private String ptType;
@ApiModelProperty(name = "pt",value = "PT变比")
private String pt;
@ApiModelProperty(name = "ct",value = "CT变比")
private String ct;
@ApiModelProperty(name = "standardCapacity",value = "基准容量MVA")
private Float standardCapacity;
@ApiModelProperty(name = "shortCapacity",value = "最小短路容量MVA")
private Float shortCapacity;
@ApiModelProperty(name = "devCapacity",value = "供电设备容量MVA")
private Float devCapacity;
@ApiModelProperty(name = "dealCapacity",value = "用户协议容量MVA")
private Float dealCapacity;
@ApiModelProperty(name = "powerFlag",value = "电网标志0-电网侧1-非电网侧)")
private Integer powerFlag;
/**
* 测量间隔1-10分钟
*/
@ApiModelProperty(name = "timeInterval",value = "测量间隔1-10分钟")
private Integer timeInterval;
/**
* 监测点拥有者
*/
@ApiModelProperty(name = "owner",value = "监测点拥有者")
private String owner;
/**
* 拥有者职务
*/
@ApiModelProperty(name = "ownerDuty",value = "拥有者职务")
private String ownerDuty;
/**
* 拥有者联系方式
*/
@ApiModelProperty(name = "ownerTel",value = "拥有者联系方式")
private String ownerTel;
/**
* 接线图
*/
@ApiModelProperty(name = "wiringDiagram",value = "接线图")
private String wiringDiagram;
@ApiModelProperty(name = "ptPhaseType",value = "监测点接线相别0单相,1三相默认三相")
private Integer ptPhaseType;
@ApiModelProperty(name = "投运日期")
private LocalDate loginTime;
@ApiModelProperty(name = "最新数据时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
@ApiModelProperty(name = "监测对象信息ID")
private String objId;
@ApiModelProperty(name = "对象类型大类")
private String bigObjType;
}

View File

@@ -0,0 +1,109 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月06日 15:38
*/
@Data
public class LineDetailVO implements Serializable {
@ApiModelProperty("供电公司名称")
private String gdName;
@ApiModelProperty("变电站名称")
private String subName;
@ApiModelProperty("终端名称")
private String devName;
@ApiModelProperty("网络参数")
private String ip;
@ApiModelProperty("监测点名称")
private String lineName;
@ApiModelProperty("母线名称")
private String volName;
/**
* 0运行1检修2停运3调试4退运
*/
@ApiModelProperty("监测点运行状态")
private Integer runFlag;
@Data
public static class Detail extends LineDetailVO implements Serializable{
@ApiModelProperty("区域id")
private String areaId;
@ApiModelProperty("区域名称")
private String areaName;
@ApiModelProperty("终端id")
private String devId;
@ApiModelProperty("监测点Id")
private String lineId;
@ApiModelProperty("测量间隔1-10分钟")
private Integer timeInterval;
@ApiModelProperty("接线类型")
private Integer ptType;
@ApiModelProperty("电压等级")
private String voltageLevel;
@ApiModelProperty("数据更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime timeID;
@ApiModelProperty("终端等级")
private String lineGrade;
@ApiModelProperty("通讯状态0中断1正常")
private Integer comFlag;
@ApiModelProperty("PT一次变比")
private Double PT1;
@ApiModelProperty("PT二次变比")
private Double PT2;
@ApiModelProperty("CT一次变比")
private Double CT1;
@ApiModelProperty("CT二次变比")
private Double CT2;
@ApiModelProperty("套餐流量")
private Float flowMeal;
@ApiModelProperty("已用流量")
private Float statisValue;
@ApiModelProperty("已用流量占比")
private Float flowProportion;
}
@Data
public static class noDataLineInfo extends LineDetailVO implements Serializable{
@ApiModelProperty("监测点Id")
private String lineId;
@ApiModelProperty("终端id")
private String devId;
@ApiModelProperty("最新数据时间")
private LocalDateTime updateTime;
}
}

View File

@@ -0,0 +1,23 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import com.njcn.product.terminal.mysqlTerminal.pojo.dto.LedgerBaseInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @Author: cdf
* @CreateTime: 2025-09-05
* @Description:
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class TerminalShowVO extends LedgerBaseInfo {
private String stationVoltageLevel;
private Double lng;
private Double lat;
}

View File

@@ -0,0 +1,80 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* pqs
* 终端树实体
* @author cdf
* @date 2021/7/19
*/
@ApiModel
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TerminalTree implements Serializable {
@ApiModelProperty(name = "index",value = "序号")
private Integer index;
private String id;
@ApiModelProperty(name = "parentId",value = "父id")
private String pid;
@ApiModelProperty(name = "level",value = "等级")
private Integer level;
@ApiModelProperty(name = "name",value = "名称")
private String name;
@ApiModelProperty(name = "sort",value = "排序")
private Integer sort;
@ApiModelProperty(name = "comFlag",value = "设备状态")
private Integer comFlag;
@ApiModelProperty(name = "children",value = "子节点")
private List<TerminalTree> children = new ArrayList<>();
private String pids;
/**
* 终端厂家
*/
private String manufacturer;
/**
* 电压等级Id字典表
*/
private String scale;
/**
* 干扰源类型,字典表
*/
private String loadType;
/**
* 接线方式
*/
private Integer ptType;
/**
* 电网标志0-电网侧1-非电网侧)
*/
private Integer powerFlag;
/**
* 电网侧变电站
*/
private String powerSubstationName;
/**
* 电网侧变电站
*/
private String objName;
private String objId;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.product.terminal.mysqlTerminal.pojo.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author: cdf
* @CreateTime: 2025-03-24
* @Description: 用户台账
*/
@Data
public class UserLedgerVO implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String projectName;
private String stationId;
private String city;
}

Some files were not shown because too many files have changed in this diff Show More