预处理模块代码合拼
This commit is contained in:
@@ -14,8 +14,8 @@
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<org.projectlombok.version>1.18.6</org.projectlombok.version>
|
||||
<org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
|
||||
<org.projectlombok.version>1.18.12</org.projectlombok.version>
|
||||
<org.mapstruct.version>1.4.2.Final</org.mapstruct.version>
|
||||
</properties>
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-jdk8</artifactId>
|
||||
<artifactId>mapstruct</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</dependency>
|
||||
|
||||
@@ -91,6 +91,11 @@
|
||||
<artifactId>mapstruct-processor</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok-mapstruct-binding</artifactId>
|
||||
<version>0.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 要与mapstruct版本匹配,用同一时间的版本,不然会出现各种问题 -->
|
||||
<dependency>
|
||||
@@ -106,6 +111,31 @@
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!--调用minio服务器-->
|
||||
<dependency>
|
||||
<groupId>me.tongfei</groupId>
|
||||
<artifactId>progressbar</artifactId>
|
||||
<version>0.5.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
<version>4.8.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.minio</groupId>
|
||||
<artifactId>minio</artifactId>
|
||||
<version>8.2.1</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>prepare-api</artifactId>
|
||||
@@ -116,16 +146,20 @@
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
|
||||
<version>3.5.1</version>
|
||||
</dependency>
|
||||
|
||||
<!--oracle驱动-->
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>21.6.0.0</version>
|
||||
</dependency>
|
||||
<!-- 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK -->
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.nls</groupId>
|
||||
<artifactId>orai18n</artifactId>
|
||||
<version>21.1.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -160,7 +194,7 @@
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-image</id>
|
||||
<phase>${docker.operate}</phase>
|
||||
<phase>site</phase>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
</goals>
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.njcn.prepare.harmonic.constant;
|
||||
|
||||
|
||||
/**
|
||||
* @author qijian
|
||||
*/
|
||||
public interface AlgorithmParam {
|
||||
|
||||
/**
|
||||
* 暂态/稳态
|
||||
*/
|
||||
Integer TEMPORARY_STATE = 0;
|
||||
Integer STEADY_STATE = 1;
|
||||
|
||||
/**
|
||||
* 主网/配网
|
||||
*/
|
||||
Integer MAIN_NET = 1;
|
||||
Integer DIS_NET = 2;
|
||||
|
||||
/**
|
||||
* 数据来源:Oracle/InfluxDB
|
||||
*/
|
||||
Integer ORACLE_DATA = 0;
|
||||
Integer INFLUX_DATA = 1;
|
||||
|
||||
|
||||
/**
|
||||
* 监测点数据完整率 统计间隔
|
||||
*/
|
||||
Integer TIME_INTERVAL = 15;
|
||||
|
||||
/*
|
||||
* 监测点暂态指标超标事件类型
|
||||
* 0:扰动,1:暂降,2:暂升,3:中断,4:其他,5:录波
|
||||
*/
|
||||
Integer DISTURBANCE= 0;
|
||||
Integer SAG= 1;
|
||||
Integer RISE= 2;
|
||||
Integer INTERRUPT= 3;
|
||||
Integer other= 4;
|
||||
Integer RECORDING_WAVE= 5;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.njcn.prepare.harmonic.constant;
|
||||
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.PreDestroy;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 16:21【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class DictCache {
|
||||
|
||||
public static final String NAME_KEY = "DicCache:";
|
||||
public static final String SPLIT_SIGN = "-";
|
||||
|
||||
private @Autowired
|
||||
DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private @Autowired
|
||||
RedisUtil redisUtil;
|
||||
private @Autowired
|
||||
RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
@PostConstruct
|
||||
public void init(){
|
||||
log.info("系统启动中。。。加载dictDataMap");
|
||||
/*todo 后续将字典表全部加载*/
|
||||
List<DictData> data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( );
|
||||
List<DictData> data2 = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.DEV_STATUS.getCode ( )).getData ( );
|
||||
List<DictData> data3 = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_SORT.getCode ( )).getData ( );
|
||||
|
||||
/*
|
||||
* key:NAME_KEY前缀(清缓存使用)+SPLIT_SIGN(拼接符号)+DicDataTypeEnum+SPLIT_SIGN(拼接符号)+Code
|
||||
* Value:id
|
||||
* */
|
||||
data.forEach (temp->{
|
||||
redisUtil.saveByKey (NAME_KEY+SPLIT_SIGN+DicDataTypeEnum.LINE_STATE.getCode ( )+SPLIT_SIGN+temp.getCode (),temp.getId ());
|
||||
});
|
||||
|
||||
data2.forEach (temp->{
|
||||
redisUtil.saveByKey (NAME_KEY+SPLIT_SIGN+DicDataTypeEnum.DEV_STATUS.getCode ( )+SPLIT_SIGN+temp.getCode (),temp.getId ());
|
||||
});
|
||||
|
||||
data3.forEach (temp->{
|
||||
redisUtil.saveByKey (NAME_KEY+SPLIT_SIGN+DicDataTypeEnum.LINE_SORT.getCode ( )+SPLIT_SIGN+temp.getCode (),temp.getId ());
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@PreDestroy
|
||||
public void destroy(){
|
||||
log.info("系统运行结束");
|
||||
Set<String> keys = redisTemplate.keys(NAME_KEY + "*");
|
||||
|
||||
redisTemplate.delete(keys);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -24,215 +24,215 @@ public interface InfluxdbPOConverter {
|
||||
InfluxdbPOConverter INFLUXDB_PO_CONVERTER = Mappers.getMapper (InfluxdbPOConverter.class);
|
||||
|
||||
/*DataHarmRateVPO*/
|
||||
@Mapping(source = "v1", target = "fundamentalVoltageMax")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent2Max")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent3Max")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent4Max")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent5Max")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent6Max")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent7Max")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent8Max")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent9Max")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent10Max")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent11Max")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent12Max")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent13Max")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent14Max")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent15Max")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent16Max")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent17Max")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent18Max")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent19Max")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent20Max")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent21Max")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent22Max")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent23Max")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent24Max")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent25Max")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent26Max")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent27Max")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent28Max")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent29Max")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent30Max")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent31Max")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent32Max")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent33Max")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent34Max")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent35Max")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent36Max")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent37Max")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent38Max")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent39Max")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent40Max")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent41Max")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent42Max")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent43Max")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent44Max")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent45Max")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent46Max")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent47Max")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent48Max")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent49Max")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent50Max")
|
||||
@Mapping(source = "v1", target = "fundamentalVoltageMax" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent2Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent3Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent4Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent5Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent6Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent7Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent8Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent9Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent10Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent11Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent12Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent13Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent14Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent15Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent16Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent17Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent18Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent19Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent20Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent21Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent22Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent23Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent24Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent25Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent26Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent27Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent28Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent29Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent30Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent31Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent32Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent33Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent34Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent35Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent36Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent37Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent38Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent39Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent40Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent41Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent42Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent43Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent44Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent45Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent46Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent47Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent48Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent49Max" ,numberFormat = "#.000")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent50Max" ,numberFormat = "#.000")
|
||||
|
||||
public RMpHarmonicVRateReportD dataVPOTORMpHarmonicPReportDPOMax(DataHarmRateVPO dataVPO);
|
||||
|
||||
@Mapping(source = "v1", target = "fundamentalVoltageMin")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent2Min")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent3Min")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent4Min")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent5Min")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent6Min")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent7Min")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent8Min")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent9Min")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent10Min")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent11Min")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent12Min")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent13Min")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent14Min")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent15Min")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent16Min")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent17Min")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent18Min")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent19Min")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent20Min")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent21Min")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent22Min")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent23Min")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent24Min")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent25Min")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent26Min")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent27Min")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent28Min")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent29Min")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent30Min")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent31Min")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent32Min")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent33Min")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent34Min")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent35Min")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent36Min")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent37Min")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent38Min")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent39Min")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent40Min")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent41Min")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent42Min")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent43Min")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent44Min")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent45Min")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent46Min")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent47Min")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent48Min")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent49Min")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent50Min")
|
||||
@Mapping(source = "v1", target = "fundamentalVoltageMin",numberFormat = "#.000")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent2Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent3Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent4Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent5Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent6Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent7Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent8Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent9Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent10Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent11Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent12Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent13Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent14Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent15Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent16Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent17Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent18Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent19Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent20Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent21Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent22Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent23Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent24Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent25Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent26Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent27Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent28Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent29Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent30Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent31Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent32Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent33Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent34Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent35Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent36Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent37Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent38Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent39Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent40Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent41Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent42Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent43Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent44Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent45Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent46Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent47Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent48Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent49Min",numberFormat = "#.000")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent50Min",numberFormat = "#.000")
|
||||
public RMpHarmonicVRateReportD dataVPOTORMpHarmonicPReportDPOMin(DataHarmRateVPO dataVPO);
|
||||
|
||||
|
||||
@Mapping(source = "v1", target = "fundamentalVoltageAvg")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent2Avg")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent3Avg")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent4Avg")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent5Avg")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent6Avg")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent7Avg")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent8Avg")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent9Avg")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent10Avg")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent11Avg")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent12Avg")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent13Avg")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent14Avg")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent15Avg")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent16Avg")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent17Avg")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent18Avg")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent19Avg")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent20Avg")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent21Avg")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent22Avg")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent23Avg")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent24Avg")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent25Avg")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent26Avg")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent27Avg")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent28Avg")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent29Avg")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent30Avg")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent31Avg")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent32Avg")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent33Avg")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent34Avg")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent35Avg")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent36Avg")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent37Avg")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent38Avg")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent39Avg")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent40Avg")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent41Avg")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent42Avg")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent43Avg")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent44Avg")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent45Avg")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent46Avg")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent47Avg")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent48Avg")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent49Avg")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent50Avg")
|
||||
@Mapping(source = "v1", target = "fundamentalVoltageAvg",numberFormat = "#.000")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent2Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent3Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent4Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent5Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent6Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent7Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent8Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent9Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent10Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent11Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent12Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent13Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent14Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent15Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent16Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent17Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent18Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent19Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent20Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent21Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent22Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent23Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent24Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent25Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent26Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent27Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent28Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent29Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent30Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent31Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent32Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent33Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent34Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent35Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent36Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent37Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent38Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent39Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent40Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent41Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent42Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent43Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent44Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent45Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent46Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent47Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent48Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent49Avg",numberFormat = "#.000")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent50Avg",numberFormat = "#.000")
|
||||
public RMpHarmonicVRateReportD dataVPOTORMpHarmonicPReportDPOAvg(DataHarmRateVPO dataVPO);
|
||||
|
||||
|
||||
@Mapping(source = "v1", target = "fundamentalVoltage95")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent295")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent395")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent495")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent595")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent695")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent795")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent895")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent995")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent1095")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent1195")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent1295")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent1395")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent1495")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent1595")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent1695")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent1795")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent1895")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent1995")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent2095")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent2195")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent2295")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent2395")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent2495")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent2595")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent2695")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent2795")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent2895")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent2995")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent3095")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent3195")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent3295")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent3395")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent3495")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent3595")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent3695")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent3795")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent3895")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent3995")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent4095")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent4195")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent4295")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent4395")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent4495")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent4595")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent4695")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent4795")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent4895")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent4995")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent5095")
|
||||
@Mapping(source = "v1", target = "fundamentalVoltage95",numberFormat = "#.000")
|
||||
@Mapping(source = "v2", target = "harmonicVoltageContent295",numberFormat = "#.000")
|
||||
@Mapping(source = "v3", target = "harmonicVoltageContent395",numberFormat = "#.000")
|
||||
@Mapping(source = "v4", target = "harmonicVoltageContent495",numberFormat = "#.000")
|
||||
@Mapping(source = "v5", target = "harmonicVoltageContent595",numberFormat = "#.000")
|
||||
@Mapping(source = "v6", target = "harmonicVoltageContent695",numberFormat = "#.000")
|
||||
@Mapping(source = "v7", target = "harmonicVoltageContent795",numberFormat = "#.000")
|
||||
@Mapping(source = "v8", target = "harmonicVoltageContent895",numberFormat = "#.000")
|
||||
@Mapping(source = "v9", target = "harmonicVoltageContent995",numberFormat = "#.000")
|
||||
@Mapping(source = "v10", target = "harmonicVoltageContent1095",numberFormat = "#.000")
|
||||
@Mapping(source = "v11", target = "harmonicVoltageContent1195",numberFormat = "#.000")
|
||||
@Mapping(source = "v12", target = "harmonicVoltageContent1295",numberFormat = "#.000")
|
||||
@Mapping(source = "v13", target = "harmonicVoltageContent1395",numberFormat = "#.000")
|
||||
@Mapping(source = "v14", target = "harmonicVoltageContent1495",numberFormat = "#.000")
|
||||
@Mapping(source = "v15", target = "harmonicVoltageContent1595",numberFormat = "#.000")
|
||||
@Mapping(source = "v16", target = "harmonicVoltageContent1695",numberFormat = "#.000")
|
||||
@Mapping(source = "v17", target = "harmonicVoltageContent1795",numberFormat = "#.000")
|
||||
@Mapping(source = "v18", target = "harmonicVoltageContent1895",numberFormat = "#.000")
|
||||
@Mapping(source = "v19", target = "harmonicVoltageContent1995",numberFormat = "#.000")
|
||||
@Mapping(source = "v20", target = "harmonicVoltageContent2095",numberFormat = "#.000")
|
||||
@Mapping(source = "v21", target = "harmonicVoltageContent2195",numberFormat = "#.000")
|
||||
@Mapping(source = "v22", target = "harmonicVoltageContent2295",numberFormat = "#.000")
|
||||
@Mapping(source = "v23", target = "harmonicVoltageContent2395",numberFormat = "#.000")
|
||||
@Mapping(source = "v24", target = "harmonicVoltageContent2495",numberFormat = "#.000")
|
||||
@Mapping(source = "v25", target = "harmonicVoltageContent2595",numberFormat = "#.000")
|
||||
@Mapping(source = "v26", target = "harmonicVoltageContent2695",numberFormat = "#.000")
|
||||
@Mapping(source = "v27", target = "harmonicVoltageContent2795",numberFormat = "#.000")
|
||||
@Mapping(source = "v28", target = "harmonicVoltageContent2895",numberFormat = "#.000")
|
||||
@Mapping(source = "v29", target = "harmonicVoltageContent2995",numberFormat = "#.000")
|
||||
@Mapping(source = "v30", target = "harmonicVoltageContent3095",numberFormat = "#.000")
|
||||
@Mapping(source = "v31", target = "harmonicVoltageContent3195",numberFormat = "#.000")
|
||||
@Mapping(source = "v32", target = "harmonicVoltageContent3295",numberFormat = "#.000")
|
||||
@Mapping(source = "v33", target = "harmonicVoltageContent3395",numberFormat = "#.000")
|
||||
@Mapping(source = "v34", target = "harmonicVoltageContent3495",numberFormat = "#.000")
|
||||
@Mapping(source = "v35", target = "harmonicVoltageContent3595",numberFormat = "#.000")
|
||||
@Mapping(source = "v36", target = "harmonicVoltageContent3695",numberFormat = "#.000")
|
||||
@Mapping(source = "v37", target = "harmonicVoltageContent3795",numberFormat = "#.000")
|
||||
@Mapping(source = "v38", target = "harmonicVoltageContent3895",numberFormat = "#.000")
|
||||
@Mapping(source = "v39", target = "harmonicVoltageContent3995",numberFormat = "#.000")
|
||||
@Mapping(source = "v40", target = "harmonicVoltageContent4095",numberFormat = "#.000")
|
||||
@Mapping(source = "v41", target = "harmonicVoltageContent4195",numberFormat = "#.000")
|
||||
@Mapping(source = "v42", target = "harmonicVoltageContent4295",numberFormat = "#.000")
|
||||
@Mapping(source = "v43", target = "harmonicVoltageContent4395",numberFormat = "#.000")
|
||||
@Mapping(source = "v44", target = "harmonicVoltageContent4495",numberFormat = "#.000")
|
||||
@Mapping(source = "v45", target = "harmonicVoltageContent4595",numberFormat = "#.000")
|
||||
@Mapping(source = "v46", target = "harmonicVoltageContent4695",numberFormat = "#.000")
|
||||
@Mapping(source = "v47", target = "harmonicVoltageContent4795",numberFormat = "#.000")
|
||||
@Mapping(source = "v48", target = "harmonicVoltageContent4895",numberFormat = "#.000")
|
||||
@Mapping(source = "v49", target = "harmonicVoltageContent4995",numberFormat = "#.000")
|
||||
@Mapping(source = "v50", target = "harmonicVoltageContent5095",numberFormat = "#.000")
|
||||
public RMpHarmonicVRateReportD dataVPOTORMpHarmonicPReportDPO95(DataHarmRateVPO dataVPO);
|
||||
|
||||
|
||||
@@ -1557,4 +1557,74 @@ public interface InfluxdbPOConverter {
|
||||
@Mapping(source = "cp952.pf", target = "spPowerFactor95")
|
||||
@Mapping(source = "cp952.df", target = "spFundamentalPowerFactor95")
|
||||
public RMpMeasurePhaseReportD RMpMeasurePhaseReportDPOConverterCp95(DataVPO cp95, DataIPO cp951, DataHarmPowerPPO cp952, DataHarmPowerSPO cp953, DataHarmPowerQPO cp954);
|
||||
|
||||
|
||||
/*RMpMeasureReportDPO*/
|
||||
@Mapping(source = "max.freq", target = "frequencyMax")
|
||||
@Mapping(source = "max.freqDev", target = "frequencyDeviationMax")
|
||||
@Mapping(source = "max.VPos", target = "positiveSequenceVoltageMax")
|
||||
@Mapping(source = "max.VNeg", target = "negativeSequenceVoltageMax")
|
||||
@Mapping(source = "max.VZero", target = "zeroSequenceVoltageMax")
|
||||
@Mapping(source = "max.VUnbalance", target = "negativeSequenceVoltageUnbalanceMax")
|
||||
@Mapping(source = "max1.IPos", target = "positiveSequenceCurrentMax")
|
||||
@Mapping(source = "max1.INeg", target = "negativeSequenceCurrentMax")
|
||||
@Mapping(source = "max1.IZero", target = "zeroSequenceCurrentMax")
|
||||
@Mapping(source = "max1.IUnbalance", target = "negativeSequenceCurrentUnbalanceMax")
|
||||
@Mapping(source = "max2.p", target = "totalActivePowerMax")
|
||||
@Mapping(source = "max2.pf", target = "tpPowerFactorMax")
|
||||
@Mapping(source = "max2.df", target = "fundamentalPowerFactorMax")
|
||||
@Mapping(source = "max4.q", target = "totalReactivePowerMax")
|
||||
@Mapping(source = "max3.s", target = "totalApparentPowerMax")
|
||||
public RMpMeasureReportD RMpMeasureReportDPOConverterMax(DataVPO max, DataIPO max1, DataHarmPowerPPO max2, DataHarmPowerSPO max3, DataHarmPowerQPO max4);
|
||||
|
||||
@Mapping(source = "min.freq", target = "frequencyMin")
|
||||
@Mapping(source = "min.freqDev", target = "frequencyDeviationMin")
|
||||
@Mapping(source = "min.VPos", target = "positiveSequenceVoltageMin")
|
||||
@Mapping(source = "min.VNeg", target = "negativeSequenceVoltageMin")
|
||||
@Mapping(source = "min.VZero", target = "zeroSequenceVoltageMin")
|
||||
@Mapping(source = "min.VUnbalance", target = "negativeSequenceVoltageUnbalanceMin")
|
||||
@Mapping(source = "min1.IPos", target = "positiveSequenceCurrentMin")
|
||||
@Mapping(source = "min1.INeg", target = "negativeSequenceCurrentMin")
|
||||
@Mapping(source = "min1.IZero", target = "zeroSequenceCurrentMin")
|
||||
@Mapping(source = "min1.IUnbalance", target = "negativeSequenceCurrentUnbalanceMin")
|
||||
@Mapping(source = "min2.p", target = "totalActivePowerMin")
|
||||
@Mapping(source = "min2.pf", target = "tpPowerFactorMin")
|
||||
@Mapping(source = "min2.df", target = "fundamentalPowerFactorMin")
|
||||
@Mapping(source = "min4.q", target = "totalReactivePowerMin")
|
||||
@Mapping(source = "min3.s", target = "totalApparentPowerMin")
|
||||
public RMpMeasureReportD RMpMeasureReportDPOConverterMin(DataVPO min, DataIPO min1, DataHarmPowerPPO min2, DataHarmPowerSPO min3, DataHarmPowerQPO min4);
|
||||
|
||||
@Mapping(source = "avg.freq", target = "frequencyAvg")
|
||||
@Mapping(source = "avg.freqDev", target = "frequencyDeviationAvg")
|
||||
@Mapping(source = "avg.VPos", target = "positiveSequenceVoltageAvg")
|
||||
@Mapping(source = "avg.VNeg", target = "negativeSequenceVoltageAvg")
|
||||
@Mapping(source = "avg.VZero", target = "zeroSequenceVoltageAvg")
|
||||
@Mapping(source = "avg.VUnbalance", target = "negativeSequenceVoltageUnbalanceAvg")
|
||||
@Mapping(source = "avg1.IPos", target = "positiveSequenceCurrentAvg")
|
||||
@Mapping(source = "avg1.INeg", target = "negativeSequenceCurrentAvg")
|
||||
@Mapping(source = "avg1.IZero", target = "zeroSequenceCurrentAvg")
|
||||
@Mapping(source = "avg1.IUnbalance", target = "negativeSequenceCurrentUnbalanceAvg")
|
||||
@Mapping(source = "avg2.p", target = "totalActivePowerAvg")
|
||||
@Mapping(source = "avg2.pf", target = "tpPowerFactorAvg")
|
||||
@Mapping(source = "avg2.df", target = "fundamentalPowerFactorAvg")
|
||||
@Mapping(source = "avg4.q", target = "totalReactivePowerAvg")
|
||||
@Mapping(source = "avg3.s", target = "totalApparentPowerAvg")
|
||||
public RMpMeasureReportD RMpMeasureReportDPOConverterAVg(DataVPO avg, DataIPO avg1, DataHarmPowerPPO avg2, DataHarmPowerSPO avg3, DataHarmPowerQPO avg4);
|
||||
|
||||
@Mapping(source = "cp95.freq", target = "frequency95")
|
||||
@Mapping(source = "cp95.freqDev", target = "frequencyDeviation95")
|
||||
@Mapping(source = "cp95.VPos", target = "positiveSequenceVoltage95")
|
||||
@Mapping(source = "cp95.VNeg", target = "negativeSequenceVoltage95")
|
||||
@Mapping(source = "cp95.VZero", target = "zeroSequenceVoltage95")
|
||||
@Mapping(source = "cp95.VUnbalance", target = "negativeSequenceVoltageUnbalance95")
|
||||
@Mapping(source = "cp951.IPos", target = "positiveSequenceCurrent95")
|
||||
@Mapping(source = "cp951.INeg", target = "negativeSequenceCurrent95")
|
||||
@Mapping(source = "cp951.IZero", target = "zeroSequenceCurrent95")
|
||||
@Mapping(source = "cp951.IUnbalance", target = "negativeSequenceCurrentUnbalance95")
|
||||
@Mapping(source = "cp952.p", target = "totalActivePower95")
|
||||
@Mapping(source = "cp952.pf", target = "tpPowerFactor95")
|
||||
@Mapping(source = "cp952.df", target = "fundamentalPowerFactor95")
|
||||
@Mapping(source = "cp954.q", target = "totalReactivePower95")
|
||||
@Mapping(source = "cp953.s", target = "totalApparentPower95")
|
||||
public RMpMeasureReportD RMpMeasureReportDPOConverterCp95(DataVPO cp95, DataIPO cp951, DataHarmPowerPPO cp952, DataHarmPowerSPO cp953, DataHarmPowerQPO cp954);
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.njcn.prepare.harmonic.constant;
|
||||
|
||||
|
||||
/**
|
||||
* @author qijian
|
||||
*/
|
||||
public interface Param {
|
||||
|
||||
/**
|
||||
* 稳态/固态
|
||||
*/
|
||||
Integer SOLID_STATE = 0;
|
||||
Integer STEADY_STATE = 1;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.prepare.harmonic.constant;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 异常处理类
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @date 2022年11月11日 09:56
|
||||
*/
|
||||
@Getter
|
||||
public enum PqsPrepareExceptionEnum {
|
||||
|
||||
/**
|
||||
* 过程监督异常响应码的范围:
|
||||
* A00550 ~ A00649
|
||||
*/
|
||||
REDIS_NULL_EXCEPTION("A0001","redis缓存异常,重新加载redis"),
|
||||
;
|
||||
|
||||
private final String code;
|
||||
|
||||
private final String message;
|
||||
|
||||
PqsPrepareExceptionEnum(String code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.njcn.prepare.harmonic.controller.area;
|
||||
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.AreaCountService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
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;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/13 11:14【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "区域统计(r_stat_org_d表数据需要先生成r_stat_abnormal_d,r_mp_integrity_d表)")
|
||||
@RestController
|
||||
@RequestMapping("AreaCount")
|
||||
@RequiredArgsConstructor
|
||||
public class AreaCountController extends BaseController {
|
||||
|
||||
private @Autowired
|
||||
DeptFeignClient deptFeignClient;
|
||||
|
||||
private @Autowired
|
||||
AreaCountService areaCountService;
|
||||
|
||||
@ApiOperation("区域统计有效接入监测点个数计算(r_stat_org_d表数据)")
|
||||
@ApiImplicitParam(value = "primaryGridParam",name = "primaryGridParam",required = true)
|
||||
@PostMapping("areaCountHanlder")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> areaCountHanlder(@RequestBody PrimaryGridParam primaryGridParam ){
|
||||
log.info(LocalDateTime.now()+"areaCountHanlder开始执行");
|
||||
String methodDescribe = getMethodDescribe("areaCountHanlder");
|
||||
Boolean result = true;
|
||||
List<String> orgIdList = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (primaryGridParam.getOrgIdList ())){
|
||||
/*todo 不知道是否需要补招*/
|
||||
List<PvTerminalTreeVO> dept = deptFeignClient.allDeptList().getData();
|
||||
orgIdList = dept.stream ( ).map (PvTerminalTreeVO::getId).collect (Collectors.toList ( ));
|
||||
}else{
|
||||
orgIdList = primaryGridParam.getOrgIdList ();
|
||||
}
|
||||
primaryGridParam.setOrgIdList (orgIdList);
|
||||
|
||||
areaCountService.areaCountHanlder (primaryGridParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package com.njcn.prepare.harmonic.controller.area;
|
||||
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pms.api.PmsTerminalClient;
|
||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridDataIntegrityParam;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.PrimaryGridDataService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
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;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:r_operating_index_d
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/24 14:31【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "主网单位数据统计(r_operating_index_d表数据需要先生成r_stat_abnormal_d,r_mp_integrity_d表)")
|
||||
@RestController
|
||||
@RequestMapping("primaryGridData")
|
||||
@RequiredArgsConstructor
|
||||
public class PrimaryGridDataController extends BaseController {
|
||||
|
||||
private @Autowired
|
||||
PrimaryGridDataService primaryGridDataService;
|
||||
|
||||
private @Autowired
|
||||
DeptFeignClient deptFeignClient;
|
||||
|
||||
private @Autowired
|
||||
PmsTerminalClient pmsTerminalClient;
|
||||
|
||||
|
||||
@ApiOperation("主网单位数据同步(r_operating_index_d表数据)")
|
||||
@ApiImplicitParam(value = "primaryGridParam",name = "primaryGridParam",required = true)
|
||||
@PostMapping("primaryGridDataHanlder")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> primaryGridDataHanlder(@RequestBody PrimaryGridParam primaryGridParam ){
|
||||
log.info(LocalDateTime.now()+"primaryGridDataHanlder开始执行");
|
||||
String methodDescribe = getMethodDescribe("primaryGridDataHanlder");
|
||||
Boolean result = true;
|
||||
List<String> orgIdList = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (primaryGridParam.getOrgIdList ())){
|
||||
/*todo 不知道是否需要补招*/
|
||||
List<PvTerminalTreeVO> dept = deptFeignClient.allDeptList().getData();
|
||||
orgIdList = dept.stream ( ).map (PvTerminalTreeVO::getId).collect (Collectors.toList ( ));
|
||||
}else{
|
||||
orgIdList = primaryGridParam.getOrgIdList ();
|
||||
}
|
||||
primaryGridParam.setOrgIdList (orgIdList);
|
||||
|
||||
primaryGridDataService.primaryGridDataHanlder (primaryGridParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation("主网终端数据完整率月统计")
|
||||
@ApiImplicitParam(value = "primaryGridDataIntegrityParam",name = "primaryGridDataIntegrityParam",required = true)
|
||||
@PostMapping("primaryGridDataIntegrityHanlder")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> primaryGridDataIntegrityHanlder(@RequestBody PrimaryGridDataIntegrityParam primaryGridDataIntegrityParam ){
|
||||
log.info(LocalDateTime.now()+"primaryGridDataIntegrityHanlder开始执行");
|
||||
String methodDescribe = getMethodDescribe("primaryGridDataIntegrityHanlder");
|
||||
Boolean result = true;
|
||||
List<String> orgIdList = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (primaryGridDataIntegrityParam.getDeviceId ())){
|
||||
/*todo 不知道是否需要补招*/
|
||||
List<PmsTerminal> data = pmsTerminalClient.getTerminalSelectList ( ).getData ( );
|
||||
orgIdList = data.stream ().map (PmsTerminal::getId).collect(Collectors.toList());
|
||||
}else{
|
||||
orgIdList = primaryGridDataIntegrityParam.getDeviceId ();
|
||||
}
|
||||
primaryGridDataIntegrityParam.setDeviceId (orgIdList);
|
||||
|
||||
primaryGridDataService.primaryGridDataIntegrityHanlder (primaryGridDataIntegrityParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.njcn.prepare.harmonic.controller.area;
|
||||
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RStatAbnormalDPOService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
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;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/28 19:27【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "主网单位数据统计(r_stat_abnormal_d表数据)")
|
||||
@RestController
|
||||
@RequestMapping("AbnormalData")
|
||||
@RequiredArgsConstructor
|
||||
public class RStatAbnormalDDataHanlderController extends BaseController {
|
||||
|
||||
private @Autowired
|
||||
RStatAbnormalDPOService rStatAbnormalDPOService;
|
||||
|
||||
@ApiOperation("主网单位数据同步(r_stat_abnormal_d表数据)")
|
||||
@ApiImplicitParam(value = "primaryGridParam",name = "primaryGridParam",required = true)
|
||||
@PostMapping("(rStatAbnormalDDataHanlder")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> rStatAbnormalDDataHanlder(@RequestBody PrimaryGridParam primaryGridParam ){
|
||||
log.info(LocalDateTime.now()+"rStatAbnormalDDataHanlder开始执行");
|
||||
String methodDescribe = getMethodDescribe("rStatAbnormalDDataHanlder");
|
||||
Boolean result = true;
|
||||
List<String> orgIdList = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (primaryGridParam.getOrgIdList ())){
|
||||
/*todo 不知道是否需要补招*/
|
||||
//orgIdList = lineFeignClient.getLineList ( ).getData ( );
|
||||
}else{
|
||||
orgIdList = primaryGridParam.getOrgIdList ();
|
||||
}
|
||||
primaryGridParam.setOrgIdList (orgIdList);
|
||||
rStatAbnormalDPOService.rStatAbnormalDDataHanlder(primaryGridParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.AlarmDetailService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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 qijian
|
||||
* @date 2022/12/28
|
||||
* 监测点指标告警明细
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/alarmDetail")
|
||||
@Api(tags = "监测点指标告警明细")
|
||||
@AllArgsConstructor
|
||||
public class AlarmDetailController extends BaseController {
|
||||
|
||||
private final AlarmDetailService alarmDetailService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/alarmDetailAlarm")
|
||||
@ApiOperation("监测点指标告警日统计")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> alarmDetailAlarm(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("alarmDetailAlarm");
|
||||
boolean res = alarmDetailService.alarmDetailAlarm(lineParam);
|
||||
if(res){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DataExceptionService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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 qijian
|
||||
* @date 2022/10/26
|
||||
* 数据是否异常
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/dataException")
|
||||
@Api(tags = "数据是否异常")
|
||||
@AllArgsConstructor
|
||||
public class DataExceptionController extends BaseController {
|
||||
|
||||
private final DataExceptionService dataExceptionService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/lineDataException")
|
||||
@ApiOperation("监测点数据是否异常")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<String> lineDataException(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("lineDataException");
|
||||
DeviceResponseEnum deviceResponseEnum = dataExceptionService.lineDataException(lineParam);
|
||||
if(deviceResponseEnum != null){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deviceResponseEnum.getMessage(), methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "不存在数据异常!", methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DataIntegrityRateService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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 qijian
|
||||
* @date 2022/10/26
|
||||
* 数据完整率算法
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/dataIntegrityRate")
|
||||
@Api(tags = "数据完整率算法")
|
||||
@AllArgsConstructor
|
||||
public class DataIntegrityRateController extends BaseController {
|
||||
|
||||
private final DataIntegrityRateService dataIntegrityRateService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/lineDataIntegrityRate")
|
||||
@ApiOperation("监测点日数据完整率")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> lineDataIntegrityRate(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("lineDataIntegrityRate");
|
||||
boolean res = dataIntegrityRateService.lineDataIntegrityRate(lineParam);
|
||||
if(res){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ 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.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DistortionRateService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -13,12 +14,17 @@ import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
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;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author xiaoyao
|
||||
* @version 1.0.0
|
||||
@@ -32,6 +38,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
public class DistortionRateController extends BaseController {
|
||||
|
||||
private final DistortionRateService distortionRateService;
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/distortionRate")
|
||||
@@ -42,4 +49,25 @@ public class DistortionRateController extends BaseController {
|
||||
distortionRateService.distortionRate(lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/distortionRateBySource")
|
||||
@ApiOperation("谐波畸变率排名")
|
||||
@ApiImplicitParam(name = "lineParam", value = "参数", required = true)
|
||||
public HttpResult<String> distortionRateBySource(@RequestBody @Validated LineParam lineParam){
|
||||
log.info(LocalDateTime.now()+"distortionRateBySource开始执行");
|
||||
String methodDescribe = getMethodDescribe("distortionRateBySource");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (lineParam.getLineIds ())){
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
}else{
|
||||
indexLists = lineParam.getLineIds ();
|
||||
}
|
||||
lineParam.setLineIds (indexLists);
|
||||
|
||||
distortionRateService.distortionRateBySource (lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.PqsEventdetailHandlerService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
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;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 13:47【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "监测点暂态指标超标明细")
|
||||
@RestController
|
||||
@RequestMapping("/eventdetail")
|
||||
@RequiredArgsConstructor
|
||||
public class PqsEventdetailController extends BaseController {
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final PqsEventdetailHandlerService pqsEventdetailHandlerService;
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/eventdetailHandler")
|
||||
@ApiOperation("监测点暂态指标处理")
|
||||
@ApiImplicitParam(name = "lineParam", value = "参数", required = true)
|
||||
public HttpResult<String> eventdetailHandler(@RequestBody @Validated LineParam lineParam){
|
||||
log.info(LocalDateTime.now()+"eventdetailHandler始执行");
|
||||
String methodDescribe = getMethodDescribe("eventdetailHandler");
|
||||
List<String> indexLists = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (lineParam.getLineIds ())){
|
||||
indexLists = lineFeignClient.getLineList ( ).getData ( );
|
||||
}else{
|
||||
indexLists = lineParam.getLineIds ();
|
||||
}
|
||||
lineParam.setLineIds (indexLists);
|
||||
|
||||
pqsEventdetailHandlerService.eventdetailHandler (lineParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.njcn.prepare.harmonic.controller.line;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
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.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.SteadyIndexExceedService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
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 qijian
|
||||
* @date 2022/12/02
|
||||
* 监测点稳态指标超标明细
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/steadyIndexExceed")
|
||||
@Api(tags = "监测点稳态指标超标明细")
|
||||
@AllArgsConstructor
|
||||
public class SteadyIndexExceedController extends BaseController {
|
||||
|
||||
private final SteadyIndexExceedService steadyIndexExceedService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/isValueExceedID")
|
||||
@ApiOperation("日统计I、II、III类监测点是否超标限值")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> isValueExceedID(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("isValueExceedID");
|
||||
boolean res = steadyIndexExceedService.isValueExceedID(lineParam);
|
||||
if(res){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/isValueExceedIID")
|
||||
@ApiOperation("日统计I、II类监测点是否超标限值")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> isValueExceedIID(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("isValueExceedIID");
|
||||
boolean res = steadyIndexExceedService.isValueExceedIID(lineParam);
|
||||
if(res){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/isValueExceedIM")
|
||||
@ApiOperation("月统计I、II、III类监测点是否超标限值")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> isValueExceedIM(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("isValueExceedIM");
|
||||
boolean res = steadyIndexExceedService.isValueExceedIM(lineParam);
|
||||
if(res){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
|
||||
@PostMapping("/isValueExceedIIM")
|
||||
@ApiOperation("月统计I、II类监测点是否超标限值")
|
||||
@ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true)
|
||||
public HttpResult<Boolean> isValueExceedIIM(@RequestBody @Validated LineParam lineParam) {
|
||||
String methodDescribe = getMethodDescribe("isValueExceedIIM");
|
||||
boolean res = steadyIndexExceedService.isValueExceedIIM(lineParam);
|
||||
if(res){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 10:10【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface PmsMonitorPOMapper extends BaseMapper<PmsMonitorPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.PmsTerminalPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 10:11【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface PmsTerminalPOMapper extends BaseMapper<PmsTerminalPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqsEventdetailPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 13:46【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface PqsEventdetailMapper extends MppBaseMapper<PqsEventdetailPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/1 9:18【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpDevEvaluateDetailPOMapper extends MppBaseMapper<RMpDevEvaluateDetailPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpIntegrityDPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 14:33【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpIntegrityDPOMapper extends BaseMapper<RMpIntegrityDPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpTargetWarnDPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/15 11:00【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpTargetWarnDMapper extends MppBaseMapper<RMpTargetWarnDPO> {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexDPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 10:01【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface ROperatingIndexDPOMapper extends MppBaseMapper<ROperatingIndexDPO> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexMPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/30 13:59【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface ROperatingIndexMPOMapper extends MppBaseMapper<ROperatingIndexMPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexQPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/30 15:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface ROperatingIndexQPOMapper extends MppBaseMapper<ROperatingIndexQPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexYPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/30 15:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface ROperatingIndexYPOMapper extends MppBaseMapper<ROperatingIndexYPO> {
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RStatAbnormalDPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/28 19:31【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RStatAbnormalDPOMapper extends MppBaseMapper<RStatAbnormalDPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgDPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/13 15:39【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RStatOrgDMapper extends MppBaseMapper<RStatOrgDPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgMPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/14 16:17【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RStatOrgMMapper extends MppBaseMapper<RStatOrgMPO> {
|
||||
}
|
||||
@@ -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.prepare.harmonic.mapper.mysql.area.PqsEventdetailMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.prepare.harmonic.pojo.oracle.PqsEventdetailPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table PQS_EVENTDETAIL-->
|
||||
<id column="EVENTDETAIL_INDEX" jdbcType="VARCHAR" property="eventdetailIndex" />
|
||||
<result column="LINEID" jdbcType="DECIMAL" property="lineid" />
|
||||
<result column="TIMEID" jdbcType="TIMESTAMP" property="timeid" />
|
||||
<result column="MS" jdbcType="DECIMAL" property="ms" />
|
||||
<result column="DESCRIBE" jdbcType="VARCHAR" property="describe" />
|
||||
<result column="WAVETYPE" jdbcType="DECIMAL" property="wavetype" />
|
||||
<result column="PERSISTTIME" jdbcType="FLOAT" property="persisttime" />
|
||||
<result column="EVENTVALUE" jdbcType="FLOAT" property="eventvalue" />
|
||||
<result column="EVENTREASON" jdbcType="VARCHAR" property="eventreason" />
|
||||
<result column="EVENTTYPE" jdbcType="VARCHAR" property="eventtype" />
|
||||
<result column="EVENTASS_INDEX" jdbcType="VARCHAR" property="eventassIndex" />
|
||||
<result column="DQTIME" jdbcType="FLOAT" property="dqtime" />
|
||||
<result column="DEALTIME" jdbcType="TIMESTAMP" property="dealtime" />
|
||||
<result column="DEALFLAG" jdbcType="DECIMAL" property="dealflag" />
|
||||
<result column="NUM" jdbcType="DECIMAL" property="num" />
|
||||
<result column="FILEFLAG" jdbcType="DECIMAL" property="fileflag" />
|
||||
<result column="FIRSTTIME" jdbcType="TIMESTAMP" property="firsttime" />
|
||||
<result column="FIRSTTYPE" jdbcType="VARCHAR" property="firsttype" />
|
||||
<result column="FIRSTMS" jdbcType="DECIMAL" property="firstms" />
|
||||
<result column="WAVENAME" jdbcType="VARCHAR" property="wavename" />
|
||||
<result column="ENERGY" jdbcType="FLOAT" property="energy" />
|
||||
<result column="SEVERITY" jdbcType="FLOAT" property="severity" />
|
||||
<result column="SAGSOURCE" jdbcType="VARCHAR" property="sagsource" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
EVENTDETAIL_INDEX, LINEID, TIMEID, MS, "DESCRIBE", WAVETYPE, PERSISTTIME, EVENTVALUE,
|
||||
EVENTREASON, EVENTTYPE, EVENTASS_INDEX, DQTIME, DEALTIME, DEALFLAG, NUM, FILEFLAG,
|
||||
FIRSTTIME, FIRSTTYPE, FIRSTMS, WAVENAME, ENERGY, SEVERITY, SAGSOURCE
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.area.RMpDevEvaluateDetailPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_dev_evaluate_detail-->
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<id column="device_id" jdbcType="VARCHAR" property="deviceId" />
|
||||
<result column="dev_target_rate" jdbcType="FLOAT" property="devTargetRate" />
|
||||
<result column="dev_data_rate" jdbcType="FLOAT" property="devDataRate" />
|
||||
<result column="dev_score" jdbcType="FLOAT" property="devScore" />
|
||||
<result column="dev_effective_rate" jdbcType="FLOAT" property="devEffectiveRate" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
data_date, device_id, dev_target_rate, dev_data_rate, dev_score, dev_effective_rate
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.area.RMpTargetWarnDMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpTargetWarnDPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_target_warn_d-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="DATE" property="dataDate" />
|
||||
<result column="is_effective" jdbcType="TINYINT" property="isEffective" />
|
||||
<result column="is_harmonic" jdbcType="TINYINT" property="isHarmonic" />
|
||||
<result column="is_event" jdbcType="TINYINT" property="isEvent" />
|
||||
<result column="is_warn" jdbcType="TINYINT" property="isWarn" />
|
||||
<result column="is_v_dev_warn" jdbcType="TINYINT" property="isVDevWarn" />
|
||||
<result column="is_freq_warn" jdbcType="TINYINT" property="isFreqWarn" />
|
||||
<result column="is_unbalance_warn" jdbcType="TINYINT" property="isUnbalanceWarn" />
|
||||
<result column="is_v_warn" jdbcType="TINYINT" property="isVWarn" />
|
||||
<result column="is_flicker_warn" jdbcType="TINYINT" property="isFlickerWarn" />
|
||||
<result column="is_sag_warn" jdbcType="TINYINT" property="isSagWarn" />
|
||||
<result column="is_interrupt_warn" jdbcType="TINYINT" property="isInterruptWarn" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, is_effective, is_harmonic, is_event, is_warn, is_v_dev_warn,
|
||||
is_freq_warn, is_unbalance_warn, is_v_warn, is_flicker_warn, is_sag_warn, is_interrupt_warn
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.area.ROperatingIndexMPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.ROperatingIndexMPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_operating_index_m-->
|
||||
<id column="org_no" jdbcType="VARCHAR" property="orgNo" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="measurement_run_points" jdbcType="INTEGER" property="measurementRunPoints" />
|
||||
<result column="transit_measurement_points" jdbcType="INTEGER" property="transitMeasurementPoints" />
|
||||
<result column="effective_access_measurement_count" jdbcType="INTEGER" property="effectiveAccessMeasurementCount" />
|
||||
<result column="online_measurement_points" jdbcType="INTEGER" property="onlineMeasurementPoints" />
|
||||
<result column="online_measurement_count" jdbcType="INTEGER" property="onlineMeasurementCount" />
|
||||
<result column="should_count" jdbcType="INTEGER" property="shouldCount" />
|
||||
<result column="should_point_coverage" jdbcType="FLOAT" property="shouldPointCoverage" />
|
||||
<result column="data_integrity_rate" jdbcType="FLOAT" property="dataIntegrityRate" />
|
||||
<result column="data_right_rate" jdbcType="FLOAT" property="dataRightRate" />
|
||||
<result column="index_integrity_rate" jdbcType="FLOAT" property="indexIntegrityRate" />
|
||||
<result column="is_unusual" jdbcType="INTEGER" property="isUnusual" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
org_no, data_date, measurement_run_points, transit_measurement_points, effective_access_measurement_count,
|
||||
online_measurement_points, online_measurement_count, should_count, should_point_coverage,
|
||||
data_integrity_rate, data_right_rate, index_integrity_rate, is_unusual
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.area.ROperatingIndexQPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.ROperatingIndexQPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_operating_index_q-->
|
||||
<id column="org_no" jdbcType="VARCHAR" property="orgNo" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="measurement_run_points" jdbcType="INTEGER" property="measurementRunPoints" />
|
||||
<result column="transit_measurement_points" jdbcType="INTEGER" property="transitMeasurementPoints" />
|
||||
<result column="effective_access_measurement_count" jdbcType="INTEGER" property="effectiveAccessMeasurementCount" />
|
||||
<result column="online_measurement_points" jdbcType="INTEGER" property="onlineMeasurementPoints" />
|
||||
<result column="online_measurement_count" jdbcType="INTEGER" property="onlineMeasurementCount" />
|
||||
<result column="should_count" jdbcType="INTEGER" property="shouldCount" />
|
||||
<result column="should_point_coverage" jdbcType="FLOAT" property="shouldPointCoverage" />
|
||||
<result column="data_integrity_rate" jdbcType="FLOAT" property="dataIntegrityRate" />
|
||||
<result column="data_right_rate" jdbcType="FLOAT" property="dataRightRate" />
|
||||
<result column="index_integrity_rate" jdbcType="FLOAT" property="indexIntegrityRate" />
|
||||
<result column="is_unusual" jdbcType="INTEGER" property="isUnusual" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
org_no, data_date, measurement_run_points, transit_measurement_points, effective_access_measurement_count,
|
||||
online_measurement_points, online_measurement_count, should_count, should_point_coverage,
|
||||
data_integrity_rate, data_right_rate, index_integrity_rate, is_unusual
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.area.ROperatingIndexYPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.ROperatingIndexYPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_operating_index_y-->
|
||||
<id column="org_no" jdbcType="VARCHAR" property="orgNo" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="measurement_run_points" jdbcType="INTEGER" property="measurementRunPoints" />
|
||||
<result column="transit_measurement_points" jdbcType="INTEGER" property="transitMeasurementPoints" />
|
||||
<result column="effective_access_measurement_count" jdbcType="INTEGER" property="effectiveAccessMeasurementCount" />
|
||||
<result column="online_measurement_points" jdbcType="INTEGER" property="onlineMeasurementPoints" />
|
||||
<result column="online_measurement_count" jdbcType="INTEGER" property="onlineMeasurementCount" />
|
||||
<result column="should_count" jdbcType="INTEGER" property="shouldCount" />
|
||||
<result column="should_point_coverage" jdbcType="FLOAT" property="shouldPointCoverage" />
|
||||
<result column="data_integrity_rate" jdbcType="FLOAT" property="dataIntegrityRate" />
|
||||
<result column="data_right_rate" jdbcType="FLOAT" property="dataRightRate" />
|
||||
<result column="index_integrity_rate" jdbcType="FLOAT" property="indexIntegrityRate" />
|
||||
<result column="is_unusual" jdbcType="INTEGER" property="isUnusual" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
org_no, data_date, measurement_run_points, transit_measurement_points, effective_access_measurement_count,
|
||||
online_measurement_points, online_measurement_count, should_count, should_point_coverage,
|
||||
data_integrity_rate, data_right_rate, index_integrity_rate, is_unusual
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.area.RStatOrgDMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RStatOrgDPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_stat_org_d-->
|
||||
<id column="org_no" jdbcType="VARCHAR" property="orgNo" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<id column="measurement_type_class" jdbcType="VARCHAR" property="measurementTypeClass" />
|
||||
<id column="data_type" jdbcType="VARCHAR" property="dataType" />
|
||||
<result column="all_count" jdbcType="INTEGER" property="allCount" />
|
||||
<result column="effective_measurement" jdbcType="INTEGER" property="effectiveMeasurement" />
|
||||
<result column="harmonic_measurement" jdbcType="INTEGER" property="harmonicMeasurement" />
|
||||
<result column="event_measurement" jdbcType="INTEGER" property="eventMeasurement" />
|
||||
<result column="event_count" jdbcType="INTEGER" property="eventCount" />
|
||||
<result column="should_count" jdbcType="INTEGER" property="shouldCount" />
|
||||
<result column="warn_count" jdbcType="INTEGER" property="warnCount" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
org_no, data_date, measurement_type_class, data_type, all_count, effective_measurement,
|
||||
harmonic_measurement, event_measurement, event_count, should_count, warn_count
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -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.prepare.harmonic.mapper.mysql.area.RStatOrgMMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RStatOrgMPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_stat_org_m-->
|
||||
<id column="org_no" jdbcType="VARCHAR" property="orgNo" />
|
||||
<result column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="measurement_type_class" jdbcType="VARCHAR" property="measurementTypeClass" />
|
||||
<result column="all_count" jdbcType="INTEGER" property="allCount" />
|
||||
<result column="effective_measurement_average" jdbcType="INTEGER" property="effectiveMeasurementAverage" />
|
||||
<result column="effective_measurement_accrued" jdbcType="INTEGER" property="effectiveMeasurementAccrued" />
|
||||
<result column="harmonic_measurement_average" jdbcType="INTEGER" property="harmonicMeasurementAverage" />
|
||||
<result column="harmonic_measurement_accrued" jdbcType="INTEGER" property="harmonicMeasurementAccrued" />
|
||||
<result column="harmonic_measurement_ratio_average" jdbcType="FLOAT" property="harmonicMeasurementRatioAverage" />
|
||||
<result column="over_day_accrued" jdbcType="INTEGER" property="overDayAccrued" />
|
||||
<result column="freq_pass_rate" jdbcType="FLOAT" property="freqPassRate" />
|
||||
<result column="v_dev_pass_rate" jdbcType="FLOAT" property="vDevPassRate" />
|
||||
<result column="flicker_pass_rate" jdbcType="FLOAT" property="flickerPassRate" />
|
||||
<result column="event_measurement_average" jdbcType="INTEGER" property="eventMeasurementAverage" />
|
||||
<result column="event_measurement_accrued" jdbcType="INTEGER" property="eventMeasurementAccrued" />
|
||||
<result column="event_measurement_ratio_average" jdbcType="FLOAT" property="eventMeasurementRatioAverage" />
|
||||
<result column="event_freq" jdbcType="FLOAT" property="eventFreq" />
|
||||
<result column="event_count" jdbcType="INTEGER" property="eventCount" />
|
||||
<result column="should_count" jdbcType="INTEGER" property="shouldCount" />
|
||||
<result column="warn_count" jdbcType="INTEGER" property="warnCount" />
|
||||
<result column="data_type" jdbcType="VARCHAR" property="dataType" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
org_no, data_date, measurement_type_class, all_count, effective_measurement_average,
|
||||
effective_measurement_accrued, harmonic_measurement_average, harmonic_measurement_accrued,
|
||||
harmonic_measurement_ratio_average, over_day_accrued, freq_pass_rate, v_dev_pass_rate,
|
||||
flicker_pass_rate, event_measurement_average, event_measurement_accrued, event_measurement_ratio_average,
|
||||
event_freq, event_count, should_count, warn_count, data_type
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
||||
|
||||
/**
|
||||
* PmsAbnormalRulesMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @date 2022/10/26
|
||||
*/
|
||||
public interface PmsAbnormalRulesMapper extends BaseMapper<PmsAbnormalRules> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpEventDetailDMapper extends MppBaseMapper<RMpEventDetailDPO> {
|
||||
|
||||
int getSagTimes(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
|
||||
int getInterruptTimes(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailMPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpEventDetailMMapper extends MppBaseMapper<RMpEventDetailMPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailQPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpEventDetailQMapper extends MppBaseMapper<RMpEventDetailQPO> {
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailYPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface RMpEventDetailYMapper extends MppBaseMapper<RMpEventDetailYPO> {
|
||||
}
|
||||
@@ -2,6 +2,9 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpHarmonicVRateReportD;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -13,4 +16,7 @@ import com.njcn.harmonic.pojo.po.RMpHarmonicVRateReportD;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RMpHarmonicVRateReportDPOMapper extends MppBaseMapper<RMpHarmonicVRateReportD> {
|
||||
|
||||
double getMaxVoltageHarmonicThd95(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pq.pojo.po.RMpIntegrityD;
|
||||
|
||||
/**
|
||||
* RMpIntegrityDMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @date 2022/10/26
|
||||
*/
|
||||
public interface RMpIntegrityDMapper extends BaseMapper<RMpIntegrityD> {
|
||||
|
||||
}
|
||||
@@ -2,9 +2,12 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpMeasurePhaseReportD;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/10/28 10:53【需求编号】
|
||||
@@ -13,4 +16,6 @@ import com.njcn.harmonic.pojo.po.RMpMeasurePhaseReportD;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RMpMeasurePhaseReportDPOMapper extends MppBaseMapper<RMpMeasurePhaseReportD> {
|
||||
|
||||
double getMaxVDeUp(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
}
|
||||
@@ -2,6 +2,9 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpMeasureReportD;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -13,4 +16,8 @@ import com.njcn.harmonic.pojo.po.RMpMeasureReportD;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RMpMeasureReportDPOMapper extends MppBaseMapper<RMpMeasureReportD> {
|
||||
|
||||
double getMaxFrequencyDeviation(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
|
||||
double getMaxUnbalance95(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD;
|
||||
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* RMpPartHarmonicDetailDMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/12/5 - 15:21
|
||||
*/
|
||||
public interface RMpPartHarmonicDetailDMapper extends BaseMapper<RMpPartHarmonicDetailD> {
|
||||
|
||||
RMpPartHarmonicDetailM getPartSumByData(@Param("lineId") String lineId, @Param("startTime") LocalDate startTime, @Param("endTime") LocalDate endTime);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM;
|
||||
|
||||
/**
|
||||
* RMpPartHarmonicDetailMMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/12/12 - 15:21
|
||||
*/
|
||||
public interface RMpPartHarmonicDetailMMapper extends BaseMapper<RMpPartHarmonicDetailM> {
|
||||
|
||||
}
|
||||
@@ -2,6 +2,9 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPltReportDPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -13,4 +16,7 @@ import com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPltReportDPO;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RMpPltReportDPOMapper extends MppBaseMapper<RMpPltReportDPO> {
|
||||
|
||||
double getMaxFlashing(@Param("lineId") String lineId, @Param("date") LocalDate date);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailD;
|
||||
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* RMpSurplusHarmonicDetailDMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/12/8 - 15:21
|
||||
*/
|
||||
public interface RMpSurplusHarmonicDetailDMapper extends BaseMapper<RMpSurplusHarmonicDetailD> {
|
||||
|
||||
RMpSurplusHarmonicDetailM getSurplusSumByData(@Param("lineId") String lineId, @Param("startTime") LocalDate startTime, @Param("endTime") LocalDate endTime);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM;
|
||||
|
||||
/**
|
||||
* RMpSurplusHarmonicDetailMMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/12/12 - 15:21
|
||||
*/
|
||||
public interface RMpSurplusHarmonicDetailMMapper extends BaseMapper<RMpSurplusHarmonicDetailM> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.prepare.harmonic.mapper.mysql.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.device.pq.pojo.po.RStatAbnormalD;
|
||||
|
||||
/**
|
||||
* RStatAbnormalDMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @date 2022/10/26
|
||||
*/
|
||||
public interface RStatAbnormalDMapper extends BaseMapper<RStatAbnormalD> {
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.line.ExcelRptTempMapper">
|
||||
|
||||
<select id="getActiveTempList" resultType="com.njcn.prepare.harmonic.pojo.po.ExcelRptTemp">
|
||||
<select id="getActiveTempList" resultType="com.njcn.harmonic.pojo.po.ExcelRptTemp">
|
||||
SELECT
|
||||
DISTINCT t1.*
|
||||
FROM
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper">
|
||||
|
||||
<select id="getSagTimes" resultType="int">
|
||||
SELECT
|
||||
IFNULL( MAX( sag_times ), 0 )
|
||||
FROM
|
||||
`r_mp_event_detail_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND DATE_FORMAT(data_date, '%Y-%m-%d') = #{date}]]>
|
||||
</select>
|
||||
|
||||
<select id="getInterruptTimes" resultType="int">
|
||||
SELECT
|
||||
IFNULL( MAX( interrupt_times ), 0 )
|
||||
FROM
|
||||
`r_mp_event_detail_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND DATE_FORMAT(data_date, '%Y-%m-%d') = #{date}]]>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpEventDetailMMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpEventDetailMPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_event_detail_m-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="swell_times" jdbcType="INTEGER" property="swellTimes" />
|
||||
<result column="sag_times" jdbcType="INTEGER" property="sagTimes" />
|
||||
<result column="interrupt_times" jdbcType="INTEGER" property="interruptTimes" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, swell_times, sag_times, interrupt_times
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpEventDetailQMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpEventDetailQPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_event_detail_q-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="swell_times" jdbcType="INTEGER" property="swellTimes" />
|
||||
<result column="sag_times" jdbcType="INTEGER" property="sagTimes" />
|
||||
<result column="interrupt_times" jdbcType="INTEGER" property="interruptTimes" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, swell_times, sag_times, interrupt_times
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpEventDetailYMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpEventDetailYPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_event_detail_y-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="swell_times" jdbcType="INTEGER" property="swellTimes" />
|
||||
<result column="sag_times" jdbcType="INTEGER" property="sagTimes" />
|
||||
<result column="interrupt_times" jdbcType="INTEGER" property="interruptTimes" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, swell_times, sag_times, interrupt_times
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -1,286 +1,16 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpHarmonicVRateReportDPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpHarmonicVRateReportD">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_harmonic_v_rate_report_d-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="DATE" property="dataDate" />
|
||||
<id column="phase" jdbcType="VARCHAR" property="phase" />
|
||||
<result column="voltage_harmonic_thd_max" jdbcType="FLOAT" property="voltageHarmonicThdMax" />
|
||||
<result column="voltage_harmonic_thd_min" jdbcType="FLOAT" property="voltageHarmonicThdMin" />
|
||||
<result column="voltage_harmonic_thd_avg" jdbcType="FLOAT" property="voltageHarmonicThdAvg" />
|
||||
<result column="voltage_harmonic_thd_95" jdbcType="FLOAT" property="voltageHarmonicThd95" />
|
||||
<result column="fundamental_voltage_max" jdbcType="FLOAT" property="fundamentalVoltageMax" />
|
||||
<result column="fundamental_voltage_min" jdbcType="FLOAT" property="fundamentalVoltageMin" />
|
||||
<result column="fundamental_voltage_avg" jdbcType="FLOAT" property="fundamentalVoltageAvg" />
|
||||
<result column="fundamental_voltage_95" jdbcType="FLOAT" property="fundamentalVoltage95" />
|
||||
<result column="harmonic_voltage_content_2_max" jdbcType="FLOAT" property="harmonicVoltageContent2Max" />
|
||||
<result column="harmonic_voltage_content_2_min" jdbcType="FLOAT" property="harmonicVoltageContent2Min" />
|
||||
<result column="harmonic_voltage_content_2_avg" jdbcType="FLOAT" property="harmonicVoltageContent2Avg" />
|
||||
<result column="harmonic_voltage_content_2_95" jdbcType="FLOAT" property="harmonicVoltageContent295" />
|
||||
<result column="harmonic_voltage_content_3_max" jdbcType="FLOAT" property="harmonicVoltageContent3Max" />
|
||||
<result column="harmonic_voltage_content_3_min" jdbcType="FLOAT" property="harmonicVoltageContent3Min" />
|
||||
<result column="harmonic_voltage_content_3_avg" jdbcType="FLOAT" property="harmonicVoltageContent3Avg" />
|
||||
<result column="harmonic_voltage_content_3_95" jdbcType="FLOAT" property="harmonicVoltageContent395" />
|
||||
<result column="harmonic_voltage_content_4_max" jdbcType="FLOAT" property="harmonicVoltageContent4Max" />
|
||||
<result column="harmonic_voltage_content_4_min" jdbcType="FLOAT" property="harmonicVoltageContent4Min" />
|
||||
<result column="harmonic_voltage_content_4_avg" jdbcType="FLOAT" property="harmonicVoltageContent4Avg" />
|
||||
<result column="harmonic_voltage_content_4_95" jdbcType="FLOAT" property="harmonicVoltageContent495" />
|
||||
<result column="harmonic_voltage_content_5_max" jdbcType="FLOAT" property="harmonicVoltageContent5Max" />
|
||||
<result column="harmonic_voltage_content_5_min" jdbcType="FLOAT" property="harmonicVoltageContent5Min" />
|
||||
<result column="harmonic_voltage_content_5_avg" jdbcType="FLOAT" property="harmonicVoltageContent5Avg" />
|
||||
<result column="harmonic_voltage_content_5_95" jdbcType="FLOAT" property="harmonicVoltageContent595" />
|
||||
<result column="harmonic_voltage_content_6_max" jdbcType="FLOAT" property="harmonicVoltageContent6Max" />
|
||||
<result column="harmonic_voltage_content_6_min" jdbcType="FLOAT" property="harmonicVoltageContent6Min" />
|
||||
<result column="harmonic_voltage_content_6_avg" jdbcType="FLOAT" property="harmonicVoltageContent6Avg" />
|
||||
<result column="harmonic_voltage_content_6_95" jdbcType="FLOAT" property="harmonicVoltageContent695" />
|
||||
<result column="harmonic_voltage_content_7_max" jdbcType="FLOAT" property="harmonicVoltageContent7Max" />
|
||||
<result column="harmonic_voltage_content_7_min" jdbcType="FLOAT" property="harmonicVoltageContent7Min" />
|
||||
<result column="harmonic_voltage_content_7_avg" jdbcType="FLOAT" property="harmonicVoltageContent7Avg" />
|
||||
<result column="harmonic_voltage_content_7_95" jdbcType="FLOAT" property="harmonicVoltageContent795" />
|
||||
<result column="harmonic_voltage_content_8_max" jdbcType="FLOAT" property="harmonicVoltageContent8Max" />
|
||||
<result column="harmonic_voltage_content_8_min" jdbcType="FLOAT" property="harmonicVoltageContent8Min" />
|
||||
<result column="harmonic_voltage_content_8_avg" jdbcType="FLOAT" property="harmonicVoltageContent8Avg" />
|
||||
<result column="harmonic_voltage_content_8_95" jdbcType="FLOAT" property="harmonicVoltageContent895" />
|
||||
<result column="harmonic_voltage_content_9_max" jdbcType="FLOAT" property="harmonicVoltageContent9Max" />
|
||||
<result column="harmonic_voltage_content_9_min" jdbcType="FLOAT" property="harmonicVoltageContent9Min" />
|
||||
<result column="harmonic_voltage_content_9_avg" jdbcType="FLOAT" property="harmonicVoltageContent9Avg" />
|
||||
<result column="harmonic_voltage_content_9_95" jdbcType="FLOAT" property="harmonicVoltageContent995" />
|
||||
<result column="harmonic_voltage_content_10_max" jdbcType="FLOAT" property="harmonicVoltageContent10Max" />
|
||||
<result column="harmonic_voltage_content_10_min" jdbcType="FLOAT" property="harmonicVoltageContent10Min" />
|
||||
<result column="harmonic_voltage_content_10_avg" jdbcType="FLOAT" property="harmonicVoltageContent10Avg" />
|
||||
<result column="harmonic_voltage_content_10_95" jdbcType="FLOAT" property="harmonicVoltageContent1095" />
|
||||
<result column="harmonic_voltage_content_11_max" jdbcType="FLOAT" property="harmonicVoltageContent11Max" />
|
||||
<result column="harmonic_voltage_content_11_min" jdbcType="FLOAT" property="harmonicVoltageContent11Min" />
|
||||
<result column="harmonic_voltage_content_11_avg" jdbcType="FLOAT" property="harmonicVoltageContent11Avg" />
|
||||
<result column="harmonic_voltage_content_11_95" jdbcType="FLOAT" property="harmonicVoltageContent1195" />
|
||||
<result column="harmonic_voltage_content_12_max" jdbcType="FLOAT" property="harmonicVoltageContent12Max" />
|
||||
<result column="harmonic_voltage_content_12_min" jdbcType="FLOAT" property="harmonicVoltageContent12Min" />
|
||||
<result column="harmonic_voltage_content_12_avg" jdbcType="FLOAT" property="harmonicVoltageContent12Avg" />
|
||||
<result column="harmonic_voltage_content_12_95" jdbcType="FLOAT" property="harmonicVoltageContent1295" />
|
||||
<result column="harmonic_voltage_content_13_max" jdbcType="FLOAT" property="harmonicVoltageContent13Max" />
|
||||
<result column="harmonic_voltage_content_13_min" jdbcType="FLOAT" property="harmonicVoltageContent13Min" />
|
||||
<result column="harmonic_voltage_content_13_avg" jdbcType="FLOAT" property="harmonicVoltageContent13Avg" />
|
||||
<result column="harmonic_voltage_content_13_95" jdbcType="FLOAT" property="harmonicVoltageContent1395" />
|
||||
<result column="harmonic_voltage_content_14_max" jdbcType="FLOAT" property="harmonicVoltageContent14Max" />
|
||||
<result column="harmonic_voltage_content_14_min" jdbcType="FLOAT" property="harmonicVoltageContent14Min" />
|
||||
<result column="harmonic_voltage_content_14_avg" jdbcType="FLOAT" property="harmonicVoltageContent14Avg" />
|
||||
<result column="harmonic_voltage_content_14_95" jdbcType="FLOAT" property="harmonicVoltageContent1495" />
|
||||
<result column="harmonic_voltage_content_15_max" jdbcType="FLOAT" property="harmonicVoltageContent15Max" />
|
||||
<result column="harmonic_voltage_content_15_min" jdbcType="FLOAT" property="harmonicVoltageContent15Min" />
|
||||
<result column="harmonic_voltage_content_15_avg" jdbcType="FLOAT" property="harmonicVoltageContent15Avg" />
|
||||
<result column="harmonic_voltage_content_15_95" jdbcType="FLOAT" property="harmonicVoltageContent1595" />
|
||||
<result column="harmonic_voltage_content_16_max" jdbcType="FLOAT" property="harmonicVoltageContent16Max" />
|
||||
<result column="harmonic_voltage_content_16_min" jdbcType="FLOAT" property="harmonicVoltageContent16Min" />
|
||||
<result column="harmonic_voltage_content_16_avg" jdbcType="FLOAT" property="harmonicVoltageContent16Avg" />
|
||||
<result column="harmonic_voltage_content_16_95" jdbcType="FLOAT" property="harmonicVoltageContent1695" />
|
||||
<result column="harmonic_voltage_content_17_max" jdbcType="FLOAT" property="harmonicVoltageContent17Max" />
|
||||
<result column="harmonic_voltage_content_17_min" jdbcType="FLOAT" property="harmonicVoltageContent17Min" />
|
||||
<result column="harmonic_voltage_content_17_avg" jdbcType="FLOAT" property="harmonicVoltageContent17Avg" />
|
||||
<result column="harmonic_voltage_content_17_95" jdbcType="FLOAT" property="harmonicVoltageContent1795" />
|
||||
<result column="harmonic_voltage_content_18_max" jdbcType="FLOAT" property="harmonicVoltageContent18Max" />
|
||||
<result column="harmonic_voltage_content_18_min" jdbcType="FLOAT" property="harmonicVoltageContent18Min" />
|
||||
<result column="harmonic_voltage_content_18_avg" jdbcType="FLOAT" property="harmonicVoltageContent18Avg" />
|
||||
<result column="harmonic_voltage_content_18_95" jdbcType="FLOAT" property="harmonicVoltageContent1895" />
|
||||
<result column="harmonic_voltage_content_19_max" jdbcType="FLOAT" property="harmonicVoltageContent19Max" />
|
||||
<result column="harmonic_voltage_content_19_min" jdbcType="FLOAT" property="harmonicVoltageContent19Min" />
|
||||
<result column="harmonic_voltage_content_19_avg" jdbcType="FLOAT" property="harmonicVoltageContent19Avg" />
|
||||
<result column="harmonic_voltage_content_19_95" jdbcType="FLOAT" property="harmonicVoltageContent1995" />
|
||||
<result column="harmonic_voltage_content_20_max" jdbcType="FLOAT" property="harmonicVoltageContent20Max" />
|
||||
<result column="harmonic_voltage_content_20_min" jdbcType="FLOAT" property="harmonicVoltageContent20Min" />
|
||||
<result column="harmonic_voltage_content_20_avg" jdbcType="FLOAT" property="harmonicVoltageContent20Avg" />
|
||||
<result column="harmonic_voltage_content_20_95" jdbcType="FLOAT" property="harmonicVoltageContent2095" />
|
||||
<result column="harmonic_voltage_content_21_max" jdbcType="FLOAT" property="harmonicVoltageContent21Max" />
|
||||
<result column="harmonic_voltage_content_21_min" jdbcType="FLOAT" property="harmonicVoltageContent21Min" />
|
||||
<result column="harmonic_voltage_content_21_avg" jdbcType="FLOAT" property="harmonicVoltageContent21Avg" />
|
||||
<result column="harmonic_voltage_content_21_95" jdbcType="FLOAT" property="harmonicVoltageContent2195" />
|
||||
<result column="harmonic_voltage_content_22_max" jdbcType="FLOAT" property="harmonicVoltageContent22Max" />
|
||||
<result column="harmonic_voltage_content_22_min" jdbcType="FLOAT" property="harmonicVoltageContent22Min" />
|
||||
<result column="harmonic_voltage_content_22_avg" jdbcType="FLOAT" property="harmonicVoltageContent22Avg" />
|
||||
<result column="harmonic_voltage_content_22_95" jdbcType="FLOAT" property="harmonicVoltageContent2295" />
|
||||
<result column="harmonic_voltage_content_23_max" jdbcType="FLOAT" property="harmonicVoltageContent23Max" />
|
||||
<result column="harmonic_voltage_content_23_min" jdbcType="FLOAT" property="harmonicVoltageContent23Min" />
|
||||
<result column="harmonic_voltage_content_23_avg" jdbcType="FLOAT" property="harmonicVoltageContent23Avg" />
|
||||
<result column="harmonic_voltage_content_23_95" jdbcType="FLOAT" property="harmonicVoltageContent2395" />
|
||||
<result column="harmonic_voltage_content_24_max" jdbcType="FLOAT" property="harmonicVoltageContent24Max" />
|
||||
<result column="harmonic_voltage_content_24_min" jdbcType="FLOAT" property="harmonicVoltageContent24Min" />
|
||||
<result column="harmonic_voltage_content_24_avg" jdbcType="FLOAT" property="harmonicVoltageContent24Avg" />
|
||||
<result column="harmonic_voltage_content_24_95" jdbcType="FLOAT" property="harmonicVoltageContent2495" />
|
||||
<result column="harmonic_voltage_content_25_max" jdbcType="FLOAT" property="harmonicVoltageContent25Max" />
|
||||
<result column="harmonic_voltage_content_25_min" jdbcType="FLOAT" property="harmonicVoltageContent25Min" />
|
||||
<result column="harmonic_voltage_content_25_avg" jdbcType="FLOAT" property="harmonicVoltageContent25Avg" />
|
||||
<result column="harmonic_voltage_content_25_95" jdbcType="FLOAT" property="harmonicVoltageContent2595" />
|
||||
<result column="harmonic_voltage_content_26_max" jdbcType="FLOAT" property="harmonicVoltageContent26Max" />
|
||||
<result column="harmonic_voltage_content_26_min" jdbcType="FLOAT" property="harmonicVoltageContent26Min" />
|
||||
<result column="harmonic_voltage_content_26_avg" jdbcType="FLOAT" property="harmonicVoltageContent26Avg" />
|
||||
<result column="harmonic_voltage_content_26_95" jdbcType="FLOAT" property="harmonicVoltageContent2695" />
|
||||
<result column="harmonic_voltage_content_27_max" jdbcType="FLOAT" property="harmonicVoltageContent27Max" />
|
||||
<result column="harmonic_voltage_content_27_min" jdbcType="FLOAT" property="harmonicVoltageContent27Min" />
|
||||
<result column="harmonic_voltage_content_27_avg" jdbcType="FLOAT" property="harmonicVoltageContent27Avg" />
|
||||
<result column="harmonic_voltage_content_27_95" jdbcType="FLOAT" property="harmonicVoltageContent2795" />
|
||||
<result column="harmonic_voltage_content_28_max" jdbcType="FLOAT" property="harmonicVoltageContent28Max" />
|
||||
<result column="harmonic_voltage_content_28_min" jdbcType="FLOAT" property="harmonicVoltageContent28Min" />
|
||||
<result column="harmonic_voltage_content_28_avg" jdbcType="FLOAT" property="harmonicVoltageContent28Avg" />
|
||||
<result column="harmonic_voltage_content_28_95" jdbcType="FLOAT" property="harmonicVoltageContent2895" />
|
||||
<result column="harmonic_voltage_content_29_max" jdbcType="FLOAT" property="harmonicVoltageContent29Max" />
|
||||
<result column="harmonic_voltage_content_29_min" jdbcType="FLOAT" property="harmonicVoltageContent29Min" />
|
||||
<result column="harmonic_voltage_content_29_avg" jdbcType="FLOAT" property="harmonicVoltageContent29Avg" />
|
||||
<result column="harmonic_voltage_content_29_95" jdbcType="FLOAT" property="harmonicVoltageContent2995" />
|
||||
<result column="harmonic_voltage_content_30_max" jdbcType="FLOAT" property="harmonicVoltageContent30Max" />
|
||||
<result column="harmonic_voltage_content_30_min" jdbcType="FLOAT" property="harmonicVoltageContent30Min" />
|
||||
<result column="harmonic_voltage_content_30_avg" jdbcType="FLOAT" property="harmonicVoltageContent30Avg" />
|
||||
<result column="harmonic_voltage_content_30_95" jdbcType="FLOAT" property="harmonicVoltageContent3095" />
|
||||
<result column="harmonic_voltage_content_31_max" jdbcType="FLOAT" property="harmonicVoltageContent31Max" />
|
||||
<result column="harmonic_voltage_content_31_min" jdbcType="FLOAT" property="harmonicVoltageContent31Min" />
|
||||
<result column="harmonic_voltage_content_31_avg" jdbcType="FLOAT" property="harmonicVoltageContent31Avg" />
|
||||
<result column="harmonic_voltage_content_31_95" jdbcType="FLOAT" property="harmonicVoltageContent3195" />
|
||||
<result column="harmonic_voltage_content_32_max" jdbcType="FLOAT" property="harmonicVoltageContent32Max" />
|
||||
<result column="harmonic_voltage_content_32_min" jdbcType="FLOAT" property="harmonicVoltageContent32Min" />
|
||||
<result column="harmonic_voltage_content_32_avg" jdbcType="FLOAT" property="harmonicVoltageContent32Avg" />
|
||||
<result column="harmonic_voltage_content_32_95" jdbcType="FLOAT" property="harmonicVoltageContent3295" />
|
||||
<result column="harmonic_voltage_content_33_max" jdbcType="FLOAT" property="harmonicVoltageContent33Max" />
|
||||
<result column="harmonic_voltage_content_33_min" jdbcType="FLOAT" property="harmonicVoltageContent33Min" />
|
||||
<result column="harmonic_voltage_content_33_avg" jdbcType="FLOAT" property="harmonicVoltageContent33Avg" />
|
||||
<result column="harmonic_voltage_content_33_95" jdbcType="FLOAT" property="harmonicVoltageContent3395" />
|
||||
<result column="harmonic_voltage_content_34_max" jdbcType="FLOAT" property="harmonicVoltageContent34Max" />
|
||||
<result column="harmonic_voltage_content_34_min" jdbcType="FLOAT" property="harmonicVoltageContent34Min" />
|
||||
<result column="harmonic_voltage_content_34_avg" jdbcType="FLOAT" property="harmonicVoltageContent34Avg" />
|
||||
<result column="harmonic_voltage_content_34_95" jdbcType="FLOAT" property="harmonicVoltageContent3495" />
|
||||
<result column="harmonic_voltage_content_35_max" jdbcType="FLOAT" property="harmonicVoltageContent35Max" />
|
||||
<result column="harmonic_voltage_content_35_min" jdbcType="FLOAT" property="harmonicVoltageContent35Min" />
|
||||
<result column="harmonic_voltage_content_35_avg" jdbcType="FLOAT" property="harmonicVoltageContent35Avg" />
|
||||
<result column="harmonic_voltage_content_35_95" jdbcType="FLOAT" property="harmonicVoltageContent3595" />
|
||||
<result column="harmonic_voltage_content_36_max" jdbcType="FLOAT" property="harmonicVoltageContent36Max" />
|
||||
<result column="harmonic_voltage_content_36_min" jdbcType="FLOAT" property="harmonicVoltageContent36Min" />
|
||||
<result column="harmonic_voltage_content_36_avg" jdbcType="FLOAT" property="harmonicVoltageContent36Avg" />
|
||||
<result column="harmonic_voltage_content_36_95" jdbcType="FLOAT" property="harmonicVoltageContent3695" />
|
||||
<result column="harmonic_voltage_content_37_max" jdbcType="FLOAT" property="harmonicVoltageContent37Max" />
|
||||
<result column="harmonic_voltage_content_37_min" jdbcType="FLOAT" property="harmonicVoltageContent37Min" />
|
||||
<result column="harmonic_voltage_content_37_avg" jdbcType="FLOAT" property="harmonicVoltageContent37Avg" />
|
||||
<result column="harmonic_voltage_content_37_95" jdbcType="FLOAT" property="harmonicVoltageContent3795" />
|
||||
<result column="harmonic_voltage_content_38_max" jdbcType="FLOAT" property="harmonicVoltageContent38Max" />
|
||||
<result column="harmonic_voltage_content_38_min" jdbcType="FLOAT" property="harmonicVoltageContent38Min" />
|
||||
<result column="harmonic_voltage_content_38_avg" jdbcType="FLOAT" property="harmonicVoltageContent38Avg" />
|
||||
<result column="harmonic_voltage_content_38_95" jdbcType="FLOAT" property="harmonicVoltageContent3895" />
|
||||
<result column="harmonic_voltage_content_39_max" jdbcType="FLOAT" property="harmonicVoltageContent39Max" />
|
||||
<result column="harmonic_voltage_content_39_min" jdbcType="FLOAT" property="harmonicVoltageContent39Min" />
|
||||
<result column="harmonic_voltage_content_39_avg" jdbcType="FLOAT" property="harmonicVoltageContent39Avg" />
|
||||
<result column="harmonic_voltage_content_39_95" jdbcType="FLOAT" property="harmonicVoltageContent3995" />
|
||||
<result column="harmonic_voltage_content_40_max" jdbcType="FLOAT" property="harmonicVoltageContent40Max" />
|
||||
<result column="harmonic_voltage_content_40_min" jdbcType="FLOAT" property="harmonicVoltageContent40Min" />
|
||||
<result column="harmonic_voltage_content_40_avg" jdbcType="FLOAT" property="harmonicVoltageContent40Avg" />
|
||||
<result column="harmonic_voltage_content_40_95" jdbcType="FLOAT" property="harmonicVoltageContent4095" />
|
||||
<result column="harmonic_voltage_content_41_max" jdbcType="FLOAT" property="harmonicVoltageContent41Max" />
|
||||
<result column="harmonic_voltage_content_41_min" jdbcType="FLOAT" property="harmonicVoltageContent41Min" />
|
||||
<result column="harmonic_voltage_content_41_avg" jdbcType="FLOAT" property="harmonicVoltageContent41Avg" />
|
||||
<result column="harmonic_voltage_content_41_95" jdbcType="FLOAT" property="harmonicVoltageContent4195" />
|
||||
<result column="harmonic_voltage_content_42_max" jdbcType="FLOAT" property="harmonicVoltageContent42Max" />
|
||||
<result column="harmonic_voltage_content_42_min" jdbcType="FLOAT" property="harmonicVoltageContent42Min" />
|
||||
<result column="harmonic_voltage_content_42_avg" jdbcType="FLOAT" property="harmonicVoltageContent42Avg" />
|
||||
<result column="harmonic_voltage_content_42_95" jdbcType="FLOAT" property="harmonicVoltageContent4295" />
|
||||
<result column="harmonic_voltage_content_43_max" jdbcType="FLOAT" property="harmonicVoltageContent43Max" />
|
||||
<result column="harmonic_voltage_content_43_min" jdbcType="FLOAT" property="harmonicVoltageContent43Min" />
|
||||
<result column="harmonic_voltage_content_43_avg" jdbcType="FLOAT" property="harmonicVoltageContent43Avg" />
|
||||
<result column="harmonic_voltage_content_43_95" jdbcType="FLOAT" property="harmonicVoltageContent4395" />
|
||||
<result column="harmonic_voltage_content_44_max" jdbcType="FLOAT" property="harmonicVoltageContent44Max" />
|
||||
<result column="harmonic_voltage_content_44_min" jdbcType="FLOAT" property="harmonicVoltageContent44Min" />
|
||||
<result column="harmonic_voltage_content_44_avg" jdbcType="FLOAT" property="harmonicVoltageContent44Avg" />
|
||||
<result column="harmonic_voltage_content_44_95" jdbcType="FLOAT" property="harmonicVoltageContent4495" />
|
||||
<result column="harmonic_voltage_content_45_max" jdbcType="FLOAT" property="harmonicVoltageContent45Max" />
|
||||
<result column="harmonic_voltage_content_45_min" jdbcType="FLOAT" property="harmonicVoltageContent45Min" />
|
||||
<result column="harmonic_voltage_content_45_avg" jdbcType="FLOAT" property="harmonicVoltageContent45Avg" />
|
||||
<result column="harmonic_voltage_content_45_95" jdbcType="FLOAT" property="harmonicVoltageContent4595" />
|
||||
<result column="harmonic_voltage_content_46_max" jdbcType="FLOAT" property="harmonicVoltageContent46Max" />
|
||||
<result column="harmonic_voltage_content_46_min" jdbcType="FLOAT" property="harmonicVoltageContent46Min" />
|
||||
<result column="harmonic_voltage_content_46_avg" jdbcType="FLOAT" property="harmonicVoltageContent46Avg" />
|
||||
<result column="harmonic_voltage_content_46_95" jdbcType="FLOAT" property="harmonicVoltageContent4695" />
|
||||
<result column="harmonic_voltage_content_47_max" jdbcType="FLOAT" property="harmonicVoltageContent47Max" />
|
||||
<result column="harmonic_voltage_content_47_min" jdbcType="FLOAT" property="harmonicVoltageContent47Min" />
|
||||
<result column="harmonic_voltage_content_47_avg" jdbcType="FLOAT" property="harmonicVoltageContent47Avg" />
|
||||
<result column="harmonic_voltage_content_47_95" jdbcType="FLOAT" property="harmonicVoltageContent4795" />
|
||||
<result column="harmonic_voltage_content_48_max" jdbcType="FLOAT" property="harmonicVoltageContent48Max" />
|
||||
<result column="harmonic_voltage_content_48_min" jdbcType="FLOAT" property="harmonicVoltageContent48Min" />
|
||||
<result column="harmonic_voltage_content_48_avg" jdbcType="FLOAT" property="harmonicVoltageContent48Avg" />
|
||||
<result column="harmonic_voltage_content_48_95" jdbcType="FLOAT" property="harmonicVoltageContent4895" />
|
||||
<result column="harmonic_voltage_content_49_max" jdbcType="FLOAT" property="harmonicVoltageContent49Max" />
|
||||
<result column="harmonic_voltage_content_49_min" jdbcType="FLOAT" property="harmonicVoltageContent49Min" />
|
||||
<result column="harmonic_voltage_content_49_avg" jdbcType="FLOAT" property="harmonicVoltageContent49Avg" />
|
||||
<result column="harmonic_voltage_content_49_95" jdbcType="FLOAT" property="harmonicVoltageContent4995" />
|
||||
<result column="harmonic_voltage_content_50_max" jdbcType="FLOAT" property="harmonicVoltageContent50Max" />
|
||||
<result column="harmonic_voltage_content_50_min" jdbcType="FLOAT" property="harmonicVoltageContent50Min" />
|
||||
<result column="harmonic_voltage_content_50_avg" jdbcType="FLOAT" property="harmonicVoltageContent50Avg" />
|
||||
<result column="harmonic_voltage_content_50_95" jdbcType="FLOAT" property="harmonicVoltageContent5095" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, phase, voltage_harmonic_thd_max, voltage_harmonic_thd_min,
|
||||
voltage_harmonic_thd_avg, voltage_harmonic_thd_95, fundamental_voltage_max, fundamental_voltage_min,
|
||||
fundamental_voltage_avg, fundamental_voltage_95, harmonic_voltage_content_2_max,
|
||||
harmonic_voltage_content_2_min, harmonic_voltage_content_2_avg, harmonic_voltage_content_2_95,
|
||||
harmonic_voltage_content_3_max, harmonic_voltage_content_3_min, harmonic_voltage_content_3_avg,
|
||||
harmonic_voltage_content_3_95, harmonic_voltage_content_4_max, harmonic_voltage_content_4_min,
|
||||
harmonic_voltage_content_4_avg, harmonic_voltage_content_4_95, harmonic_voltage_content_5_max,
|
||||
harmonic_voltage_content_5_min, harmonic_voltage_content_5_avg, harmonic_voltage_content_5_95,
|
||||
harmonic_voltage_content_6_max, harmonic_voltage_content_6_min, harmonic_voltage_content_6_avg,
|
||||
harmonic_voltage_content_6_95, harmonic_voltage_content_7_max, harmonic_voltage_content_7_min,
|
||||
harmonic_voltage_content_7_avg, harmonic_voltage_content_7_95, harmonic_voltage_content_8_max,
|
||||
harmonic_voltage_content_8_min, harmonic_voltage_content_8_avg, harmonic_voltage_content_8_95,
|
||||
harmonic_voltage_content_9_max, harmonic_voltage_content_9_min, harmonic_voltage_content_9_avg,
|
||||
harmonic_voltage_content_9_95, harmonic_voltage_content_10_max, harmonic_voltage_content_10_min,
|
||||
harmonic_voltage_content_10_avg, harmonic_voltage_content_10_95, harmonic_voltage_content_11_max,
|
||||
harmonic_voltage_content_11_min, harmonic_voltage_content_11_avg, harmonic_voltage_content_11_95,
|
||||
harmonic_voltage_content_12_max, harmonic_voltage_content_12_min, harmonic_voltage_content_12_avg,
|
||||
harmonic_voltage_content_12_95, harmonic_voltage_content_13_max, harmonic_voltage_content_13_min,
|
||||
harmonic_voltage_content_13_avg, harmonic_voltage_content_13_95, harmonic_voltage_content_14_max,
|
||||
harmonic_voltage_content_14_min, harmonic_voltage_content_14_avg, harmonic_voltage_content_14_95,
|
||||
harmonic_voltage_content_15_max, harmonic_voltage_content_15_min, harmonic_voltage_content_15_avg,
|
||||
harmonic_voltage_content_15_95, harmonic_voltage_content_16_max, harmonic_voltage_content_16_min,
|
||||
harmonic_voltage_content_16_avg, harmonic_voltage_content_16_95, harmonic_voltage_content_17_max,
|
||||
harmonic_voltage_content_17_min, harmonic_voltage_content_17_avg, harmonic_voltage_content_17_95,
|
||||
harmonic_voltage_content_18_max, harmonic_voltage_content_18_min, harmonic_voltage_content_18_avg,
|
||||
harmonic_voltage_content_18_95, harmonic_voltage_content_19_max, harmonic_voltage_content_19_min,
|
||||
harmonic_voltage_content_19_avg, harmonic_voltage_content_19_95, harmonic_voltage_content_20_max,
|
||||
harmonic_voltage_content_20_min, harmonic_voltage_content_20_avg, harmonic_voltage_content_20_95,
|
||||
harmonic_voltage_content_21_max, harmonic_voltage_content_21_min, harmonic_voltage_content_21_avg,
|
||||
harmonic_voltage_content_21_95, harmonic_voltage_content_22_max, harmonic_voltage_content_22_min,
|
||||
harmonic_voltage_content_22_avg, harmonic_voltage_content_22_95, harmonic_voltage_content_23_max,
|
||||
harmonic_voltage_content_23_min, harmonic_voltage_content_23_avg, harmonic_voltage_content_23_95,
|
||||
harmonic_voltage_content_24_max, harmonic_voltage_content_24_min, harmonic_voltage_content_24_avg,
|
||||
harmonic_voltage_content_24_95, harmonic_voltage_content_25_max, harmonic_voltage_content_25_min,
|
||||
harmonic_voltage_content_25_avg, harmonic_voltage_content_25_95, harmonic_voltage_content_26_max,
|
||||
harmonic_voltage_content_26_min, harmonic_voltage_content_26_avg, harmonic_voltage_content_26_95,
|
||||
harmonic_voltage_content_27_max, harmonic_voltage_content_27_min, harmonic_voltage_content_27_avg,
|
||||
harmonic_voltage_content_27_95, harmonic_voltage_content_28_max, harmonic_voltage_content_28_min,
|
||||
harmonic_voltage_content_28_avg, harmonic_voltage_content_28_95, harmonic_voltage_content_29_max,
|
||||
harmonic_voltage_content_29_min, harmonic_voltage_content_29_avg, harmonic_voltage_content_29_95,
|
||||
harmonic_voltage_content_30_max, harmonic_voltage_content_30_min, harmonic_voltage_content_30_avg,
|
||||
harmonic_voltage_content_30_95, harmonic_voltage_content_31_max, harmonic_voltage_content_31_min,
|
||||
harmonic_voltage_content_31_avg, harmonic_voltage_content_31_95, harmonic_voltage_content_32_max,
|
||||
harmonic_voltage_content_32_min, harmonic_voltage_content_32_avg, harmonic_voltage_content_32_95,
|
||||
harmonic_voltage_content_33_max, harmonic_voltage_content_33_min, harmonic_voltage_content_33_avg,
|
||||
harmonic_voltage_content_33_95, harmonic_voltage_content_34_max, harmonic_voltage_content_34_min,
|
||||
harmonic_voltage_content_34_avg, harmonic_voltage_content_34_95, harmonic_voltage_content_35_max,
|
||||
harmonic_voltage_content_35_min, harmonic_voltage_content_35_avg, harmonic_voltage_content_35_95,
|
||||
harmonic_voltage_content_36_max, harmonic_voltage_content_36_min, harmonic_voltage_content_36_avg,
|
||||
harmonic_voltage_content_36_95, harmonic_voltage_content_37_max, harmonic_voltage_content_37_min,
|
||||
harmonic_voltage_content_37_avg, harmonic_voltage_content_37_95, harmonic_voltage_content_38_max,
|
||||
harmonic_voltage_content_38_min, harmonic_voltage_content_38_avg, harmonic_voltage_content_38_95,
|
||||
harmonic_voltage_content_39_max, harmonic_voltage_content_39_min, harmonic_voltage_content_39_avg,
|
||||
harmonic_voltage_content_39_95, harmonic_voltage_content_40_max, harmonic_voltage_content_40_min,
|
||||
harmonic_voltage_content_40_avg, harmonic_voltage_content_40_95, harmonic_voltage_content_41_max,
|
||||
harmonic_voltage_content_41_min, harmonic_voltage_content_41_avg, harmonic_voltage_content_41_95,
|
||||
harmonic_voltage_content_42_max, harmonic_voltage_content_42_min, harmonic_voltage_content_42_avg,
|
||||
harmonic_voltage_content_42_95, harmonic_voltage_content_43_max, harmonic_voltage_content_43_min,
|
||||
harmonic_voltage_content_43_avg, harmonic_voltage_content_43_95, harmonic_voltage_content_44_max,
|
||||
harmonic_voltage_content_44_min, harmonic_voltage_content_44_avg, harmonic_voltage_content_44_95,
|
||||
harmonic_voltage_content_45_max, harmonic_voltage_content_45_min, harmonic_voltage_content_45_avg,
|
||||
harmonic_voltage_content_45_95, harmonic_voltage_content_46_max, harmonic_voltage_content_46_min,
|
||||
harmonic_voltage_content_46_avg, harmonic_voltage_content_46_95, harmonic_voltage_content_47_max,
|
||||
harmonic_voltage_content_47_min, harmonic_voltage_content_47_avg, harmonic_voltage_content_47_95,
|
||||
harmonic_voltage_content_48_max, harmonic_voltage_content_48_min, harmonic_voltage_content_48_avg,
|
||||
harmonic_voltage_content_48_95, harmonic_voltage_content_49_max, harmonic_voltage_content_49_min,
|
||||
harmonic_voltage_content_49_avg, harmonic_voltage_content_49_95, harmonic_voltage_content_50_max,
|
||||
harmonic_voltage_content_50_min, harmonic_voltage_content_50_avg, harmonic_voltage_content_50_95
|
||||
</sql>
|
||||
|
||||
<select id="getMaxVoltageHarmonicThd95" resultType="double">
|
||||
SELECT
|
||||
IFNULL(max( voltage_harmonic_thd_95 ),0)
|
||||
FROM
|
||||
`r_mp_harmonic_v_rate_report_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND data_date = #{date}]]>
|
||||
AND phase IN ('A','B','C')
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,65 +1,16 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpMeasurePhaseReportDPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpMeasurePhaseReportD">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_measure_phase_report_d-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="DATE" property="dataDate" />
|
||||
<id column="phase" jdbcType="VARCHAR" property="phase" />
|
||||
<result column="phase_voltage_effective_max" jdbcType="FLOAT" property="phaseVoltageEffectiveMax" />
|
||||
<result column="phase_voltage_effective_min" jdbcType="FLOAT" property="phaseVoltageEffectiveMin" />
|
||||
<result column="phase_voltage_effective_avg" jdbcType="FLOAT" property="phaseVoltageEffectiveAvg" />
|
||||
<result column="phase_voltage_effective_95" jdbcType="FLOAT" property="phaseVoltageEffective95" />
|
||||
<result column="line_voltage_effective_max" jdbcType="FLOAT" property="lineVoltageEffectiveMax" />
|
||||
<result column="line_voltage_effective_min" jdbcType="FLOAT" property="lineVoltageEffectiveMin" />
|
||||
<result column="line_voltage_effective_avg" jdbcType="FLOAT" property="lineVoltageEffectiveAvg" />
|
||||
<result column="line_voltage_effective_95" jdbcType="FLOAT" property="lineVoltageEffective95" />
|
||||
<result column="v_de_up_max" jdbcType="FLOAT" property="vDeUpMax" />
|
||||
<result column="v_de_up_min" jdbcType="FLOAT" property="vDeUpMin" />
|
||||
<result column="v_de_up_avg" jdbcType="FLOAT" property="vDeUpAvg" />
|
||||
<result column="v_de_up_95" jdbcType="FLOAT" property="vDeUp95" />
|
||||
<result column="v_de_low_max" jdbcType="FLOAT" property="vDeLowMax" />
|
||||
<result column="v_de_low_min" jdbcType="FLOAT" property="vDeLowMin" />
|
||||
<result column="v_de_low_avg" jdbcType="FLOAT" property="vDeLowAvg" />
|
||||
<result column="v_de_low_95" jdbcType="FLOAT" property="vDeLow95" />
|
||||
<result column="current_effective_max" jdbcType="FLOAT" property="currentEffectiveMax" />
|
||||
<result column="current_effective_min" jdbcType="FLOAT" property="currentEffectiveMin" />
|
||||
<result column="current_effective_avg" jdbcType="FLOAT" property="currentEffectiveAvg" />
|
||||
<result column="current_effective_95" jdbcType="FLOAT" property="currentEffective95" />
|
||||
<result column="sp_active_power_max" jdbcType="FLOAT" property="spActivePowerMax" />
|
||||
<result column="sp_active_power_min" jdbcType="FLOAT" property="spActivePowerMin" />
|
||||
<result column="sp_active_power_avg" jdbcType="FLOAT" property="spActivePowerAvg" />
|
||||
<result column="sp_active_power_95" jdbcType="FLOAT" property="spActivePower95" />
|
||||
<result column="sp_reactive_power_max" jdbcType="FLOAT" property="spReactivePowerMax" />
|
||||
<result column="sp_reactive_power_min" jdbcType="FLOAT" property="spReactivePowerMin" />
|
||||
<result column="sp_reactive_power_avg" jdbcType="FLOAT" property="spReactivePowerAvg" />
|
||||
<result column="sp_reactive_power_95" jdbcType="FLOAT" property="spReactivePower95" />
|
||||
<result column="sp_apparent_power_max" jdbcType="FLOAT" property="spApparentPowerMax" />
|
||||
<result column="sp_apparent_power_min" jdbcType="FLOAT" property="spApparentPowerMin" />
|
||||
<result column="sp_apparent_power_avg" jdbcType="FLOAT" property="spApparentPowerAvg" />
|
||||
<result column="sp_apparent_power_95" jdbcType="FLOAT" property="spApparentPower95" />
|
||||
<result column="sp_power_factor_max" jdbcType="FLOAT" property="spPowerFactorMax" />
|
||||
<result column="sp_power_factor_min" jdbcType="FLOAT" property="spPowerFactorMin" />
|
||||
<result column="sp_power_factor_avg" jdbcType="FLOAT" property="spPowerFactorAvg" />
|
||||
<result column="sp_power_factor_95" jdbcType="FLOAT" property="spPowerFactor95" />
|
||||
<result column="sp_fundamental_power_factor_max" jdbcType="FLOAT" property="spFundamentalPowerFactorMax" />
|
||||
<result column="sp_fundamental_power_factor_min" jdbcType="FLOAT" property="spFundamentalPowerFactorMin" />
|
||||
<result column="sp_fundamental_power_factor_avg" jdbcType="FLOAT" property="spFundamentalPowerFactorAvg" />
|
||||
<result column="sp_fundamental_power_factor_95" jdbcType="FLOAT" property="spFundamentalPowerFactor95" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, phase, phase_voltage_effective_max, phase_voltage_effective_min,
|
||||
phase_voltage_effective_avg, phase_voltage_effective_95, line_voltage_effective_max,
|
||||
line_voltage_effective_min, line_voltage_effective_avg, line_voltage_effective_95,
|
||||
v_de_up_max, v_de_up_min, v_de_up_avg, v_de_up_95, v_de_low_max, v_de_low_min, v_de_low_avg,
|
||||
v_de_low_95, current_effective_max, current_effective_min, current_effective_avg,
|
||||
current_effective_95, sp_active_power_max, sp_active_power_min, sp_active_power_avg,
|
||||
sp_active_power_95, sp_reactive_power_max, sp_reactive_power_min, sp_reactive_power_avg,
|
||||
sp_reactive_power_95, sp_apparent_power_max, sp_apparent_power_min, sp_apparent_power_avg,
|
||||
sp_apparent_power_95, sp_power_factor_max, sp_power_factor_min, sp_power_factor_avg,
|
||||
sp_power_factor_95, sp_fundamental_power_factor_max, sp_fundamental_power_factor_min,
|
||||
sp_fundamental_power_factor_avg, sp_fundamental_power_factor_95
|
||||
</sql>
|
||||
|
||||
<select id="getMaxVDeUp" resultType="double">
|
||||
SELECT
|
||||
IFNULL(max( v_de_up_max ),0)
|
||||
FROM
|
||||
`r_mp_measure_phase_report_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND data_date = #{date}]]>
|
||||
AND phase IN ('A','B','C')
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,135 +1,23 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpMeasureReportDPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpMeasureReportD">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_measure_report_d-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="DATE" property="dataDate" />
|
||||
<result column="frequency_max" jdbcType="FLOAT" property="frequencyMax" />
|
||||
<result column="frequency_min" jdbcType="FLOAT" property="frequencyMin" />
|
||||
<result column="frequency_avg" jdbcType="FLOAT" property="frequencyAvg" />
|
||||
<result column="frequency_95" jdbcType="FLOAT" property="frequency95" />
|
||||
<result column="frequency_deviation_max" jdbcType="FLOAT" property="frequencyDeviationMax" />
|
||||
<result column="frequency_deviation_min" jdbcType="FLOAT" property="frequencyDeviationMin" />
|
||||
<result column="frequency_deviation_avg" jdbcType="FLOAT" property="frequencyDeviationAvg" />
|
||||
<result column="frequency_deviation_95" jdbcType="FLOAT" property="frequencyDeviation95" />
|
||||
<result column="total_active_power_max" jdbcType="FLOAT" property="totalActivePowerMax" />
|
||||
<result column="total_active_power_min" jdbcType="FLOAT" property="totalActivePowerMin" />
|
||||
<result column="total_active_power_avg" jdbcType="FLOAT" property="totalActivePowerAvg" />
|
||||
<result column="total_active_power_95" jdbcType="FLOAT" property="totalActivePower95" />
|
||||
<result column="total_reactive_power_max" jdbcType="FLOAT" property="totalReactivePowerMax" />
|
||||
<result column="total_reactive_power_min" jdbcType="FLOAT" property="totalReactivePowerMin" />
|
||||
<result column="total_reactive_power_avg" jdbcType="FLOAT" property="totalReactivePowerAvg" />
|
||||
<result column="total_reactive_power_95" jdbcType="FLOAT" property="totalReactivePower95" />
|
||||
<result column="total_apparent_power_max" jdbcType="FLOAT" property="totalApparentPowerMax" />
|
||||
<result column="total_apparent_power_min" jdbcType="FLOAT" property="totalApparentPowerMin" />
|
||||
<result column="total_apparent_power_avg" jdbcType="FLOAT" property="totalApparentPowerAvg" />
|
||||
<result column="total_apparent_power_95" jdbcType="FLOAT" property="totalApparentPower95" />
|
||||
<result column="tp_power_factor_max" jdbcType="FLOAT" property="tpPowerFactorMax" />
|
||||
<result column="tp_power_factor_min" jdbcType="FLOAT" property="tpPowerFactorMin" />
|
||||
<result column="tp_power_factor_avg" jdbcType="FLOAT" property="tpPowerFactorAvg" />
|
||||
<result column="tp_power_factor_95" jdbcType="FLOAT" property="tpPowerFactor95" />
|
||||
<result column="fundamental_power_factor_max" jdbcType="FLOAT" property="fundamentalPowerFactorMax" />
|
||||
<result column="fundamental_power_factor_min" jdbcType="FLOAT" property="fundamentalPowerFactorMin" />
|
||||
<result column="fundamental_power_factor_avg" jdbcType="FLOAT" property="fundamentalPowerFactorAvg" />
|
||||
<result column="fundamental_power_factor_95" jdbcType="FLOAT" property="fundamentalPowerFactor95" />
|
||||
<result column="positive_sequence_voltage_max" jdbcType="FLOAT" property="positiveSequenceVoltageMax" />
|
||||
<result column="positive_sequence_voltage_min" jdbcType="FLOAT" property="positiveSequenceVoltageMin" />
|
||||
<result column="positive_sequence_voltage_avg" jdbcType="FLOAT" property="positiveSequenceVoltageAvg" />
|
||||
<result column="positive_sequence_voltage_95" jdbcType="FLOAT" property="positiveSequenceVoltage95" />
|
||||
<result column="negative_sequence_voltage_max" jdbcType="FLOAT" property="negativeSequenceVoltageMax" />
|
||||
<result column="negative_sequence_voltage_min" jdbcType="FLOAT" property="negativeSequenceVoltageMin" />
|
||||
<result column="negative_sequence_voltage_avg" jdbcType="FLOAT" property="negativeSequenceVoltageAvg" />
|
||||
<result column="negative_sequence_voltage_95" jdbcType="FLOAT" property="negativeSequenceVoltage95" />
|
||||
<result column="zero_sequence_voltage_max" jdbcType="FLOAT" property="zeroSequenceVoltageMax" />
|
||||
<result column="zero_sequence_voltage_min" jdbcType="FLOAT" property="zeroSequenceVoltageMin" />
|
||||
<result column="zero_sequence_voltage_avg" jdbcType="FLOAT" property="zeroSequenceVoltageAvg" />
|
||||
<result column="zero_sequence_voltage_95" jdbcType="FLOAT" property="zeroSequenceVoltage95" />
|
||||
<result column="negative_sequence_voltage_unbalance_max" jdbcType="FLOAT" property="negativeSequenceVoltageUnbalanceMax" />
|
||||
<result column="negative_sequence_voltage_unbalance_min" jdbcType="FLOAT" property="negativeSequenceVoltageUnbalanceMin" />
|
||||
<result column="negative_sequence_voltage_unbalance_avg" jdbcType="FLOAT" property="negativeSequenceVoltageUnbalanceAvg" />
|
||||
<result column="negative_sequence_voltage_unbalance_95" jdbcType="FLOAT" property="negativeSequenceVoltageUnbalance95" />
|
||||
<result column="zero_sequence_voltage_unbalance_max" jdbcType="FLOAT" property="zeroSequenceVoltageUnbalanceMax" />
|
||||
<result column="zero_sequence_voltage_unbalance_min" jdbcType="FLOAT" property="zeroSequenceVoltageUnbalanceMin" />
|
||||
<result column="zero_sequence_voltage_unbalance_avg" jdbcType="FLOAT" property="zeroSequenceVoltageUnbalanceAvg" />
|
||||
<result column="zero_sequence_voltage_unbalance_95" jdbcType="FLOAT" property="zeroSequenceVoltageUnbalance95" />
|
||||
<result column="positive_sequence_current_max" jdbcType="FLOAT" property="positiveSequenceCurrentMax" />
|
||||
<result column="positive_sequence_current_min" jdbcType="FLOAT" property="positiveSequenceCurrentMin" />
|
||||
<result column="positive_sequence_current_avg" jdbcType="FLOAT" property="positiveSequenceCurrentAvg" />
|
||||
<result column="positive_sequence_current_95" jdbcType="FLOAT" property="positiveSequenceCurrent95" />
|
||||
<result column="negative_sequence_current_max" jdbcType="FLOAT" property="negativeSequenceCurrentMax" />
|
||||
<result column="negative_sequence_current_min" jdbcType="FLOAT" property="negativeSequenceCurrentMin" />
|
||||
<result column="negative_sequence_current_avg" jdbcType="FLOAT" property="negativeSequenceCurrentAvg" />
|
||||
<result column="negative_sequence_current_95" jdbcType="FLOAT" property="negativeSequenceCurrent95" />
|
||||
<result column="zero_sequence_current_max" jdbcType="FLOAT" property="zeroSequenceCurrentMax" />
|
||||
<result column="zero_sequence_current_min" jdbcType="FLOAT" property="zeroSequenceCurrentMin" />
|
||||
<result column="zero_sequence_current_avg" jdbcType="FLOAT" property="zeroSequenceCurrentAvg" />
|
||||
<result column="zero_sequence_current_95" jdbcType="FLOAT" property="zeroSequenceCurrent95" />
|
||||
<result column="negative_sequence_current_unbalance_max" jdbcType="FLOAT" property="negativeSequenceCurrentUnbalanceMax" />
|
||||
<result column="negative_sequence_current_unbalance_min" jdbcType="FLOAT" property="negativeSequenceCurrentUnbalanceMin" />
|
||||
<result column="negative_sequence_current_unbalance_avg" jdbcType="FLOAT" property="negativeSequenceCurrentUnbalanceAvg" />
|
||||
<result column="negative_sequence_current_unbalance_95" jdbcType="FLOAT" property="negativeSequenceCurrentUnbalance95" />
|
||||
<result column="zero_sequence_current_imbalance_max" jdbcType="FLOAT" property="zeroSequenceCurrentImbalanceMax" />
|
||||
<result column="zero_sequence_current_imbalance_min" jdbcType="FLOAT" property="zeroSequenceCurrentImbalanceMin" />
|
||||
<result column="zero_sequence_current_imbalance_avg" jdbcType="FLOAT" property="zeroSequenceCurrentImbalanceAvg" />
|
||||
<result column="zero_sequence_current_imbalance_95" jdbcType="FLOAT" property="zeroSequenceCurrentImbalance95" />
|
||||
<result column="equivalent_apparent_power_max" jdbcType="FLOAT" property="equivalentApparentPowerMax" />
|
||||
<result column="equivalent_apparent_power_min" jdbcType="FLOAT" property="equivalentApparentPowerMin" />
|
||||
<result column="equivalent_apparent_power_avg" jdbcType="FLOAT" property="equivalentApparentPowerAvg" />
|
||||
<result column="equivalent_apparent_power_95" jdbcType="FLOAT" property="equivalentApparentPower95" />
|
||||
<result column="equivalent_power_factor_max" jdbcType="FLOAT" property="equivalentPowerFactorMax" />
|
||||
<result column="equivalent_power_factor_min" jdbcType="FLOAT" property="equivalentPowerFactorMin" />
|
||||
<result column="equivalent_power_factor_avg" jdbcType="FLOAT" property="equivalentPowerFactorAvg" />
|
||||
<result column="equivalent_power_factor_95" jdbcType="FLOAT" property="equivalentPowerFactor95" />
|
||||
<result column="fundamental_wave_rateo_max" jdbcType="FLOAT" property="fundamentalWaveRateoMax" />
|
||||
<result column="fundamental_wave_rateo_min" jdbcType="FLOAT" property="fundamentalWaveRateoMin" />
|
||||
<result column="fundamental_wave_rateo_avg" jdbcType="FLOAT" property="fundamentalWaveRateoAvg" />
|
||||
<result column="fundamental_wave_rateo_95" jdbcType="FLOAT" property="fundamentalWaveRateo95" />
|
||||
<result column="fundamental_wave_apparent_max" jdbcType="FLOAT" property="fundamentalWaveApparentMax" />
|
||||
<result column="fundamental_wave_apparent_min" jdbcType="FLOAT" property="fundamentalWaveApparentMin" />
|
||||
<result column="fundamental_wave_apparent_avg" jdbcType="FLOAT" property="fundamentalWaveApparentAvg" />
|
||||
<result column="fundamental_wave_apparent_95" jdbcType="FLOAT" property="fundamentalWaveApparent95" />
|
||||
<result column="nonfundamental_wave_rateo_max" jdbcType="FLOAT" property="nonfundamentalWaveRateoMax" />
|
||||
<result column="nonfundamental_wave_rateo_min" jdbcType="FLOAT" property="nonfundamentalWaveRateoMin" />
|
||||
<result column="nonfundamental_wave_rateo_avg" jdbcType="FLOAT" property="nonfundamentalWaveRateoAvg" />
|
||||
<result column="nonfundamental_wave_rateo_95" jdbcType="FLOAT" property="nonfundamentalWaveRateo95" />
|
||||
<result column="unbalanced_apparent_power_max" jdbcType="FLOAT" property="unbalancedApparentPowerMax" />
|
||||
<result column="unbalanced_apparent_power_min" jdbcType="FLOAT" property="unbalancedApparentPowerMin" />
|
||||
<result column="unbalanced_apparent_power_avg" jdbcType="FLOAT" property="unbalancedApparentPowerAvg" />
|
||||
<result column="unbalanced_apparent_power_95" jdbcType="FLOAT" property="unbalancedApparentPower95" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, frequency_max, frequency_min, frequency_avg, frequency_95,
|
||||
frequency_deviation_max, frequency_deviation_min, frequency_deviation_avg, frequency_deviation_95,
|
||||
total_active_power_max, total_active_power_min, total_active_power_avg, total_active_power_95,
|
||||
total_reactive_power_max, total_reactive_power_min, total_reactive_power_avg, total_reactive_power_95,
|
||||
total_apparent_power_max, total_apparent_power_min, total_apparent_power_avg, total_apparent_power_95,
|
||||
tp_power_factor_max, tp_power_factor_min, tp_power_factor_avg, tp_power_factor_95,
|
||||
fundamental_power_factor_max, fundamental_power_factor_min, fundamental_power_factor_avg,
|
||||
fundamental_power_factor_95, positive_sequence_voltage_max, positive_sequence_voltage_min,
|
||||
positive_sequence_voltage_avg, positive_sequence_voltage_95, negative_sequence_voltage_max,
|
||||
negative_sequence_voltage_min, negative_sequence_voltage_avg, negative_sequence_voltage_95,
|
||||
zero_sequence_voltage_max, zero_sequence_voltage_min, zero_sequence_voltage_avg,
|
||||
zero_sequence_voltage_95, negative_sequence_voltage_unbalance_max, negative_sequence_voltage_unbalance_min,
|
||||
negative_sequence_voltage_unbalance_avg, negative_sequence_voltage_unbalance_95,
|
||||
zero_sequence_voltage_unbalance_max, zero_sequence_voltage_unbalance_min, zero_sequence_voltage_unbalance_avg,
|
||||
zero_sequence_voltage_unbalance_95, positive_sequence_current_max, positive_sequence_current_min,
|
||||
positive_sequence_current_avg, positive_sequence_current_95, negative_sequence_current_max,
|
||||
negative_sequence_current_min, negative_sequence_current_avg, negative_sequence_current_95,
|
||||
zero_sequence_current_max, zero_sequence_current_min, zero_sequence_current_avg,
|
||||
zero_sequence_current_95, negative_sequence_current_unbalance_max, negative_sequence_current_unbalance_min,
|
||||
negative_sequence_current_unbalance_avg, negative_sequence_current_unbalance_95,
|
||||
zero_sequence_current_imbalance_max, zero_sequence_current_imbalance_min, zero_sequence_current_imbalance_avg,
|
||||
zero_sequence_current_imbalance_95, equivalent_apparent_power_max, equivalent_apparent_power_min,
|
||||
equivalent_apparent_power_avg, equivalent_apparent_power_95, equivalent_power_factor_max,
|
||||
equivalent_power_factor_min, equivalent_power_factor_avg, equivalent_power_factor_95,
|
||||
fundamental_wave_rateo_max, fundamental_wave_rateo_min, fundamental_wave_rateo_avg,
|
||||
fundamental_wave_rateo_95, fundamental_wave_apparent_max, fundamental_wave_apparent_min,
|
||||
fundamental_wave_apparent_avg, fundamental_wave_apparent_95, nonfundamental_wave_rateo_max,
|
||||
nonfundamental_wave_rateo_min, nonfundamental_wave_rateo_avg, nonfundamental_wave_rateo_95,
|
||||
unbalanced_apparent_power_max, unbalanced_apparent_power_min, unbalanced_apparent_power_avg,
|
||||
unbalanced_apparent_power_95
|
||||
</sql>
|
||||
<select id="getMaxFrequencyDeviation" resultType="double">
|
||||
SELECT
|
||||
IFNULL(max( frequency_deviation_max ),0)
|
||||
FROM
|
||||
`r_mp_measure_report_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND data_date = #{date}]]>
|
||||
</select>
|
||||
|
||||
<select id="getMaxUnbalance95" resultType="double">
|
||||
SELECT
|
||||
IFNULL(max( NEGATIVE_SEQUENCE_VOLTAGE_UNBALANCE_95 ),0)
|
||||
FROM
|
||||
`r_mp_measure_report_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND data_date = #{date}]]>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpPartHarmonicDetailDMapper">
|
||||
|
||||
<select id="getPartSumByData" resultType="com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailM">
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
sum( is_harmonic ) measurement_over_day,
|
||||
sum( is_freq ) freq_over_day,
|
||||
sum( is_v_dev_up ) v_dev_up_over_day,
|
||||
sum( is_v_dev_low ) v_dev_low_over_day,
|
||||
sum( is_v_dev ) v_dev_over_day,
|
||||
sum( is_v_thd ) v_thd_over_day,
|
||||
sum( is_v ) v_over_day,
|
||||
sum( is_i ) i_over_day,
|
||||
sum( is_v_2 ) v_2_over_day,
|
||||
sum( is_v_3 ) v_3_over_day,
|
||||
sum( is_v_4 ) v_4_over_day,
|
||||
sum( is_v_5 ) v_5_over_day,
|
||||
sum( is_v_6 ) v_6_over_day,
|
||||
sum( is_v_7 ) v_7_over_day,
|
||||
sum( is_v_8 ) v_8_over_day,
|
||||
sum( is_v_9 ) v_9_over_day,
|
||||
sum( is_v_10 ) v_10_over_day,
|
||||
sum( is_v_11 ) v_11_over_day,
|
||||
sum( is_v_12 ) v_12_over_day,
|
||||
sum( is_v_13 ) v_13_over_day,
|
||||
sum( is_v_14 ) v_14_over_day,
|
||||
sum( is_v_15 ) v_15_over_day,
|
||||
sum( is_v_16 ) v_16_over_day,
|
||||
sum( is_v_17 ) v_17_over_day,
|
||||
sum( is_v_18 ) v_18_over_day,
|
||||
sum( is_v_19 ) v_19_over_day,
|
||||
sum( is_v_20 ) v_20_over_day,
|
||||
sum( is_v_21 ) v_21_over_day,
|
||||
sum( is_v_22 ) v_22_over_day,
|
||||
sum( is_v_23 ) v_23_over_day,
|
||||
sum( is_v_24 ) v_24_over_day,
|
||||
sum( is_v_25 ) v_25_over_day,
|
||||
sum( is_i_2 ) i_2_over_day,
|
||||
sum( is_i_3 ) i_3_over_day,
|
||||
sum( is_i_4 ) i_4_over_day,
|
||||
sum( is_i_5 ) i_5_over_day,
|
||||
sum( is_i_6 ) i_6_over_day,
|
||||
sum( is_i_7 ) i_7_over_day,
|
||||
sum( is_i_8 ) i_8_over_day,
|
||||
sum( is_i_9 ) i_9_over_day,
|
||||
sum( is_i_10 ) i_10_over_day,
|
||||
sum( is_i_11 ) i_11_over_day,
|
||||
sum( is_i_12 ) i_12_over_day,
|
||||
sum( is_i_13 ) i_13_over_day,
|
||||
sum( is_i_14 ) i_14_over_day,
|
||||
sum( is_i_15 ) i_15_over_day,
|
||||
sum( is_i_16 ) i_16_over_day,
|
||||
sum( is_i_17 ) i_17_over_day,
|
||||
sum( is_i_18 ) i_18_over_day,
|
||||
sum( is_i_19 ) i_19_over_day,
|
||||
sum( is_i_20 ) i_20_over_day,
|
||||
sum( is_i_21 ) i_21_over_day,
|
||||
sum( is_i_22 ) i_22_over_day,
|
||||
sum( is_i_23 ) i_23_over_day,
|
||||
sum( is_i_24 ) i_24_over_day,
|
||||
sum( is_i_25 ) i_25_over_day,
|
||||
sum( is_unbalance ) unbalance_over_day,
|
||||
sum( is_i_neg ) i_neg_over_day
|
||||
FROM
|
||||
`r_mp_part_harmonic_detail_d`
|
||||
WHERE
|
||||
<![CDATA[data_date >= #{startTime}]]>
|
||||
AND <![CDATA[data_date <= #{endTime}]]>
|
||||
AND measurement_point_id = #{lineId}
|
||||
GROUP BY
|
||||
measurement_point_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,20 +1,16 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpPltReportDPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpPltReportDPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_mp_plt_report_d-->
|
||||
<id column="measurement_point_id" jdbcType="VARCHAR" property="measurementPointId" />
|
||||
<id column="data_date" jdbcType="DATE" property="dataDate" />
|
||||
<id column="phase" jdbcType="VARCHAR" property="phase" />
|
||||
<result column="long_time_flashing_max" jdbcType="FLOAT" property="longTimeFlashingMax" />
|
||||
<result column="long_time_flashing_min" jdbcType="FLOAT" property="longTimeFlashingMin" />
|
||||
<result column="long_time_flashing_avg" jdbcType="FLOAT" property="longTimeFlashingAvg" />
|
||||
<result column="long_time_flashing_95" jdbcType="FLOAT" property="longTimeFlashing95" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
measurement_point_id, data_date, phase, long_time_flashing_max, long_time_flashing_min,
|
||||
long_time_flashing_avg, long_time_flashing_95
|
||||
</sql>
|
||||
|
||||
<select id="getMaxFlashing" resultType="double">
|
||||
SELECT
|
||||
IFNULL(max( long_time_flashing_max ),0)
|
||||
FROM
|
||||
`r_mp_plt_report_d`
|
||||
WHERE
|
||||
measurement_point_id = #{lineId}
|
||||
<![CDATA[AND data_date = #{date}]]>
|
||||
AND phase IN ('A','B','C')
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?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.prepare.harmonic.mapper.mysql.line.RMpSurplusHarmonicDetailDMapper">
|
||||
|
||||
<select id="getSurplusSumByData" resultType="com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM">
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
sum( is_inuharm ) inuharm_over_day,
|
||||
sum( is_flicker ) flicker_over_day,
|
||||
sum( is_inuharm_1 ) inuharm_1_over_day,
|
||||
sum( is_inuharm_2 ) inuharm_2_over_day,
|
||||
sum( is_inuharm_3 ) inuharm_3_over_day,
|
||||
sum( is_inuharm_4 ) inuharm_4_over_day,
|
||||
sum( is_inuharm_5 ) inuharm_5_over_day,
|
||||
sum( is_inuharm_6 ) inuharm_6_over_day,
|
||||
sum( is_inuharm_7 ) inuharm_7_over_day,
|
||||
sum( is_inuharm_8 ) inuharm_8_over_day,
|
||||
sum( is_inuharm_9 ) inuharm_9_over_day,
|
||||
sum( is_inuharm_10 ) inuharm_10_over_day,
|
||||
sum( is_inuharm_11 ) inuharm_11_over_day,
|
||||
sum( is_inuharm_12 ) inuharm_12_over_day,
|
||||
sum( is_inuharm_13 ) inuharm_13_over_day,
|
||||
sum( is_inuharm_14 ) inuharm_14_over_day,
|
||||
sum( is_inuharm_15 ) inuharm_15_over_day,
|
||||
sum( is_inuharm_16 ) inuharm_16_over_day
|
||||
FROM
|
||||
`r_mp_surplus_harmonic_detail_d`
|
||||
WHERE
|
||||
<![CDATA[data_date >= #{startTime}]]>
|
||||
AND <![CDATA[data_date <= #{endTime}]]>
|
||||
AND measurement_point_id = #{lineId}
|
||||
GROUP BY
|
||||
measurement_point_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.mapper.oracle;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.DataFlickerOracle;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataFlickerOracleVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* DataFlickerOracleMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @date 2022/12/01
|
||||
*/
|
||||
@Mapper
|
||||
public interface DataFlickerOracleMapper extends BaseMapper<DataFlickerOracle> {
|
||||
|
||||
DataFlickerOracleVO getTwoCountForDataIntegrityRate(@Param("lineId") Integer lineId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.njcn.prepare.harmonic.mapper.oracle;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.DataVOraclePO;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/29 11:45【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface DataVOraclePOMapper extends BaseMapper<DataVOraclePO> {
|
||||
|
||||
DataVOracleVO getFiveItemsForDataException(@Param("lineId") Integer lineId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
|
||||
DataVOracleVO getFiveCountForDataIntegrityRate(@Param("lineId") Integer lineId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.prepare.harmonic.mapper.oracle;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.LimitRateOracle;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* LimitRateOracleMapper
|
||||
*
|
||||
* @author qijian
|
||||
* @date 2022/12/05
|
||||
*/
|
||||
@Mapper
|
||||
public interface LimitRateOracleMapper extends BaseMapper<LimitRateOracle> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.prepare.harmonic.mapper.oracle;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/29 11:20【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface PqLinedetailPOMapper extends BaseMapper<PqLinedetailPO> {
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?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.prepare.harmonic.mapper.oracle.DataFlickerOracleMapper">
|
||||
|
||||
<select id="getTwoCountForDataIntegrityRate" resultType="com.njcn.prepare.harmonic.pojo.vo.DataFlickerOracleVO">
|
||||
SELECT
|
||||
LINEID,
|
||||
COUNT( PST ) AS pstCount,
|
||||
COUNT( PLT ) AS pltCount
|
||||
FROM
|
||||
DATA_FLICKER
|
||||
WHERE
|
||||
<![CDATA[TIMEID >= #{startTime}]]>
|
||||
AND <![CDATA[TIMEID <= #{endTime}]]>
|
||||
AND LINEID = #{lineId}
|
||||
AND PHASIC_TYPE = 'A'
|
||||
GROUP BY
|
||||
LINEID
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,66 @@
|
||||
<?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.prepare.harmonic.mapper.oracle.DataVOraclePOMapper">
|
||||
|
||||
<select id="getFiveItemsForDataException" resultType="com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO">
|
||||
SELECT
|
||||
a.*,
|
||||
b.*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
LINEID,
|
||||
AVG( RMS_MAX ) AS rmsMax,
|
||||
AVG( RMS_MIN ) AS rmsMin,
|
||||
AVG( V_THD_MAX ) AS vThdMax,
|
||||
AVG( V_THD_MIN ) AS vThdMin
|
||||
FROM
|
||||
DATA_V
|
||||
WHERE
|
||||
<![CDATA[TIMEID >= #{startTime}]]>
|
||||
AND <![CDATA[TIMEID <= #{endTime}]]>
|
||||
AND LINEID = #{lineId}
|
||||
AND PHASIC_TYPE IN ( 'A', 'B', 'C' )
|
||||
GROUP BY
|
||||
LINEID
|
||||
) a
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
LINEID,
|
||||
AVG( FREQ_MAX ) AS freqMax,
|
||||
AVG( FREQ_MIN ) AS freqMin,
|
||||
AVG( RMSAB_MAX ) + AVG( RMSBC_MAX ) + AVG( RMSCA_MAX ) AS rmsLvrMax,
|
||||
AVG( RMSAB_MIN ) + AVG( RMSBC_MIN ) + AVG( RMSCA_MIN ) AS rmsLvrMin,
|
||||
AVG( V_UNBALANCE_MAX ) AS vUnbalanceMax,
|
||||
AVG( V_UNBALANCE_MIN ) AS vUnbalanceMin
|
||||
FROM
|
||||
DATA_V
|
||||
WHERE
|
||||
<![CDATA[TIMEID >= #{startTime}]]>
|
||||
AND <![CDATA[TIMEID <= #{endTime}]]>
|
||||
AND LINEID = #{lineId}
|
||||
AND PHASIC_TYPE = 'T'
|
||||
GROUP BY
|
||||
LINEID
|
||||
) b ON a.LINEID = b.LINEID
|
||||
</select>
|
||||
|
||||
<select id="getFiveCountForDataIntegrityRate" resultType="com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO">
|
||||
SELECT
|
||||
LINEID,
|
||||
COUNT( FREQ ) AS freqCount,
|
||||
COUNT( RMS ) AS rmsCount,
|
||||
COUNT( RMSAB ) + COUNT( RMSBC ) + COUNT( RMSCA ) AS rmsLvrCount,
|
||||
COUNT( V_THD ) AS vThdCount,
|
||||
COUNT( V_UNBALANCE ) AS vUnbalanceCount
|
||||
FROM
|
||||
DATA_V
|
||||
WHERE
|
||||
<![CDATA[TIMEID >= #{startTime}]]>
|
||||
AND <![CDATA[TIMEID <= #{endTime}]]>
|
||||
AND LINEID = #{lineId}
|
||||
AND PHASIC_TYPE = 'A'
|
||||
GROUP BY
|
||||
LINEID
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?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.prepare.harmonic.mapper.oracle.LimitRateOracleMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?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.prepare.harmonic.mapper.oracle.PqLinedetailPOMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb;
|
||||
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 数据是否异常
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/28 - 10:09
|
||||
*/
|
||||
public interface DataExceptionInfluxService {
|
||||
|
||||
/**
|
||||
* 取前四项指标(相别为A)
|
||||
* @author qijian
|
||||
* @date 2022/11/28
|
||||
*/
|
||||
DataV getFirstFourItems(String lineId, Date date, Integer type);
|
||||
|
||||
/**
|
||||
* 取三相不平衡度(相别为T)
|
||||
* @author qijian
|
||||
* @date 2022/11/28
|
||||
*/
|
||||
DataV getUnbalance(String lineId, Date date, Integer type);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb;
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
import com.njcn.prepare.harmonic.pojo.po.DataFlicker;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 数据完整率算法
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/29 - 10:09
|
||||
*/
|
||||
public interface DataIntegrityRateInfluxService {
|
||||
|
||||
/**
|
||||
* 获取data_v表五项稳态指标日数量
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
DataV getFiveSteadyData(String lineId, Date date, Integer type);
|
||||
|
||||
/**
|
||||
* 根据data_flicker表获取两项闪变指标数量
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
DataFlicker getTwoFlickerData(String lineId, Date date, Integer type);
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.param.InfluxDBSqlConstant;
|
||||
import com.njcn.influxdb.param.InfluxDBTableConstant;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataExceptionInfluxService;
|
||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 数据是否异常 influxDB业务
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/28 - 10:09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class DataExceptionInfluxServiceImpl implements DataExceptionInfluxService {
|
||||
|
||||
// private final InfluxDbUtils influxDbUtils;
|
||||
|
||||
private final InfluxDbUtils influxDbUtils = new InfluxDbUtils("admin", "njcnpqs", "http://192.168.1.18:8086", "pqsbase", "");
|
||||
|
||||
/**
|
||||
* 取前四项指标(相别为A)
|
||||
* @author qijian
|
||||
* @date 2022/11/28
|
||||
*/
|
||||
@Override
|
||||
public DataV getFirstFourItems(String lineId, Date date, Integer type) {
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
String searchSql = "MAX(freq) as freq_max,MIN(freq) as freq_min,MAX(rms) as rms_max,MIN(rms) as rms_min,MAX(rms_lvr) as rms_lvr_max,MIN(rms_lvr) as rms_lvr_min,MAX(v_thd) as v_thd_max,MIN(v_thd) as v_thd_min ";
|
||||
String sql = getAppend(lineId, date, type, searchSql, "A");
|
||||
QueryResult query = influxDbUtils.query(sql);
|
||||
List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class);
|
||||
if (dataVS.size() > 0){
|
||||
DataV dataV = dataVS.get(0);
|
||||
return dataV;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取三相不平衡度(相别为T)
|
||||
* @author qijian
|
||||
* @date 2022/11/28
|
||||
*/
|
||||
@Override
|
||||
public DataV getUnbalance(String lineId, Date date, Integer type) {
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
String searchSql = "MAX(v_unbalance) as v_unbalance_max,MIN(v_unbalance) as v_unbalance_min ";
|
||||
String sql = getAppend(lineId, date,type, searchSql, "T");
|
||||
QueryResult query = influxDbUtils.query(sql);
|
||||
List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class);
|
||||
if (dataVS.size() > 0){
|
||||
DataV dataV = dataVS.get(0);
|
||||
return dataV;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼装sql
|
||||
* @param id,date,searchSql,tableName 参数
|
||||
* @return 结果
|
||||
*/
|
||||
private String getAppend(String id, Date date, Integer type, String searchSql, String phase) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
//根据类型获取日期的开始和结束
|
||||
Map<String, DateTime> beginAndEndByDate = PublicUtil.getBeginAndEndByDate(type, date);
|
||||
//拼接
|
||||
stringBuilder.append(InfluxDBSqlConstant.SELECT).append(searchSql)
|
||||
.append(InfluxDBSqlConstant.FROM).append(InfluxDBPublicParam.DATA_V)
|
||||
.append(InfluxDBSqlConstant.WHERE).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.GE).append(InfluxDBSqlConstant.QM).append(beginAndEndByDate.get("startTime")).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.LE).append(InfluxDBSqlConstant.QM).append(beginAndEndByDate.get("endTime")).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(id).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.AVG).append(InfluxDBSqlConstant.QM);
|
||||
if (InfluxDBTableConstant.PHASE_TYPE_T.equals(phase)){
|
||||
stringBuilder.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.PHASE_TYPE_T).append(InfluxDBSqlConstant.QM);
|
||||
}else{
|
||||
stringBuilder.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.PHASE_TYPE_A).append(InfluxDBSqlConstant.QM);
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.param.InfluxDBSqlConstant;
|
||||
import com.njcn.influxdb.param.InfluxDBTableConstant;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.prepare.harmonic.pojo.po.DataFlicker;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataIntegrityRateInfluxService;
|
||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 数据完整率 influxDB业务
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/29 - 10:09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class DataIntegrityRateInfluxServiceImpl implements DataIntegrityRateInfluxService {
|
||||
|
||||
// private final InfluxDbUtils influxDbUtils;
|
||||
|
||||
private final InfluxDbUtils influxDbUtils = new InfluxDbUtils("admin", "njcnpqs", "http://192.168.1.18:8086", "pqsbase", "");
|
||||
|
||||
/**
|
||||
* 获取data_v表五项稳态指标日数量
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
@Override
|
||||
public DataV getFiveSteadyData(String lineId, Date date, Integer type) {
|
||||
//根据data_v表获取五项稳态指标日数量(count)
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
String searchSql = "count(freq) as freq_count,count(rms) as rms_count,count(rms_lvr) as rms_lvr_count,count(v_thd) as v_thd_count,count(v_unbalance) as v_unbalance_count ";
|
||||
String sql = getAppend(lineId, date,type, searchSql, InfluxDBPublicParam.DATA_V);
|
||||
QueryResult query = influxDbUtils.query(sql);
|
||||
List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class);
|
||||
if (dataVS.size() > 0){
|
||||
DataV dataV = dataVS.get(0);
|
||||
return dataV;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据data_flicker表获取两项闪变指标数量
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public DataFlicker getTwoFlickerData(String lineId, Date date, Integer type) {
|
||||
//根据data_v表获取五项稳态指标日数量(count)
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
String searchSql = "count(pst) as pst_count,count(plt) as plt_count ";
|
||||
String sql = getAppend(lineId, date,type, searchSql, InfluxDBPublicParam.DATA_FLICKER);
|
||||
QueryResult query = influxDbUtils.query(sql);
|
||||
List<DataFlicker> dataFlickers = resultMapper.toPOJO(query, DataFlicker.class);
|
||||
if (dataFlickers.size() > 0){
|
||||
DataFlicker dataFlicker = dataFlickers.get(0);
|
||||
return dataFlicker;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼装sql
|
||||
* @param id,date,searchSql,tableName 参数
|
||||
* @param type
|
||||
* @return 结果
|
||||
*/
|
||||
private String getAppend(String id, Date date, Integer type, String searchSql, String tableName) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
//根据类型获取日期的开始和结束
|
||||
Map<String, DateTime> beginAndEndByDate = PublicUtil.getBeginAndEndByDate(type, date);
|
||||
//拼接
|
||||
stringBuilder.append(InfluxDBSqlConstant.SELECT).append(searchSql)
|
||||
.append(InfluxDBSqlConstant.FROM).append(tableName)
|
||||
.append(InfluxDBSqlConstant.WHERE).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.GE).append(InfluxDBSqlConstant.QM).append(beginAndEndByDate.get("startTime")).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.LE).append(InfluxDBSqlConstant.QM).append(beginAndEndByDate.get("endTime")).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(id).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.PHASE_TYPE_A).append(InfluxDBSqlConstant.QM);
|
||||
if (InfluxDBPublicParam.DATA_V.equals(tableName)){
|
||||
stringBuilder.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.AVG).append(InfluxDBSqlConstant.QM);
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,322 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatAbnormalDPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgDPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgMPO;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.constant.DictCache;
|
||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.*;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/13 14:34【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class AreaCountServiceImpl implements AreaCountService {
|
||||
|
||||
|
||||
private @Autowired
|
||||
PmsMonitorPOService pmsMonitorPOService;
|
||||
|
||||
|
||||
private @Autowired
|
||||
RMpIntegrityDPOService rMpIntegrityDPOService;
|
||||
|
||||
|
||||
private @Autowired
|
||||
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
||||
|
||||
private @Autowired
|
||||
DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
private @Autowired
|
||||
RStatOrgDService rStatOrgDService;
|
||||
|
||||
private @Autowired
|
||||
RStatOrgMService rStatOrgMService;
|
||||
|
||||
|
||||
private @Autowired
|
||||
RMpTargetWarnDService rMpTargetWarnDService;
|
||||
|
||||
|
||||
private @Autowired
|
||||
RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void areaCountHanlder(PrimaryGridParam primaryGridParam) {
|
||||
if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||
this.hanlderOracleData (primaryGridParam);
|
||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||
this.hanlderInfludxbData (primaryGridParam);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 处理influxdb数据 todo 本次不做处理
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private void hanlderInfludxbData(PrimaryGridParam primaryGridParam) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: hanlderOracleData 目前只处理日表
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/13
|
||||
*/
|
||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
Integer type = primaryGridParam.getType ( );
|
||||
switch (type) {
|
||||
// case 1:
|
||||
// this.hanlderOracleYear (primaryGridParam);
|
||||
// break;
|
||||
// case 2:
|
||||
// this.hanlderOracleQtr (primaryGridParam);
|
||||
// break;
|
||||
case 3:
|
||||
this.hanlderOracleMonth (primaryGridParam);
|
||||
break;
|
||||
case 5:
|
||||
this.hanlderOracleDay (primaryGridParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@SneakyThrows
|
||||
private void hanlderOracleMonth(PrimaryGridParam primaryGridParam) {
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<RStatOrgMPO> rStatOrgMPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
/*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/
|
||||
String lineTypeOneId = redisUtil.getStringByKey (DictCache.NAME_KEY +
|
||||
DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
DictCache.SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( ));
|
||||
String lineTypeTwoId = redisUtil.getStringByKey (DictCache.NAME_KEY +
|
||||
DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
DictCache.SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( ));
|
||||
String lineTypeThreeId = redisUtil.getStringByKey (DictCache.NAME_KEY +
|
||||
DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
DictCache.SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( ));
|
||||
if (
|
||||
StringUtils.isEmpty (lineTypeOneId) ||
|
||||
StringUtils.isEmpty (lineTypeTwoId) ||
|
||||
StringUtils.isEmpty (lineTypeThreeId)) {
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*1.2.2.1. 主网区域分类有效接入监测点数*/
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
/* 根据监测点对象类型分组获取监测点*/
|
||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
||||
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
||||
/*计算出当前机构不同监测点对象类型累计稳态超标监测点数*/
|
||||
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||
rStatOrgMPO.setOrgNo (orgid);
|
||||
rStatOrgMPO.setMeasurementTypeClass (entry.getKey ( ));
|
||||
rStatOrgMPO.setDataDate (tempDate);
|
||||
rStatOrgMPO.setDataType ("01");
|
||||
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
||||
rStatOrgMPOList.add (rStatOrgMPO);
|
||||
}
|
||||
/* 配网区域分类1.2.3类有效接入监测点数*/
|
||||
/*monitorSort=""获取配网监1,2,3类测点全部数据*/
|
||||
RStatOrgMPO rStatOrgMPOOne = packageRStatOrgMPO (orgid, lineTypeOneId, dataDate);
|
||||
RStatOrgMPO rStatOrgMPOTwo = packageRStatOrgMPO (orgid, lineTypeTwoId, dataDate);
|
||||
RStatOrgMPO rStatOrgMPOThree = packageRStatOrgMPO (orgid, lineTypeThreeId, dataDate);
|
||||
|
||||
rStatOrgMPOList.add (rStatOrgMPOOne);
|
||||
rStatOrgMPOList.add (rStatOrgMPOTwo);
|
||||
rStatOrgMPOList.add (rStatOrgMPOThree);
|
||||
}
|
||||
|
||||
);
|
||||
rStatOrgMService.saveOrUpdateBatchByMultiId (rStatOrgMPOList,500);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: hanlderOracleDay
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/13
|
||||
*/
|
||||
@SneakyThrows
|
||||
private void hanlderOracleDay(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<RStatOrgDPO> rStatOrgDPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
/*在运的字典表id,配网1,2,3类监测点字典表id用于for循环中过滤*/
|
||||
String lineTypeOneId = redisUtil.getStringByKey (DictCache.NAME_KEY +
|
||||
DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
DictCache.SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( ));
|
||||
String lineTypeTwoId = redisUtil.getStringByKey (DictCache.NAME_KEY +
|
||||
DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
DictCache.SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( ));
|
||||
String lineTypeThreeId = redisUtil.getStringByKey (DictCache.NAME_KEY +
|
||||
DictCache.SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
|
||||
DictCache.SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( ));
|
||||
if (
|
||||
StringUtils.isEmpty (lineTypeOneId) ||
|
||||
StringUtils.isEmpty (lineTypeTwoId) ||
|
||||
StringUtils.isEmpty (lineTypeThreeId)) {
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*1.2.2.1. 主网区域分类有效接入监测点数*/
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
/* 根据监测点对象类型分组获取监测点*/
|
||||
Map<String, List<PmsMonitorPO>> collect = pmsMonitorPOS.stream ( ).collect (Collectors.groupingBy (PmsMonitorPO::getMonitorObjectType));
|
||||
for (Map.Entry<String, List<PmsMonitorPO>> entry : collect.entrySet ( )) {
|
||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
||||
List<String> monitorIdList = entry.getValue ( ).stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||
rStatOrgDPO.setOrgNo (orgid);
|
||||
rStatOrgDPO.setMeasurementTypeClass (entry.getKey ( ));
|
||||
rStatOrgDPO.setDataDate (tempDate);
|
||||
rStatOrgDPO.setDataType ("01");
|
||||
rStatOrgDPO.setEffectiveMeasurement (integer);
|
||||
rStatOrgDPOList.add (rStatOrgDPO);
|
||||
}
|
||||
/* 配网区域分类1.2.3类有效接入监测点数*/
|
||||
/*monitorSort=""获取配网监1,2,3类测点全部数据*/
|
||||
RStatOrgDPO rStatOrgDPOOne = packageRStatOrgDPO (orgid, lineTypeOneId, dataDate);
|
||||
RStatOrgDPO rStatOrgDPOTwo = packageRStatOrgDPO (orgid, lineTypeTwoId, dataDate);
|
||||
RStatOrgDPO rStatOrgDPOThree = packageRStatOrgDPO (orgid, lineTypeThreeId, dataDate);
|
||||
|
||||
rStatOrgDPOList.add (rStatOrgDPOOne);
|
||||
rStatOrgDPOList.add (rStatOrgDPOTwo);
|
||||
rStatOrgDPOList.add (rStatOrgDPOThree);
|
||||
}
|
||||
|
||||
);
|
||||
rStatOrgDService.saveOrUpdateBatchByMultiId (rStatOrgDPOList,500);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
private RStatOrgMPO packageRStatOrgMPO(String orgid, String lineTypeId, String dataDate) {
|
||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
|
||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
||||
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
||||
|
||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||
rStatOrgMPO.setOrgNo (orgid);
|
||||
rStatOrgMPO.setMeasurementTypeClass (lineTypeId);
|
||||
rStatOrgMPO.setDataDate (tempDate);
|
||||
rStatOrgMPO.setDataType ("02");
|
||||
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
||||
return rStatOrgMPO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 计算1,2,3类配网有效接入监测 后包装成RStatOrgDPO
|
||||
* @Param: [orgid, lineTypeId, dataDate]
|
||||
* @return: com.njcn.prepare.harmonic.pojo.mysql.po.RStatOrgDPO
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/14
|
||||
*/
|
||||
@SneakyThrows
|
||||
private RStatOrgDPO packageRStatOrgDPO(String orgid, String lineTypeId, String dataDate) {
|
||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorListByCondition (orgid, lineTypeId).getData ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
|
||||
/*计算出当前监测点对象类型有效接入监测点个数*/
|
||||
List<String> monitorIdList = distributionMonitorList.stream ( ).map (DistributionMonitor::getMonitorId).collect (Collectors.toList ( ));
|
||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||
rStatOrgDPO.setOrgNo (orgid);
|
||||
rStatOrgDPO.setMeasurementTypeClass (lineTypeId);
|
||||
rStatOrgDPO.setDataDate (tempDate);
|
||||
rStatOrgDPO.setDataType ("02");
|
||||
rStatOrgDPO.setEffectiveMeasurement (integer);
|
||||
|
||||
return rStatOrgDPO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 有效接入监测点个数
|
||||
* 1.获取pms_monitor表中监测点状态为投运的监测点id列表
|
||||
* 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率
|
||||
* 3.〖数据完整率〗_日统计=(频率+相电压+线电压+畸变率+不平衡度)/(有效值数据个数*5)*100%
|
||||
* 判定监测点数据完整率是否大于95%
|
||||
* 4、根据id查询r_stat_abnormal_d表,value_alarm为1。
|
||||
* 5、以上两个条件满足表明该监测点为有效监测点。
|
||||
* 6、统计有效监测点个数
|
||||
* @Param: [indexlist, dataDate]
|
||||
* @return: java.lang.String
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private Integer queryEffectiveAccessMeasurementCount(List<String> indexlist, String dataDate) {
|
||||
|
||||
/*获取监测点的数据完整性*/
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (indexlist, dataDate);
|
||||
/*获取完整率>0.95的监测点id*/
|
||||
List<String> collect = monitorDataIntegrityDTOList.stream ( ).
|
||||
filter (temp -> temp.getDataIntegrity ( ).compareTo (new BigDecimal (0.95)) == 1
|
||||
).map (MonitorDataIntegrityDTO::getId).collect (Collectors.toList ( ));
|
||||
/*获取完整率>0.95条件下value_alarm为1的监测点id*/
|
||||
if (CollectionUtils.isEmpty (collect)) {
|
||||
return 0;
|
||||
}
|
||||
QueryWrapper<RStatAbnormalDPO> rStatAbnormalDPOLambdaQueryWrapper = new QueryWrapper ( );
|
||||
rStatAbnormalDPOLambdaQueryWrapper.select ("measurement_point_id").
|
||||
in ("measurement_point_id", collect).
|
||||
eq ("value_alarm", 1).
|
||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
|
||||
return rStatAbnormalDPOS.size ( );
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import com.njcn.prepare.harmonic.constant.DictCache;
|
||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsMonitorPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.PmsMonitorPOService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/29 15:32【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class PmsMonitorPOServiceImpl extends ServiceImpl<PmsMonitorPOMapper, PmsMonitorPO> implements PmsMonitorPOService{
|
||||
|
||||
private @Autowired
|
||||
RedisUtil redisUtil;
|
||||
|
||||
private @Autowired
|
||||
PmsMonitorPOMapper pmsMonitorPOMapper;
|
||||
|
||||
private @Autowired
|
||||
DeptFeignClient deptFeignClient;
|
||||
|
||||
/**
|
||||
* @Description: 在运监测点集合
|
||||
* @Param: [orgid]
|
||||
* @return: java.lang.Integer
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@Override
|
||||
public List<PmsMonitorPO> qurymeasurementRunPoints(String orgid) {
|
||||
|
||||
LambdaQueryWrapper<PmsMonitorPO> monitorPOLambdaQueryWrapper = new LambdaQueryWrapper ( );
|
||||
/*获取当前部门及子部门*/
|
||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgid).getData();
|
||||
|
||||
monitorPOLambdaQueryWrapper.in (PmsMonitorPO::getOrgId, deptIds);
|
||||
// List<DictData> data = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.LINE_STATE.getCode ( )).getData ( );
|
||||
// List<DictData> collect = data.stream ( ).filter (temp -> Objects.equals (temp.getCode ( ), DicDataEnum.RUN.getCode ())).collect (Collectors.toList ( ));
|
||||
String state = redisUtil.getStringByKey (DictCache.NAME_KEY+
|
||||
DictCache.SPLIT_SIGN+ DicDataTypeEnum.LINE_STATE.getCode ( )+
|
||||
DictCache.SPLIT_SIGN+ DicDataEnum.RUN.getCode ( ));
|
||||
if(StringUtils.isEmpty (state)){
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
monitorPOLambdaQueryWrapper.eq (PmsMonitorPO::getMonitorState, state);
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOMapper.selectList (monitorPOLambdaQueryWrapper);
|
||||
return pmsMonitorPOS;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.PmsTerminalPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.PmsTerminalPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.PmsTerminalPOService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/29 15:53【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class PmsTerminalPOServiceImpl extends ServiceImpl<PmsTerminalPOMapper, PmsTerminalPO> implements PmsTerminalPOService{
|
||||
|
||||
|
||||
private @Autowired
|
||||
PmsTerminalPOMapper pmsTerminalPOMapper;
|
||||
private @Autowired
|
||||
DeptFeignClient deptFeignClient;
|
||||
/**
|
||||
* @Description: 监测终端集合
|
||||
* @Param: [orgid]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.po.PmsTerminalPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@Override
|
||||
public List<PmsTerminalPO> queryOnlineMeasurementPoints(String orgid) {
|
||||
List<PmsTerminalPO> list = new ArrayList<> ();
|
||||
LambdaQueryWrapper<PmsTerminalPO> wrapper = new LambdaQueryWrapper ( );
|
||||
/*获取当前部门及子部门*/
|
||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(orgid).getData();
|
||||
|
||||
wrapper.in (PmsTerminalPO::getOrgId, deptIds);
|
||||
list = pmsTerminalPOMapper.selectList (wrapper);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,538 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.harmonic.pojo.po.*;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.constant.DictCache;
|
||||
import com.njcn.prepare.harmonic.constant.PqsPrepareExceptionEnum;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridDataIntegrityParam;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.*;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 8:54【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
|
||||
private @Autowired
|
||||
PmsMonitorPOService pmsMonitorPOService;
|
||||
|
||||
private @Autowired
|
||||
PmsTerminalPOService pmsTerminalPOService;
|
||||
|
||||
|
||||
|
||||
private @Autowired
|
||||
PqLinedetailPOService pqLinedetailPOService;
|
||||
|
||||
private @Autowired
|
||||
DataVOraclePOService dataVOraclePOService;
|
||||
|
||||
private @Autowired
|
||||
RMpIntegrityDPOService rMpIntegrityDPOService;
|
||||
|
||||
private @Autowired
|
||||
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
||||
|
||||
private @Autowired
|
||||
ROperatingIndexDPOService rOperatingIndexDPOService;
|
||||
|
||||
private @Autowired
|
||||
ROperatingIndexMPOService rOperatingIndexMPOService;
|
||||
|
||||
private @Autowired
|
||||
ROperatingIndexQPOService rOperatingIndexQPOService;
|
||||
|
||||
private @Autowired
|
||||
ROperatingIndexYPOService rOperatingIndexYPOService;
|
||||
|
||||
private @Autowired
|
||||
RMpDevEvaluateDetailPOService rMpDevEvaluateDetailPOService;
|
||||
|
||||
private @Autowired
|
||||
RedisUtil redisUtil;
|
||||
|
||||
/**
|
||||
* @param primaryGridParam
|
||||
* @Description: primaryGridDataHanlder
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void primaryGridDataHanlder(PrimaryGridParam primaryGridParam) {
|
||||
if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||
hanlderOracleData (primaryGridParam);
|
||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||
hanlderInfludxbData (primaryGridParam);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param primaryGridDataIntegrityParam
|
||||
* @Description: 主网终端数据完整率月统计只做月统计,且重mysql查数据不分数据源
|
||||
* @Param: [primaryGridDataIntegrityParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/30
|
||||
*/
|
||||
@Override
|
||||
@Async
|
||||
@SneakyThrows
|
||||
public void primaryGridDataIntegrityHanlder(PrimaryGridDataIntegrityParam primaryGridDataIntegrityParam) {
|
||||
List<String> deviceIds = primaryGridDataIntegrityParam.getDeviceId ();
|
||||
String dataDate = primaryGridDataIntegrityParam.getDataDate ( );
|
||||
List<RMpDevEvaluateDetailPO> rMpDevEvaluateDetailPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse(dataDate);
|
||||
|
||||
deviceIds.forEach (deviceId->{
|
||||
double dev_data_rate=0.00;
|
||||
/*获取终端下的监测点集合*/
|
||||
QueryWrapper<PmsMonitorPO> queryWrapper = new QueryWrapper<> ();
|
||||
String state = redisUtil.getStringByKey (DictCache.NAME_KEY+
|
||||
DictCache.SPLIT_SIGN+ DicDataTypeEnum.LINE_STATE.getCode ( )+
|
||||
DictCache.SPLIT_SIGN+ DicDataEnum.RUN.getCode ( ));
|
||||
if(StringUtils.isEmpty (state)){
|
||||
throw new BusinessException (PqsPrepareExceptionEnum.REDIS_NULL_EXCEPTION);
|
||||
}
|
||||
queryWrapper.lambda ().eq (PmsMonitorPO::getTerminalId, deviceId).
|
||||
eq (PmsMonitorPO::getMonitorState, state);
|
||||
List<PmsMonitorPO> list = pmsMonitorPOService.list (queryWrapper);
|
||||
List<String> mysqlIndexList = list.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
/*获取检测点的月平均数据完整率*/
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateMouthDataIntegrity (mysqlIndexList, dataDate);
|
||||
/*求平均值*/
|
||||
if(!CollectionUtils.isEmpty (monitorDataIntegrityDTOList)){
|
||||
dev_data_rate = monitorDataIntegrityDTOList.stream ( ).mapToDouble (monitorDataIntegrityDTO -> {
|
||||
return monitorDataIntegrityDTO.getDataIntegrity ( ).doubleValue ( );
|
||||
}).average ( ).getAsDouble ( );
|
||||
}
|
||||
RMpDevEvaluateDetailPO rMpDevEvaluateDetailPO = new RMpDevEvaluateDetailPO();
|
||||
rMpDevEvaluateDetailPO.setDeviceId (deviceId);
|
||||
rMpDevEvaluateDetailPO.setDataDate (tempDate);
|
||||
rMpDevEvaluateDetailPO.setDevDataRate (dev_data_rate);
|
||||
rMpDevEvaluateDetailPOList.add (rMpDevEvaluateDetailPO);
|
||||
});
|
||||
rMpDevEvaluateDetailPOService.saveOrUpdateBatchByMultiId (rMpDevEvaluateDetailPOList,500);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 处理influxdb数据 todo 本次不做处理
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private void hanlderInfludxbData(PrimaryGridParam primaryGridParam) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 处理Oracle数据
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
Integer type = primaryGridParam.getType ( );
|
||||
switch (type) {
|
||||
case 1:
|
||||
this.hanlderOracleYear (primaryGridParam);
|
||||
break;
|
||||
case 2:
|
||||
this.hanlderOracleQtr (primaryGridParam);
|
||||
break;
|
||||
case 3:
|
||||
this.hanlderOracleMonth (primaryGridParam);
|
||||
break;
|
||||
case 5:
|
||||
this.hanlderOracleDay (primaryGridParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: hanlderOracleMonth
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@SneakyThrows
|
||||
private void hanlderOracleMonth(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<ROperatingIndexMPO> rOperatingIndexMPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse(dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*查询day表数据生成月表数据*/
|
||||
List<ROperatingIndexDPO> list = rOperatingIndexDPOService.queryOneMothData(orgid,dataDate);
|
||||
/*求平均值*/
|
||||
int measurement_run_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getMeasurementRunPoints ( )).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int transit_measurement_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getTransitMeasurementPoints ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int effective_access_measurement_count =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getEffectiveAccessMeasurementCount ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int online_measurement_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getOnlineMeasurementPoints ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
|
||||
int online_measurement_count =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getOnlineMeasurementCount ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
/*double保留2位小数*/
|
||||
Double data_integrity_rate =Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getDataIntegrityRate ()).
|
||||
average ( ).
|
||||
getAsDouble ( )*100)*0.01;
|
||||
/*看day表is_unusual时候存在1存在返回1,数据否异常(0:正常 1:异常)*/
|
||||
Integer is_unusual =list.stream ().
|
||||
map (ROperatingIndexDPO::getIsUnusual).
|
||||
collect (Collectors.toList ())
|
||||
.contains (1)?1:0;
|
||||
|
||||
|
||||
ROperatingIndexMPO rOperatingIndexMPO = new ROperatingIndexMPO( );
|
||||
rOperatingIndexMPO.setOrgNo (orgid);
|
||||
rOperatingIndexMPO.setDataDate (tempDate);
|
||||
rOperatingIndexMPO.setMeasurementRunPoints (measurement_run_points);
|
||||
rOperatingIndexMPO.setTransitMeasurementPoints (transit_measurement_points);
|
||||
rOperatingIndexMPO.setEffectiveAccessMeasurementCount (effective_access_measurement_count);
|
||||
rOperatingIndexMPO.setOnlineMeasurementPoints (online_measurement_points);
|
||||
rOperatingIndexMPO.setOnlineMeasurementCount (online_measurement_count);
|
||||
rOperatingIndexMPO.setDataIntegrityRate (data_integrity_rate);
|
||||
rOperatingIndexMPO.setIsUnusual (is_unusual);
|
||||
rOperatingIndexMPOList.add (rOperatingIndexMPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rOperatingIndexMPOList)){
|
||||
rOperatingIndexMPOService.saveOrUpdateBatchByMultiId (rOperatingIndexMPOList,30);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: hanlderOracleDay
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@SneakyThrows
|
||||
private void hanlderOracleDay(PrimaryGridParam primaryGridParam) {
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<ROperatingIndexDPO> rOperatingIndexDPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse(dataDate);
|
||||
|
||||
orgIdList.forEach (orgid -> {
|
||||
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
Integer measurement_run_points = pmsMonitorPOS.size ( );
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
|
||||
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId (mysqlIndexList);
|
||||
List<Integer> oracleIndexlist = pqLinedetailPOS.stream ( ).map (PqLinedetailPO::getLineIndex).collect (Collectors.toList ( ));
|
||||
|
||||
/*主网单位在线监测点数 transit_measurement_points*/
|
||||
Integer transit_measurement_points = dataVOraclePOService.queryTransitMeasurementPoints(oracleIndexlist,primaryGridParam.getDataDate ());
|
||||
|
||||
/*主网单位有效接入监测点个数 effective_access_measurement_count*/
|
||||
Integer effective_access_measurement_count = this.queryEffectiveAccessMeasurementCount(mysqlIndexList,primaryGridParam.getDataDate ());
|
||||
|
||||
/*监测终端数量 online_measurement_points*/
|
||||
List<PmsTerminalPO> pmsTerminalPOS = pmsTerminalPOService.queryOnlineMeasurementPoints(orgid);
|
||||
Integer online_measurement_points = pmsTerminalPOS.size ();
|
||||
|
||||
/*在运监测终端个数 online_measurement_count*/
|
||||
String state = redisUtil.getStringByKey (DictCache.NAME_KEY+
|
||||
DictCache.SPLIT_SIGN+ DicDataTypeEnum.DEV_STATUS.getCode ( )+
|
||||
DictCache.SPLIT_SIGN+ DicDataEnum.RUNNING.getCode ( ));
|
||||
Integer online_measurement_count = Integer.valueOf (pmsTerminalPOS.stream ( ).filter (temp -> Objects.equals (temp.getTerminalState ( ),state)).count ( )+"");
|
||||
|
||||
/*主网单位数据完整率 data_integrity_rate*/
|
||||
double data_integrity_rate=0.00;
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (mysqlIndexList, dataDate);
|
||||
/*求平均值*/
|
||||
if(!CollectionUtils.isEmpty (monitorDataIntegrityDTOList)){
|
||||
data_integrity_rate = monitorDataIntegrityDTOList.stream ( ).mapToDouble (temp -> {
|
||||
return temp.getDataIntegrity ( ).doubleValue ( );
|
||||
}).average ( ).getAsDouble ( );
|
||||
}
|
||||
|
||||
|
||||
/*主网单位数据异常监测点数日统计 is_unusual*/
|
||||
Integer is_unusual =this.queryIsUnusualCount(mysqlIndexList,primaryGridParam.getDataDate ());
|
||||
|
||||
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO( );
|
||||
rOperatingIndexDPO.setOrgNo (orgid);
|
||||
rOperatingIndexDPO.setDataDate (tempDate);
|
||||
rOperatingIndexDPO.setMeasurementRunPoints (measurement_run_points);
|
||||
rOperatingIndexDPO.setTransitMeasurementPoints (transit_measurement_points);
|
||||
rOperatingIndexDPO.setEffectiveAccessMeasurementCount (effective_access_measurement_count);
|
||||
rOperatingIndexDPO.setOnlineMeasurementPoints (online_measurement_points);
|
||||
rOperatingIndexDPO.setOnlineMeasurementCount (online_measurement_count);
|
||||
rOperatingIndexDPO.setDataIntegrityRate (data_integrity_rate);
|
||||
rOperatingIndexDPO.setIsUnusual (is_unusual>0?1:0);
|
||||
rOperatingIndexDPOList.add (rOperatingIndexDPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rOperatingIndexDPOList)){
|
||||
rOperatingIndexDPOService.saveOrUpdateBatchByMultiId (rOperatingIndexDPOList,30);
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* @Description: queryIsUnusualCount :用监测点id在r_stat_abnormal_d表中查找value_alarm为0的监测点个数
|
||||
* @Param: [mysqlIndexList, dataDate]
|
||||
* @return: java.lang.Integer
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/28
|
||||
*/
|
||||
private Integer queryIsUnusualCount(List<String> mysqlIndexList, String dataDate) {
|
||||
|
||||
if(CollectionUtils.isEmpty (mysqlIndexList)){
|
||||
return 0;
|
||||
}
|
||||
|
||||
QueryWrapper<RStatAbnormalDPO> rStatAbnormalDPOLambdaQueryWrapper = new QueryWrapper ( );
|
||||
rStatAbnormalDPOLambdaQueryWrapper.
|
||||
in ("measurement_point_id",mysqlIndexList).
|
||||
eq ("value_alarm", 0).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",dataDate);
|
||||
Integer integer = rStatAbnormalDPOMapper.selectCount (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
|
||||
return integer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 主网单位有效接入监测点个数
|
||||
* 1.获取pms_monitor表中监测点状态为投运的监测点id列表
|
||||
* 2.根据id查询r_mp_integrity_d表中当天各项指标个数,采用以下公式计算数据完整率
|
||||
* 3.〖数据完整率〗_日统计=(频率+相电压+线电压+畸变率+不平衡度)/(有效值数据个数*5)*100%
|
||||
* 判定监测点数据完整率是否大于95%
|
||||
* 4、根据id查询r_stat_abnormal_d表,value_alarm为1。
|
||||
* 5、以上两个条件满足表明该监测点为有效监测点。
|
||||
* 6、统计有效监测点个数
|
||||
* @Param: [indexlist, dataDate]
|
||||
* @return: java.lang.String
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private Integer queryEffectiveAccessMeasurementCount(List<String> indexlist, String dataDate) {
|
||||
|
||||
/*获取监测点的数据完整性*/
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (indexlist, dataDate);
|
||||
/*获取完整率>0.95的监测点id*/
|
||||
List<String> collect = monitorDataIntegrityDTOList.stream ( ).
|
||||
filter (temp -> temp.getDataIntegrity ().compareTo (new BigDecimal (0.95)) == 1
|
||||
).map (MonitorDataIntegrityDTO::getId).collect (Collectors.toList ( ));
|
||||
/*获取完整率>0.95条件下value_alarm为1的监测点id*/
|
||||
if(CollectionUtils.isEmpty (collect)){
|
||||
return 0;
|
||||
}
|
||||
QueryWrapper<RStatAbnormalDPO> rStatAbnormalDPOLambdaQueryWrapper = new QueryWrapper ( );
|
||||
rStatAbnormalDPOLambdaQueryWrapper.select ("measurement_point_id").
|
||||
in ("measurement_point_id",collect).
|
||||
eq ("value_alarm", 1).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",dataDate);
|
||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
|
||||
return rStatAbnormalDPOS.size ();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description: hanlderOracleQtr
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@SneakyThrows
|
||||
private void hanlderOracleQtr(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<ROperatingIndexQPO> rOperatingIndexQPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse(dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*查询Mouth表数据生成季表数据*/
|
||||
List<ROperatingIndexMPO> list = rOperatingIndexMPOService.queryOneQtrData(orgid,dataDate);
|
||||
/*求平均值*/
|
||||
int measurement_run_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getMeasurementRunPoints ( )).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int transit_measurement_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getTransitMeasurementPoints ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int effective_access_measurement_count =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getEffectiveAccessMeasurementCount ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int online_measurement_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getOnlineMeasurementPoints ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
|
||||
int online_measurement_count =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getOnlineMeasurementCount ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
/*double保留2位小数*/
|
||||
Double data_integrity_rate =Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getDataIntegrityRate ()).
|
||||
average ( ).
|
||||
getAsDouble ( )*100)*0.01;
|
||||
/*看day表is_unusual时候存在1存在返回1,数据否异常(0:正常 1:异常)*/
|
||||
Integer is_unusual =list.stream ().
|
||||
map (ROperatingIndexMPO::getIsUnusual).
|
||||
collect (Collectors.toList ())
|
||||
.contains (1)?1:0;
|
||||
|
||||
|
||||
ROperatingIndexQPO rOperatingIndexQPO = new ROperatingIndexQPO( );
|
||||
rOperatingIndexQPO.setOrgNo (orgid);
|
||||
rOperatingIndexQPO.setDataDate (tempDate);
|
||||
rOperatingIndexQPO.setMeasurementRunPoints (measurement_run_points);
|
||||
rOperatingIndexQPO.setTransitMeasurementPoints (transit_measurement_points);
|
||||
rOperatingIndexQPO.setEffectiveAccessMeasurementCount (effective_access_measurement_count);
|
||||
rOperatingIndexQPO.setOnlineMeasurementPoints (online_measurement_points);
|
||||
rOperatingIndexQPO.setOnlineMeasurementCount (online_measurement_count);
|
||||
rOperatingIndexQPO.setDataIntegrityRate (data_integrity_rate);
|
||||
rOperatingIndexQPO.setIsUnusual (is_unusual);
|
||||
rOperatingIndexQPOList.add (rOperatingIndexQPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rOperatingIndexQPOList)){
|
||||
rOperatingIndexQPOService.saveOrUpdateBatchByMultiId (rOperatingIndexQPOList,30);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: hanlderOracleYear
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@SneakyThrows
|
||||
private void hanlderOracleYear(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<ROperatingIndexYPO> rOperatingIndexYPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse(dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*查询Mouth表数据生成年表数据*/
|
||||
List<ROperatingIndexMPO> list = rOperatingIndexMPOService.queryOneYearData(orgid,dataDate);
|
||||
/*求平均值*/
|
||||
int measurement_run_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getMeasurementRunPoints ( )).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int transit_measurement_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getTransitMeasurementPoints ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int effective_access_measurement_count =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getEffectiveAccessMeasurementCount ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
int online_measurement_points =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getOnlineMeasurementPoints ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
|
||||
int online_measurement_count =(int) Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getOnlineMeasurementCount ()).
|
||||
average ( ).
|
||||
getAsDouble ( ));
|
||||
/*double保留2位小数*/
|
||||
Double data_integrity_rate =Math.round (list.stream ( ).
|
||||
mapToDouble (temp -> temp.getDataIntegrityRate ()).
|
||||
average ( ).
|
||||
getAsDouble ( )*100)*0.01;
|
||||
/*看day表is_unusual时候存在1存在返回1,数据否异常(0:正常 1:异常)*/
|
||||
Integer is_unusual =list.stream ().
|
||||
map (ROperatingIndexMPO::getIsUnusual).
|
||||
collect (Collectors.toList ())
|
||||
.contains (1)?1:0;
|
||||
|
||||
|
||||
ROperatingIndexYPO rOperatingIndexYPO = new ROperatingIndexYPO( );
|
||||
rOperatingIndexYPO.setOrgNo (orgid);
|
||||
rOperatingIndexYPO.setDataDate (tempDate);
|
||||
rOperatingIndexYPO.setMeasurementRunPoints (measurement_run_points);
|
||||
rOperatingIndexYPO.setTransitMeasurementPoints (transit_measurement_points);
|
||||
rOperatingIndexYPO.setEffectiveAccessMeasurementCount (effective_access_measurement_count);
|
||||
rOperatingIndexYPO.setOnlineMeasurementPoints (online_measurement_points);
|
||||
rOperatingIndexYPO.setOnlineMeasurementCount (online_measurement_count);
|
||||
rOperatingIndexYPO.setDataIntegrityRate (data_integrity_rate);
|
||||
rOperatingIndexYPO.setIsUnusual (is_unusual);
|
||||
rOperatingIndexYPOList.add (rOperatingIndexYPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rOperatingIndexYPOList)){
|
||||
rOperatingIndexYPOService.saveOrUpdateBatchByMultiId (rOperatingIndexYPOList,30);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpDevEvaluateDetailPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpDevEvaluateDetailPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpDevEvaluateDetailPOService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/1 9:18【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl<RMpDevEvaluateDetailPOMapper, RMpDevEvaluateDetailPO> implements RMpDevEvaluateDetailPOService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpIntegrityDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpIntegrityDPOMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpIntegrityDPOService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/29 15:38【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RMpIntegrityDPOServiceImpl extends ServiceImpl<RMpIntegrityDPOMapper, RMpIntegrityDPO> implements RMpIntegrityDPOService{
|
||||
|
||||
private @Autowired
|
||||
RMpIntegrityDPOMapper rMpIntegrityDPOMapper;
|
||||
/**
|
||||
* @Description: 获取监测点的数据完整性(日)
|
||||
* @Param: 〖数据完整率〗_日统计=(频率+相电压+线电压+畸变率+不平衡度)/(有效值数据个数*5)*100%
|
||||
* @return: com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/28
|
||||
*/
|
||||
@Override
|
||||
public List<MonitorDataIntegrityDTO> calculateDataIntegrity(List<String> indexlist, String dataDate){
|
||||
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = new ArrayList<> ();
|
||||
QueryWrapper<RMpIntegrityDPO> wrapper = new QueryWrapper ( );
|
||||
if(CollectionUtils.isEmpty (indexlist)){
|
||||
return monitorDataIntegrityDTOList;
|
||||
}
|
||||
wrapper.in ("measurement_point_id",indexlist).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",dataDate);
|
||||
|
||||
List<RMpIntegrityDPO> rMpIntegrityDPOS = rMpIntegrityDPOMapper.selectList (wrapper);
|
||||
monitorDataIntegrityDTOList = rMpIntegrityDPOS.stream ( ).
|
||||
map (temp -> {
|
||||
MonitorDataIntegrityDTO monitorDataIntegrityDTO = new MonitorDataIntegrityDTO();
|
||||
|
||||
Integer molecular = temp.getFreqCount ( ) + temp.getPhaseVoltageCount ( ) +
|
||||
temp.getLineVoltageCount ( ) + temp.getVThdCount ( )
|
||||
+ temp.getUnbalanceCount ( );
|
||||
Integer denominator = 5 * temp.getEffectiveMinuteCount ( );
|
||||
BigDecimal b = new BigDecimal ((float) molecular / denominator);
|
||||
BigDecimal dataIntegrity = b.setScale (2, BigDecimal.ROUND_HALF_UP);
|
||||
monitorDataIntegrityDTO.setId (temp.getMeasurementPointId ());
|
||||
monitorDataIntegrityDTO.setDataIntegrity (dataIntegrity);
|
||||
return monitorDataIntegrityDTO;
|
||||
}).collect (Collectors.toList ());
|
||||
|
||||
return monitorDataIntegrityDTOList;
|
||||
|
||||
}
|
||||
/**
|
||||
* @Description: 获取监测点的数据完整性(月平均值)
|
||||
* @Param: [indexlist, dataDate]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/1
|
||||
*/
|
||||
@Override
|
||||
public List<MonitorDataIntegrityDTO> calculateMouthDataIntegrity(List<String> indexlist, String dataDate) {
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = new ArrayList<> ();
|
||||
QueryWrapper<RMpIntegrityDPO> wrapper = new QueryWrapper ( );
|
||||
if(CollectionUtils.isEmpty (indexlist)){
|
||||
return monitorDataIntegrityDTOList;
|
||||
}
|
||||
wrapper.in ("measurement_point_id",indexlist).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring (0, 7));
|
||||
|
||||
List<RMpIntegrityDPO> rMpIntegrityDPOS = rMpIntegrityDPOMapper.selectList (wrapper);
|
||||
monitorDataIntegrityDTOList = rMpIntegrityDPOS.stream ( ).
|
||||
map (temp -> {
|
||||
MonitorDataIntegrityDTO monitorDataIntegrityDTO = new MonitorDataIntegrityDTO();
|
||||
|
||||
Integer molecular = temp.getFreqCount ( ) + temp.getPhaseVoltageCount ( ) +
|
||||
temp.getLineVoltageCount ( ) + temp.getVThdCount ( )
|
||||
+ temp.getUnbalanceCount ( );
|
||||
Integer denominator = 5 * temp.getEffectiveMinuteCount ( );
|
||||
BigDecimal b = new BigDecimal ((float) molecular / denominator);
|
||||
BigDecimal dataIntegrity = b.setScale (2, BigDecimal.ROUND_HALF_UP);
|
||||
monitorDataIntegrityDTO.setId (temp.getMeasurementPointId ());
|
||||
monitorDataIntegrityDTO.setDataIntegrity (dataIntegrity);
|
||||
return monitorDataIntegrityDTO;
|
||||
}).collect (Collectors.toList ());
|
||||
|
||||
return monitorDataIntegrityDTOList;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpTargetWarnDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpTargetWarnDMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpTargetWarnDService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/15 11:00【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@DS("master")
|
||||
public class RMpTargetWarnDServiceImpl extends MppServiceImpl<RMpTargetWarnDMapper, RMpTargetWarnDPO> implements RMpTargetWarnDService {
|
||||
|
||||
|
||||
private @Autowired
|
||||
RMpTargetWarnDMapper rMpTargetWarnDMapper;
|
||||
/**
|
||||
* @param monitorIdList
|
||||
* @param dataDate
|
||||
* @Description: 计算出当前机构累计稳态超标监测点数(当月)
|
||||
* @Param: [monitorIdList, dataDate]
|
||||
* @return: java.lang.Integer
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/15
|
||||
*/
|
||||
@Override
|
||||
public Integer queryHarmonicMeasurementAccrued(List<String> monitorIdList, String dataDate) {
|
||||
Integer result = 0;
|
||||
|
||||
QueryWrapper<RMpTargetWarnDPO> wrapper = new QueryWrapper ( );
|
||||
if(CollectionUtils.isEmpty (monitorIdList)){
|
||||
return result;
|
||||
}
|
||||
wrapper.select ("distinct measurement_point_id ").
|
||||
in ("measurement_point_id",monitorIdList).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring (0, 7)).
|
||||
eq ("is_harmonic",1);
|
||||
result = rMpTargetWarnDMapper.selectCount (wrapper);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexDPOService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/25 10:01【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class ROperatingIndexDPOServiceImpl extends MppServiceImpl<ROperatingIndexDPOMapper, ROperatingIndexDPO> implements ROperatingIndexDPOService{
|
||||
|
||||
|
||||
private @Autowired
|
||||
ROperatingIndexDPOMapper rOperatingIndexDPOMapper;
|
||||
/**
|
||||
* @param orgid
|
||||
* @param dataDate
|
||||
* @Description: 查询day表一个月的数据数据生成月表数据
|
||||
* @Param: [orgid, dataDate]
|
||||
* @return: java.util.List<com.njcn.harmonic.pojo.po.ROperatingIndexDPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/30
|
||||
*/
|
||||
@Override
|
||||
public List<ROperatingIndexDPO> queryOneMothData(String orgid, String dataDate) {
|
||||
|
||||
|
||||
QueryWrapper<ROperatingIndexDPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("org_no", orgid).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring (0, 7));
|
||||
List<ROperatingIndexDPO> list = rOperatingIndexDPOMapper.selectList (queryWrapper);
|
||||
|
||||
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexMPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexMPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexMPOService;
|
||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/30 13:59【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class ROperatingIndexMPOServiceImpl extends MppServiceImpl<ROperatingIndexMPOMapper, ROperatingIndexMPO> implements ROperatingIndexMPOService{
|
||||
|
||||
private @Autowired
|
||||
ROperatingIndexMPOMapper rOperatingIndexMPOMapper;
|
||||
/**
|
||||
* @param orgid
|
||||
* @param dataDate
|
||||
* @Description: queryOneQtrData 查询一季度Mouth表数据
|
||||
* @Param: [orgid, dataDate]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.mysql.po.ROperatingIndexMPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/30
|
||||
*/
|
||||
@Override
|
||||
public List<ROperatingIndexMPO> queryOneQtrData(String orgid, String dataDate) {
|
||||
|
||||
QueryWrapper<ROperatingIndexMPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("org_no", orgid).
|
||||
eq("QUARTER( data_date)", PublicUtil.getNowQuarter (dataDate));
|
||||
List<ROperatingIndexMPO> list = rOperatingIndexMPOMapper.selectList (queryWrapper);
|
||||
|
||||
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param orgid
|
||||
* @param dataDate
|
||||
* @Description: queryOneYearData 查询一年Mouth表数据
|
||||
* @Param: [orgid, dataDate]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.mysql.po.ROperatingIndexMPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/30
|
||||
*/
|
||||
@Override
|
||||
public List<ROperatingIndexMPO> queryOneYearData(String orgid, String dataDate) {
|
||||
QueryWrapper<ROperatingIndexMPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("org_no", orgid).
|
||||
eq("YEAR( data_date )",dataDate.substring (0, 4));
|
||||
List<ROperatingIndexMPO> list = rOperatingIndexMPOMapper.selectList (queryWrapper);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexQPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexQPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexQPOService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/30 15:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class ROperatingIndexQPOServiceImpl extends MppServiceImpl<ROperatingIndexQPOMapper, ROperatingIndexQPO> implements ROperatingIndexQPOService{
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexYPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexYPOMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexYPOService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/30 15:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class ROperatingIndexYPOServiceImpl extends MppServiceImpl<ROperatingIndexYPOMapper, ROperatingIndexYPO> implements ROperatingIndexYPOService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import com.njcn.harmonic.pojo.po.ROperatingIndexDPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatAbnormalDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.PmsMonitorPOService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RStatAbnormalDPOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/28 19:31【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RStatAbnormalDPOServiceImpl extends MppServiceImpl<RStatAbnormalDPOMapper, RStatAbnormalDPO> implements RStatAbnormalDPOService {
|
||||
|
||||
|
||||
|
||||
private @Autowired
|
||||
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
||||
|
||||
private @Autowired
|
||||
PmsMonitorPOService pmsMonitorPOService;
|
||||
|
||||
|
||||
private @Autowired
|
||||
PqLinedetailPOService pqLinedetailPOService;
|
||||
|
||||
/**
|
||||
* @param primaryGridParam
|
||||
* @Description: rStatAbnormalDDataHanlder
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/28
|
||||
*/
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void rStatAbnormalDDataHanlder(PrimaryGridParam primaryGridParam) {
|
||||
if (Objects.equals (primaryGridParam.getDataSource ( ), 0)) {
|
||||
this.hanlderOracleData (primaryGridParam);
|
||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), 1)) {
|
||||
this.hanlderInfludxbData (primaryGridParam);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Description: 处理influxdb数据 todo 本次不做处理
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private void hanlderInfludxbData(PrimaryGridParam primaryGridParam) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 处理Oracle数据目前只有日表数据处理
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
@SneakyThrows
|
||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<ROperatingIndexDPO> rOperatingIndexDPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd ").parse(dataDate);
|
||||
|
||||
orgIdList.forEach (orgid -> {
|
||||
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
|
||||
List<PqLinedetailPO> pqLinedetailPOS = pqLinedetailPOService.queryOracleIndexIdByMysqlIndexId (mysqlIndexList);
|
||||
List<Integer> oracleIndexlist = pqLinedetailPOS.stream ( ).map (PqLinedetailPO::getLineIndex).collect (Collectors.toList ( ));
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgDMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgDService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/13 15:39【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RStatOrgDServiceImpl extends MppServiceImpl<RStatOrgDMapper, RStatOrgDPO> implements RStatOrgDService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgMPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgMMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgMService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/14 16:17【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RStatOrgMServiceImpl extends MppServiceImpl<RStatOrgMMapper, RStatOrgMPO> implements RStatOrgMService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,423 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.harmonic.pojo.po.RMpTargetWarnDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RMpTargetWarnDMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.*;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.AlarmDetailService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 数据是否异常
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/29 - 10:09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class AlarmDetailServiceImpl implements AlarmDetailService {
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
private final MonitorClient monitorClient;
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final RMpTargetWarnDMapper rMpTargetWarnDMapper;
|
||||
|
||||
private final RMpMeasurePhaseReportDPOMapper rMpMeasurePhaseReportDPOMapper;
|
||||
|
||||
private final RMpMeasureReportDPOMapper rMpMeasureReportDPOMapper;
|
||||
|
||||
private final RMpHarmonicVRateReportDPOMapper rMpHarmonicVRateReportDPOMapper;
|
||||
|
||||
private final RMpEventDetailDMapper rMpEventDetailDMapper;
|
||||
|
||||
private final RMpPltReportDPOMapper rMpPltReportDPOMapper;
|
||||
|
||||
/**
|
||||
* 电压偏差告警日统计
|
||||
* @author qijian
|
||||
* @date 2022/12/28
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public boolean alarmDetailAlarm(LineParam lineParam) {
|
||||
//初始化
|
||||
String date = lineParam.getDataDate();
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
Integer type = lineParam.getType();
|
||||
|
||||
//获取监测点数据,进行业务操作
|
||||
if (CollUtil.isEmpty(lineIds)){
|
||||
//先获取主网的监测点信息,再获取配网的监测点信息
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
processVoltageDeviationAlarm(date,type, monitor.getLineId());
|
||||
processFrequencyDeviationAlarm(date,type, monitor.getLineId());
|
||||
processUnbalance95Alarm(date,type, monitor.getLineId());
|
||||
processVoltageHarmonicThd95Alarm(date,type, monitor.getLineId());
|
||||
processFlashingAlarm(date,type, monitor.getLineId());
|
||||
processSagTimesAlarm(date,type, monitor.getLineId());
|
||||
processInterruptTimesAlarm(date,type, monitor.getLineId());
|
||||
}
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
processVoltageDeviationAlarm(date,type, distributionMonitor.getMonitorId());
|
||||
processFrequencyDeviationAlarm(date,type, distributionMonitor.getMonitorId());
|
||||
processUnbalance95Alarm(date,type, distributionMonitor.getMonitorId());
|
||||
processVoltageHarmonicThd95Alarm(date,type, distributionMonitor.getMonitorId());
|
||||
processFlashingAlarm(date,type, distributionMonitor.getMonitorId());
|
||||
processSagTimesAlarm(date,type, distributionMonitor.getMonitorId());
|
||||
processInterruptTimesAlarm(date,type, distributionMonitor.getMonitorId());
|
||||
}
|
||||
} else {
|
||||
//根据监测点类型取数据
|
||||
for (String lineId : lineIds) {
|
||||
processVoltageDeviationAlarm(date,type, lineId);
|
||||
processFrequencyDeviationAlarm(date,type, lineId);
|
||||
processUnbalance95Alarm(date,type, lineId);
|
||||
processVoltageHarmonicThd95Alarm(date,type, lineId);
|
||||
processFlashingAlarm(date,type, lineId);
|
||||
processSagTimesAlarm(date,type, lineId);
|
||||
processInterruptTimesAlarm(date,type, lineId);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(电压偏差告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/28
|
||||
*/
|
||||
private void processVoltageDeviationAlarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
double localMax = rMpMeasurePhaseReportDPOMapper.getMaxVDeUp(lineId, localDate);
|
||||
double yesterdayMax = rMpMeasurePhaseReportDPOMapper.getMaxVDeUp(lineId, yesterday);
|
||||
double beforeYesterdayMax = rMpMeasurePhaseReportDPOMapper.getMaxVDeUp(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsVDevWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsVDevWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(频率偏差告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/29
|
||||
*/
|
||||
private void processFrequencyDeviationAlarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
double localMax = rMpMeasureReportDPOMapper.getMaxFrequencyDeviation(lineId, localDate);
|
||||
double yesterdayMax = rMpMeasureReportDPOMapper.getMaxFrequencyDeviation(lineId, yesterday);
|
||||
double beforeYesterdayMax = rMpMeasureReportDPOMapper.getMaxFrequencyDeviation(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsFreqWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsFreqWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(三相电压不平衡告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/29
|
||||
*/
|
||||
private void processUnbalance95Alarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
double localMax = rMpMeasureReportDPOMapper.getMaxUnbalance95(lineId, localDate);
|
||||
double yesterdayMax = rMpMeasureReportDPOMapper.getMaxUnbalance95(lineId, yesterday);
|
||||
double beforeYesterdayMax = rMpMeasureReportDPOMapper.getMaxUnbalance95(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsUnbalanceWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsUnbalanceWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(谐波电压告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/29
|
||||
*/
|
||||
private void processVoltageHarmonicThd95Alarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
double localMax = rMpHarmonicVRateReportDPOMapper.getMaxVoltageHarmonicThd95(lineId, localDate);
|
||||
double yesterdayMax = rMpHarmonicVRateReportDPOMapper.getMaxVoltageHarmonicThd95(lineId, yesterday);
|
||||
double beforeYesterdayMax = rMpHarmonicVRateReportDPOMapper.getMaxVoltageHarmonicThd95(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsVWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsVWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(长时电压闪变告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/30
|
||||
*/
|
||||
private void processFlashingAlarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
double localMax = rMpPltReportDPOMapper.getMaxFlashing(lineId, localDate);
|
||||
double yesterdayMax = rMpPltReportDPOMapper.getMaxFlashing(lineId, yesterday);
|
||||
double beforeYesterdayMax = rMpPltReportDPOMapper.getMaxFlashing(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsFlickerWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsFlickerWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(电压暂降告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/29
|
||||
*/
|
||||
private void processSagTimesAlarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
int localMax = rMpEventDetailDMapper.getSagTimes(lineId, localDate);
|
||||
int yesterdayMax = rMpEventDetailDMapper.getSagTimes(lineId, yesterday);
|
||||
int beforeYesterdayMax = rMpEventDetailDMapper.getSagTimes(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsSagWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsSagWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(电压短时中断告警日统计)
|
||||
* @author qijian
|
||||
* @date 2022/12/29
|
||||
*/
|
||||
private void processInterruptTimesAlarm(String date, Integer type, String lineId) {
|
||||
//日期条件(取前天、昨天、今天)
|
||||
LocalDate localDate = LocalDate.parse(date);
|
||||
LocalDate yesterday = localDate.plusDays(-1);
|
||||
LocalDate beforeYesterday = yesterday.plusDays(-1);
|
||||
int localMax = rMpEventDetailDMapper.getInterruptTimes(lineId, localDate);
|
||||
int yesterdayMax = rMpEventDetailDMapper.getInterruptTimes(lineId, yesterday);
|
||||
int beforeYesterdayMax = rMpEventDetailDMapper.getInterruptTimes(lineId, beforeYesterday);
|
||||
|
||||
//计算RM和CL值
|
||||
double rm = ((localMax - yesterdayMax) + (yesterdayMax - beforeYesterdayMax)) / 2;
|
||||
double cl = (localMax + yesterdayMax + beforeYesterdayMax) / 3;
|
||||
|
||||
//计算RL和UCL值
|
||||
double rl = rm * 3.3;
|
||||
double ucl = cl + rm * 3;
|
||||
|
||||
//如果本日最大值>UCL 且 本日最大值>昨日最大值,则告警
|
||||
if (localMax > ucl && localMax > yesterdayMax){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsInterruptWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
|
||||
//如果本日>昨日>前日,且前日的值超过RL值,则告警
|
||||
if (localMax > yesterdayMax && yesterdayMax > beforeYesterdayMax && beforeYesterdayMax > rl){
|
||||
RMpTargetWarnDPO rMpTargetWarnD = new RMpTargetWarnDPO();
|
||||
rMpTargetWarnD.setMeasurementPointId(lineId);
|
||||
rMpTargetWarnD.setDataDate(DateUtil.parse(date));
|
||||
rMpTargetWarnD.setIsInterruptWarn(1);
|
||||
addAlarmData(rMpTargetWarnD);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 存入数据库
|
||||
* @author qijian
|
||||
* @date 2022/12/28
|
||||
*/
|
||||
private void addAlarmData(RMpTargetWarnDPO rMpTargetWarnD) {
|
||||
LambdaQueryWrapper<RMpTargetWarnDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(RMpTargetWarnDPO::getMeasurementPointId, rMpTargetWarnD.getMeasurementPointId()).eq(RMpTargetWarnDPO::getDataDate, rMpTargetWarnD.getDataDate());
|
||||
RMpTargetWarnDPO rMpTargetWarnDOne = rMpTargetWarnDMapper.selectOne(lambdaQueryWrapper);
|
||||
if (Objects.nonNull(rMpTargetWarnDOne)) {
|
||||
rMpTargetWarnDMapper.update(rMpTargetWarnD, lambdaQueryWrapper);
|
||||
} else {
|
||||
rMpTargetWarnDMapper.insert(rMpTargetWarnD);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,398 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pq.constant.Param;
|
||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
||||
import com.njcn.device.pq.pojo.po.RStatAbnormalD;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsAbnormalRulesMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RStatAbnormalDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataExceptionInfluxService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DataExceptionService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 数据是否异常
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/29 - 10:09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class DataExceptionServiceImpl implements DataExceptionService {
|
||||
|
||||
private final PmsAbnormalRulesMapper pmsAbnormalRulesMapper;
|
||||
|
||||
private final RStatAbnormalDMapper rStatAbnormalDMapper;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
private final MonitorClient monitorClient;
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final DataExceptionInfluxService dataExceptionInfluxService;
|
||||
|
||||
private final DataVOraclePOService dataVOraclePOService;
|
||||
|
||||
private final PqLinedetailPOService pqLinedetailPOService;
|
||||
|
||||
/**
|
||||
* 监测点数据是否异常(日统计)
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public DeviceResponseEnum lineDataException(LineParam lineParam) {
|
||||
DeviceResponseEnum deviceResponseEnum = null;
|
||||
if (Objects.equals(lineParam.getDataSource(), AlgorithmParam.ORACLE_DATA)) {
|
||||
deviceResponseEnum = hanlderOracleData(lineParam);
|
||||
} else if (Objects.equals(lineParam.getDataSource(), AlgorithmParam.INFLUX_DATA)) {
|
||||
deviceResponseEnum = hanlderInfluxData (lineParam);
|
||||
}
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(influx>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
private DeviceResponseEnum hanlderInfluxData(LineParam lineParam) {
|
||||
//初始化
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
Integer type = lineParam.getType();
|
||||
Integer lineType = lineParam.getLineType();
|
||||
|
||||
//1、取出规则
|
||||
List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList(null);
|
||||
|
||||
//2、取出电压字典
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_VOLTAGE.getName()).getData();
|
||||
|
||||
//3、获取监测点数据,进行入库操作
|
||||
if (CollUtil.isEmpty(lineIds)){
|
||||
//先获取主网的监测点信息,再获取配网的监测点信息
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
Double voltage = getVoltage(monitor.getVoltageLevel(), dictDataList);
|
||||
DeviceResponseEnum deviceResponseEnum = processInfluxData(monitor.getLineId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
Double voltage = getVoltage(distributionMonitor.getVoltageLevel(), dictDataList);
|
||||
DeviceResponseEnum deviceResponseEnum = processInfluxData(distributionMonitor.getMonitorId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//根据监测点类型取数据
|
||||
if (AlgorithmParam.MAIN_NET.equals(lineType)){
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
Double voltage = getVoltage(monitor.getVoltageLevel(), dictDataList);
|
||||
DeviceResponseEnum deviceResponseEnum = processInfluxData(monitor.getLineId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
Double voltage = getVoltage(distributionMonitor.getVoltageLevel(), dictDataList);
|
||||
DeviceResponseEnum deviceResponseEnum = processInfluxData(distributionMonitor.getMonitorId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(influx>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
* @return
|
||||
*/
|
||||
private DeviceResponseEnum processInfluxData(String lineId, Double voltage, Date date, Integer type, List<PmsAbnormalRules> pmsAbnormalRules) {
|
||||
//取前四项进行比较(相别为A)
|
||||
DataV dataV = dataExceptionInfluxService.getFirstFourItems(lineId,date,type);
|
||||
//查不到数据为null,直接返回
|
||||
if (Objects.isNull(dataV)){
|
||||
return null;
|
||||
}
|
||||
|
||||
DeviceResponseEnum harmonicResponseEnum = null;
|
||||
|
||||
//根据规则表进行判断
|
||||
for (PmsAbnormalRules pmsAbnormalRule : pmsAbnormalRules) {
|
||||
//每项数据进行上下限比较(MAX和MIN),若有一项不在数据范围内,则为异常
|
||||
switch (pmsAbnormalRule.getTarget()) {
|
||||
case Param.TARGET_FREQ:
|
||||
//频率:正常比较
|
||||
if (dataV.getFrepMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getFrepMAX() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_FREP_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_RMS:
|
||||
//相电压有效值特殊处理:在【0.85p.u.,1.2p.u.】之间;p.u=电压等级/1.732
|
||||
pmsAbnormalRule.setLowerLimit((pmsAbnormalRule.getLowerLimit() * (voltage / 1.732)));
|
||||
pmsAbnormalRule.setUpperLimit((pmsAbnormalRule.getUpperLimit() * (voltage / 1.732)));
|
||||
if (dataV.getRmsMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getRmsMAX() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_RMS_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_RMS_LVR:
|
||||
//线电压有效值特殊处理:在【0.85p.u.,1.2p.u.】之间;p.u=电压等级
|
||||
pmsAbnormalRule.setLowerLimit((pmsAbnormalRule.getLowerLimit() * voltage));
|
||||
pmsAbnormalRule.setUpperLimit((pmsAbnormalRule.getUpperLimit() * voltage));
|
||||
if (dataV.getRmsLvrMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getRmsLvrMAX() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_RMS_LVR_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_V_THD:
|
||||
//电压总谐波畸变率:正常比较
|
||||
if (dataV.getVThdMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getVThdMAX() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_V_THD_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_V_UNBALANCE:
|
||||
//三相不平衡度:正常比较(相别为T)
|
||||
dataV = dataExceptionInfluxService.getUnbalance(lineId,date,type);
|
||||
//InfluxDB查不到数据为null,所以直接返回
|
||||
if (Objects.isNull(dataV)){
|
||||
return null;
|
||||
}
|
||||
if (dataV.getVUnbalanceMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getVUnbalanceMAX() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_V_UNBALANCE_RULE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//有异常抛出并入库
|
||||
if (harmonicResponseEnum != null){
|
||||
addData(lineId, date);
|
||||
return harmonicResponseEnum;
|
||||
}
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(oracle>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
* @return
|
||||
*/
|
||||
private DeviceResponseEnum hanlderOracleData(LineParam lineParam) {
|
||||
//初始化
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
Integer type = lineParam.getType();
|
||||
Integer lineType = lineParam.getLineType();
|
||||
|
||||
//1、取出规则
|
||||
List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList(null);
|
||||
|
||||
//2、取出电压字典
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.DEV_VOLTAGE.getName()).getData();
|
||||
|
||||
//3、获取监测点数据,进行入库操作
|
||||
if (CollUtil.isEmpty(lineIds)){
|
||||
//先获取主网的监测点信息,再获取配网的监测点信息
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
//根据电压字典获取电压等级
|
||||
Double voltage = getVoltage(monitor.getVoltageLevel(),dictDataList);
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(monitor.getLineId());
|
||||
//处理数据(oracle>mysql)
|
||||
DeviceResponseEnum deviceResponseEnum = processOracleData(pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex(), monitor.getLineId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
//根据电压字典获取电压等级
|
||||
Double voltage = getVoltage(distributionMonitor.getVoltageLevel(),dictDataList);
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(distributionMonitor.getMonitorId());
|
||||
//处理数据(oracle>mysql)
|
||||
DeviceResponseEnum deviceResponseEnum = processOracleData(pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex(),distributionMonitor.getMonitorId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//根据监测点类型取数据
|
||||
if (AlgorithmParam.MAIN_NET.equals(lineType)){
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
//根据电压字典获取电压等级
|
||||
Double voltage = getVoltage(monitor.getVoltageLevel(),dictDataList);
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(monitor.getLineId());
|
||||
//处理数据(oracle>mysql)
|
||||
DeviceResponseEnum deviceResponseEnum = processOracleData(pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex(),monitor.getLineId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
//根据电压字典获取电压等级
|
||||
Double voltage = getVoltage(distributionMonitor.getVoltageLevel(),dictDataList);
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(distributionMonitor.getMonitorId());
|
||||
//处理数据(oracle>mysql)
|
||||
DeviceResponseEnum deviceResponseEnum = processOracleData(pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex(),distributionMonitor.getMonitorId(), voltage, date, type, pmsAbnormalRules);
|
||||
if (deviceResponseEnum != null){
|
||||
return deviceResponseEnum;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(oracle>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
private DeviceResponseEnum processOracleData(Integer lineId, String monitorId, Double voltage, Date date, Integer type, List<PmsAbnormalRules> pmsAbnormalRules) {
|
||||
//取五项进行比较
|
||||
DataVOracleVO dataVOracleVO = dataVOraclePOService.getFiveItemsForDataException(lineId, date, type);
|
||||
//查不到数据为null,直接返回
|
||||
if (Objects.isNull(dataVOracleVO)){
|
||||
return null;
|
||||
}
|
||||
|
||||
DeviceResponseEnum harmonicResponseEnum = null;
|
||||
|
||||
//根据规则表进行判断
|
||||
for (PmsAbnormalRules pmsAbnormalRule : pmsAbnormalRules) {
|
||||
//每项数据进行上下限比较(MAX和MIN),若有一项不在数据范围内,则为异常
|
||||
switch (pmsAbnormalRule.getTarget()) {
|
||||
case Param.TARGET_FREQ:
|
||||
//频率:正常比较
|
||||
if (dataVOracleVO.getFreqMin() < pmsAbnormalRule.getLowerLimit() || dataVOracleVO.getFreqMax() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_FREP_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_RMS:
|
||||
//相电压有效值特殊处理:在【0.85p.u.,1.2p.u.】之间;p.u=电压等级/1.732
|
||||
pmsAbnormalRule.setLowerLimit((pmsAbnormalRule.getLowerLimit() * (voltage / 1.732)));
|
||||
pmsAbnormalRule.setUpperLimit((pmsAbnormalRule.getUpperLimit() * (voltage / 1.732)));
|
||||
if (dataVOracleVO.getRmsMin() < pmsAbnormalRule.getLowerLimit() || dataVOracleVO.getRmsMax() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_RMS_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_RMS_LVR:
|
||||
//线电压有效值特殊处理:在【0.85p.u.,1.2p.u.】之间;p.u=电压等级
|
||||
pmsAbnormalRule.setLowerLimit((pmsAbnormalRule.getLowerLimit() * voltage));
|
||||
pmsAbnormalRule.setUpperLimit((pmsAbnormalRule.getUpperLimit() * voltage));
|
||||
if (dataVOracleVO.getRmsLvrMin() < pmsAbnormalRule.getLowerLimit() || dataVOracleVO.getRmsLvrMax() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_RMS_LVR_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_V_THD:
|
||||
//电压总谐波畸变率:正常比较
|
||||
if (dataVOracleVO.getVThdMin() < pmsAbnormalRule.getLowerLimit() || dataVOracleVO.getVThdMax() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_V_THD_RULE;
|
||||
}
|
||||
break;
|
||||
case Param.TARGET_V_UNBALANCE:
|
||||
//三相不平衡度:正常比较
|
||||
if (dataVOracleVO.getVUnbalanceMin() < pmsAbnormalRule.getLowerLimit() || dataVOracleVO.getVUnbalanceMax() > pmsAbnormalRule.getUpperLimit()){
|
||||
harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_V_UNBALANCE_RULE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//有异常抛出并入库
|
||||
if (harmonicResponseEnum != null){
|
||||
addData(monitorId, date);
|
||||
return harmonicResponseEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 有异常抛出并入库
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
private void addData(String lineId, Date date) {
|
||||
LambdaQueryWrapper<RStatAbnormalD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(RStatAbnormalD::getMeasurementPointId, lineId).eq(RStatAbnormalD::getDataDate, date);
|
||||
RStatAbnormalD rStatAbnormalDOne = rStatAbnormalDMapper.selectOne(lambdaQueryWrapper);
|
||||
if (Objects.isNull(rStatAbnormalDOne)){
|
||||
RStatAbnormalD rStatAbnormalD = new RStatAbnormalD();
|
||||
rStatAbnormalD.setDataDate(date);
|
||||
rStatAbnormalD.setMeasurementPointId(lineId);
|
||||
rStatAbnormalD.setValueAlarm(0);
|
||||
rStatAbnormalDMapper.insert(rStatAbnormalD);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据电压字典获取电压等级
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
private Double getVoltage(String id, List<DictData> dictDataList){
|
||||
for (DictData dictData : dictDataList) {
|
||||
if (dictData.getId().equals(id)){
|
||||
Double result = Double.valueOf(dictData.getValue());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,227 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
import com.njcn.device.pq.pojo.po.RMpIntegrityD;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpIntegrityDMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.pojo.po.DataFlicker;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataFlickerOracleVO;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataIntegrityRateInfluxService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DataIntegrityRateService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataFlickerOracleService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 数据完整率算法
|
||||
*
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
* @createTime 2022/11/29 - 10:09
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class DataIntegrityRateServiceImpl implements DataIntegrityRateService {
|
||||
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
|
||||
private final RMpIntegrityDMapper rMpIntegrityDMapper;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
private final MonitorClient monitorClient;
|
||||
|
||||
private final DataIntegrityRateInfluxService dataIntegrityRateInfluxService;
|
||||
|
||||
private final PqLinedetailPOService pqLinedetailPOService;
|
||||
|
||||
private final DataVOraclePOService dataVOraclePOService;
|
||||
|
||||
private final DataFlickerOracleService dataFlickerOracleService;
|
||||
|
||||
/**
|
||||
* 监测点日数据完整率
|
||||
* @author qijian
|
||||
* @date 2022/11/29
|
||||
*/
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public boolean lineDataIntegrityRate(LineParam lineParam) {
|
||||
if (Objects.equals(lineParam.getDataSource(), AlgorithmParam.ORACLE_DATA)) {
|
||||
hanlderOracleData(lineParam);
|
||||
} else if (Objects.equals(lineParam.getDataSource(), AlgorithmParam.INFLUX_DATA)) {
|
||||
hanlderInfluxData(lineParam);
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(influxDB>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/12/01
|
||||
*/
|
||||
private void hanlderInfluxData(LineParam lineParam) {
|
||||
//初始化
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
Integer lineType = lineParam.getLineType();
|
||||
Integer type = lineParam.getType();
|
||||
//有效接入分钟数量:根据监测点编号获取统计间隔(15),1440 / 15 = 有效接入分钟数量
|
||||
Integer effectiveMinuteCount = 1440 / AlgorithmParam.TIME_INTERVAL;
|
||||
|
||||
//获取监测点数据,进行入库操作
|
||||
if (CollUtil.isEmpty(lineIds)){
|
||||
//先获取主网的监测点信息,再获取配网的监测点信息
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
processInfluxData(date,type,effectiveMinuteCount, monitor.getLineId());
|
||||
}
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
processInfluxData(date,type,effectiveMinuteCount, distributionMonitor.getMonitorId());
|
||||
}
|
||||
} else {
|
||||
//根据监测点类型取数据
|
||||
for (String lineId : lineIds) {
|
||||
processInfluxData(date,type,effectiveMinuteCount, lineId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(influxDB>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/12/01
|
||||
*/
|
||||
private void processInfluxData(Date date, Integer type, Integer effectiveMinuteCount, String lineId) {
|
||||
RMpIntegrityD rMpIntegrityD = new RMpIntegrityD();
|
||||
rMpIntegrityD.setEffectiveMinuteCount(effectiveMinuteCount);
|
||||
rMpIntegrityD.setMeasurementPointId(lineId);
|
||||
rMpIntegrityD.setDataDate(date);
|
||||
|
||||
//1、根据data_v表获取五项稳态指标日数量
|
||||
DataV dataV = dataIntegrityRateInfluxService.getFiveSteadyData(lineId, date,type);
|
||||
|
||||
rMpIntegrityD.setFreqCount(dataV == null ? 0 : dataV.getFreqCount());
|
||||
rMpIntegrityD.setPhaseVoltageCount(dataV == null ? 0 : dataV.getRmsCount());
|
||||
rMpIntegrityD.setLineVoltageCount(dataV == null ? 0 : dataV.getRmsLvrCount());
|
||||
rMpIntegrityD.setVThdCount(dataV == null ? 0 : dataV.getVThdCount());
|
||||
rMpIntegrityD.setUnbalanceCount(dataV == null ? 0 : dataV.getVUnbalanceCount());
|
||||
|
||||
//2、根据data_flicker表获取两项闪变指标数量
|
||||
DataFlicker dataFlicker = dataIntegrityRateInfluxService.getTwoFlickerData(lineId, date,type);
|
||||
rMpIntegrityD.setPstCount(dataFlicker == null ? 0 : dataFlicker.getPstCount());
|
||||
rMpIntegrityD.setPltCount(dataFlicker == null ? 0 : dataFlicker.getPltCount());
|
||||
|
||||
//3、存库
|
||||
addData(rMpIntegrityD);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(oracle>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/12/01
|
||||
*/
|
||||
private void hanlderOracleData(LineParam lineParam) {
|
||||
//初始化
|
||||
Date date = DateUtil.parse(lineParam.getDataDate());
|
||||
List<String> lineIds = lineParam.getLineIds();
|
||||
Integer lineType = lineParam.getLineType();
|
||||
Integer type = lineParam.getType();
|
||||
//有效接入分钟数量:根据监测点编号获取统计间隔(15),1440 / 15 = 有效接入分钟数量
|
||||
Integer effectiveMinuteCount = 1440 / AlgorithmParam.TIME_INTERVAL;
|
||||
|
||||
//获取监测点数据,进行入库操作
|
||||
if (CollUtil.isEmpty(lineIds)){
|
||||
//先获取主网的监测点信息,再获取配网的监测点信息
|
||||
List<Monitor> monitorList = monitorClient.getMonitorList(lineIds).getData();
|
||||
for (Monitor monitor : monitorList) {
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(monitor.getLineId());
|
||||
//处理数据(oracle>mysql)
|
||||
processOracleData(date,type,effectiveMinuteCount, monitor.getLineId(),pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex());
|
||||
}
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorClient.distributionMonitorList(lineIds).getData();
|
||||
for (DistributionMonitor distributionMonitor : distributionMonitorList) {
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(distributionMonitor.getMonitorId());
|
||||
//处理数据(oracle>mysql)
|
||||
processOracleData(date,type,effectiveMinuteCount, distributionMonitor.getMonitorId(),pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex());
|
||||
}
|
||||
} else {
|
||||
//根据监测点类型取数据
|
||||
for (String lineId : lineIds) {
|
||||
//根据mysql监测点取oracle监测点信息
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId(lineId);
|
||||
//处理数据(oracle>mysql)
|
||||
processOracleData(date,type,effectiveMinuteCount, lineId, pqLinedetailPO == null ? 0 : pqLinedetailPO.getLineIndex());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据(oracle>mysql)
|
||||
* @author qijian
|
||||
* @date 2022/12/01
|
||||
*/
|
||||
private void processOracleData(Date date, Integer type, Integer effectiveMinuteCount, String lineId, Integer lineIndex) {
|
||||
RMpIntegrityD rMpIntegrityD = new RMpIntegrityD();
|
||||
rMpIntegrityD.setEffectiveMinuteCount(effectiveMinuteCount);
|
||||
rMpIntegrityD.setMeasurementPointId(lineId);
|
||||
rMpIntegrityD.setDataDate(date);
|
||||
|
||||
//1、根据data_v表获取五项稳态指标日数量
|
||||
DataVOracleVO dataVOracleVO = dataVOraclePOService.getFiveCountForDataIntegrityRate(lineIndex, date, type);
|
||||
rMpIntegrityD.setFreqCount(dataVOracleVO == null ? 0 : dataVOracleVO.getFreqCount());
|
||||
rMpIntegrityD.setPhaseVoltageCount(dataVOracleVO == null ? 0 : dataVOracleVO.getRmsCount());
|
||||
rMpIntegrityD.setLineVoltageCount(dataVOracleVO == null ? 0 : dataVOracleVO.getRmsLvrCount());
|
||||
rMpIntegrityD.setVThdCount(dataVOracleVO == null ? 0 : dataVOracleVO.getVThdCount());
|
||||
rMpIntegrityD.setUnbalanceCount(dataVOracleVO == null ? 0 : dataVOracleVO.getVUnbalanceCount());
|
||||
|
||||
//2、根据data_flicker表获取两项闪变指标数量
|
||||
DataFlickerOracleVO dataFlickerOracleVO = dataFlickerOracleService.getTwoCountForDataIntegrityRate(lineIndex, date, type);
|
||||
rMpIntegrityD.setPstCount(dataFlickerOracleVO == null ? 0 : dataFlickerOracleVO.getPstCount());
|
||||
rMpIntegrityD.setPltCount(dataFlickerOracleVO == null ? 0 : dataFlickerOracleVO.getPltCount());
|
||||
|
||||
//3、存库
|
||||
addData(rMpIntegrityD);
|
||||
}
|
||||
|
||||
/**
|
||||
* 存入数据库
|
||||
* @author qijian
|
||||
* @date 2022/12/01
|
||||
*/
|
||||
private void addData(RMpIntegrityD rMpIntegrityD) {
|
||||
LambdaQueryWrapper<RMpIntegrityD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(RMpIntegrityD::getMeasurementPointId, rMpIntegrityD.getMeasurementPointId()).eq(RMpIntegrityD::getDataDate, rMpIntegrityD.getDataDate());
|
||||
RMpIntegrityD rMpIntegrityDOne = rMpIntegrityDMapper.selectOne(lambdaQueryWrapper);
|
||||
if (Objects.nonNull(rMpIntegrityDOne)) {
|
||||
rMpIntegrityDMapper.update(rMpIntegrityD, lambdaQueryWrapper);
|
||||
} else {
|
||||
rMpIntegrityDMapper.insert(rMpIntegrityD);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -55,6 +55,8 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
private final RMpInharmonicIMagReportDPOService rMpInharmonicIMagReportDPOService;
|
||||
private final RMpInharmonicVRateReportDPOService rMpInharmonicVRateReportDPOService;
|
||||
private final RMpHarmonicPReportDPOService rMpHarmonicPReportDPOService;
|
||||
private final RMpMeasurePhaseReportDPOService rMpMeasurePhaseReportDPOService;
|
||||
private final RMpMeasureReportDPOService rMpMeasureReportDPOService;
|
||||
|
||||
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
@@ -113,6 +115,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
List<RMpInharmonicVRateReportD> rMpInharmonicVRateReportDPOList = new ArrayList<> ();
|
||||
List<RMpHarmonicPReportDPO> rMpHarmonicPReportDPOList = new ArrayList<> ();
|
||||
List<RMpMeasurePhaseReportD> rMpMeasurePhaseReportDPOArrayList = new ArrayList<> ();
|
||||
List<RMpMeasureReportD> rMpMeasureReportDPOArrayList = new ArrayList<> ();
|
||||
|
||||
|
||||
|
||||
@@ -221,18 +224,18 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// if(!CollectionUtils.isEmpty (dataV)&&!CollectionUtils.isEmpty (dataHarmRateVPO)){
|
||||
// /*转成mysql对应po*/
|
||||
// /*dataVPO.getPhaseType ()="A"数据*/
|
||||
// RMpHarmonicVRateReportDPO rMpHarmonicVRateReportDPOA = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"A");
|
||||
// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOA = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"A",instant);
|
||||
// Optional.ofNullable (rMpHarmonicVRateReportDPOA).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp));
|
||||
// /*dataVPO.getPhaseType ()="B"数据*/
|
||||
// RMpHarmonicVRateReportDPO rMpHarmonicVRateReportDPOB = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"B");
|
||||
// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOB = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"B",instant);
|
||||
// Optional.ofNullable (rMpHarmonicVRateReportDPOB).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*dataVPO.getPhaseType ()="C"数据*/
|
||||
// RMpHarmonicVRateReportDPO rMpHarmonicVRateReportDPOC = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO, "C");
|
||||
// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOC = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO, "C",instant);
|
||||
// Optional.ofNullable (rMpHarmonicVRateReportDPOC).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*dataVPO.getPhaseType ()="T"数据*/
|
||||
// RMpHarmonicVRateReportDPO rMpHarmonicVRateReportDPOT = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"T");
|
||||
// RMpHarmonicVRateReportD rMpHarmonicVRateReportDPOT = packageRMpHarmonicVRateReportDPO (dataV, dataHarmRateVPO,"T",instant);
|
||||
// Optional.ofNullable (rMpHarmonicVRateReportDPOT).ifPresent (temp ->rMpHarmonicVRateReportDPOList.add (temp));
|
||||
//
|
||||
//
|
||||
@@ -242,16 +245,16 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
//
|
||||
// /*转成mysql对应po*/
|
||||
// /*dataI.getPhaseType ()="A"数据*/
|
||||
// RMpHarmonicIMagReportDPO a = packageRMpHarmonicIMagReportDPO (dataI, "A");
|
||||
// RMpHarmonicIMagReportD a = packageRMpHarmonicIMagReportDPO (dataI, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp));
|
||||
// /*dataI.getPhaseType ()="B"数据*/
|
||||
// RMpHarmonicIMagReportDPO b = packageRMpHarmonicIMagReportDPO(dataI,"B");
|
||||
// RMpHarmonicIMagReportD b = packageRMpHarmonicIMagReportDPO(dataI,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp));
|
||||
// /*dataI.getPhaseType ()="C"数据*/
|
||||
// RMpHarmonicIMagReportDPO c = packageRMpHarmonicIMagReportDPO(dataI,"C");
|
||||
// RMpHarmonicIMagReportD c = packageRMpHarmonicIMagReportDPO(dataI,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp));
|
||||
// /*dataI.getPhaseType ()="T"数据*/
|
||||
// RMpHarmonicIMagReportDPO t = packageRMpHarmonicIMagReportDPO(dataI,"T");
|
||||
// RMpHarmonicIMagReportD t = packageRMpHarmonicIMagReportDPO(dataI,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpHarmonicIMagReportDPOList.add (temp));
|
||||
//
|
||||
//
|
||||
@@ -260,17 +263,17 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// if(!CollectionUtils.isEmpty (dataFlickerPO)){
|
||||
// /*生成dayFlicker表*/
|
||||
// /*dataFlickerPO.getPhaseType ()="A"数据*/
|
||||
// RMpFlickerReportDPO a = packageRMpFlickerReportDPOPO (dataFlickerPO, "A");
|
||||
// RMpFlickerReportDPO a = packageRMpFlickerReportDPOPO (dataFlickerPO, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpFlickerReportDPOList.add (temp));
|
||||
//
|
||||
// /*dataFlickerPO.getPhaseType ()="B"数据*/
|
||||
// RMpFlickerReportDPO b = packageRMpFlickerReportDPOPO(dataFlickerPO,"B");
|
||||
// RMpFlickerReportDPO b = packageRMpFlickerReportDPOPO(dataFlickerPO,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpFlickerReportDPOList.add (temp));
|
||||
//
|
||||
// /*dataFlickerPO.getPhaseType ()="C"数据*/
|
||||
// RMpFlickerReportDPO c = packageRMpFlickerReportDPOPO(dataFlickerPO,"C");
|
||||
// RMpFlickerReportDPO c = packageRMpFlickerReportDPOPO(dataFlickerPO,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpFlickerReportDPOList.add (temp));
|
||||
//
|
||||
// /*无T项数据*/
|
||||
//// /*dataFlickerPO.getPhaseType ()="T"数据*/
|
||||
//// RMpFlickerReportDPO t = packageRMpFlickerReportDPOPO(dataFlickerPO,"T");
|
||||
//
|
||||
@@ -279,13 +282,13 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// if(!CollectionUtils.isEmpty (dataPlt)){
|
||||
// /*转成mysql对应po*/
|
||||
// /*DataPltPO.getPhaseType ()="A"数据*/
|
||||
// RMpPltReportDPO a = packageRMpPltReportDPO (dataPlt, "A");
|
||||
// RMpPltReportDPO a = packageRMpPltReportDPO (dataPlt, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpPltReportDPOList.add (temp));
|
||||
// /*DataPltPO.getPhaseType ()="B"数据*/
|
||||
// RMpPltReportDPO b = packageRMpPltReportDPO(dataPlt,"B");
|
||||
// RMpPltReportDPO b = packageRMpPltReportDPO(dataPlt,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpPltReportDPOList.add (temp));
|
||||
// /*DataPltPO.getPhaseType ()="C"数据*/
|
||||
// RMpPltReportDPO c = packageRMpPltReportDPO(dataPlt,"C");
|
||||
// RMpPltReportDPO c = packageRMpPltReportDPO(dataPlt,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpPltReportDPOList.add (temp));
|
||||
//// /*DataPltPO.getPhaseType ()="T"数据*/
|
||||
//// RMpPltReportDPO t = packageRMpPltReportDPO(dataPlt,"T");
|
||||
@@ -293,38 +296,38 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// if(!CollectionUtils.isEmpty (dataHarmRateI)) {
|
||||
// /*转成mysql对应po*/
|
||||
// /*DataHarmRateIPO.getPhaseType ()="A"数据*/
|
||||
// RMpHarmonicIRateReportDPO a = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "A");
|
||||
// RMpHarmonicIRateReportD a = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*DataHarmRateIPO.getPhaseType ()="B"数据*/
|
||||
// RMpHarmonicIRateReportDPO b = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "B");
|
||||
// RMpHarmonicIRateReportD b = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*DataHarmRateIPO.getPhaseType ()="C"数据*/
|
||||
// RMpHarmonicIRateReportDPO c = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "C");
|
||||
// RMpHarmonicIRateReportD c = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*DataInHarmRateIPO.getPhaseType ()="T"数据*/
|
||||
// RMpHarmonicIRateReportDPO t = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "T");
|
||||
// RMpHarmonicIRateReportD t = packageRMpHarmonicIRateReportDPO (dataHarmRateI, "T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp -> rMpHarmonicIRateReportDPOList.add (temp));
|
||||
// }
|
||||
//
|
||||
// if(!CollectionUtils.isEmpty (dataInHarmRateIPO)){
|
||||
// /*转成mysql对应po*/
|
||||
// /*DataInHarmRateIPO.getPhaseType ()="A"数据*/
|
||||
// RMpInharmonicIRateReportDPO a = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO, "A");
|
||||
// RMpInharmonicIRateReportD a = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*DataInHarmRateIPO.getPhaseType ()="B"数据*/
|
||||
// RMpInharmonicIRateReportDPO b = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"B");
|
||||
// RMpInharmonicIRateReportD b = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*DataInHarmRateIPO.getPhaseType ()="C"数据*/
|
||||
// RMpInharmonicIRateReportDPO c = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"C");
|
||||
// RMpInharmonicIRateReportD c = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
// /*DataInHarmRateIPO.getPhaseType ()="T"数据*/
|
||||
// RMpInharmonicIRateReportDPO t = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"T");
|
||||
// RMpInharmonicIRateReportD t = packageRMpInharmonicIRateReportDPO(dataInHarmRateIPO,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpInharmonicIRateReportDPOList.add (temp));
|
||||
//
|
||||
//
|
||||
@@ -333,32 +336,32 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// if(!CollectionUtils.isEmpty (dataInHarmIPO)){
|
||||
// /*转成mysql对应po*/
|
||||
// /*dataInHarmIPO.getPhaseType ()="A"数据*/
|
||||
// RMpInharmonicIMagReportDPO a = packageRMpInharmonicIMagReportDPO(dataInHarmIPO, "A");
|
||||
// RMpInharmonicIMagReportDPO a = packageRMpInharmonicIMagReportDPO(dataInHarmIPO, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp));
|
||||
// /*dataInHarmIPO.getPhaseType ()="B"数据*/
|
||||
// RMpInharmonicIMagReportDPO b = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"B");
|
||||
// RMpInharmonicIMagReportDPO b = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp));
|
||||
// /*dataInHarmIPO.getPhaseType ()="C"数据*/
|
||||
// RMpInharmonicIMagReportDPO c = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"C");
|
||||
// RMpInharmonicIMagReportDPO c = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp));
|
||||
// /*dataInHarmIPO.getPhaseType ()="T"数据*/
|
||||
// RMpInharmonicIMagReportDPO t = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"T");
|
||||
// RMpInharmonicIMagReportDPO t = packageRMpInharmonicIMagReportDPO(dataInHarmIPO,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpInharmonicIMagReportDPOList.add (temp));
|
||||
//
|
||||
// }
|
||||
// if(!CollectionUtils.isEmpty (dataInHarmRateVPO)){
|
||||
// /*转成mysql对应po*/
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="A"数据*/
|
||||
// RMpInharmonicVRateReportDPO a = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO, "A");
|
||||
// RMpInharmonicVRateReportD a = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="B"数据*/
|
||||
// RMpInharmonicVRateReportDPO b = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"B");
|
||||
// RMpInharmonicVRateReportD b = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="C"数据*/
|
||||
// RMpInharmonicVRateReportDPO c = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"C");
|
||||
// RMpInharmonicVRateReportD c = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="T"数据*/
|
||||
// RMpInharmonicVRateReportDPO t = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"T");
|
||||
// RMpInharmonicVRateReportD t = packageRMpInharmonicVRateReportDPO(dataInHarmRateVPO,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpInharmonicVRateReportDPOList.add (temp));
|
||||
//
|
||||
// }
|
||||
@@ -366,48 +369,59 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// if(!CollectionUtils.isEmpty (dataHarmPowerPPO)&&!CollectionUtils.isEmpty (dataHarmPowerQPO)){
|
||||
// /*转成mysql对应po*/
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="A"数据*/
|
||||
// RMpHarmonicPReportDPO a = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO, "A");
|
||||
// RMpHarmonicPReportDPO a = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO, "A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="B"数据*/
|
||||
// RMpHarmonicPReportDPO b = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"B");
|
||||
// RMpHarmonicPReportDPO b = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="C"数据*/
|
||||
// RMpHarmonicPReportDPO c = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"C");
|
||||
// RMpHarmonicPReportDPO c = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="T"数据*/
|
||||
// RMpHarmonicPReportDPO t = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"T");
|
||||
// RMpHarmonicPReportDPO t = packageRMpHarmonicPReportDPO(dataHarmPowerPPO,dataHarmPowerQPO,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpHarmonicPReportDPOList.add (temp));
|
||||
//
|
||||
// }
|
||||
|
||||
//
|
||||
//
|
||||
// if (!CollectionUtils.isEmpty (dataV) &&
|
||||
// !CollectionUtils.isEmpty (dataI) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowerPPO) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowers) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowerQPO)) {
|
||||
// !CollectionUtils.isEmpty (dataI) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowerPPO) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowers) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowerQPO)) {
|
||||
// /*转成mysql对应po*/
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="A"数据*/
|
||||
// RMpMeasurePhaseReportDPO a = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"A");
|
||||
// RMpMeasurePhaseReportD a = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"A",instant);
|
||||
// Optional.ofNullable (a).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="B"数据*/
|
||||
// RMpMeasurePhaseReportDPO b = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"B");
|
||||
// RMpMeasurePhaseReportD b = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"B",instant);
|
||||
// Optional.ofNullable (b).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="C"数据*/
|
||||
// RMpMeasurePhaseReportDPO c = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"C");
|
||||
// RMpMeasurePhaseReportD c = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"C",instant);
|
||||
// Optional.ofNullable (c).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp));
|
||||
// /*dataInHarmRateVPO.getPhaseType ()="T"数据*/
|
||||
// RMpMeasurePhaseReportDPO t = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"T");
|
||||
// RMpMeasurePhaseReportD t = packageRMpMeasurePhaseReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpMeasurePhaseReportDPOArrayList.add (temp));
|
||||
//
|
||||
// }
|
||||
/* todo
|
||||
* r_mp_measure_phase_report_d
|
||||
* r_mp_measure_report_d
|
||||
* */
|
||||
|
||||
// /* todo
|
||||
// * r_mp_measure_report_d
|
||||
// * */
|
||||
// if (!CollectionUtils.isEmpty (dataV) &&
|
||||
// !CollectionUtils.isEmpty (dataI) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowerPPO) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowers) &&
|
||||
// !CollectionUtils.isEmpty (dataHarmPowerQPO)) {
|
||||
// /*转成mysql对应po*/
|
||||
// /*稳态监测点非谐波不带相位指标即是T项指标*/
|
||||
// RMpMeasureReportD t = packageRMpMeasureReportDPO(dataV,dataI,dataHarmPowerPPO,dataHarmPowers,dataHarmPowerQPO,"T",instant);
|
||||
// Optional.ofNullable (t).ifPresent (temp ->rMpMeasureReportDPOArrayList.add (temp));
|
||||
//
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*插入mysql*/
|
||||
// if (!CollectionUtils.isEmpty(rMpHarmonicVRateReportDPOList)){
|
||||
// rMpHarmonicVRateReportDPOService.saveOrUpdateBatchByMultiId (rMpHarmonicVRateReportDPOList, 50);
|
||||
@@ -441,8 +455,11 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
// rMpInharmonicVRateReportDPOService.saveOrUpdateBatchByMultiId (rMpInharmonicVRateReportDPOList, 50);
|
||||
// }
|
||||
//
|
||||
// if (!CollectionUtils.isEmpty(rMpHarmonicPReportDPOList)){
|
||||
// rMpHarmonicPReportDPOService.saveOrUpdateBatchByMultiId (rMpHarmonicPReportDPOList, 50);
|
||||
// if (!CollectionUtils.isEmpty(rMpMeasurePhaseReportDPOArrayList)){
|
||||
// rMpMeasurePhaseReportDPOService.saveOrUpdateBatchByMultiId (rMpMeasurePhaseReportDPOArrayList, 50);
|
||||
// }
|
||||
// if (!CollectionUtils.isEmpty(rMpMeasureReportDPOArrayList)){
|
||||
// rMpMeasureReportDPOService.saveOrUpdateBatchByMultiId (rMpMeasureReportDPOArrayList, 50);
|
||||
// }
|
||||
|
||||
|
||||
@@ -2828,7 +2845,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/25
|
||||
*/
|
||||
private RMpHarmonicVRateReportD packageRMpHarmonicVRateReportDPO(List<DataVPO> dataV, List<DataHarmRateVPO> dataHarmRateVPOList, String PhaseType){
|
||||
private RMpHarmonicVRateReportD packageRMpHarmonicVRateReportDPO(List<DataVPO> dataV,List<DataHarmRateVPO> dataHarmRateVPOList,String PhaseType,Instant instant){
|
||||
|
||||
RMpHarmonicVRateReportD result = null;
|
||||
|
||||
@@ -2843,7 +2860,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpHarmonicVRateReportD();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataV.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataV.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
|
||||
for (int i = 0; i <a.size () ; i++) {
|
||||
DataVPO dataVPO = a.get (i);
|
||||
@@ -2898,7 +2915,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/25
|
||||
*/
|
||||
private RMpHarmonicIMagReportD packageRMpHarmonicIMagReportDPO(List<DataIPO> dataI, String PhaseType){
|
||||
private RMpHarmonicIMagReportD packageRMpHarmonicIMagReportDPO(List<DataIPO> dataI, String PhaseType,Instant instant){
|
||||
|
||||
RMpHarmonicIMagReportD result = null;
|
||||
|
||||
@@ -2911,7 +2928,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpHarmonicIMagReportD();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataI.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataI.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
DataIPO dataIPO = a.get (j);
|
||||
@@ -2943,7 +2960,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/26
|
||||
*/
|
||||
private RMpFlickerReportDPO packageRMpFlickerReportDPOPO(List<DataFlickerPO> dataFlickerPO, String PhaseType) {
|
||||
private RMpFlickerReportDPO packageRMpFlickerReportDPOPO(List<DataFlickerPO> dataFlickerPO, String PhaseType,Instant instant) {
|
||||
|
||||
RMpFlickerReportDPO result = null;
|
||||
|
||||
@@ -2956,7 +2973,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpFlickerReportDPO();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataFlickerPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataFlickerPO.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
@@ -2989,7 +3006,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/26
|
||||
*/
|
||||
private RMpPltReportDPO packageRMpPltReportDPO(List<DataPltPO> dataPlt, String PhaseType) {
|
||||
private RMpPltReportDPO packageRMpPltReportDPO(List<DataPltPO> dataPlt, String PhaseType,Instant instant) {
|
||||
|
||||
RMpPltReportDPO result = null;
|
||||
|
||||
@@ -3002,7 +3019,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpPltReportDPO();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataPlt.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataPlt.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
@@ -3034,7 +3051,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/26
|
||||
*/
|
||||
private RMpHarmonicIRateReportD packageRMpHarmonicIRateReportDPO(List<DataHarmRateIPO> dataHarmRateIPOList, String PhaseType) {
|
||||
private RMpHarmonicIRateReportD packageRMpHarmonicIRateReportDPO(List<DataHarmRateIPO> dataHarmRateIPOList, String PhaseType,Instant instant) {
|
||||
|
||||
RMpHarmonicIRateReportD result =null;
|
||||
|
||||
@@ -3047,7 +3064,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpHarmonicIRateReportD();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataHarmRateIPOList.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataHarmRateIPOList.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
@@ -3080,7 +3097,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/26
|
||||
*/
|
||||
private RMpInharmonicIRateReportD packageRMpInharmonicIRateReportDPO(List<DataInHarmRateIPO> dataInHarmRateIPO, String PhaseType) {
|
||||
private RMpInharmonicIRateReportD packageRMpInharmonicIRateReportDPO(List<DataInHarmRateIPO> dataInHarmRateIPO, String PhaseType,Instant instant) {
|
||||
RMpInharmonicIRateReportD result = null;
|
||||
|
||||
List<DataInHarmRateIPO> a = dataInHarmRateIPO.stream ( ).
|
||||
@@ -3092,33 +3109,33 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpInharmonicIRateReportD();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataInHarmRateIPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataInHarmRateIPO.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
for (int j = 0; j < a.size ( ); j++) {
|
||||
DataInHarmRateIPO temp = a.get (j);
|
||||
if (Objects.equals (temp.getValueType ( ), "MIN")) {
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterMin (temp);
|
||||
BeanUtils.copyProperties (covertBean, result, getNullPropertyNames (covertBean));
|
||||
}
|
||||
if (Objects.equals (temp.getValueType ( ), "MAX")) {
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterMax (temp);
|
||||
BeanUtils.copyProperties (covertBean, result, getNullPropertyNames (covertBean));
|
||||
}
|
||||
if (Objects.equals (temp.getValueType ( ), "AVG")) {
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterAvg (temp);
|
||||
BeanUtils.copyProperties (covertBean, result, getNullPropertyNames (covertBean));
|
||||
}
|
||||
if (Objects.equals (temp.getValueType ( ), "CP95")) {
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverter95 (temp);
|
||||
BeanUtils.copyProperties (covertBean, result, getNullPropertyNames (covertBean));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
DataInHarmRateIPO temp = a.get (j);
|
||||
if(Objects.equals (temp.getValueType (), "MIN")){
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterMin (temp);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
if(Objects.equals (temp.getValueType (), "MAX")){
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterMax (temp);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
if(Objects.equals (temp.getValueType (), "AVG")){
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverterAvg (temp);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
if(Objects.equals (temp.getValueType (), "CP95")){
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpInharmonicIRateReportDPOConverter95 (temp);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result ;
|
||||
|
||||
}
|
||||
/**
|
||||
* @Description: packageRMpInharmonicIMagReportDPO
|
||||
* @Param: [dataInHarmIPO, PhaseType]
|
||||
@@ -3126,7 +3143,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/27
|
||||
*/
|
||||
private RMpInharmonicIMagReportDPO packageRMpInharmonicIMagReportDPO(List<DataInHarmIPO> dataInHarmIPO, String PhaseType) {
|
||||
private RMpInharmonicIMagReportDPO packageRMpInharmonicIMagReportDPO(List<DataInHarmIPO> dataInHarmIPO, String PhaseType,Instant instant) {
|
||||
|
||||
RMpInharmonicIMagReportDPO result = null;
|
||||
|
||||
@@ -3135,13 +3152,12 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
collect (Collectors.toList ( ));
|
||||
RMpInharmonicIMagReportDPO covertBean = new RMpInharmonicIMagReportDPO();
|
||||
|
||||
if(!CollectionUtils.isEmpty (a)){
|
||||
result = new RMpInharmonicIMagReportDPO();
|
||||
if(!CollectionUtils.isEmpty (a)) {
|
||||
result = new RMpInharmonicIMagReportDPO ( );
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataInHarmIPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataInHarmIPO.get (0).getTime ()));
|
||||
result.setMeasurementPointId (dataInHarmIPO.get (0).getLineId ( ));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
DataInHarmIPO temp = a.get (j);
|
||||
if(Objects.equals (temp.getValueType (), "MIN")){
|
||||
@@ -3174,7 +3190,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/27
|
||||
*/
|
||||
private RMpInharmonicVRateReportD packageRMpInharmonicVRateReportDPO(List<DataInHarmRateVPO> dataInHarmRateVPO, String PhaseType) {
|
||||
private RMpInharmonicVRateReportD packageRMpInharmonicVRateReportDPO(List<DataInHarmRateVPO> dataInHarmRateVPO, String PhaseType,Instant instant) {
|
||||
|
||||
RMpInharmonicVRateReportD result = null ;
|
||||
|
||||
@@ -3187,7 +3203,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpInharmonicVRateReportD();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataInHarmRateVPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataInHarmRateVPO.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
|
||||
for (int j = 0; j < a.size (); j++) {
|
||||
@@ -3221,7 +3237,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/28
|
||||
*/
|
||||
private RMpHarmonicPReportDPO packageRMpHarmonicPReportDPO(List<DataHarmPowerPPO> dataHarmPowerPPO, List<DataHarmPowerQPO> dataHarmPowerQPO, String PhaseType) {
|
||||
private RMpHarmonicPReportDPO packageRMpHarmonicPReportDPO(List<DataHarmPowerPPO> dataHarmPowerPPO, List<DataHarmPowerQPO> dataHarmPowerQPO, String PhaseType,Instant instant) {
|
||||
|
||||
RMpHarmonicPReportDPO result = null ;
|
||||
|
||||
@@ -3238,7 +3254,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpHarmonicPReportDPO();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataHarmPowerPPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataHarmPowerPPO.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
|
||||
for (int j = 0; j < b.size (); j++) {
|
||||
@@ -3287,7 +3303,7 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
|
||||
|
||||
|
||||
private RMpMeasurePhaseReportD packageRMpMeasurePhaseReportDPO(List<DataVPO> dataV, List<DataIPO> dataI, List<DataHarmPowerPPO> dataHarmPowerPPO, List<DataHarmPowerSPO> dataHarmPowers, List<DataHarmPowerQPO> dataHarmPowerQPO, String PhaseType) {
|
||||
private RMpMeasurePhaseReportD packageRMpMeasurePhaseReportDPO(List<DataVPO> dataV, List<DataIPO> dataI, List<DataHarmPowerPPO> dataHarmPowerPPO, List<DataHarmPowerSPO> dataHarmPowers, List<DataHarmPowerQPO> dataHarmPowerQPO, String PhaseType,Instant instant) {
|
||||
RMpMeasurePhaseReportD result = null ;
|
||||
|
||||
List<DataVPO> a = dataV.stream ( ).
|
||||
@@ -3315,91 +3331,276 @@ public class DayDataServiceImpl implements DayDataService {
|
||||
result = new RMpMeasurePhaseReportD();
|
||||
result.setPhase (PhaseType);
|
||||
result.setMeasurementPointId (dataHarmPowerPPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (dataHarmPowerPPO.get (0).getTime ()));
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
//todo 非空判断
|
||||
/*max*/
|
||||
DataVPO max = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Max")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataIPO max1 = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Max")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerPPO max2 = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Max")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerSPO max3 = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Max")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerQPO max4 = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Max")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterMax (max,max1,max2,max3,max4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
List<DataVPO> maxList = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> max1List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> max2List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> max3List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> max4List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
if(!CollectionUtils.isEmpty (maxList)
|
||||
&&!CollectionUtils.isEmpty (max1List)
|
||||
&&!CollectionUtils.isEmpty (max2List)
|
||||
&&!CollectionUtils.isEmpty (max3List)
|
||||
&&!CollectionUtils.isEmpty (max4List)){
|
||||
DataVPO max = maxList.get (0);
|
||||
DataIPO max1 = max1List.get (0);
|
||||
DataHarmPowerPPO max2 = max2List.get (0);
|
||||
DataHarmPowerSPO max3 = max3List.get (0);
|
||||
DataHarmPowerQPO max4 = max4List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterMax (max,max1,max2,max3,max4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
/*min*/
|
||||
DataVPO min = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Min")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataIPO min1 = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Min")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerPPO min2 = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Min")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerSPO min3 = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Min")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerQPO min4 = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Min")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterMin (min,min1,min2,min3,min4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
List<DataVPO> minList = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> min1List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> min2List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> min3List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> min4List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
if(!CollectionUtils.isEmpty (minList)
|
||||
&&!CollectionUtils.isEmpty (min1List)
|
||||
&&!CollectionUtils.isEmpty (min2List)
|
||||
&&!CollectionUtils.isEmpty (min3List)
|
||||
&&!CollectionUtils.isEmpty (min4List)){
|
||||
DataVPO min = minList.get (0);
|
||||
DataIPO min1 = min1List.get (0);
|
||||
DataHarmPowerPPO min2 = min2List.get (0);
|
||||
DataHarmPowerSPO min3 = min3List.get (0);
|
||||
DataHarmPowerQPO min4 = min4List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterMin (min,min1,min2,min3,min4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
/*avg*/
|
||||
DataVPO avg = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Avg")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataIPO avg1 = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Avg")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerPPO avg2 = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Avg")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerSPO avg3 = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Avg")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerQPO avg4 = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "Avg")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterAVg (avg,avg1,avg2,avg3,avg4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
List<DataVPO> avgList = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> avg1List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> avg2List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> avg3List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> avg4List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
|
||||
if(!CollectionUtils.isEmpty (avgList)
|
||||
&&!CollectionUtils.isEmpty (avg1List)
|
||||
&&!CollectionUtils.isEmpty (avg2List)
|
||||
&&!CollectionUtils.isEmpty (avg3List)
|
||||
&&!CollectionUtils.isEmpty (avg4List)){
|
||||
DataVPO avg = avgList.get (0);
|
||||
DataIPO avg1 = avg1List.get (0);
|
||||
DataHarmPowerPPO avg2 = avg2List.get (0);
|
||||
DataHarmPowerSPO avg3 = avg3List.get (0);
|
||||
DataHarmPowerQPO avg4 = avg4List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterAVg (avg,avg1,avg2,avg3,avg4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
/*cp95*/
|
||||
DataVPO cp95 = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataIPO cp951 = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerPPO cp952 = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerSPO cp953 = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
DataHarmPowerQPO cp954 = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterCp95 (cp95,cp951,cp952,cp953,cp954);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
List<DataVPO> cp95List = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> cp951List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> cp952List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> cp953List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> cp954List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
if(!CollectionUtils.isEmpty (cp95List)
|
||||
&&!CollectionUtils.isEmpty (cp951List)
|
||||
&&!CollectionUtils.isEmpty (cp952List)
|
||||
&&!CollectionUtils.isEmpty (cp953List)
|
||||
&&!CollectionUtils.isEmpty (cp954List)){
|
||||
DataVPO cp95 = cp95List.get (0);
|
||||
DataIPO cp951 = cp951List.get (0);
|
||||
DataHarmPowerPPO cp952 = cp952List.get (0);
|
||||
DataHarmPowerSPO cp953 = cp953List.get (0);
|
||||
DataHarmPowerQPO cp954 = cp954List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasurePhaseReportDPOConverterCp95 (cp95,cp951,cp952,cp953,cp954);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
private RMpMeasureReportD packageRMpMeasureReportDPO(List<DataVPO> dataV, List<DataIPO> dataI, List<DataHarmPowerPPO> dataHarmPowerPPO, List<DataHarmPowerSPO> dataHarmPowers, List<DataHarmPowerQPO> dataHarmPowerQPO, String PhaseType,Instant instant) {
|
||||
RMpMeasureReportD result = null ;
|
||||
|
||||
List<DataVPO> a = dataV.stream ( ).
|
||||
filter (temp -> Objects.equals (temp.getPhaseType ( ), PhaseType)).
|
||||
collect (Collectors.toList ( ));
|
||||
|
||||
List<DataIPO> b = dataI.stream ( ).
|
||||
filter (temp -> Objects.equals (temp.getPhaseType ( ), PhaseType)).
|
||||
collect (Collectors.toList ( ));
|
||||
|
||||
List<DataHarmPowerPPO> c = dataHarmPowerPPO.stream ( ).
|
||||
filter (temp -> Objects.equals (temp.getPhaseType ( ), PhaseType)).
|
||||
collect (Collectors.toList ( ));
|
||||
|
||||
List<DataHarmPowerSPO> d = dataHarmPowers.stream ( ).
|
||||
filter (temp -> Objects.equals (temp.getPhaseType ( ), PhaseType)).
|
||||
collect (Collectors.toList ( ));
|
||||
|
||||
List<DataHarmPowerQPO> e = dataHarmPowerQPO.stream ( ).
|
||||
filter (temp -> Objects.equals (temp.getPhaseType ( ), PhaseType)).
|
||||
collect (Collectors.toList ( ));
|
||||
RMpMeasureReportD covertBean = new RMpMeasureReportD();
|
||||
|
||||
if(!CollectionUtils.isEmpty (a)&&!CollectionUtils.isEmpty (b)){
|
||||
result = new RMpMeasureReportD();
|
||||
result.setMeasurementPointId (dataHarmPowerPPO.get (0).getLineId ());
|
||||
result.setDataDate (Date.from (instant));
|
||||
}
|
||||
//todo 非空判断
|
||||
/*max*/
|
||||
List<DataVPO> maxList = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> max1List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> max2List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> max3List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> max4List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MAX")).
|
||||
collect (Collectors.toList ( ));
|
||||
if(!CollectionUtils.isEmpty (maxList)
|
||||
&&!CollectionUtils.isEmpty (max1List)
|
||||
&&!CollectionUtils.isEmpty (max2List)
|
||||
&&!CollectionUtils.isEmpty (max3List)
|
||||
&&!CollectionUtils.isEmpty (max4List)){
|
||||
DataVPO max = maxList.get (0);
|
||||
DataIPO max1 = max1List.get (0);
|
||||
DataHarmPowerPPO max2 = max2List.get (0);
|
||||
DataHarmPowerSPO max3 = max3List.get (0);
|
||||
DataHarmPowerQPO max4 = max4List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterMax (max,max1,max2,max3,max4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
/*min*/
|
||||
List<DataVPO> minList = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> min1List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> min2List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> min3List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> min4List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "MIN")).
|
||||
collect (Collectors.toList ( ));
|
||||
if(!CollectionUtils.isEmpty (minList)
|
||||
&&!CollectionUtils.isEmpty (min1List)
|
||||
&&!CollectionUtils.isEmpty (min2List)
|
||||
&&!CollectionUtils.isEmpty (min3List)
|
||||
&&!CollectionUtils.isEmpty (min4List)){
|
||||
DataVPO min = minList.get (0);
|
||||
DataIPO min1 = min1List.get (0);
|
||||
DataHarmPowerPPO min2 = min2List.get (0);
|
||||
DataHarmPowerSPO min3 = min3List.get (0);
|
||||
DataHarmPowerQPO min4 = min4List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterMin (min,min1,min2,min3,min4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
/*avg*/
|
||||
List<DataVPO> avgList = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> avg1List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> avg2List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> avg3List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> avg4List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "AVG")).
|
||||
collect (Collectors.toList ( ));
|
||||
|
||||
if(!CollectionUtils.isEmpty (avgList)
|
||||
&&!CollectionUtils.isEmpty (avg1List)
|
||||
&&!CollectionUtils.isEmpty (avg2List)
|
||||
&&!CollectionUtils.isEmpty (avg3List)
|
||||
&&!CollectionUtils.isEmpty (avg4List)){
|
||||
DataVPO avg = avgList.get (0);
|
||||
DataIPO avg1 = avg1List.get (0);
|
||||
DataHarmPowerPPO avg2 = avg2List.get (0);
|
||||
DataHarmPowerSPO avg3 = avg3List.get (0);
|
||||
DataHarmPowerQPO avg4 = avg4List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterAVg (avg,avg1,avg2,avg3,avg4);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
|
||||
/*cp95*/
|
||||
List<DataVPO> cp95List = a.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataIPO> cp951List = b.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerPPO> cp952List = c.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerSPO> cp953List = d.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
List<DataHarmPowerQPO> cp954List = e.stream ( ).filter (temp -> Objects.equals (temp.getValueType ( ), "CP95")).
|
||||
collect (Collectors.toList ( ));
|
||||
if(!CollectionUtils.isEmpty (cp95List)
|
||||
&&!CollectionUtils.isEmpty (cp951List)
|
||||
&&!CollectionUtils.isEmpty (cp952List)
|
||||
&&!CollectionUtils.isEmpty (cp953List)
|
||||
&&!CollectionUtils.isEmpty (cp954List)){
|
||||
DataVPO cp95 = cp95List.get (0);
|
||||
DataIPO cp951 = cp951List.get (0);
|
||||
DataHarmPowerPPO cp952 = cp952List.get (0);
|
||||
DataHarmPowerSPO cp953 = cp953List.get (0);
|
||||
DataHarmPowerQPO cp954 = cp954List.get (0);
|
||||
covertBean = InfluxdbPOConverter.INFLUXDB_PO_CONVERTER.RMpMeasureReportDPOConverterCp95 (cp95,cp951,cp952,cp953,cp954);
|
||||
BeanUtils.copyProperties (covertBean, result,getNullPropertyNames(covertBean));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有字段为null的属性名
|
||||
* @param source
|
||||
* @return
|
||||
*/
|
||||
public String[] getNullPropertyNames (Object source) {
|
||||
final BeanWrapper src = new BeanWrapperImpl (source);
|
||||
java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors ( );
|
||||
|
||||
|
||||
/**
|
||||
* 获取所有字段为null的属性名
|
||||
* @param source
|
||||
* @return
|
||||
*/
|
||||
public String[] getNullPropertyNames (Object source) {
|
||||
final BeanWrapper src = new BeanWrapperImpl (source);
|
||||
java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors ( );
|
||||
|
||||
Set<String> emptyNames = new HashSet<String> ( );
|
||||
for (java.beans.PropertyDescriptor pd : pds) {
|
||||
Object srcValue = src.getPropertyValue (pd.getName ( ));
|
||||
if (srcValue == null){
|
||||
emptyNames.add (pd.getName ( ));
|
||||
Set<String> emptyNames = new HashSet<String> ( );
|
||||
for (java.beans.PropertyDescriptor pd : pds) {
|
||||
Object srcValue = src.getPropertyValue (pd.getName ( ));
|
||||
if (srcValue == null){
|
||||
emptyNames.add (pd.getName ( ));
|
||||
}
|
||||
}
|
||||
}
|
||||
String[] result = new String[emptyNames.size ( )];
|
||||
return emptyNames.toArray (result);
|
||||
String[] result = new String[emptyNames.size ( )];
|
||||
return emptyNames.toArray (result);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,23 +4,27 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.pq.pojo.po.Overlimit;
|
||||
import com.njcn.harmonic.pojo.po.RMpVThd;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpVThdMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.pojo.influxdb.po.DataVPO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DistortionRateService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -39,38 +43,102 @@ public class DistortionRateServiceImpl implements DistortionRateService {
|
||||
|
||||
private final RMpVThdMapper rMpVThdMapper;
|
||||
|
||||
private final
|
||||
PqLinedetailPOService pqLinedetailPOService;
|
||||
private final
|
||||
DataVOraclePOService dataVOraclePOService;
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void distortionRate(LineParam lineParam) {
|
||||
List<String> lineIdOutList;
|
||||
if (CollUtil.isEmpty(lineParam.getLineIds())){
|
||||
List<Overlimit> overLimitList = getAllLineOutData();
|
||||
lineIdOutList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList());
|
||||
}else {
|
||||
lineIdOutList = new ArrayList<>(lineParam.getLineIds());
|
||||
if (CollUtil.isEmpty (lineParam.getLineIds ( ))) {
|
||||
List<Overlimit> overLimitList = getAllLineOutData ( );
|
||||
lineIdOutList = overLimitList.stream ( ).map (Overlimit::getId).collect (Collectors.toList ( ));
|
||||
} else {
|
||||
lineIdOutList = new ArrayList<> (lineParam.getLineIds ( ));
|
||||
}
|
||||
LocalDateTime local = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T00:00:00");
|
||||
for (String lineId : lineIdOutList){
|
||||
List<DataVPO> rateOut = getDistortionRateInfluxDb(lineId,lineParam.getDataDate());
|
||||
if (rateOut.size() > 0){
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("lineId",lineId);
|
||||
inMap.put("dataType","0");
|
||||
inMap.put("dataDate",local);
|
||||
inMap.put("vThd",rateOut.get(0).getVThd());
|
||||
rMpVThdMapper.insertRate(inMap);
|
||||
LocalDateTime local = LocalDateTimeUtil.parse (lineParam.getDataDate ( ) + "T00:00:00");
|
||||
for (String lineId : lineIdOutList) {
|
||||
List<DataVPO> rateOut = getDistortionRateInfluxDb (lineId, lineParam.getDataDate ( ));
|
||||
if (rateOut.size ( ) > 0) {
|
||||
Map<String, Object> inMap = new HashMap<> ( );
|
||||
inMap.put ("lineId", lineId);
|
||||
inMap.put ("dataType", "0");
|
||||
inMap.put ("dataDate", local);
|
||||
inMap.put ("vThd", rateOut.get (0).getVThd ( ));
|
||||
rMpVThdMapper.insertRate (inMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<DataVPO> getDistortionRateInfluxDb(String lineId, String date){
|
||||
String processParam = " and line_id = '"+lineId+"' and time >= '"+date+" 00:00:00' and time <= '"+date+" 23:59:59' tz('Asia/Shanghai')";
|
||||
QueryResult result = influxDbUtils.query("SELECT line_id, max(v_thd) as v_thd FROM data_v WHERE phasic_type != 'T' and value_type = 'MAX'"+processParam);
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
return resultMapper.toPOJO(result, DataVPO.class);
|
||||
|
||||
private List<DataVPO> getDistortionRateInfluxDb(String lineId, String date) {
|
||||
String processParam = " and line_id = '" + lineId + "' and time >= '" + date + " 00:00:00' and time <= '" + date + " 23:59:59' tz('Asia/Shanghai')";
|
||||
QueryResult result = influxDbUtils.query ("SELECT line_id, max(v_thd) as v_thd FROM data_v WHERE phasic_type != 'T' and value_type = 'MAX'" + processParam);
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper ( );
|
||||
return resultMapper.toPOJO (result, DataVPO.class);
|
||||
}
|
||||
|
||||
private List<Overlimit> getAllLineOutData() {
|
||||
return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData();
|
||||
return lineFeignClient.getAllLineOverLimit ("harmonic-boot", "").getData ( );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void distortionRateBySource(LineParam lineParam) {
|
||||
|
||||
if (Objects.equals (lineParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||
hanlderOracleData (lineParam);
|
||||
} else if (Objects.equals (lineParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||
distortionRate (lineParam);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void hanlderOracleData(LineParam lineParam) {
|
||||
Integer type = lineParam.getType ( );
|
||||
switch (type) {
|
||||
// case 1:
|
||||
// this.hanlderOracleYear (lineParam);
|
||||
// break;
|
||||
// case 2:
|
||||
// this.hanlderOracleQtr (lineParam);
|
||||
// break;
|
||||
// case 3:
|
||||
// this.hanlderOracleMonth (lineParam);
|
||||
// break;
|
||||
case 5:
|
||||
this.hanlderOracleDay (lineParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
private void hanlderOracleDay(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getDataDate ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
List<RMpVThd> rMpVThdList = new ArrayList<> ( );
|
||||
|
||||
|
||||
lineIds.forEach (lineId -> {
|
||||
RMpVThd rMpVThd = new RMpVThd();
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
|
||||
PqLinedetailPO oracleIndexIdByMonitorId = pqLinedetailPOService.getOracleIndexIdByMonitorId (lineId);
|
||||
Double vThdMAx = dataVOraclePOService.queryVThdMax(oracleIndexIdByMonitorId.getLineIndex(),dataDate);
|
||||
|
||||
Map<String, Object> inMap = new HashMap<> ( );
|
||||
inMap.put ("lineId", lineId);
|
||||
inMap.put ("dataType", lineParam.getType ()+"");
|
||||
inMap.put ("dataDate", tempDate);
|
||||
inMap.put ("vThd", vThdMAx);
|
||||
rMpVThdMapper.insertRate (inMap);
|
||||
// rMpVThd.setMeasurementPointId (lineId);
|
||||
// rMpVThd.setDataType (lineParam.getType ()+"");
|
||||
// rMpVThd.setDataDate (tempDate);
|
||||
// rMpVThd.setVThd (vThdMAx);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.AbnormalVO;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.NormalLimitService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
@@ -53,16 +52,16 @@ public class NormalLimitServiceImpl extends ServiceImpl<AbnormalMapper, MpSurplu
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public Boolean AbnormalLineData(LineParam lineParam) {
|
||||
|
||||
List<String> lineIds = new ArrayList<>();
|
||||
List<MpSurplusAbnormalD> all = new ArrayList<>();
|
||||
Dept dept = deptFeignClient.getRootDept().getData();
|
||||
|
||||
|
||||
if (CollectionUtils.isEmpty(lineParam.getLineIds())) {
|
||||
Dept dept = deptFeignClient.getRootDept().getData();
|
||||
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
|
||||
deviceInfoParam.setDeptIndex(dept.getId());
|
||||
deviceInfoParam.setPowerFlag(2);
|
||||
|
||||
@@ -0,0 +1,209 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailMPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailQPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailYPO;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.*;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqsEventdetailService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:11【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class PqsEventdetailHandlerServiceImpl implements PqsEventdetailHandlerService {
|
||||
|
||||
private final PqLinedetailPOService pqLinedetailPOService;
|
||||
|
||||
|
||||
private final PqsEventdetailService pqsEventdetailService;
|
||||
|
||||
private final RMpEventDetailDService rMpEventDetailDService;
|
||||
|
||||
private final RMpEventDetailMService rMpEventDetailMService;
|
||||
|
||||
private final RMpEventDetailQService rMpEventDetailQService;
|
||||
|
||||
private final RMpEventDetailYService rMpEventDetailYService;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void eventdetailHandler(LineParam lineParam) {
|
||||
if (Objects.equals (lineParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||
hanlderOracleData (lineParam);
|
||||
} else if (Objects.equals (lineParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||
hanlderInfludxbData (lineParam);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Description: hanlderInfludxbData
|
||||
* @Param: [lineParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/28
|
||||
*/
|
||||
private void hanlderInfludxbData(LineParam lineParam) {
|
||||
}
|
||||
/**
|
||||
* @Description: hanlderOracleData
|
||||
* @Param: [lineParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/28
|
||||
*/
|
||||
private void hanlderOracleData(LineParam lineParam) {
|
||||
Integer type = lineParam.getType ( );
|
||||
switch (type) {
|
||||
case 1:
|
||||
this.hanlderOracleYear (lineParam);
|
||||
break;
|
||||
case 2:
|
||||
this.hanlderOracleQtr (lineParam);
|
||||
break;
|
||||
case 3:
|
||||
this.hanlderOracleMonth (lineParam);
|
||||
break;
|
||||
case 5:
|
||||
this.hanlderOracleDay (lineParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@SneakyThrows
|
||||
private void hanlderOracleYear(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getDataDate ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
List<RMpEventDetailYPO> rMpEventDetailYPOList = new ArrayList<> ( );
|
||||
|
||||
lineIds.forEach (lineId -> {
|
||||
/*查询月表数据生成年表数据*/
|
||||
List<RMpEventDetailMPO> rMpEventDetailMPOList = rMpEventDetailMService.queryOneYearData(lineId,dataDate);
|
||||
int sagCount = rMpEventDetailMPOList.stream ( ).mapToInt (RMpEventDetailMPO::getSagTimes).sum ( );
|
||||
int riseCount = rMpEventDetailMPOList.stream ( ).mapToInt (RMpEventDetailMPO::getSwellTimes).sum ( );
|
||||
int interruptCount = rMpEventDetailMPOList.stream ( ).mapToInt (RMpEventDetailMPO::getInterruptTimes).sum ( );
|
||||
|
||||
RMpEventDetailYPO rMpEventDetailYPO = new RMpEventDetailYPO();
|
||||
rMpEventDetailYPO.setMeasurementPointId (lineId);
|
||||
rMpEventDetailYPO.setDataDate (tempDate);
|
||||
rMpEventDetailYPO.setSagTimes (sagCount);
|
||||
rMpEventDetailYPO.setSwellTimes (riseCount);
|
||||
rMpEventDetailYPO.setInterruptTimes (interruptCount);
|
||||
rMpEventDetailYPOList.add (rMpEventDetailYPO);
|
||||
|
||||
});
|
||||
|
||||
rMpEventDetailYService.saveOrUpdateBatchByMultiId (rMpEventDetailYPOList,500);
|
||||
|
||||
|
||||
}
|
||||
@SneakyThrows
|
||||
private void hanlderOracleQtr(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getDataDate ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
List<RMpEventDetailQPO> rMpEventDetailQPOList = new ArrayList<> ( );
|
||||
|
||||
lineIds.forEach (lineId -> {
|
||||
/*查询月表数据生成季表数据*/
|
||||
List<RMpEventDetailMPO> rMpEventDetailMPOList = rMpEventDetailMService.queryOneQtrData(lineId,dataDate);
|
||||
int sagCount = rMpEventDetailMPOList.stream ( ).mapToInt (RMpEventDetailMPO::getSagTimes).sum ( );
|
||||
int riseCount = rMpEventDetailMPOList.stream ( ).mapToInt (RMpEventDetailMPO::getSwellTimes).sum ( );
|
||||
int interruptCount = rMpEventDetailMPOList.stream ( ).mapToInt (RMpEventDetailMPO::getInterruptTimes).sum ( );
|
||||
|
||||
RMpEventDetailQPO rMpEventDetailQPO = new RMpEventDetailQPO();
|
||||
rMpEventDetailQPO.setMeasurementPointId (lineId);
|
||||
rMpEventDetailQPO.setDataDate (tempDate);
|
||||
rMpEventDetailQPO.setSagTimes (sagCount);
|
||||
rMpEventDetailQPO.setSwellTimes (riseCount);
|
||||
rMpEventDetailQPO.setInterruptTimes (interruptCount);
|
||||
rMpEventDetailQPOList.add (rMpEventDetailQPO);
|
||||
|
||||
});
|
||||
|
||||
rMpEventDetailQService.saveOrUpdateBatchByMultiId (rMpEventDetailQPOList,500);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
private void hanlderOracleMonth(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getDataDate ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
List<RMpEventDetailMPO> rMpEventDetailMPOList = new ArrayList<> ( );
|
||||
|
||||
lineIds.forEach (lineId -> {
|
||||
/*查询day表数据生成月表数据*/
|
||||
List<RMpEventDetailDPO> rMpEventDetailDPOList = rMpEventDetailDService.queryOneMothData(lineId,dataDate);
|
||||
int sagCount = rMpEventDetailDPOList.stream ( ).mapToInt (RMpEventDetailDPO::getSagTimes).sum ( );
|
||||
int riseCount = rMpEventDetailDPOList.stream ( ).mapToInt (RMpEventDetailDPO::getSwellTimes).sum ( );
|
||||
int interruptCount = rMpEventDetailDPOList.stream ( ).mapToInt (RMpEventDetailDPO::getInterruptTimes).sum ( );
|
||||
|
||||
RMpEventDetailMPO rMpEventDetailMPO = new RMpEventDetailMPO();
|
||||
rMpEventDetailMPO.setMeasurementPointId (lineId);
|
||||
rMpEventDetailMPO.setDataDate (tempDate);
|
||||
rMpEventDetailMPO.setSagTimes (sagCount);
|
||||
rMpEventDetailMPO.setSwellTimes (riseCount);
|
||||
rMpEventDetailMPO.setInterruptTimes (interruptCount);
|
||||
rMpEventDetailMPOList.add (rMpEventDetailMPO);
|
||||
|
||||
});
|
||||
|
||||
rMpEventDetailMService.saveOrUpdateBatchByMultiId (rMpEventDetailMPOList,500);
|
||||
|
||||
}
|
||||
@SneakyThrows
|
||||
private void hanlderOracleDay(LineParam lineParam) {
|
||||
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
String dataDate = lineParam.getDataDate ( );
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
List<RMpEventDetailDPO> rMpEventDetailDPOList = new ArrayList<> ( );
|
||||
|
||||
|
||||
lineIds.forEach (lineId -> {
|
||||
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
|
||||
PqLinedetailPO oracleIndexIdByMonitorId = pqLinedetailPOService.getOracleIndexIdByMonitorId (lineId);
|
||||
|
||||
Integer sagCount = pqsEventdetailService.queryByCondition (oracleIndexIdByMonitorId.getLineIndex(),dataDate,AlgorithmParam.SAG);
|
||||
Integer riseCount = pqsEventdetailService.queryByCondition (oracleIndexIdByMonitorId.getLineIndex(),dataDate,AlgorithmParam.RISE);
|
||||
Integer interruptCount = pqsEventdetailService.queryByCondition (oracleIndexIdByMonitorId.getLineIndex(),dataDate,AlgorithmParam.INTERRUPT);
|
||||
RMpEventDetailDPO rMpEventDetailDPO = new RMpEventDetailDPO();
|
||||
rMpEventDetailDPO.setMeasurementPointId (lineId);
|
||||
rMpEventDetailDPO.setDataDate (tempDate);
|
||||
rMpEventDetailDPO.setSagTimes (sagCount);
|
||||
rMpEventDetailDPO.setSwellTimes (riseCount);
|
||||
rMpEventDetailDPO.setInterruptTimes (interruptCount);
|
||||
|
||||
rMpEventDetailDPOList.add (rMpEventDetailDPO);
|
||||
});
|
||||
|
||||
rMpEventDetailDService.saveOrUpdateBatchByMultiId (rMpEventDetailDPOList,500);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailDPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailDService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class RMpEventDetailDServiceImpl extends MppServiceImpl<RMpEventDetailDMapper, RMpEventDetailDPO> implements RMpEventDetailDService{
|
||||
|
||||
|
||||
private final RMpEventDetailDMapper rMpEventDetailDMapper;
|
||||
|
||||
/**
|
||||
* @param lineId
|
||||
* @param dataDate
|
||||
* @Description: queryOneMothData
|
||||
* @Param: [lineId, dataDate]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpEventDetailDPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/28
|
||||
*/
|
||||
@Override
|
||||
public List<RMpEventDetailDPO> queryOneMothData(String lineId, String dataDate) {
|
||||
|
||||
QueryWrapper<RMpEventDetailDPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("measurement_point_id", lineId).
|
||||
eq("DATE_FORMAT( data_date ,'%Y-%m')",dataDate.substring (0, 7));
|
||||
List<RMpEventDetailDPO> list = rMpEventDetailDMapper.selectList (queryWrapper);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailMPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailMMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailMService;
|
||||
import com.njcn.prepare.harmonic.utils.PublicUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class RMpEventDetailMServiceImpl extends MppServiceImpl<RMpEventDetailMMapper, RMpEventDetailMPO> implements RMpEventDetailMService{
|
||||
|
||||
private final RMpEventDetailMMapper rMpEventDetailMMapper;
|
||||
|
||||
/**
|
||||
* @param lineId
|
||||
* @param dataDate
|
||||
* @Description: queryOneQtrData 查询一季度Mouth表数据
|
||||
* @Param: [lineId, dataDate]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpEventDetailDPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/28
|
||||
*/
|
||||
@Override
|
||||
public List<RMpEventDetailMPO> queryOneQtrData(String lineId, String dataDate) {
|
||||
|
||||
QueryWrapper<RMpEventDetailMPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("measurement_point_id", lineId).
|
||||
eq("QUARTER( data_date)", PublicUtil.getNowQuarter (dataDate));
|
||||
List<RMpEventDetailMPO> list = rMpEventDetailMMapper.selectList (queryWrapper);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param lineId
|
||||
* @param dataDate
|
||||
* @Description: queryOneYearData 查询一年Mouth表数据
|
||||
* @Param: [lineId, dataDate]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.mysql.po.line.RMpEventDetailMPO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/12/28
|
||||
*/
|
||||
@Override
|
||||
public List<RMpEventDetailMPO> queryOneYearData(String lineId, String dataDate) {
|
||||
QueryWrapper<RMpEventDetailMPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq ("measurement_point_id", lineId).
|
||||
eq("YEAR( data_date )",dataDate.substring (0, 4));
|
||||
List<RMpEventDetailMPO> list = rMpEventDetailMMapper.selectList (queryWrapper);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailQPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailQMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailQService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RMpEventDetailQServiceImpl extends MppServiceImpl<RMpEventDetailQMapper, RMpEventDetailQPO> implements RMpEventDetailQService{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RMpEventDetailYPO;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailYMapper;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailYService;
|
||||
import org.springframework.stereotype.Service;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/12/28 14:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class RMpEventDetailYServiceImpl extends MppServiceImpl<RMpEventDetailYMapper, RMpEventDetailYPO> implements RMpEventDetailYService{
|
||||
|
||||
}
|
||||
@@ -22,7 +22,7 @@ import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.minio.bo.MinIoUploadResDTO;
|
||||
import com.njcn.minio.config.MinIoProperties;
|
||||
import com.njcn.minio.utils.MinIoUtils;
|
||||
import com.njcn.prepare.harmonic.constant.Param;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ExcelRptMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ExcelRptTempMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
@@ -87,7 +87,7 @@ public class ReportServiceImpl implements ReportService {
|
||||
List<String> list = reportParam.getLineIds();
|
||||
if (CollUtil.isEmpty(list)){
|
||||
list = new ArrayList<>();
|
||||
Map<String, List<String>> map = deptLineFeignClient.getLineByDeptRelation(Param.STEADY_STATE).getData();
|
||||
Map<String, List<String>> map = deptLineFeignClient.getLineByDeptRelation(AlgorithmParam.STEADY_STATE).getData();
|
||||
Collection<List<String>> values = map.values();
|
||||
for (List<String> value : values) {
|
||||
list.addAll(value);
|
||||
@@ -291,21 +291,18 @@ public class ReportServiceImpl implements ReportService {
|
||||
}else{
|
||||
sql.append(method).append(InfluxDBSqlConstant.LBK).append(data.getTemplateName()).append(InfluxDBSqlConstant.RBK).append(InfluxDBSqlConstant.AS_VALUE);
|
||||
}
|
||||
|
||||
sql.append(InfluxDBSqlConstant.FROM).append(data.getClassId()).append(InfluxDBSqlConstant.WHERE).append(InfluxDBTableConstant.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(lineId).append(InfluxDBSqlConstant.QM);
|
||||
//相别特殊处理
|
||||
if (InfluxDBTableConstant.NO_PHASE.equals(data.getPhase())) {
|
||||
sql.append(InfluxDBSqlConstant.FROM).append(data.getClassId())
|
||||
.append(InfluxDBSqlConstant.WHERE).append(InfluxDBTableConstant.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(lineId).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getStatMethod()).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.TZ);
|
||||
} else {
|
||||
sql.append(InfluxDBSqlConstant.FROM).append(data.getClassId())
|
||||
.append(InfluxDBSqlConstant.WHERE).append(InfluxDBTableConstant.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(lineId).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getStatMethod()).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getPhase()).append(InfluxDBSqlConstant.QM)
|
||||
.append(InfluxDBSqlConstant.TZ);
|
||||
if (!InfluxDBTableConstant.NO_PHASE.equals(data.getPhase())) {
|
||||
sql.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getPhase()).append(InfluxDBSqlConstant.QM);
|
||||
}
|
||||
|
||||
//data_flicker、data_fluc、data_plt 无 value_type
|
||||
if (!InfluxDBTableConstant.DATA_FLICKER.equals(data.getClassId()) && !InfluxDBTableConstant.DATA_FLUC.equals(data.getClassId()) && !InfluxDBTableConstant.DATA_PLT.equals(data.getClassId())){
|
||||
sql.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getStatMethod()).append(InfluxDBSqlConstant.QM);
|
||||
}
|
||||
sql.append(InfluxDBSqlConstant.TZ);
|
||||
|
||||
//根据不同的库表赋值
|
||||
QueryResult queryResult = influxDbUtils.query(String.valueOf(sql));
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user