@@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil ;
import com.alibaba.fastjson.JSON ;
import com.github.yulichang.wrapper.MPJLambdaWrapper ;
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum ;
import com.njcn.gather.detection.pojo.param.PreDetectionParam ;
import com.njcn.gather.detection.pojo.po.DevData ;
import com.njcn.gather.detection.pojo.vo.DetectionData ;
@@ -112,57 +113,81 @@ public class DetectionServiceImpl {
*/
case HV :
AdHarmonicResult harmV = isHarmQualified ( dev , devIdMapComm , errDtlsCheckData , U , sourceIssue , dataRule , 2 ) ;
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmV ) , code ) ;
return harmV . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( harmV ) ) {
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmV ) , code ) ;
return harmV . getResultFlag ( ) ;
}
return 4 ;
/**
* 谐波电流
*/
case HI :
AdHarmonicResult harmI = isHarmQualified ( dev , devIdMapComm , errDtlsCheckData , I , sourceIssue , dataRule , 2 ) ;
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmI ) , code ) ;
return harmI . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( harmI ) ) {
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmI ) , code ) ;
return harmI . getResultFlag ( ) ;
}
return 4 ;
/**
* 间谐波电压
*/
case HSV :
AdHarmonicResult harmInV = isHarmQualified ( dev , devIdMapComm , errDtlsCheckData , U , sourceIssue , dataRule , 1 ) ;
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmInV ) , code ) ;
return harmInV . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( harmInV ) ) {
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmInV ) , code ) ;
return harmInV . getResultFlag ( ) ;
}
return 4 ;
/**
* 间谐波电流
*/
case HSI :
AdHarmonicResult harmInI = isHarmQualified ( dev , devIdMapComm , errDtlsCheckData , I , sourceIssue , dataRule , 1 ) ;
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmInI ) , code ) ;
return harmInI . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( harmInI ) ) {
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmInI ) , code ) ;
return harmInI . getResultFlag ( ) ;
}
return 4 ;
/**
* 三相电压不平衡度
*/
case IMBV :
AdNonHarmonicResult vUnban = isUnBalanceOrFlickerQualified ( dev , devIdMapComm , errDtlsCheckData , U , sourceIssue , dataRule , " V_UNBAN " ) ;
detectionDataDealService . acceptAdNonResult ( Arrays . asList ( vUnban ) , code ) ;
return vUnban . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( vUnban ) ) {
detectionDataDealService . acceptAdNonResult ( Arrays . asList ( vUnban ) , code ) ;
return vUnban . getResultFlag ( ) ;
}
return 4 ;
/**
* 三相电流不平衡度
*/
case IMBA :
AdNonHarmonicResult iUnban = isUnBalanceOrFlickerQualified ( dev , devIdMapComm , errDtlsCheckData , I , sourceIssue , dataRule , " I_UNBAN " ) ;
detectionDataDealService . acceptAdNonResult ( Arrays . asList ( iUnban ) , code ) ;
return iUnban . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( iUnban ) ) {
detectionDataDealService . acceptAdNonResult ( Arrays . asList ( iUnban ) , code ) ;
return iUnban . getResultFlag ( ) ;
}
return 4 ;
/**
* 谐波有功功率
*/
case HP :
AdHarmonicResult harmP = isHarmQualified ( dev , devIdMapComm , errDtlsCheckData , P , sourceIssue , dataRule , 2 ) ;
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmP ) , code ) ;
return harmP . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( harmP ) ) {
detectionDataDealService . acceptAdResult ( Arrays . asList ( harmP ) , code ) ;
return harmP . getResultFlag ( ) ;
}
return 4 ;
/**
* 闪变
*/
case F :
AdNonHarmonicResult pst = isUnBalanceOrFlickerQualified ( dev , devIdMapComm , errDtlsCheckData , null , sourceIssue , dataRule , " PST " ) ;
detectionDataDealService . acceptAdNonResult ( Arrays . asList ( pst ) , code ) ;
return pst . getResultFlag ( ) ;
if ( ObjectUtil . isNull ( pst ) ) {
detectionDataDealService . acceptAdNonResult ( Arrays . asList ( pst ) , code ) ;
return pst . getResultFlag ( ) ;
}
return 4 ;
/**
* 暂态
*/
@@ -170,8 +195,7 @@ public class DetectionServiceImpl {
case VOLTAGE_DUR :
return isVoltageQualified ( dev , devIdMapComm , errDtlsCheckData , sourceIssue , dataRule , code ) ;
default :
// return isUnknownQualified(dev, devIdMapComm, errDtlsCheckData, sourceIssue, dataRule, code) ;
return 4 ;
return isUnknownQualified( dev , devIdMapComm, errDtlsCheckData, sourceIssue, dataRule , code ) ;
}
}
@@ -182,49 +206,126 @@ public class DetectionServiceImpl {
DictDataEnum dataRule ,
String code ) {
List < AdNonHarmonicResult > info = new ArrayList < > ( ) ;
List < AdHarmonicResult > harmonicResultList = new ArrayList < > ( ) ;
List < String > devValueTypeList = sourceIssue . getDevValueTypeList ( ) ;
//非谐波指标
List < String > harmDesc = dev . stream ( ) . flatMap ( x - > x . getSqlData ( ) . stream ( ) ) . map ( DevData . SqlDataDTO : : getDesc ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
//谐波类型
List < String > inHarm = dev . stream ( ) . flatMap ( x - > x . getSqlDataHarm ( ) . stream ( ) ) . map ( DevData . SqlDataHarmDTO : : getDesc ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
for ( String s : devValueTypeList ) {
//基本数据
Map < String , List < Double > > map = devListMap ( dev , dataRule , s . split ( " \\ $ " ) [ 1 ] ) ;
AdNonHarmonicResult result = new AdNonHarmonicResult ( ) ;
String [ ] split = dev. get ( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
result . s etMonitorId ( devID + " _ " + split [ 1 ] ) ;
result . setScriptId ( sourceIssue . getScriptId ( ) ) ;
result . setSort ( sourceIssue . getIndex ( ) ) ;
result . setDataType ( " avg " ) ;
List < ErrDtlsCheckDataVO > dtlsCheckData = errDtlsCheckData . stream ( ) . filter ( x - > x . getValueTypeCode ( ) . equals ( s . split ( " \\ $ " ) [ 1 ] ) ) . collect ( Collectors . toList ( ) ) ;
List < DetectionData > resultFlag = new ArrayList < > ( ) ;
map . forEach ( ( key , value ) - > {
List < ErrDtlsCheckDataVO > checkData = dtlsCheckData . stream ( ) . filter ( x - > key . equals ( x . getPhase ( ) ) ) . collect ( Collectors . toList ( ) ) ;
DetectionData detectionData = rangeComparisonList ( value , new ArrayList < > ( ) , null , c heckData . get ( 0 ) . getValue ( ) , dataRule );
if ( key . equals ( TYPE_T ) ) {
result . setTValue ( JSON . toJSONString ( detectionData ) ) ;
String devIndex = s . split ( " \\ $ " ) [ 1 ] ;
if ( harmDesc . contains ( devIndex ) ) {
//基本数据(频率,电压,电流)
Map < String , List < Double > > map = devListMap ( dev , dataRule , devIndex ) ;
AdNonHarmonicResult result = new AdNonHarmonicResult ( ) ;
String [ ] split = dev . g et( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
result . setMonitorId ( devID + " _ " + split [ 1 ] ) ;
result . setScriptId ( sourceIssue . getScriptId ( ) ) ;
result . setSort ( sourceIssue . getIndex ( ) ) ;
result . setDataType ( " avg " ) ;
List < ErrDtlsCheckDataVO > dtlsCheckData = errDtlsCheckData . stream ( ) . filter ( x - > x . getValueTypeCode ( ) . equals ( s . split ( " \\ $ " ) [ 1 ] ) ) . collect ( Collectors . toList ( ) ) ;
if ( CollUtil . isNotEmpty ( dtlsCheckData ) ) {
result . setAdType ( dtlsC heckData . get ( 0 ) . getValueType ( ) ) ;
}
if ( key . equals ( TYPE_A ) ) {
result . setAValue ( JSON . toJSONString ( detectionData ) ) ;
List < DetectionData > resultFlag = new ArrayList < > ( ) ;
map . forEach ( ( key , value ) - > {
List < ErrDtlsCheckDataVO > checkData = dtlsCheckData . stream ( ) . filter ( x - > key . equals ( x . getPhase ( ) ) ) . collect ( Collectors . toList ( ) ) ;
if ( CollUtil . isNotEmpty ( checkData ) ) {
DetectionData detectionData ;
if ( DUR . equals ( devIndex ) ) {
detectionData = rangeDURComparisonList ( value , new ArrayList < > ( ) , sourceIssue . getFFreq ( ) , checkData . get ( 0 ) . getValue ( ) , dataRule ) ;
} else {
detectionData = rangeComparisonList ( value , new ArrayList < > ( ) , null , checkData . get ( 0 ) . getValue ( ) , dataRule ) ;
}
if ( key . equals ( TYPE_T ) ) {
result . setTValue ( JSON . toJSONString ( detectionData ) ) ;
}
if ( key . equals ( TYPE_A ) ) {
result . setAValue ( JSON . toJSONString ( detectionData ) ) ;
}
if ( key . equals ( TYPE_B ) ) {
result . setBValue ( JSON . toJSONString ( detectionData ) ) ;
}
if ( key . equals ( TYPE_C ) ) {
result . setCValue ( JSON . toJSONString ( detectionData ) ) ;
}
resultFlag . add ( detectionData ) ;
}
} ) ;
result . setResultFlag ( setResultFlag ( resultFlag ) ) ;
info . add ( result ) ;
}
if ( inHarm . contains ( devIndex ) ) {
String fundCode = " " ;
String harmCode = " " ;
Integer num = 1 ;
String type = " " ;
Double fData = 1 . 0 ;
if ( devIndex . contains ( " V " ) ) {
fundCode = DetectionCodeEnum . U1 . getCode ( ) ;
num = 2 ;
type = U ;
fData = sourceIssue . getFUn ( ) ;
if ( devIndex . contains ( " 50 " ) ) {
harmCode = DetectionCodeEnum . V2_50 . getCode ( ) ;
}
if ( devIndex . contains ( " 49 " ) ) {
harmCode = DetectionCodeEnum . SV_1_49 . getCode ( ) ;
}
}
if ( key . equals ( TYPE_B ) ) {
result . setBValue ( JSON . toJSONString ( detectionData ) ) ;
if ( devIndex . contains ( " I " ) ) {
fundCode = DetectionCodeEnum . I1 . getCode ( ) ; ;
type = I ;
fData = sourceIssue . getFIn ( ) ;
if ( devIndex . contains ( " 50 " ) ) {
harmCode = DetectionCodeEnum . I2_50 . getCode ( ) ;
}
if ( devIndex . contains ( " 49 " ) ) {
harmCode = DetectionCodeEnum . SI_1_49 . getCode ( ) ;
}
}
if ( key . equals ( TYPE_C ) ) {
result . setCValue ( JSON . toJSONString ( detectionData ) ) ;
if ( devIndex . contains ( " P " ) ) {
type = P ;
harmCode = DetectionCodeEnum . P2_50 . getCode ( ) ;
fData = sourceIssue . getFIn ( ) * sourceIssue . getFUn ( ) * 0 . 01 ;
}
resultFlag . add ( detectionData ) ;
} ) ;
result . setResultFlag ( setResultFlag ( r esultFlag ) ) ;
info . add ( result ) ;
//谐波
Map < String , Map < Double , List < Double > > > devHarmMap = devHarmListMap ( dev , sourceIssue , dataRule , 2 ) ;
List < DetectionData > detectionData = harmRangeComparison ( new ArrayList < > ( ) , null , TYPE_T , sourceIssue , dataRule , devHarmMap . get ( TYPE_T ) , sourceIssue . getFUn ( ) , 2 ) ;
//间谐波
Map < String , Map < Double , List < Double > > > devInHarmMap = devHarmListMap ( dev , sourceIssue , dataRule , 1 ) ;
Map < String , Map < Double , List < Double > > > devHarmMap = devHarmListMap ( dev , sourceIssue , dataRule , fundCode , harmCode , num ) ;
if ( CollUtil . isNotEmpty ( devHarmMap ) ) {
AdHarmonicResult harmonicResult = new AdHarmonicR esult ( ) ;
String [ ] split = dev . get ( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
harmonicResult . setMonitorId ( devID + " _ " + split [ 1 ] ) ;
harmonicResult . setScriptId ( sourceIssue . getScriptId ( ) ) ;
harmonicResult . setSort ( sourceIssue . getIndex ( ) ) ;
List < ErrDtlsCheckDataVO > dtlsCheckData = errDtlsCheckData . stream ( ) . filter ( x - > x . getValueTypeCode ( ) . equals ( s . split ( " \\ $ " ) [ 1 ] ) ) . collect ( Collectors . toList ( ) ) ;
if ( CollUtil . isNotEmpty ( dtlsCheckData ) ) {
harmonicResult . setAdType ( dtlsCheckData . get ( 0 ) . getValueType ( ) ) ;
}
List < DetectionData > integerBooleanA = harmRangeComparison ( new ArrayList < > ( ) , type , TYPE_A , sourceIssue , dataRule , devHarmMap . get ( TYPE_A ) , fData , num ) ;
List < DetectionData > integerBooleanB = harmRangeComparison ( new ArrayList < > ( ) , type , TYPE_B , sourceIssue , dataRule , devHarmMap . get ( TYPE_B ) , fData , num ) ;
List < DetectionData > integerBooleanC = harmRangeComparison ( new ArrayList < > ( ) , type , TYPE_C , sourceIssue , dataRule , devHarmMap . get ( TYPE_C ) , fData , num ) ;
harmonicResult . setDataType ( " avg " ) ;
reflectHarmonic ( " a " , integerBooleanA , harmonicResult , num ) ;
reflectHarmonic ( " b " , integerBooleanB , harmonicResult , num ) ;
reflectHarmonic ( " c " , integerBooleanC , harmonicResult , num ) ;
List < DetectionData > list = new ArrayList < > ( ) ;
list . addAll ( integerBooleanA . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
list . addAll ( integerBooleanB . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
list . addAll ( integerBooleanC . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
harmonicResult . setResultFlag ( setResultFlag ( list ) ) ;
harmonicResultList . add ( harmonicResult ) ;
}
}
}
if ( CollUtil . isNotEmpty ( info ) ) {
detectionDataDealService . acceptAdNonResult ( info , code ) ;
List < Integer > resultFlag = info . stream ( ) . filter ( x - > 4 ! = x . getResultFlag ( ) ) . map ( AdNonHarmonicResult : : getResultFlag ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
return getInteger ( resultFlag ) ;
}
if ( CollUtil . isNotEmpty ( harmonicResultList ) ) {
detectionDataDealService . acceptAdResult ( harmonicResultList , code ) ;
}
return 4 ;
}
@@ -336,45 +437,61 @@ public class DetectionServiceImpl {
SourceIssue sourceIssue ,
DictDataEnum dataRule ,
Integer num ) {
Map < String , Map < Double , List < Double > > > devMap = devHarmListMap ( dev , sourceIssue , dataRule , num ) ;
Double fData = 1 . 0 ;
String fundCode = " " ;
String harmCode = " " ;
if ( U . equals ( type ) ) {
fData = sourceIssue . getFUn ( ) ;
fundCode = DetectionCodeEnum . U1 . getCode ( ) ;
if ( num = = 1 ) {
harmCode = DetectionCodeEnum . SV_1_49 . getCode ( ) ;
} else {
harmCode = DetectionCodeEnum . V2_50 . getCode ( ) ;
}
}
if ( I . equals ( type ) ) {
fData = sourceIssue . getFIn ( ) ;
fundCode = DetectionCodeEnum . I1 . getCode ( ) ; ;
if ( num = = 1 ) {
harmCode = DetectionCodeEnum . SI_1_49 . getCode ( ) ;
} else {
harmCode = DetectionCodeEnum . I2_50 . getCode ( ) ;
}
}
if ( P . equals ( type ) ) {
fData = sourceIssue . getFIn ( ) * sourceIssue . getFUn ( ) * 0 . 01 ;
harmCode = DetectionCodeEnum . P2_50 . getCode ( ) ;
}
AdHarmonicResult harmonicResult = new AdHarmonicResult ( ) ;
String [ ] split = dev . get ( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
harmonicResult . setMonitorId ( devID + " _ " + split [ 1 ] ) ;
harmonicResult . setScriptId ( sourceIssue . getScriptId ( ) ) ;
harmonicResult . setSort ( sourceIssue . getIndex ( ) ) ;
List < PqErrSysDtls > pqErrSysDtls = new ArrayList < > ( ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData ) ) {
harmonicResult . setAdType ( errDtlsCheckData . get ( 0 ) . getValueType ( ) ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ) ) {
pqErrSysDtls = errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ;
Map < String , Map < Double , List < Double > > > devMap = devHarmListMap ( dev , sourceIssue , dataRule , fundCode , harmCode , num ) ;
if ( CollUtil . isNotEmpty ( devMap ) ) {
AdHarmonicResult harmonicResult = new AdHarmonicResult ( ) ;
String [ ] split = dev . get ( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
harmonicResult . setMonitorId ( devID + " _ " + split [ 1 ] ) ;
harmonicResult . setScriptId ( sourceIssue . getScriptId ( ) ) ;
harmonicResult . setSort ( sourceIssue . getIndex ( ) ) ;
List < PqErrSysDtls > pqErrSysDtls = new ArrayList < > ( ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData ) ) {
harmonicResult . setAdType ( errDtlsCheckData . get ( 0 ) . getValueType ( ) ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ) ) {
pqErrSysDtls = errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ;
}
}
List < DetectionData > integerBooleanA = harmRangeComparison ( pqErrSysDtls , type , TYPE_A , sourceIssue , dataRule , devMap . get ( TYPE_A ) , fData , num ) ;
List < DetectionData > integerBooleanB = harmRangeComparison ( pqErrSysDtls , type , TYPE_B , sourceIssue , dataRule , devMap . get ( TYPE_B ) , fData , num ) ;
List < DetectionData > integerBooleanC = harmRangeComparison ( pqErrSysDtls , type , TYPE_C , sourceIssue , dataRule , devMap . get ( TYPE_C ) , fData , num ) ;
harmonicResult . setDataType ( " avg " ) ;
reflectHarmonic ( " a " , integerBooleanA , harmonicResult , num ) ;
reflectHarmonic ( " b " , integerBooleanB , harmonicResult , num ) ;
reflectHarmonic ( " c " , integerBooleanC , harmonicResult , num ) ;
List < DetectionData > list = new ArrayList < > ( ) ;
list . addAll ( integerBooleanA . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
list . addAll ( integerBooleanB . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
list . addAll ( integerBooleanC . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
harmonicResult . setResultFlag ( setResultFlag ( list ) ) ;
return harmonicResult ;
}
List < DetectionData > integerBooleanA = harmRangeComparison ( pqErrSysDtls , type , TYPE_A , sourceIssue , dataRule , devMap . get ( TYPE_A ) , fData , num ) ;
List < DetectionData > integerBooleanB = harmRangeComparison ( pqErrSysDtls , type , TYPE_B , sourceIssue , dataRule , devMap . get ( TYPE_B ) , fData , num ) ;
List < DetectionData > integerBooleanC = harmRangeComparison ( pqErrSysDtls , type , TYPE_C , sourceIssue , dataRule , devMap . get ( TYPE_C ) , fData , num ) ;
harmonicResult . setDataType ( " avg " ) ;
reflectHarmonic ( " a " , integerBooleanA , harmonicResult , num ) ;
reflectHarmonic ( " b " , integerBooleanB , harmonicResult , num ) ;
reflectHarmonic ( " c " , integerBooleanC , harmonicResult , num ) ;
List < DetectionData > list = new ArrayList < > ( ) ;
list . addAll ( integerBooleanA . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
list . addAll ( integerBooleanB . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
list . addAll ( integerBooleanC . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
harmonicResult . setResultFlag ( setResultFlag ( list ) ) ;
return harmonicResult ;
return null ;
}
@@ -400,57 +517,60 @@ public class DetectionServiceImpl {
. eq ( PqScriptCheckData : : getScriptId , sourceIssue . getScriptId ( ) )
) ;
Map < String , List < Double > > map = devListMap ( dev , dataRule , code ) ;
Double fData = 1 . 0 ;
if ( U . equals ( type ) ) {
fData = sourceIssue . getFUn ( ) ;
}
if ( I . equals ( type ) ) {
fData = sourceIssue . getFIn ( ) ;
}
AdNonHarmonicResult result = new AdNonHarmonicResult ( ) ;
String [ ] split = dev . get ( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
result . setMonitorId ( devID + " _ " + split [ 1 ] ) ;
result . setScriptId ( sourceIssue . getScriptId ( ) ) ;
result . setSort ( sourceIssue . getIndex ( ) ) ;
List < PqErrSysDtls > pqErrSysDtls = new ArrayList < > ( ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData ) ) {
result . setAdType ( errDtlsCheckData . get ( 0 ) . getValueType ( ) ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ) ) {
pqErrSysDtls = errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ;
if ( CollUtil . isNotEmpty ( map ) ) {
Double fData = 1 . 0 ;
if ( U . equals ( type ) ) {
fData = sourceIssue . getFUn ( ) ;
}
if ( I . equals ( type ) ) {
fData = sourceIssue . getFIn ( ) ;
}
AdNonHarmonicResult result = new AdNonHarmonicResult ( ) ;
String [ ] split = dev . get ( 0 ) . getId ( ) . split ( " _ " ) ;
String devID = devIdMapComm . get ( split [ 0 ] ) ;
result . setMonitorId ( devID + " _ " + split [ 1 ] ) ;
result . setScriptId ( sourceIssue . getScriptId ( ) ) ;
result . setSort ( sourceIssue . getIndex ( ) ) ;
List < PqErrSysDtls > pqErrSysDtls = new ArrayList < > ( ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData ) ) {
result . setAdType ( errDtlsCheckData . get ( 0 ) . getValueType ( ) ) ;
if ( CollUtil . isNotEmpty ( errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ) ) {
pqErrSysDtls = errDtlsCheckData . get ( 0 ) . getErrSysDtls ( ) ;
}
}
result . setDataType ( " avg " ) ;
if ( StrUtil . isBlank ( type ) ) {
//取出源所对应的相别信息
List < PqScriptCheckData > channelTypeAList = checkData . stream ( )
. filter ( x - > TYPE_A . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData a = rangeComparisonList ( map . get ( TYPE_A ) , pqErrSysDtls , fData , channelTypeAList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setAValue ( JSON . toJSONString ( a ) ) ;
List < PqScriptCheckData > channelTypeBList = checkData . stream ( )
. filter ( x - > TYPE_B . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData b = rangeComparisonList ( map . get ( TYPE_B ) , pqErrSysDtls , fData , channelTypeBList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setBValue ( JSON . toJSONString ( b ) ) ;
List < PqScriptCheckData > channelTypeCList = checkData . stream ( )
. filter ( x - > TYPE_C . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData c = rangeComparisonList ( map . get ( TYPE_C ) , pqErrSysDtls , fData , channelTypeCList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setCValue ( JSON . toJSONString ( c ) ) ;
result . setResultFlag ( setResultFlag ( Arrays . asList ( a , b , c ) ) ) ;
} else {
List < PqScriptCheckData > channelTypeBList = checkData . stream ( )
. filter ( x - > TYPE_T . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData t = rangeComparisonList ( map . get ( TYPE_B ) , pqErrSysDtls , fData , channelTypeBList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setTValue ( JSON . toJSONString ( t ) ) ;
result . setResultFlag ( setResultFlag ( Arrays . asList ( t ) ) ) ;
}
return result ;
}
result . setDataType ( " avg " ) ;
if ( StrUtil . isBlank ( type ) ) {
//取出源所对应的相别信息
List < PqScriptCheckData > channelTypeAList = checkData . stream ( )
. filter ( x - > TYPE_A . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData a = rangeComparisonList ( map . get ( TYPE_A ) , pqErrSysDtls , fData , channelTypeAList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setAValue ( JSON . toJSONString ( a ) ) ;
List < PqScriptCheckData > channelTypeBList = checkData . stream ( )
. filter ( x - > TYPE_B . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData b = rangeComparisonList ( map . get ( TYPE_B ) , pqErrSysDtls , fData , channelTypeBList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setBValue ( JSON . toJSONString ( b ) ) ;
List < PqScriptCheckData > channelTypeCList = checkData . stream ( )
. filter ( x - > TYPE_C . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData c = rangeComparisonList ( map . get ( TYPE_C ) , pqErrSysDtls , fData , channelTypeCList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setCValue ( JSON . toJSONString ( c ) ) ;
result . setResultFlag ( setResultFlag ( Arrays . asList ( a , b , c ) ) ) ;
} else {
List < PqScriptCheckData > channelTypeBList = checkData . stream ( )
. filter ( x - > TYPE_T . equals ( x . getPhase ( ) ) )
. collect ( Collectors . toList ( ) ) ;
DetectionData t = rangeComparisonList ( map . get ( TYPE_B ) , pqErrSysDtls , fData , channelTypeBList . get ( 0 ) . getValue ( ) , dataRule ) ;
result . setTValue ( JSON . toJSONString ( t ) ) ;
result . setResultFlag ( setResultFlag ( Arrays . asList ( t ) ) ) ;
}
return result ;
return null ;
}
@@ -788,12 +908,19 @@ public class DetectionServiceImpl {
/**
* @param dev 原始数据
* @param sourceIssue
* @param dataRule
* @param num
* @param sourceIssue 源下发参数
* @param dataRule 数据处理原则
* @param fundCode 装置下发基波code
* @param harmCode 装置下发谐波信息
* @param num 区分谐波还是间谐波1: 谐波, 2: 间谐波
* @return
*/
public Map < String , Map < Double , List < Double > > > devHarmListMap ( List < DevData > dev , SourceIssue sourceIssue , DictDataEnum dataRule , Integer num ) {
public Map < String , Map < Double , List < Double > > > devHarmListMap ( List < DevData > dev ,
SourceIssue sourceIssue ,
DictDataEnum dataRule ,
String fundCode ,
String harmCode ,
Integer num ) {
Map < String , Map < Double , List < Double > > > map = new HashMap < > ( 3 ) ;
List < Double > harmNum = new ArrayList < > ( ) ;
harmNum . add ( 1 . 0 ) ;
@@ -807,12 +934,12 @@ public class DetectionServiceImpl {
. sorted ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ) ;
}
for ( DevData devData : dev ) {
Optional < DevData . SqlDataDTO > first = devData . getSqlData ( ) . stream ( ) . collect ( Collectors . toList ( ) ) . stream ( ) . findFirst ( ) ;
Optional < DevData . SqlDataDTO > first = devData . getSqlData ( ) . stream ( ) . filter ( x - > x . getDesc ( ) . equals ( fundCode ) ) . collect( Collectors . toList ( ) ) . stream ( ) . findFirst ( ) ;
DevData . SqlDataDTO fund = null ;
if ( first . isPresent ( ) ) {
fund = devData . getSqlData ( ) . stream ( ) . collect ( Collectors . toList ( ) ) . stream ( ) . findFirst ( ) . get ( ) ;
fund = first . get ( ) ;
}
List < DevData . SqlDataHarmDTO > harmList = devData . getSqlDataHarm ( ) . stream ( ) . collect ( Collectors . toList ( ) ) ;
List < DevData . SqlDataHarmDTO > harmList = devData . getSqlDataHarm ( ) . stream ( ) . filter ( x - > x . getDesc ( ) . equals ( harmCode ) ) . collect( Collectors . toList ( ) ) ;
if ( CollUtil . isNotEmpty ( harmList ) ) {
DevData . SqlDataHarmDTO harm = harmList . get ( 0 ) ;
if ( ObjectUtil . isNotNull ( fund ) ) {
@@ -820,9 +947,9 @@ public class DetectionServiceImpl {
harmPut ( TYPE_B , map , harmNum , harm , String . valueOf ( fund . getList ( ) . getB ( ) ) , num ) ;
harmPut ( TYPE_C , map , harmNum , harm , String . valueOf ( fund . getList ( ) . getC ( ) ) , num ) ;
} else {
harmPut ( TYPE_A , map , harmNum , harm , " 1.0 ", num ) ;
harmPut ( TYPE_B , map , harmNum , harm , " 1.0 ", num ) ;
harmPut ( TYPE_C , map , harmNum , harm , " 1.0 ", num ) ;
harmPut ( TYPE_A , map , harmNum , harm , " " , num ) ;
harmPut ( TYPE_B , map , harmNum , harm , " " , num ) ;
harmPut ( TYPE_C , map , harmNum , harm , " " , num ) ;
}
}