@@ -534,6 +534,15 @@ public class SocketContrastResponseService {
FormalTestManager . currentStep = SourceOperateCodeEnum . YJC_ALIGN ;
// if (FormalTestManager.isWaveCheck) {
// System.out.println("(仅有闪变、录波)模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始相序校验》》》》》》》》》》》》》》》》");
// this.sendXu(s);
// FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_XUJY;
// } else {
// System.out.println("(仅有闪变)模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始数据对齐校验》》》》》》》》》》》》》》》》");
// this.sendAlignData(s, requestOperateCode);
// FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_ALIGN;
// }
this . resetTimer ( ) ;
}
}
@@ -644,7 +653,9 @@ public class SocketContrastResponseService {
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum . getDictDataEnumByCode ( socketDataMsg . getCode ( ) ) ;
String s = param . getUserPageId ( ) + CnSocketUtil . CONTRAST_DEV_TAG ;
DevData devData = JSON . parseObject ( socketDataMsg . getData ( ) , DevData . class ) ;
socketDataMsg . setRequestId ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) ) ;
if ( SourceOperateCodeEnum . FORMAL_REAL . getValue ( ) . equals ( socketDataMsg . getRequestId ( ) ) ) {
socketDataMsg . setRequestId ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) ) ;
}
if ( ObjectUtil . isNotNull ( dictDataEnumByCode ) ) {
SourceOperateCodeEnum requestOperateCode = this . getRequestOperateCode ( ) ;
@@ -652,61 +663,63 @@ public class SocketContrastResponseService {
switch ( dictDataEnumByCode ) {
case SUCCESS :
//成功收到数据后重置超时统计时间
this . resetTimer ( ) ;
String monitorId1 = devData . getId ( ) ;
successComm . add ( monitorId1 ) ;
if ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) . equals ( socketDataMsg . getRequestId ( ) ) ) {
//成功收到数据后重置超时统计时间
this . resetTimer ( ) ;
String monitorId1 = devData . getId ( ) ;
successComm . add ( monitorId1 ) ;
if ( FormalTestManager . standardDevDataMap . containsKey ( monitorId1 ) ) {
FormalTestManager . standardDevDataMap . get ( monitorId1 ) . add ( devData ) ;
Collections . sort ( FormalTestManager . standardDevDataMap . get ( monitorId1 ) , Comparator . comparing ( obj - > DetectionUtil . getMillis ( obj . getTime ( ) ) ) ) ;
}
if ( FormalTestManager . devDataMap . containsKey ( monitorId1 ) ) {
FormalTestManager . devDataMap . get ( monitorId1 ) . add ( devData ) ;
Collections . sort ( FormalTestManager . devDataMap . get ( monitorId1 ) , Comparator . comparing ( obj - > DetectionUtil . getMillis ( obj . getTime ( ) ) ) ) ;
}
if ( FormalTestManager . standardDevDataMap . containsKey ( monitorId1 ) ) {
FormalTestManager . standardDevDataMap . get ( monitorId1 ) . add ( devData ) ;
Collections . sort ( FormalTestManager . standardDevDataMap . get ( monitorId1 ) , Comparator . comparing ( obj - > DetectionUtil . getMillis ( obj . getTime ( ) ) ) ) ;
}
if ( FormalTestManager . devDataMap . containsKey ( monitorId1 ) ) {
FormalTestManager . devDataMap . get ( monitorId1 ) . add ( devData ) ;
Collections . sort ( FormalTestManager . devDataMap . get ( monitorId1 ) , Comparator . comparing ( obj - > DetectionUtil . getMillis ( obj . getTime ( ) ) ) ) ;
}
if ( successComm . size ( ) = = FormalTestManager . monitorMap . size ( ) ) {
boolean modelCheckResult = this . modelCheck ( param , FormalTestManager . devDataMap , FormalTestManager . monitorMap . get ( monitorId1 ) , true ) ;
modelCheckResult = this . modelCheck ( param , FormalTestManager . standardDevDataMap , FormalTestManager . monitorMap . get ( monitorId1 ) , false ) & & modelCheckResult ;
if ( successComm . size ( ) = = FormalTestManager . monitorMap . size ( ) ) {
boolean modelCheckResult = this . modelCheck ( param , FormalTestManager . devDataMap , FormalTestManager . monitorMap . get ( monitorId1 ) , true ) ;
modelCheckResult = this . modelCheck ( param , FormalTestManager . standardDevDataMap , FormalTestManager . monitorMap . get ( monitorId1 ) , false ) & & modelCheckResult ;
this . clearData ( ) ;
if ( ! modelCheckResult ) {
SocketDataMsg webSend = new SocketDataMsg ( ) ;
webSend . setRequestId ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) ) ;
webSend . setCode ( SourceResponseCodeEnum . ALL_FAIL . getCode ( ) ) ; //最终错误推送
WebServiceManager . sendMsg ( param . getUserPageId ( ) , MsgUtil . msgToWebData ( webSend , FormalTestManager . devNameMapComm , 0 ) ) ;
this . clearData ( ) ;
if ( ! modelCheckResult ) {
SocketDataMsg webSend = new SocketDataMsg ( ) ;
webSend . setRequestId ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) ) ;
webSend . setCode ( SourceResponseCodeEnum . ALL_FAIL . getCode ( ) ) ; //最终错误推送
WebServiceManager . sendMsg ( param . getUserPageId ( ) , MsgUtil . msgToWebData ( webSend , FormalTestManager . devNameMapComm , 0 ) ) ;
System . out . println ( " 模型一致性校验失败!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 " ) ;
if ( FormalTestManager . statisticsProtocol & & quitOperateCode = = SourceOperateCodeEnum . QUIT_INIT_02 ) {
CnSocketUtil . contrastSendquit ( param . getUserPageId ( ) , SourceOperateCodeEnum . QUIT_INIT_01 , false ) ;
}
if ( FormalTestManager . voltageProtocol ) {
CnSocketUtil . contrastSendquit ( param . getUserPageId ( ) , SourceOperateCodeEnum . QUIT_INIT_02 , false ) ;
}
CnSocketUtil . contrastSendquit ( param . getUserPageId ( ) , quitOperateCode , false ) ;
FormalTestManager . isTesting = false ;
} else {
SocketDataMsg webSend = new SocketDataMsg ( ) ;
webSend . setRequestId ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) ) ;
webSend . setCode ( SourceResponseCodeEnum . ALL_SUCCESS . getCode ( ) ) ; //最终成功推送
WebServiceManager . sendMsg ( param . getUserPageId ( ) , JSON . toJSONString ( webSend ) ) ;
System . out . println ( " 模型一致性校验失败!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 " ) ;
if ( FormalTestManager . statisticsProtocol & & quitOperateCode = = SourceOperateCodeEnum . QUIT_INIT_02 ) {
CnSocketUtil . contrastSendquit ( param . getUserPageId ( ) , SourceOperateCodeEnum . QUIT_INIT_01 , false ) ;
}
if ( FormalTestManager . voltageProtocol ) {
CnSocketUtil . contrastSendquit ( param . getUserPageId ( ) , SourceOperateCodeEnum . QUIT_INIT_02 , false ) ;
}
CnSocketUtil . contrastSendquit ( param . getUserPageId ( ) , quitOperateCode , false ) ;
FormalTestManager . isTesting = false ;
} else {
SocketDataMsg webSend = new SocketDataMsg ( ) ;
webSend . setRequestId ( SourceOperateCodeEnum . YJC_MXYZXJY . getValue ( ) ) ;
webSend . setCode ( SourceResponseCodeEnum . ALL_SUCCESS . getCode ( ) ) ; //最终成功推送
WebServiceManager . sendMsg ( param . getUserPageId ( ) , JSON . toJSONString ( webSend ) ) ;
if ( ObjectUtil . isNotNull ( FormalTestManager . nonWaveDataSourceEnum ) ) {
System . out . println ( " 模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始数据对齐校验》》》》》》》》》》》》》》》》 " ) ;
if ( ObjectUtil . isNotNull ( FormalTestManager . nonWaveDataSourceEnum ) ) {
System . out . println ( " 模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始数据对齐校验》》》》》》》》》》》》》》》》 " ) ;
this . sendAlignData ( s , requestOperateCode ) ;
this . sendAlignData ( s , requestOperateCode ) ;
FormalTestManager . currentStep = SourceOperateCodeEnum . YJC_ALIGN ;
FormalTestManager . currentStep = SourceOperateCodeEnum . YJC_ALIGN ;
this . resetTimer ( ) ;
} else if ( FormalTestManager . isWaveCheck ) {
System . out . println ( " (仅有录波)模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》开始相序校验》》》》》》》》》》》》》》》》》》》》》》》》》》》 " ) ;
this . resetTimer ( ) ;
} else if ( FormalTestManager . isWaveCheck ) {
System . out . println ( " (仅有录波)模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》开始相序校验》》》》》》》》》》》》》》》》》》》》》》》》》》》 " ) ;
this . sendXu ( s ) ;
this . resetTimer ( ) ;
FormalTestManager . currentStep = SourceOperateCodeEnum . YJC_XUJY ;
this . sendXu ( s ) ;
this . resetTimer ( ) ;
FormalTestManager . currentStep = SourceOperateCodeEnum . YJC_XUJY ;
}
}
}
}
@@ -1513,7 +1526,7 @@ public class SocketContrastResponseService {
PreDetection . MonitorListDTO monitorListDTO = FormalTestManager . monitorMap . get ( devMonitorId ) ;
List < List < DevData > > lists = this . analyzeWaveFile ( waveResultDTO1 , waveResultDTO2 , monitorListDTO , devMonitorId , stdDevMonitorId , FormalTestManager . testItemMap . keySet ( ) . stream ( ) . collect ( Collectors . toList ( ) ) ) ;
if ( CollUtil . isNotEmpty ( lists ) & & lists . stream ( ) . flatMap ( List : : stream ) . allMatch ( devData - > CollUtil . isNotEmpty ( devData . getSqlData ( ) ) | | CollUtil . isNotEmpty ( devData . getSqlDataHarm ( ) ) ) ) {
if ( CollUtil . isNotEmpty ( lists ) & & lists . stream ( ) . flatMap ( List : : stream ) . allMatch ( devData - > CollUtil . isNotEmpty ( devData . getSqlData ( ) ) & & CollUtil . isNotEmpty ( devData . getSqlDataHarm ( ) ) ) ) {
// if (false) {
FormalTestManager . devDataMap . put ( devMonitorId , lists . get ( 0 ) ) ;
FormalTestManager . standardDevDataMap . put ( stdDevMonitorId , lists . get ( 1 ) ) ;
@@ -2222,12 +2235,19 @@ public class SocketContrastResponseService {
*/
private boolean singleMonitorXuCheck ( String devMonitorId , String standardDevMonitorId , PreDetection . MonitorListDTO monitorListDTO , List < DevData > devData , List < DevData > stdData , Map < String , String > devNameMapComm , String userId ) {
DecimalFormat df = new DecimalFormat ( " 0.000000 " ) ;
Boolean flag = true ;
Boolean flagU = true ;
Boolean flagI = true ;
Boolean flagIMBV = true ;
Boolean flagIMBA = true ;
Boolean flagPhase = true ;
// 获取被检设备的额定电流
Double ratedCurrent = Double . valueOf ( monitorListDTO . getCtStr ( ) . split ( " \\ : " ) [ 1 ] ) ;
String pairStr = MsgUtil . getPairStr ( devMonitorId , standardDevMonitorId , devNameMapComm ) ;
SocketDataMsg webSend = new SocketDataMsg ( ) ;
webSend . setRequestId ( SourceOperateCodeEnum . YJC_XUJY . getValue ( ) ) ;
webSend . setOperateCode ( SourceOperateCodeEnum . DEV_DATA_REQUEST_02 . getValue ( ) ) ;
String detail = " 数据为空! " ;
boolean isStar = DetectionCodeEnum . STAR . getCode ( ) . equals ( monitorListDTO . getConnection ( ) ) ;
boolean isDelta = DetectionCodeEnum . DELTA . getCode ( ) . equals ( monitorListDTO . getConnection ( ) ) ;
@@ -2245,6 +2265,7 @@ public class SocketContrastResponseService {
uStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . PVRMS . getCode ( ) ) ;
}
String detail = " 数据为空! " ;
if ( CollUtil . isNotEmpty ( uDev ) & & CollUtil . isNotEmpty ( uStd ) ) {
DevData . SqlDataDTO . ListDTO uDevList = uDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO uStdList = uStd . get ( 0 ) . getList ( ) ;
@@ -2255,7 +2276,7 @@ public class SocketContrastResponseService {
" , " + ( isDelta ? " Ubc " : " Ub " ) + " = " + df . format ( uStdList . getB ( ) ) +
" , " + ( isDelta ? " Uca " : " Uc " ) + " = " + df . format ( uStdList . getC ( ) ) ;
if ( ! voltageOrCurrentCheck ( uDevList . getA ( ) , uDevList . getB ( ) , uDevList . getC ( ) , uStdList . getA ( ) , uStdList . getB ( ) , uStdList . getC ( ) , true ) ) {
flag = false ;
flagU = false ;
// 单个检测点电压校验失败,推送失败消息
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :电压校验失败! " + detail ) ;
@@ -2264,7 +2285,7 @@ public class SocketContrastResponseService {
webSend . setData ( pairStr + " :电压校验成功! " + detail ) ;
}
} else {
flag = false ;
flagU = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :电压校验失败! " + ( isDelta ? " 线 " : " 相 " ) + " 电压 " + detail ) ;
}
@@ -2278,22 +2299,30 @@ public class SocketContrastResponseService {
if ( CollUtil . isNotEmpty ( iDev ) & & CollUtil . isNotEmpty ( iStd ) ) {
DevData . SqlDataDTO . ListDTO iDevList = iDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO iStdList = iStd . get ( 0 ) . getList ( ) ;
detail = " 被检设备: Ia= " + df . format ( iDevList . getA ( ) ) + " ,Ib= " + df . format ( iDevList . getB ( ) ) + " ,Ic= " + df . format ( iDevList . getC ( ) ) + " ; 标准设备: Ia=" + df . format ( iStdList . getA ( ) ) + " ,Ib= " + df . format ( iStdList . getB ( ) ) + " ,Ic= " + df . format ( iStdList . getC ( ) ) ;
if ( ! voltageOrCurrentCheck ( iDevList . getA ( ) , iDevList . getB ( ) , iDevList . getC ( ) , iStdList . getA ( ) , iStdList . getB ( ) , iStdList . getC ( ) , false ) ) {
// 单个检测点电流校验失败,推送失败消息
flag = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :电流校验失败! " + detail ) ;
if ( ! DetectionUtil . isZero ( iDevList . getA ( ) , ratedCurrent ) & & ! DetectionUtil . isZero ( iDevList . getB ( ) , ratedCurrent ) & & ! DetectionUtil . isZero ( iDevList . getC ( ) , ratedCurrent ) & & ! DetectionUtil . isZero ( iStdList . getA ( ) , ratedCurrent ) & & ! DetectionUtil . isZero ( iStdList . getB ( ) , ratedCurrent ) & & ! DetectionUtil . isZero ( iStdList . getC ( ) , ratedCurrent ) ) {
detail = " 被检设备: Ia= " + df . format ( iDevList . getA ( ) ) + " ,Ib= " + df . format ( iDevList . getB ( ) ) + " ,Ic= " + df . format ( iDevList . getC ( ) ) + " ; 标准设备: Ia=" + df . format ( iStdList . getA ( ) ) + " ,Ib= " + df . format ( iStdList . getB ( ) ) + " ,Ic= " + df . format ( iStdList . getC ( ) ) ;
if ( ! voltageOrCurrentCheck ( iDevList . getA ( ) , iDevList . getB ( ) , iDevList . getC ( ) , iStdList . getA ( ) , iStdList . getB ( ) , iStdList . getC ( ) , false ) ) {
// 单个检测点电流校验失败,推送失败消息
flagI = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :电流校验失败! " + detail ) ;
WebServiceManager . sendMsg ( userId , JSON . toJSONString ( webSend ) ) ;
} else {
webSend . setCode ( SourceResponseCodeEnum . SUCCESS . getCode ( ) ) ;
webSend . setData ( pairStr + " :电流校验成功! " + detail ) ;
WebServiceManager . sendMsg ( userId , JSON . toJSONString ( webSend ) ) ;
}
} else {
webSend . setCode ( SourceResponseCodeEnum . SUCCESS . getCode ( ) ) ;
webSend . setData ( pairStr + " :电流校验成功! " + detail ) ;
// 什么都不做,不推送消息
}
} else {
flag = false ;
flagI = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :电流校验失败! " + detail ) ;
WebServiceManager . sendMsg ( userId , JSON . toJSONString ( webSend ) ) ;
}
WebServiceManager . sendMsg ( userId , JSON . toJSONString ( webSend ) ) ;
// 根据接线方式(星型、角型)来决定是否进行三项不平衡校验
detail = " 数据为空! " ;
@@ -2308,7 +2337,7 @@ public class SocketContrastResponseService {
detail = " 被检设备: IMBV= " + df . format ( uUnblanceDevList . getB ( ) ) + " ; 标准设备: IMBV=" + df . format ( uUnblanceStdList . getB ( ) ) ;
if ( ! unbalanceCheck ( uUnblanceDevList . getB ( ) , uUnblanceStdList . getB ( ) , true ) ) {
// 单个检测点三项电压不平衡校验失败,推送失败消息
flag = false ;
flagIMBV = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :三项电压不平衡校验失败! " + detail ) ;
} else {
@@ -2316,7 +2345,7 @@ public class SocketContrastResponseService {
webSend . setData ( pairStr + " :三项电压不平衡校验成功! " + detail ) ;
}
} else {
flag = false ;
flagIMBV = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :三项电压不平衡校验失败! " + detail ) ;
}
@@ -2329,7 +2358,7 @@ public class SocketContrastResponseService {
DevData . SqlDataDTO . ListDTO iUnblanceStdList = iUnblanceStd . get ( 0 ) . getList ( ) ;
detail = " 被检设备: IMBA= " + df . format ( iUnblanceDevList . getB ( ) ) + " ; 标准设备: IMBA=" + df . format ( iUnblanceStdList . getB ( ) ) ;
if ( ! unbalanceCheck ( iUnblanceDevList . getB ( ) , iUnblanceStdList . getB ( ) , false ) ) {
flag = false ;
flagIMBA = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :三项电流不平衡校验失败! " + detail ) ;
} else {
@@ -2337,7 +2366,7 @@ public class SocketContrastResponseService {
webSend . setData ( pairStr + " :三项电流不平衡校验成功! " + detail ) ;
}
} else {
flag = false ;
flagIMBA = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :三项电流不平衡校验失败! " + detail ) ;
}
@@ -2352,66 +2381,69 @@ public class SocketContrastResponseService {
// 动态调控是否支持相角差校验
if ( isPhaseAngle ) {
// 获取被检设备的额定电流
Double ratedCurrent = Double . valueOf ( monitorListDTO . getCtStr ( ) . split ( " \\ : " ) [ 1 ] ) ;
// 是否存在电流
boolean notHasCurrent = iDev . stream ( ) . allMatch (
p - > p . getList ( ) . getA ( ) ! = null & & DetectionUtil . isZero ( p . getList ( ) . getA ( ) , ratedCurrent )
& & p . getList ( ) . getB ( ) ! = null & & DetectionUtil . isZero ( p . getList ( ) . getB ( ) , ratedCurrent )
& & p . getList ( ) . getC ( ) ! = null & & DetectionUtil . isZero ( p . getList ( ) . getC ( ) , ratedCurrent ) ) ;
if ( ! notHas Current ) {
detail = " 数据为空! " ;
// 相角差校验
List < DevData . SqlDataDTO > vaDev = null ;
List < DevData . SqlDataDTO > vaStd = null ;
List < DevData . SqlDataDTO > i aDev = null ;
List < DevData . SqlDataDTO > i aStd = null ;
if ( isStar ) {
vaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . VA . getCode ( ) ) ;
vaStd = getSingleMonitorSqlData ( stdDa ta, DetectionCodeEnum . VA . getCode ( ) ) ;
i aDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . I A. getCode ( ) ) ;
i aStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . I A. getCode ( ) ) ;
if ( CollUtil . isEmpty ( v aDev ) & & CollUtil . isEmpty ( vaStd ) & & CollUtil . isEmpty ( iaDev ) & & CollUtil . isEmpty ( iaStd ) ) {
vaDev = getSingleMonitorSqlData ( dev Data, DetectionCodeEnum . U1 A. getCode ( ) ) ;
vaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . U1A . getCode ( ) ) ;
if ( flagIMBV & & flagIMBA ) {
// 是否存在电流
boolean hasCurrent = iDev . stream ( ) . allMatch (
p - > p . getList ( ) . getA ( ) ! = null & & ! DetectionUtil . isZero ( p . getList ( ) . getA ( ) , ratedCurrent )
& & p . getList ( ) . getB ( ) ! = null & & ! DetectionUtil . isZero ( p . getList ( ) . getB ( ) , ratedCurrent )
& & p . getList ( ) . getC ( ) ! = null & & ! DetectionUtil . isZero ( p . getList ( ) . getC ( ) , ratedCurrent ) ) ;
hasCurrent = hasCurrent & & iStd . stream ( ) . allMatch (
p - > p . getList ( ) . getA ( ) ! = null & & ! DetectionUtil . isZero ( p . getList ( ) . getA ( ) , ratedCurrent )
& & p . getList ( ) . getB ( ) ! = null & & ! DetectionUtil . isZero ( p . getList ( ) . getB ( ) , rated Current )
& & p . getList ( ) . getC ( ) ! = null & & ! DetectionUtil . isZero ( p . getList ( ) . getC ( ) , ratedCurrent ) ) ;
if ( hasCurrent ) {
detail = " 数据为空! " ;
// 相角差校验
List < DevData . SqlDataDTO > v aDev = null ;
List < DevData . SqlDataDTO > v aStd = null ;
List < DevData . SqlDataDTO > iaDev = null ;
List < DevData . SqlDataDTO > iaStd = null ;
if ( isS tar ) {
v aDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . V A. getCode ( ) ) ;
v aStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . V A. getCode ( ) ) ;
i aDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . IA . getCode ( ) ) ;
iaStd = getSingleMonitorSqlData ( std Data, DetectionCodeEnum . I A. getCode ( ) ) ;
if ( CollUtil . isEmpty ( vaDev ) & & CollUtil . isEmpty ( vaStd ) & & CollUtil . isEmpty ( iaDev ) & & CollUtil . isEmpty ( iaStd ) ) {
vaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . U1A . getCode ( ) ) ;
vaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . U1A . getCode ( ) ) ;
iaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . I1A . getCode ( ) ) ;
iaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . I1A . getCode ( ) ) ;
}
}
if ( isDelta ) {
vaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . PU1A . getCode ( ) ) ;
vaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . PU1A . getCode ( ) ) ;
iaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . I1A . getCode ( ) ) ;
iaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . I1A . getCode ( ) ) ;
}
}
if ( isDelta ) {
vaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . PU1A . getCode ( ) ) ;
vaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . PU1A . getCode ( ) ) ;
iaDev = getSingleMonitorSqlData ( devData , DetectionCodeEnum . I1A . getCode ( ) ) ;
iaStd = getSingleMonitorSqlData ( stdData , DetectionCodeEnum . I1A . getCode ( ) ) ;
}
if ( CollUtil . isNotEmpty ( vaDev ) & & CollUtil . isNotEmpty ( vaStd ) & & CollUtil . isNotEmpty ( iaDev ) & & CollUtil . isNotEmpty ( iaStd ) ) {
DevData . SqlDataDTO . ListDTO vaDevList = vaDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO vaStdList = vaDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO iaDevList = vaDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO iaStdList = vaDev . get ( 0 ) . getList ( ) ;
if ( CollUtil . isNotEmpty ( vaDev ) & & CollUtil . isNotEmpty ( vaStd ) & & CollUtil . isNotEmpty ( iaDev ) & & CollUtil . isNotEmpty ( iaStd ) ) {
DevData . SqlDataDTO . ListDTO vaDevList = vaDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO vaStdList = vaDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO iaDevList = vaDev . get ( 0 ) . getList ( ) ;
DevData . SqlDataDTO . ListDTO iaStdList = vaDev . get ( 0 ) . getList ( ) ;
detail = " 被检设备: a= " + ( vaDevList . getA ( ) - iaDevList . getA ( ) ) + " °,b= " + ( vaDevList . getB ( ) - iaDevList . getB ( ) ) + " °,c= " + ( vaDevList . getC ( ) - iaDevList . getC ( ) ) + " ; 标准设备: a=" + ( vaStdList . getA ( ) - iaStdList . getA ( ) ) + " °,b= " + ( vaStdList . getB ( ) - iaStdList . getB ( ) ) + " °,c= " + ( vaStdList . getC ( ) - iaStdList . getC ( ) ) ;
detail = " 被检设备: a= " + ( vaDevList . getA ( ) - iaDevList . getA ( ) ) + " °,b= " + ( vaDevList . getB ( ) - iaDevList . getB ( ) ) + " °,c= " + ( vaDevList . getC ( ) - iaDevList . getC ( ) ) + " ; 标准设备: a=" + ( vaStdList . getA ( ) - iaStdList . getA ( ) ) + " °,b= " + ( vaStdList . getB ( ) - iaStdList . getB ( ) ) + " °,c= " + ( vaStdList . getC ( ) - iaStdList . getC ( ) ) ;
if ( ! phaseCheck ( vaDevList , iaDevList , vaStdList , iaStdList ) ) {
// 单个检测点相角校验失败,推送失败消息
flag = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :相角差校验失败! " + detail ) ;
if ( ! phaseCheck ( vaDevList , iaDevList , vaStdList , iaStdList ) ) {
// 单个检测点相角校验失败,推送失败消息
flagPhase = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :相角差校验失败! " + detail ) ;
} else {
webSend . setCode ( SourceResponseCodeEnum . SUCCESS . getCode ( ) ) ;
webSend . setData ( pairStr + " :相角差校验成功! " + detail ) ;
}
} else {
webSend . setCode ( SourceResponseCodeEnum . SUCCESS . getCode ( ) ) ;
webSend . setData ( pairStr + " :相角差校验成功! " + detail ) ;
flagPhase = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :相角差校验失败!相角差 " + detail ) ;
}
} else {
flag = false ;
webSend . setCode ( SourceResponseCodeEnum . FAIL . getCode ( ) ) ;
webSend . setData ( pairStr + " :相角差校验失败!相角差 " + detail ) ;
WebServiceManager . sendMsg ( userId , JSON . toJSONString ( webSend ) ) ;
}
WebServiceManager . sendMsg ( userId , JSON . toJSONString ( webSend ) ) ;
}
}
return flag ;
return flagU & & flagI & & flagIMBV & & flagIMBA & & flagPhase ;
}
/**
@@ -2909,6 +2941,18 @@ public class SocketContrastResponseService {
targetDatStream ,
isStar ? 0 : isDelta ? 1 : 2 ) ;
if ( ObjectUtil . isNotNull ( compareWaveDTO ) & & ObjectUtil . isNotNull ( compareWaveDTO . getSourceResults ( ) ) & & ObjectUtil . isNotNull ( compareWaveDTO . getTargetResults ( ) ) ) {
// DetectionCodeEnum prefixEnum = this.getPrefixEnum();
// adTypeCodeList = Arrays.asList(prefixEnum.getCode() + DetectionCodeEnum.VRMS.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.PVRMS.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.IRMS.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.V_UNBAN.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.I_UNBAN.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.V2_50.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.P2_50.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.PV2_50.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.SV_1_49.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.SI_1_49.getCode(),
// prefixEnum.getCode() + DetectionCodeEnum.I2_50.getCode());
return this . getDevData ( compareWaveDTO . getSourceResults ( ) , compareWaveDTO . getTargetResults ( ) , devMonitorId , stdDevMonitorId , adTypeCodeList ) ;
} else {
return null ;
@@ -2934,8 +2978,8 @@ public class SocketContrastResponseService {
List < DevData > stdDevDataList = new ArrayList < > ( ) ;
int dataPoints = Math . min ( sourceDataList . size ( ) , targetDataList . size ( ) ) ;
for ( int i = 0 ; i < dataPoints ; i + + ) {
devDataList . add ( getSinglePointDevData ( source DataList. get ( i ) , devMonitorId , adTypeCodeList ) ) ;
stdDevDataList . add ( getSinglePointDevData ( target DataList. get ( i ) , stdDevMonitorId , adTypeCodeList ) ) ;
devDataList . add ( getSinglePointDevData ( target DataList. get ( i ) , devMonitorId , adTypeCodeList ) ) ;
stdDevDataList . add ( getSinglePointDevData ( source DataList. get ( i ) , stdDevMonitorId , adTypeCodeList ) ) ;
}
result . add ( devDataList ) ;
result . add ( stdDevDataList ) ;
@@ -2975,7 +3019,7 @@ public class SocketContrastResponseService {
List < String > cListI = null ;
for ( String adTypeCode : adTypeCodeList ) {
String code = adTypeCode . replace ( DetectionCodeEnum . REAL_PREFIX . getCode ( ) , " " ) ;
String code = adTypeCode . replace ( this . getPrefixEnum ( ) . getCode ( ) , " " ) ;
DetectionCodeEnum detectionCodeEnum = DetectionCodeEnum . getDetectionCodeByCode ( code ) ;
switch ( detectionCodeEnum ) {
// case FREQ:
@@ -2992,7 +3036,7 @@ public class SocketContrastResponseService {
// 相电压有效值
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . VRMS . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setA ( ( double ) pointDevData . getRms ( ) [ 0 ] ) ;
listDTO . setB ( ( double ) pointDevData . getRms ( ) [ 1 ] ) ;
@@ -3004,7 +3048,7 @@ public class SocketContrastResponseService {
// 线电压有效值
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . PVRMS . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setA ( ( double ) pointDevData . getRms ( ) [ 6 ] ) ;
listDTO . setB ( ( double ) pointDevData . getRms ( ) [ 7 ] ) ;
@@ -3016,7 +3060,7 @@ public class SocketContrastResponseService {
// 相电流有效值
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . IRMS . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setA ( ( double ) pointDevData . getRms ( ) [ 3 ] ) ;
listDTO . setB ( ( double ) pointDevData . getRms ( ) [ 4 ] ) ;
@@ -3028,7 +3072,7 @@ public class SocketContrastResponseService {
// 三项电压不平衡度
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . V_UNBAN . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setB ( ( double ) pointDevData . getUiSeq ( ) [ 0 ] [ 4 ] ) ;
sqlDataDTO . setList ( listDTO ) ;
@@ -3038,7 +3082,7 @@ public class SocketContrastResponseService {
// 三项电流不平衡度
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . I_UNBAN . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setB ( ( double ) pointDevData . getUiSeq ( ) [ 1 ] [ 4 ] ) ;
sqlDataDTO . setList ( listDTO ) ;
@@ -3048,7 +3092,7 @@ public class SocketContrastResponseService {
// 谐波电压含有率
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . U1 . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
u1A = ( double ) pointDevData . getFuHarm ( ) [ 0 ] [ 0 ] ;
u1B = ( double ) pointDevData . getFuHarm ( ) [ 1 ] [ 0 ] ;
@@ -3061,7 +3105,7 @@ public class SocketContrastResponseService {
sqlDataHarmDTOV = new DevData . SqlDataHarmDTO ( ) ;
sqlDataHarmDTOV . setDesc ( DetectionCodeEnum . V2_50 . getCode ( ) ) ;
sqlDataHarmDTOV . setType ( " real " ) ;
sqlDataHarmDTOV . setType ( " wave " ) ;
listDTOHarmV = new DevData . SqlDataHarmDTO . ListDTO ( ) ;
aListV = new ArrayList < > ( ) ;
@@ -3086,7 +3130,7 @@ public class SocketContrastResponseService {
// 谐波电流幅值
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . I1 . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setA ( ( double ) pointDevData . getInHarm ( ) [ 3 ] [ 0 ] ) ;
listDTO . setB ( ( double ) pointDevData . getInHarm ( ) [ 4 ] [ 0 ] ) ;
@@ -3096,7 +3140,7 @@ public class SocketContrastResponseService {
DevData . SqlDataHarmDTO sqlDataHarmDTOI = new DevData . SqlDataHarmDTO ( ) ;
sqlDataHarmDTOI . setDesc ( DetectionCodeEnum . I2_50 . getCode ( ) ) ;
sqlDataHarmDTOI . setType ( " real " ) ;
sqlDataHarmDTOI . setType ( " wave " ) ;
DevData . SqlDataHarmDTO . ListDTO listDTOHarmI = new DevData . SqlDataHarmDTO . ListDTO ( ) ;
aListI = new ArrayList < > ( ) ;
@@ -3142,7 +3186,7 @@ public class SocketContrastResponseService {
// 间谐波电压含有率
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . U1 . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
u1A = ( double ) pointDevData . getFuHarm ( ) [ 0 ] [ 0 ] ;
u1B = ( double ) pointDevData . getFuHarm ( ) [ 1 ] [ 0 ] ;
@@ -3155,7 +3199,7 @@ public class SocketContrastResponseService {
sqlDataHarmDTOV = new DevData . SqlDataHarmDTO ( ) ;
sqlDataHarmDTOV . setDesc ( DetectionCodeEnum . SV_1_49 . getCode ( ) ) ;
sqlDataHarmDTOV . setType ( " real " ) ;
sqlDataHarmDTOV . setType ( " wave " ) ;
listDTOHarmV = new DevData . SqlDataHarmDTO . ListDTO ( ) ;
aListV = new ArrayList < > ( ) ;
@@ -3179,7 +3223,7 @@ public class SocketContrastResponseService {
case SI_1_49 :
sqlDataDTO = new DevData . SqlDataDTO ( ) ;
sqlDataDTO . setDesc ( DetectionCodeEnum . I1 . getCode ( ) ) ;
sqlDataDTO . setType ( " real " ) ;
sqlDataDTO . setType ( " wave " ) ;
listDTO = new DevData . SqlDataDTO . ListDTO ( ) ;
listDTO . setA ( ( double ) pointDevData . getInHarm ( ) [ 3 ] [ 0 ] ) ;
listDTO . setB ( ( double ) pointDevData . getInHarm ( ) [ 4 ] [ 0 ] ) ;
@@ -3190,7 +3234,7 @@ public class SocketContrastResponseService {
// 间谐波电流幅值
sqlDataHarmDTOI = new DevData . SqlDataHarmDTO ( ) ;
sqlDataHarmDTOI . setDesc ( DetectionCodeEnum . SI_1_49 . getCode ( ) ) ;
sqlDataHarmDTOI . setType ( " real " ) ;
sqlDataHarmDTOI . setType ( " wave " ) ;
listDTOHarmI = new DevData . SqlDataHarmDTO . ListDTO ( ) ;
aListI = new ArrayList < > ( ) ;