Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
7dc1ee9b
Commit
7dc1ee9b
authored
Nov 02, 2023
by
caotao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.优化调用逻辑,避免接口直接抛出异常。
parent
139cedcb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
295 additions
and
130 deletions
+295
-130
AlarmInfoDetailServiceImpl.java
...le/jxiop/biz/service/impl/AlarmInfoDetailServiceImpl.java
+295
-130
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/AlarmInfoDetailServiceImpl.java
View file @
7dc1ee9b
...
@@ -47,8 +47,11 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -47,8 +47,11 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
public
Map
<
String
,
Object
>
getAlramInfoDetailOfFan
(
String
id
)
{
public
Map
<
String
,
Object
>
getAlramInfoDetailOfFan
(
String
id
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
IdxBizFanWarningRecord
idxBizFanWarningRecord
=
idxBizFanWarningRecordMapper
.
selectById
(
id
);
IdxBizFanWarningRecord
idxBizFanWarningRecord
=
idxBizFanWarningRecordMapper
.
selectById
(
id
);
//获取告警信息
result
.
put
(
"warningInfo"
,
getFanAlarmInfoMap
(
idxBizFanWarningRecord
));
result
.
put
(
"warningInfo"
,
getFanAlarmInfoMap
(
idxBizFanWarningRecord
));
// -----------预警趋势
//获取工况组合来源
result
.
put
(
"sourceInfo"
,
getSourceInfoMapFan
(
idxBizFanWarningRecord
));
// 获取预警趋势
HashMap
<
String
,
Object
>
alarmTrendAndAlarmAbnormalityListResult
=
getFanAlarmTrendAndAlarmAbnormalityList
(
idxBizFanWarningRecord
);
HashMap
<
String
,
Object
>
alarmTrendAndAlarmAbnormalityListResult
=
getFanAlarmTrendAndAlarmAbnormalityList
(
idxBizFanWarningRecord
);
result
.
put
(
"alarmTrend"
,
alarmTrendAndAlarmAbnormalityListResult
.
get
(
"alarmTrend"
));
result
.
put
(
"alarmTrend"
,
alarmTrendAndAlarmAbnormalityListResult
.
get
(
"alarmTrend"
));
result
.
put
(
"alarmAbnormalityList"
,
alarmTrendAndAlarmAbnormalityListResult
.
get
(
"alarmAbnormalityList"
));
result
.
put
(
"alarmAbnormalityList"
,
alarmTrendAndAlarmAbnormalityListResult
.
get
(
"alarmAbnormalityList"
));
...
@@ -60,64 +63,20 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -60,64 +63,20 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
.
eq
(
"ANALYSIS_POINT_ID"
,
idxBizFanWarningRecord
.
getAnalysisPointId
()));
.
eq
(
"ANALYSIS_POINT_ID"
,
idxBizFanWarningRecord
.
getAnalysisPointId
()));
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
=
new
IdxBizFanPointVarCentralValue
();
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
=
new
IdxBizFanPointVarCentralValue
();
if
(
idxBizFanPointVarCentralValueList
.
size
()
<=
0
)
{
if
(
idxBizFanPointVarCentralValueList
.
size
()
<=
0
)
{
result
.
put
(
"healthPointInfo"
,
new
HashMap
<>());
result
.
put
(
"currentValue"
,
new
HashMap
<>());
result
.
put
(
"trainValue"
,
new
HashMap
<>());
return
result
;
return
result
;
}
}
idxBizFanPointVarCentralValue
=
idxBizFanPointVarCentralValueList
.
get
(
0
);
idxBizFanPointVarCentralValue
=
idxBizFanPointVarCentralValueList
.
get
(
0
);
handlerIdxBizFanPointVarCentralValue
(
idxBizFanPointVarCentralValueList
);
handlerIdxBizFanPointVarCentralValue
(
idxBizFanPointVarCentralValueList
);
//健康指数来源测点信息
//健康指数来源测点信息
HashMap
<
String
,
String
>
healthPointInfoMap
=
new
HashMap
<>();
result
.
put
(
"healthPointInfo"
,
getHealthPointInfoFan
(
idxBizFanPointVarCentralValue
));
healthPointInfoMap
.
put
(
"analysisPointName"
,
idxBizFanPointVarCentralValue
.
getAnalysisPointName
());
HashMap
<
String
,
Object
>
currentValueAndTrainValueMap
=
getCurrentValueAndTrainValueInfoFan
(
idxBizFanPointVarCentralValue
,
startTime
,
endTime
,
idxBizFanPointVarCentralValueList
);
healthPointInfoMap
.
put
(
"processPoint1Name"
,
idxBizFanPointVarCentralValue
.
getProcessPoint1Name
());
healthPointInfoMap
.
put
(
"processPoint2Name"
,
idxBizFanPointVarCentralValue
.
getProcessPoint2Name
());
healthPointInfoMap
.
put
(
"processPoint3Name"
,
idxBizFanPointVarCentralValue
.
getProcessPoint3Name
());
result
.
put
(
"healthPointInfo"
,
healthPointInfoMap
);
List
<
IdxBizFanPointProcessVariableClassification
>
idxBizFanPointProcessVariableClassificationList
=
idxBizFanPointProcessVariableClassificationMapper
.
selectList
(
new
QueryWrapper
<
IdxBizFanPointProcessVariableClassification
>()
.
in
(
"SEQUENCE_NBR"
,
Arrays
.
asList
(
idxBizFanPointVarCentralValue
.
getAnalysisPointId
(),
idxBizFanPointVarCentralValue
.
getProcessPoint1Id
(),
idxBizFanPointVarCentralValue
.
getProcessPoint2Id
(),
idxBizFanPointVarCentralValue
.
getProcessPoint3Id
())));
String
addresss
=
idxBizFanPointProcessVariableClassificationList
.
stream
()
.
map
(
idxBizFanPointProcessVariableClassification
->
"'"
+
idxBizFanPointProcessVariableClassification
.
getIndexAddress
()
+
"'"
)
.
collect
(
Collectors
.
joining
(
","
));
Map
<
String
,
String
>
idAddressMap
=
idxBizFanPointProcessVariableClassificationList
.
stream
()
.
collect
(
Collectors
.
toMap
(
IdxBizFanPointProcessVariableClassification:
:
getSequenceNbr
,
IdxBizFanPointProcessVariableClassification:
:
getIndexAddress
));
//查询固化数据---------------------
List
<
IndicatorData
>
indicatorDataList
=
indicatorDataMapper
.
selectDataByGatewayIdAndAddressForAlarmInfoDetail
(
idxBizFanPointProcessVariableClassificationList
.
get
(
0
).
getGatewayId
(),
addresss
,
startTime
,
endTime
);
Map
<
String
,
Double
>
indicatorDataListMap
=
new
HashMap
<>(
indicatorDataList
.
size
());
TreeSet
<
String
>
timesindicatorDataList
=
new
TreeSet
<>();
indicatorDataList
.
forEach
(
indicatorData
->
{
String
time
=
DateUtil
.
format
(
indicatorData
.
getCreatedTime
(),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
)
+
":00"
;
indicatorDataListMap
.
put
(
time
+
"_"
+
indicatorData
.
getAddress
(),
Double
.
valueOf
(
indicatorData
.
getValueF
()));
timesindicatorDataList
.
add
(
time
);
});
//当前值
//当前值
List
<
HashMap
<
String
,
String
>>
currentValue
=
new
ArrayList
<>(
);
result
.
put
(
"currentValue"
,
currentValueAndTrainValueMap
.
get
(
"currentValue"
)
);
//训练值
//训练值
List
<
HashMap
<
String
,
String
>>
trainValue
=
new
ArrayList
<>();
result
.
put
(
"trainValue"
,
currentValueAndTrainValueMap
.
get
(
"trainValue"
));
String
analyseValueAddress
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getAnalysisPointId
());
String
process1Address
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getProcessPoint1Id
());
String
process2Address
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getProcessPoint2Id
());
String
process3Address
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getProcessPoint3Id
());
timesindicatorDataList
.
forEach
(
s
->
{
HashMap
<
String
,
String
>
currentValueMap
=
new
HashMap
<>();
currentValueMap
.
put
(
"time"
,
s
);
Double
analyseValue
=
indicatorDataListMap
.
get
(
s
+
"_"
+
analyseValueAddress
);
Double
processValue1
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process1Address
);
Double
processValue2
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process2Address
);
Double
processValue3
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process3Address
);
currentValueMap
.
put
(
"analyseValue"
,
String
.
valueOf
(
analyseValue
));
currentValueMap
.
put
(
"processValue1"
,
String
.
valueOf
(
processValue1
));
currentValueMap
.
put
(
"processValue2"
,
String
.
valueOf
(
processValue2
));
currentValueMap
.
put
(
"processValue3"
,
String
.
valueOf
(
processValue3
));
HashMap
<
String
,
String
>
trainValueMap
=
getWorkingConditionCombinationIntervalFan
(
processValue1
,
processValue2
,
processValue3
,
idxBizFanPointVarCentralValueList
);
trainValueMap
.
put
(
"time"
,
s
);
currentValue
.
add
(
currentValueMap
);
trainValue
.
add
(
trainValueMap
);
}
);
result
.
put
(
"currentValue"
,
currentValue
);
result
.
put
(
"trainValue"
,
trainValue
);
//---------------工况组合来源
result
.
put
(
"sourceInfo"
,
getSourceInfoMapFan
(
idxBizFanWarningRecord
));
return
result
;
return
result
;
}
}
...
@@ -125,7 +84,10 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -125,7 +84,10 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
public
Map
<
String
,
Object
>
getAlramInfoDetailOfPv
(
String
id
)
{
public
Map
<
String
,
Object
>
getAlramInfoDetailOfPv
(
String
id
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
IdxBizPvWarningRecord
idxBizPvWarningRecord
=
idxBizPvWarningRecordMapper
.
selectById
(
id
);
IdxBizPvWarningRecord
idxBizPvWarningRecord
=
idxBizPvWarningRecordMapper
.
selectById
(
id
);
//告警信息
result
.
put
(
"warningInfo"
,
getPvAlarmInfoMap
(
idxBizPvWarningRecord
));
result
.
put
(
"warningInfo"
,
getPvAlarmInfoMap
(
idxBizPvWarningRecord
));
//---------------工况组合来源
result
.
put
(
"sourceInfo"
,
getSourceInfoMapPv
(
idxBizPvWarningRecord
));
// -----------预警趋势
// -----------预警趋势
HashMap
<
String
,
Object
>
alarmTrendAndAlarmAbnormalityListResult
=
getPvAlarmTrendAndAlarmAbnormalityList
(
idxBizPvWarningRecord
);
HashMap
<
String
,
Object
>
alarmTrendAndAlarmAbnormalityListResult
=
getPvAlarmTrendAndAlarmAbnormalityList
(
idxBizPvWarningRecord
);
result
.
put
(
"alarmTrend"
,
alarmTrendAndAlarmAbnormalityListResult
.
get
(
"alarmTrend"
));
result
.
put
(
"alarmTrend"
,
alarmTrendAndAlarmAbnormalityListResult
.
get
(
"alarmTrend"
));
...
@@ -138,67 +100,28 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -138,67 +100,28 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
.
eq
(
"ANALYSIS_POINT_ID"
,
idxBizPvWarningRecord
.
getAnalysisPointId
()));
.
eq
(
"ANALYSIS_POINT_ID"
,
idxBizPvWarningRecord
.
getAnalysisPointId
()));
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
=
new
IdxBizPvPointVarCentralValue
();
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
=
new
IdxBizPvPointVarCentralValue
();
if
(
idxBizPvPointVarCentralValueList
.
size
()
<=
0
)
{
if
(
idxBizPvPointVarCentralValueList
.
size
()
<=
0
)
{
result
.
put
(
"healthPointInfo"
,
new
HashMap
<>());
result
.
put
(
"currentValue"
,
new
HashMap
<>());
result
.
put
(
"trainValue"
,
new
HashMap
<>());
return
result
;
return
result
;
}
}
idxBizPvPointVarCentralValue
=
idxBizPvPointVarCentralValueList
.
get
(
0
);
idxBizPvPointVarCentralValue
=
idxBizPvPointVarCentralValueList
.
get
(
0
);
handlerIdxBizPvPointVarCentralValue
(
idxBizPvPointVarCentralValueList
);
handlerIdxBizPvPointVarCentralValue
(
idxBizPvPointVarCentralValueList
);
//健康指数来源测点信息
//健康指数来源测点信息
HashMap
<
String
,
String
>
healthPointInfoMap
=
new
HashMap
<>();
result
.
put
(
"healthPointInfo"
,
getHealthPointInfoPv
(
idxBizPvPointVarCentralValue
));
healthPointInfoMap
.
put
(
"analysisPointName"
,
idxBizPvPointVarCentralValue
.
getAnalysisPointIdName
());
HashMap
<
String
,
Object
>
currentValueAndTrainValueMap
=
getCurrentValueAndTrainValueInfoPv
(
idxBizPvPointVarCentralValue
,
startTime
,
endTime
,
idxBizPvPointVarCentralValueList
);
healthPointInfoMap
.
put
(
"processPoint1Name"
,
idxBizPvPointVarCentralValue
.
getProcessPoint1IdName
());
healthPointInfoMap
.
put
(
"processPoint2Name"
,
idxBizPvPointVarCentralValue
.
getProcessPoint2IdName
());
healthPointInfoMap
.
put
(
"processPoint3Name"
,
idxBizPvPointVarCentralValue
.
getProcessPoint3IdName
());
result
.
put
(
"healthPointInfo"
,
healthPointInfoMap
);
List
<
IdxBizPvPointProcessVariableClassification
>
idxBizPvPointProcessVariableClassificationList
=
idxBizPvPointProcessVariableClassificationMapper
.
selectList
(
new
QueryWrapper
<
IdxBizPvPointProcessVariableClassification
>()
.
in
(
"SEQUENCE_NBR"
,
Arrays
.
asList
(
idxBizPvPointVarCentralValue
.
getAnalysisPointId
(),
idxBizPvPointVarCentralValue
.
getProcessPoint1Id
(),
idxBizPvPointVarCentralValue
.
getProcessPoint2Id
(),
idxBizPvPointVarCentralValue
.
getProcessPoint3Id
())));
String
addresss
=
idxBizPvPointProcessVariableClassificationList
.
stream
()
.
map
(
idxBizFanPointProcessVariableClassification
->
"'"
+
idxBizFanPointProcessVariableClassification
.
getIndexAddress
()
+
"'"
)
.
collect
(
Collectors
.
joining
(
","
));
Map
<
String
,
String
>
idAddressMap
=
idxBizPvPointProcessVariableClassificationList
.
stream
()
.
collect
(
Collectors
.
toMap
(
IdxBizPvPointProcessVariableClassification:
:
getSequenceNbr
,
IdxBizPvPointProcessVariableClassification:
:
getIndexAddress
));
//查询固化数据---------------------
List
<
IndicatorData
>
indicatorDataList
=
indicatorDataMapper
.
selectDataByGatewayIdAndAddressForAlarmInfoDetail
(
idxBizPvPointProcessVariableClassificationList
.
get
(
0
).
getGatewayId
(),
addresss
,
startTime
,
endTime
);
Map
<
String
,
Double
>
indicatorDataListMap
=
new
HashMap
<>(
indicatorDataList
.
size
());
TreeSet
<
String
>
timesindicatorDataList
=
new
TreeSet
<>();
indicatorDataList
.
forEach
(
indicatorData
->
{
String
time
=
DateUtil
.
format
(
indicatorData
.
getCreatedTime
(),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
)
+
":00"
;
indicatorDataListMap
.
put
(
time
+
"_"
+
indicatorData
.
getAddress
(),
Double
.
valueOf
(
indicatorData
.
getValueF
()));
timesindicatorDataList
.
add
(
time
);
});
//当前值
//当前值
List
<
HashMap
<
String
,
String
>>
currentValue
=
new
ArrayList
<>(
);
result
.
put
(
"currentValue"
,
currentValueAndTrainValueMap
.
get
(
"currentValue"
)
);
//训练值
//训练值
List
<
HashMap
<
String
,
String
>>
trainValue
=
new
ArrayList
<>();
result
.
put
(
"trainValue"
,
currentValueAndTrainValueMap
.
get
(
"trainValue"
));
String
analyseValueAddress
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getAnalysisPointId
());
String
process1Address
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getProcessPoint1Id
());
String
process2Address
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getProcessPoint2Id
());
String
process3Address
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getProcessPoint3Id
());
timesindicatorDataList
.
forEach
(
s
->
{
HashMap
<
String
,
String
>
currentValueMap
=
new
HashMap
<>();
currentValueMap
.
put
(
"time"
,
s
);
Double
analyseValue
=
indicatorDataListMap
.
get
(
s
+
"_"
+
analyseValueAddress
);
Double
processValue1
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process1Address
);
Double
processValue2
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process2Address
);
Double
processValue3
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process3Address
);
currentValueMap
.
put
(
"analyseValue"
,
String
.
valueOf
(
analyseValue
));
currentValueMap
.
put
(
"processValue1"
,
String
.
valueOf
(
processValue1
));
currentValueMap
.
put
(
"processValue2"
,
String
.
valueOf
(
processValue2
));
currentValueMap
.
put
(
"processValue3"
,
String
.
valueOf
(
processValue3
));
HashMap
<
String
,
String
>
trainValueMap
=
getWorkingConditionCombinationIntervalPv
(
processValue1
,
processValue2
,
processValue3
,
idxBizPvPointVarCentralValueList
);
trainValueMap
.
put
(
"time"
,
s
);
currentValue
.
add
(
currentValueMap
);
trainValue
.
add
(
trainValueMap
);
}
);
result
.
put
(
"currentValue"
,
currentValue
);
result
.
put
(
"trainValue"
,
trainValue
);
//---------------工况组合来源
result
.
put
(
"sourceInfo"
,
getSourceInfoMapPv
(
idxBizPvWarningRecord
));
return
result
;
return
result
;
}
}
// 获取风机告警信息
/**
* 获取告风机警信息
* @param idxBizFanWarningRecord
* @return 告警信息
*/
public
HashMap
<
String
,
String
>
getFanAlarmInfoMap
(
IdxBizFanWarningRecord
idxBizFanWarningRecord
)
{
public
HashMap
<
String
,
String
>
getFanAlarmInfoMap
(
IdxBizFanWarningRecord
idxBizFanWarningRecord
)
{
HashMap
<
String
,
String
>
alarmInfoMap
=
new
HashMap
<>();
HashMap
<
String
,
String
>
alarmInfoMap
=
new
HashMap
<>();
...
@@ -214,7 +137,12 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -214,7 +137,12 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmInfoMap
.
put
(
"waringRule"
,
idxBizFanWarningRecord
.
getCONTENT
());
alarmInfoMap
.
put
(
"waringRule"
,
idxBizFanWarningRecord
.
getCONTENT
());
return
alarmInfoMap
;
return
alarmInfoMap
;
}
}
// 获取光伏告警信息
/**
* 获取光伏告警信息
* @param idxBizPvWarningRecord
* @return 告警信息
*/
public
HashMap
<
String
,
String
>
getPvAlarmInfoMap
(
IdxBizPvWarningRecord
idxBizPvWarningRecord
)
{
public
HashMap
<
String
,
String
>
getPvAlarmInfoMap
(
IdxBizPvWarningRecord
idxBizPvWarningRecord
)
{
HashMap
<
String
,
String
>
alarmInfoMap
=
new
HashMap
<>();
HashMap
<
String
,
String
>
alarmInfoMap
=
new
HashMap
<>();
...
@@ -230,23 +158,29 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -230,23 +158,29 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmInfoMap
.
put
(
"waringRule"
,
idxBizPvWarningRecord
.
getCONTENT
());
alarmInfoMap
.
put
(
"waringRule"
,
idxBizPvWarningRecord
.
getCONTENT
());
return
alarmInfoMap
;
return
alarmInfoMap
;
}
}
// 获取风机趋势图与异常度
/**
* 获取风机趋势数据、异常度数据、开始时间、结束时间
* @param idxBizFanWarningRecord
* @return
*/
public
HashMap
<
String
,
Object
>
getFanAlarmTrendAndAlarmAbnormalityList
(
IdxBizFanWarningRecord
idxBizFanWarningRecord
)
{
public
HashMap
<
String
,
Object
>
getFanAlarmTrendAndAlarmAbnormalityList
(
IdxBizFanWarningRecord
idxBizFanWarningRecord
)
{
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
HashMap
<
String
,
List
<
String
>>
alarmTrendMap
=
new
HashMap
<>();
HashMap
<
String
,
List
<
String
>>
alarmTrendMap
=
new
HashMap
<>();
List
<
HashMap
<
String
,
String
>>
alarmAbnormalityList
=
new
ArrayList
<>();
List
<
HashMap
<
String
,
String
>>
alarmAbnormalityList
=
new
ArrayList
<>();
Long
analysisDate
=
idxBizFanWarningRecord
.
getRecDate
().
getTime
()
+
1000
*
60
;
List
<
IdxBizFanHealthIndex
>
idxBizFanHealthIndexList
=
idxBizFanHealthIndexMapper
.
selectList
(
new
QueryWrapper
<
IdxBizFanHealthIndex
>()
List
<
IdxBizFanHealthIndex
>
idxBizFanHealthIndexList
=
idxBizFanHealthIndexMapper
.
selectList
(
new
QueryWrapper
<
IdxBizFanHealthIndex
>()
.
eq
(
"GATEWAY_ID"
,
idxBizFanWarningRecord
.
getGatewayId
())
.
eq
(
"GATEWAY_ID"
,
idxBizFanWarningRecord
.
getGatewayId
())
.
eq
(
"INDEX_ADDRESS"
,
idxBizFanWarningRecord
.
getIndexAddress
())
.
eq
(
"INDEX_ADDRESS"
,
idxBizFanWarningRecord
.
getIndexAddress
())
.
le
(
"ANALYSIS_TIME"
,
DateUtil
.
formatDateTime
(
new
Date
(
analysisDate
)))
.
eq
(
"ANALYSIS_TYPE"
,
idxBizFanWarningRecord
.
getWarningPeriod
())
.
le
(
"ANALYSIS_TIME"
,
DateUtil
.
offsetMinute
(
idxBizFanWarningRecord
.
getRecDate
(),
1
))
.
orderByDesc
(
"ANALYSIS_TIME"
)
.
orderByDesc
(
"ANALYSIS_TIME"
)
.
last
(
"limit 30"
));
.
last
(
"limit 30"
));
List
<
String
>
xDatas
=
new
ArrayList
<>();
List
<
String
>
xDatas
=
new
ArrayList
<>();
List
<
String
>
yDatas
=
new
ArrayList
<>();
List
<
String
>
yDatas
=
new
ArrayList
<>();
String
startTime
=
""
;
String
startTime
=
""
;
String
endTime
=
""
;
String
endTime
=
""
;
for
(
int
i
=
idxBizFanHealthIndexList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
int
idxBizFanHealthIndexListSize
=
idxBizFanHealthIndexList
.
size
();
for
(
int
i
=
idxBizFanHealthIndexListSize
-
1
;
i
>=
0
;
i
--)
{
HashMap
<
String
,
String
>
alarmAbnormalityItem
=
new
HashMap
<>();
HashMap
<
String
,
String
>
alarmAbnormalityItem
=
new
HashMap
<>();
IdxBizFanHealthIndex
idxBizFanHealthIndex
=
idxBizFanHealthIndexList
.
get
(
i
);
IdxBizFanHealthIndex
idxBizFanHealthIndex
=
idxBizFanHealthIndexList
.
get
(
i
);
xDatas
.
add
(
idxBizFanHealthIndex
.
getANALYSISTIME
());
xDatas
.
add
(
idxBizFanHealthIndex
.
getANALYSISTIME
());
...
@@ -254,11 +188,27 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -254,11 +188,27 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmAbnormalityItem
.
put
(
"time"
,
idxBizFanHealthIndex
.
getANALYSISTIME
());
alarmAbnormalityItem
.
put
(
"time"
,
idxBizFanHealthIndex
.
getANALYSISTIME
());
alarmAbnormalityItem
.
put
(
"abnormal"
,
String
.
valueOf
(
idxBizFanHealthIndex
.
getANOMALY
()));
alarmAbnormalityItem
.
put
(
"abnormal"
,
String
.
valueOf
(
idxBizFanHealthIndex
.
getANOMALY
()));
alarmAbnormalityItem
.
put
(
"healthValue"
,
String
.
valueOf
(
idxBizFanHealthIndex
.
getHealthIndex
()));
alarmAbnormalityItem
.
put
(
"healthValue"
,
String
.
valueOf
(
idxBizFanHealthIndex
.
getHealthIndex
()));
if
(
i
==
0
)
{
if
(
idxBizFanHealthIndexListSize
>=
3
)
{
endTime
=
idxBizFanHealthIndex
.
getANALYSISTIME
();
if
(
i
==
0
)
{
endTime
=
handlerDateStr
(
idxBizFanHealthIndex
.
getANALYSISTIME
(),
-
8
,
5
);
}
if
(
i
==
2
)
{
startTime
=
handlerDateStr
(
idxBizFanHealthIndex
.
getANALYSISTIME
(),
-
8
,
-
5
);
}
}
}
if
(
i
==
2
)
{
if
(
idxBizFanHealthIndexListSize
==
2
)
{
startTime
=
idxBizFanHealthIndex
.
getANALYSISTIME
();
if
(
i
==
0
)
{
endTime
=
handlerDateStr
(
idxBizFanHealthIndex
.
getANALYSISTIME
(),
-
8
,
5
);
}
if
(
i
==
1
)
{
startTime
=
handlerDateStr
(
idxBizFanHealthIndex
.
getANALYSISTIME
(),
-
8
,
-
5
);
}
}
if
(
idxBizFanHealthIndexListSize
==
1
)
{
if
(
i
==
0
)
{
endTime
=
handlerDateStr
(
idxBizFanHealthIndex
.
getANALYSISTIME
(),
-
8
,
5
);
startTime
=
handlerDateStr
(
idxBizFanHealthIndex
.
getANALYSISTIME
(),
-
8
,
-
5
);
}
}
}
alarmAbnormalityList
.
add
(
alarmAbnormalityItem
);
alarmAbnormalityList
.
add
(
alarmAbnormalityItem
);
}
}
...
@@ -266,27 +216,34 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -266,27 +216,34 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmTrendMap
.
put
(
"yDatas"
,
yDatas
);
alarmTrendMap
.
put
(
"yDatas"
,
yDatas
);
result
.
put
(
"alarmTrend"
,
alarmTrendMap
);
result
.
put
(
"alarmTrend"
,
alarmTrendMap
);
// 异常度 alarmAbnormality
// 异常度 alarmAbnormality
result
.
put
(
"alarmAbnormalityList"
,
alarmAbnormalityList
.
subList
(
alarmAbnormalityList
.
size
()
-
3
,
alarmAbnormalityList
.
size
()));
int
alarmAbnormalitySize
=
idxBizFanHealthIndexListSize
>=
3
?
3
:
idxBizFanHealthIndexListSize
;
result
.
put
(
"alarmAbnormalityList"
,
alarmAbnormalityList
.
subList
(
alarmAbnormalityList
.
size
()
-
alarmAbnormalitySize
,
alarmAbnormalityList
.
size
()));
result
.
put
(
"startTime"
,
startTime
);
result
.
put
(
"startTime"
,
startTime
);
result
.
put
(
"endTime"
,
endTime
);
result
.
put
(
"endTime"
,
endTime
);
return
result
;
return
result
;
}
}
// 获取光伏趋势图与异常度
/**
* 获取光伏趋势数据、异常度数据、开始时间、结束时间
* @param idxBizPvWarningRecord
* @return
*/
public
HashMap
<
String
,
Object
>
getPvAlarmTrendAndAlarmAbnormalityList
(
IdxBizPvWarningRecord
idxBizPvWarningRecord
)
{
public
HashMap
<
String
,
Object
>
getPvAlarmTrendAndAlarmAbnormalityList
(
IdxBizPvWarningRecord
idxBizPvWarningRecord
)
{
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
HashMap
<
String
,
List
<
String
>>
alarmTrendMap
=
new
HashMap
<>();
HashMap
<
String
,
List
<
String
>>
alarmTrendMap
=
new
HashMap
<>();
List
<
HashMap
<
String
,
String
>>
alarmAbnormalityList
=
new
ArrayList
<>();
List
<
HashMap
<
String
,
String
>>
alarmAbnormalityList
=
new
ArrayList
<>();
Long
analysisDate
=
idxBizPvWarningRecord
.
getRecDate
().
getTime
()
+
1000
*
60
;
List
<
IdxBizPvHealthIndex
>
idxBizPvHealthIndexList
=
idxBizPvHealthIndexMapper
.
selectList
(
new
QueryWrapper
<
IdxBizPvHealthIndex
>()
List
<
IdxBizPvHealthIndex
>
idxBizPvHealthIndexList
=
idxBizPvHealthIndexMapper
.
selectList
(
new
QueryWrapper
<
IdxBizPvHealthIndex
>()
.
eq
(
"GATEWAY_ID"
,
idxBizPvWarningRecord
.
getGatewayId
())
.
eq
(
"GATEWAY_ID"
,
idxBizPvWarningRecord
.
getGatewayId
())
.
eq
(
"INDEX_ADDRESS"
,
idxBizPvWarningRecord
.
getIndexAddress
())
.
eq
(
"INDEX_ADDRESS"
,
idxBizPvWarningRecord
.
getIndexAddress
())
.
le
(
"ANALYSIS_TIME"
,
DateUtil
.
formatDateTime
(
new
Date
(
analysisDate
)))
.
eq
(
"ANALYSIS_TYPE"
,
idxBizPvWarningRecord
.
getWarningPeriod
())
.
le
(
"ANALYSIS_TIME"
,
DateUtil
.
offsetMinute
(
idxBizPvWarningRecord
.
getRecDate
(),
1
))
.
orderByDesc
(
"ANALYSIS_TIME"
)
.
orderByDesc
(
"ANALYSIS_TIME"
)
.
last
(
"limit 30"
));
.
last
(
"limit 30"
));
List
<
String
>
xDatas
=
new
ArrayList
<>();
List
<
String
>
xDatas
=
new
ArrayList
<>();
List
<
String
>
yDatas
=
new
ArrayList
<>();
List
<
String
>
yDatas
=
new
ArrayList
<>();
String
startTime
=
""
;
String
startTime
=
""
;
String
endTime
=
""
;
String
endTime
=
""
;
int
idxBizPvHealthIndexListSize
=
idxBizPvHealthIndexList
.
size
();
for
(
int
i
=
idxBizPvHealthIndexList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
for
(
int
i
=
idxBizPvHealthIndexList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
HashMap
<
String
,
String
>
alarmAbnormalityItem
=
new
HashMap
<>();
HashMap
<
String
,
String
>
alarmAbnormalityItem
=
new
HashMap
<>();
IdxBizPvHealthIndex
idxBizPvHealthIndex
=
idxBizPvHealthIndexList
.
get
(
i
);
IdxBizPvHealthIndex
idxBizPvHealthIndex
=
idxBizPvHealthIndexList
.
get
(
i
);
...
@@ -295,11 +252,27 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -295,11 +252,27 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmAbnormalityItem
.
put
(
"time"
,
idxBizPvHealthIndex
.
getANALYSISTIME
());
alarmAbnormalityItem
.
put
(
"time"
,
idxBizPvHealthIndex
.
getANALYSISTIME
());
alarmAbnormalityItem
.
put
(
"abnormal"
,
String
.
valueOf
(
idxBizPvHealthIndex
.
getANOMALY
()));
alarmAbnormalityItem
.
put
(
"abnormal"
,
String
.
valueOf
(
idxBizPvHealthIndex
.
getANOMALY
()));
alarmAbnormalityItem
.
put
(
"healthValue"
,
String
.
valueOf
(
idxBizPvHealthIndex
.
getHealthIndex
()));
alarmAbnormalityItem
.
put
(
"healthValue"
,
String
.
valueOf
(
idxBizPvHealthIndex
.
getHealthIndex
()));
if
(
i
==
0
)
{
if
(
idxBizPvHealthIndexListSize
>=
3
)
{
endTime
=
idxBizPvHealthIndex
.
getANALYSISTIME
();
if
(
i
==
0
)
{
endTime
=
handlerDateStr
(
idxBizPvHealthIndex
.
getANALYSISTIME
(),
-
8
,
5
);
}
if
(
i
==
2
)
{
startTime
=
handlerDateStr
(
idxBizPvHealthIndex
.
getANALYSISTIME
(),
-
8
,
-
5
);
}
}
if
(
idxBizPvHealthIndexListSize
==
2
)
{
if
(
i
==
0
)
{
endTime
=
handlerDateStr
(
idxBizPvHealthIndex
.
getANALYSISTIME
(),
-
8
,
5
);
}
if
(
i
==
1
)
{
startTime
=
handlerDateStr
(
idxBizPvHealthIndex
.
getANALYSISTIME
(),
-
8
,
-
5
);
}
}
}
if
(
i
==
2
)
{
if
(
idxBizPvHealthIndexListSize
==
1
)
{
startTime
=
idxBizPvHealthIndex
.
getANALYSISTIME
();
if
(
i
==
0
)
{
endTime
=
handlerDateStr
(
idxBizPvHealthIndex
.
getANALYSISTIME
(),
-
8
,
5
);
startTime
=
handlerDateStr
(
idxBizPvHealthIndex
.
getANALYSISTIME
(),
-
8
,
-
5
);
}
}
}
alarmAbnormalityList
.
add
(
alarmAbnormalityItem
);
alarmAbnormalityList
.
add
(
alarmAbnormalityItem
);
}
}
...
@@ -307,12 +280,17 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -307,12 +280,17 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
alarmTrendMap
.
put
(
"yDatas"
,
yDatas
);
alarmTrendMap
.
put
(
"yDatas"
,
yDatas
);
result
.
put
(
"alarmTrend"
,
alarmTrendMap
);
result
.
put
(
"alarmTrend"
,
alarmTrendMap
);
// 异常度 alarmAbnormality
// 异常度 alarmAbnormality
result
.
put
(
"alarmAbnormalityList"
,
alarmAbnormalityList
.
subList
(
alarmAbnormalityList
.
size
()
-
3
,
alarmAbnormalityList
.
size
()));
int
alarmAbnormalitySize
=
idxBizPvHealthIndexListSize
>=
3
?
3
:
idxBizPvHealthIndexListSize
;
result
.
put
(
"alarmAbnormalityList"
,
alarmAbnormalityList
.
subList
(
alarmAbnormalityList
.
size
()
-
alarmAbnormalitySize
,
alarmAbnormalityList
.
size
()));
result
.
put
(
"startTime"
,
startTime
);
result
.
put
(
"startTime"
,
startTime
);
result
.
put
(
"endTime"
,
endTime
);
result
.
put
(
"endTime"
,
endTime
);
return
result
;
return
result
;
}
}
//处理风机-相关性区间
/**
* 处理风机中心值区间值为空的情况
* @param idxBizFanPointVarCentralValueList
*/
public
void
handlerIdxBizFanPointVarCentralValue
(
List
<
IdxBizFanPointVarCentralValue
>
idxBizFanPointVarCentralValueList
)
{
public
void
handlerIdxBizFanPointVarCentralValue
(
List
<
IdxBizFanPointVarCentralValue
>
idxBizFanPointVarCentralValueList
)
{
idxBizFanPointVarCentralValueList
.
forEach
(
idxBizFanPointVarCentralValue1
->
{
idxBizFanPointVarCentralValueList
.
forEach
(
idxBizFanPointVarCentralValue1
->
{
if
(
ObjectUtils
.
isEmpty
(
idxBizFanPointVarCentralValue1
.
getProcess1Min
()))
{
if
(
ObjectUtils
.
isEmpty
(
idxBizFanPointVarCentralValue1
.
getProcess1Min
()))
{
...
@@ -335,7 +313,11 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -335,7 +313,11 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
}
}
});
});
}
}
//处理光伏-相关性区间
/**
* 处理光伏中心值区间值为空的情况
* @param idxBizPvPointVarCentralValueList
*/
public
void
handlerIdxBizPvPointVarCentralValue
(
List
<
IdxBizPvPointVarCentralValue
>
idxBizPvPointVarCentralValueList
)
{
public
void
handlerIdxBizPvPointVarCentralValue
(
List
<
IdxBizPvPointVarCentralValue
>
idxBizPvPointVarCentralValueList
)
{
idxBizPvPointVarCentralValueList
.
forEach
(
idxBizPvPointVarCentralValue1
->
{
idxBizPvPointVarCentralValueList
.
forEach
(
idxBizPvPointVarCentralValue1
->
{
if
(
ObjectUtils
.
isEmpty
(
idxBizPvPointVarCentralValue1
.
getProcess1Min
()))
{
if
(
ObjectUtils
.
isEmpty
(
idxBizPvPointVarCentralValue1
.
getProcess1Min
()))
{
...
@@ -359,7 +341,14 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -359,7 +341,14 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
});
});
}
}
//根据工况变量值获取分析变量的中心值、标准值、以及工况组合区间值-风机
/**
* 根据工况变量值获取工况变量训练值、工况组合区间等-风机
* @param processPoint1Value
* @param processPoint2Value
* @param processPoint3Value
* @param idxBizFanPointVarCentralValueList
* @return
*/
public
HashMap
<
String
,
String
>
getWorkingConditionCombinationIntervalFan
(
Double
processPoint1Value
,
Double
processPoint2Value
,
Double
processPoint3Value
,
List
<
IdxBizFanPointVarCentralValue
>
idxBizFanPointVarCentralValueList
)
{
public
HashMap
<
String
,
String
>
getWorkingConditionCombinationIntervalFan
(
Double
processPoint1Value
,
Double
processPoint2Value
,
Double
processPoint3Value
,
List
<
IdxBizFanPointVarCentralValue
>
idxBizFanPointVarCentralValueList
)
{
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
=
idxBizFanPointVarCentralValueList
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
=
idxBizFanPointVarCentralValueList
...
@@ -372,11 +361,19 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -372,11 +361,19 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
result
.
put
(
"analysisCenterValue"
,
String
.
valueOf
(
idxBizFanPointVarCentralValue
.
getAnalysisCenterValue
()));
result
.
put
(
"analysisCenterValue"
,
String
.
valueOf
(
idxBizFanPointVarCentralValue
.
getAnalysisCenterValue
()));
result
.
put
(
"analysisStdDev"
,
String
.
valueOf
(
idxBizFanPointVarCentralValue
.
getAnalysisStdDev
()));
result
.
put
(
"analysisStdDev"
,
String
.
valueOf
(
idxBizFanPointVarCentralValue
.
getAnalysisStdDev
()));
result
.
put
(
"WorkingConditionCombinationInterval"
,
(
idxBizFanPointVarCentralValue
.
getProcess1Min
()
+
":"
+
idxBizFanPointVarCentralValue
.
getProcess1Max
()
+
","
+
idxBizFanPointVarCentralValue
.
getProcess2Min
()
+
":"
+
idxBizFanPointVarCentralValue
.
getPorcess2Max
()
+
","
+
idxBizFanPointVarCentralValue
.
getProcess3Min
()
+
":"
+
idxBizFanPointVarCentralValue
.
getProcess3Max
()
).
result
.
put
(
"WorkingConditionCombinationInterval"
,
(
"[ ["
+
idxBizFanPointVarCentralValue
.
getProcess1Min
()
+
":"
+
idxBizFanPointVarCentralValue
.
getProcess1Max
()
+
"] , ["
+
idxBizFanPointVarCentralValue
.
getProcess2Min
()
+
":"
+
idxBizFanPointVarCentralValue
.
getPorcess2Max
()
+
"] , ["
+
idxBizFanPointVarCentralValue
.
getProcess3Min
()
+
":"
+
idxBizFanPointVarCentralValue
.
getProcess3Max
()+
" ] ]"
).
replace
(
"Infinity"
,
"∞"
));
replace
(
"Infinity"
,
"∞"
));
return
result
;
return
result
;
}
}
//根据工况变量值获取分析变量的中心值、标准值、以及工况组合区间值-光伏
/**
* 根据工况变量值获取工况变量训练值、工况组合区间等-光伏
* @param processPoint1Value
* @param processPoint2Value
* @param processPoint3Value
* @param idxBizPvPointVarCentralValueList
* @return
*/
public
HashMap
<
String
,
String
>
getWorkingConditionCombinationIntervalPv
(
Double
processPoint1Value
,
Double
processPoint2Value
,
Double
processPoint3Value
,
List
<
IdxBizPvPointVarCentralValue
>
idxBizPvPointVarCentralValueList
)
{
public
HashMap
<
String
,
String
>
getWorkingConditionCombinationIntervalPv
(
Double
processPoint1Value
,
Double
processPoint2Value
,
Double
processPoint3Value
,
List
<
IdxBizPvPointVarCentralValue
>
idxBizPvPointVarCentralValueList
)
{
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
=
idxBizPvPointVarCentralValueList
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
=
idxBizPvPointVarCentralValueList
...
@@ -389,11 +386,16 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -389,11 +386,16 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
result
.
put
(
"analysisCenterValue"
,
String
.
valueOf
(
idxBizPvPointVarCentralValue
.
getAnalysisCenterValue
()));
result
.
put
(
"analysisCenterValue"
,
String
.
valueOf
(
idxBizPvPointVarCentralValue
.
getAnalysisCenterValue
()));
result
.
put
(
"analysisStdDev"
,
String
.
valueOf
(
idxBizPvPointVarCentralValue
.
getAnalysisStdDev
()));
result
.
put
(
"analysisStdDev"
,
String
.
valueOf
(
idxBizPvPointVarCentralValue
.
getAnalysisStdDev
()));
result
.
put
(
"WorkingConditionCombinationInterval"
,
(
idxBizPvPointVarCentralValue
.
getProcess1Min
()
+
":"
+
idxBizPvPointVarCentralValue
.
getProcess1Max
()
+
","
+
idxBizPvPointVarCentralValue
.
getProcess2Min
()
+
":"
+
idxBizPvPointVarCentralValue
.
getProcess2Max
()
+
","
+
idxBizPvPointVarCentralValue
.
getProcess3Min
()
+
":"
+
idxBizPvPointVarCentralValue
.
getProcess3Max
()
).
result
.
put
(
"WorkingConditionCombinationInterval"
,
(
"[ ["
+
idxBizPvPointVarCentralValue
.
getProcess1Min
()
+
":"
+
idxBizPvPointVarCentralValue
.
getProcess1Max
()
+
"] , ["
+
idxBizPvPointVarCentralValue
.
getProcess2Min
()
+
":"
+
idxBizPvPointVarCentralValue
.
getProcess2Max
()
+
"] , ["
+
idxBizPvPointVarCentralValue
.
getProcess3Min
()
+
":"
+
idxBizPvPointVarCentralValue
.
getProcess3Max
()+
" ] ]"
).
replace
(
"Infinity"
,
"∞"
));
replace
(
"Infinity"
,
"∞"
));
return
result
;
return
result
;
}
}
//获取sourceInfoMap-风机
/**
* 获取风机的分析变量与工况变量的笛卡尔积
* @param idxBizFanWarningRecord
* @return
*/
public
HashMap
<
String
,
Object
>
getSourceInfoMapFan
(
IdxBizFanWarningRecord
idxBizFanWarningRecord
)
{
public
HashMap
<
String
,
Object
>
getSourceInfoMapFan
(
IdxBizFanWarningRecord
idxBizFanWarningRecord
)
{
List
<
IdxBizFanPointVarCorrelation
>
idxBizFanPointVarCorrelationList
=
idxBizFanPointVarCorrelationMapper
List
<
IdxBizFanPointVarCorrelation
>
idxBizFanPointVarCorrelationList
=
idxBizFanPointVarCorrelationMapper
.
selectList
(
new
QueryWrapper
<
IdxBizFanPointVarCorrelation
>().
eq
(
"EQUIPMENT_NAME"
,
idxBizFanWarningRecord
.
getEquipmentName
()));
.
selectList
(
new
QueryWrapper
<
IdxBizFanPointVarCorrelation
>().
eq
(
"EQUIPMENT_NAME"
,
idxBizFanWarningRecord
.
getEquipmentName
()));
...
@@ -415,7 +417,11 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -415,7 +417,11 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
return
sourceInfoMap
;
return
sourceInfoMap
;
}
}
//获取sourceInfoMap-光伏
/**
* 获取光伏的分析变量与工况变量的笛卡尔积
* @param idxBizPvWarningRecord
* @return
*/
public
HashMap
<
String
,
Object
>
getSourceInfoMapPv
(
IdxBizPvWarningRecord
idxBizPvWarningRecord
)
{
public
HashMap
<
String
,
Object
>
getSourceInfoMapPv
(
IdxBizPvWarningRecord
idxBizPvWarningRecord
)
{
List
<
IdxBizPvPointVarCorrelation
>
idxBizPvPointVarCorrelationList
=
idxBizPvPointVarCorrelationMapper
List
<
IdxBizPvPointVarCorrelation
>
idxBizPvPointVarCorrelationList
=
idxBizPvPointVarCorrelationMapper
.
selectList
(
new
QueryWrapper
<
IdxBizPvPointVarCorrelation
>().
eq
(
"EQUIPMENT_NAME"
,
idxBizPvWarningRecord
.
getEquipmentName
()));
.
selectList
(
new
QueryWrapper
<
IdxBizPvPointVarCorrelation
>().
eq
(
"EQUIPMENT_NAME"
,
idxBizPvWarningRecord
.
getEquipmentName
()));
...
@@ -437,4 +443,163 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
...
@@ -437,4 +443,163 @@ public class AlarmInfoDetailServiceImpl implements IAlarmInfoDetailService {
return
sourceInfoMap
;
return
sourceInfoMap
;
}
}
/**
* 获取风机的分析变量与工况变量的名称
* @param idxBizFanPointVarCentralValue
* @return
*/
public
HashMap
<
String
,
String
>
getHealthPointInfoFan
(
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
)
{
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
result
.
put
(
"analysisPointName"
,
idxBizFanPointVarCentralValue
.
getAnalysisPointName
());
result
.
put
(
"processPoint1Name"
,
idxBizFanPointVarCentralValue
.
getProcessPoint1Name
());
result
.
put
(
"processPoint2Name"
,
idxBizFanPointVarCentralValue
.
getProcessPoint2Name
());
result
.
put
(
"processPoint3Name"
,
idxBizFanPointVarCentralValue
.
getProcessPoint3Name
());
return
result
;
}
/**
* 获取光伏的分析变量与工况变量的名称
* @param idxBizPvPointVarCentralValue
* @return
*/
public
HashMap
<
String
,
String
>
getHealthPointInfoPv
(
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
)
{
HashMap
<
String
,
String
>
result
=
new
HashMap
<>();
result
.
put
(
"analysisPointName"
,
idxBizPvPointVarCentralValue
.
getAnalysisPointIdName
());
result
.
put
(
"processPoint1Name"
,
idxBizPvPointVarCentralValue
.
getProcessPoint1IdName
());
result
.
put
(
"processPoint2Name"
,
idxBizPvPointVarCentralValue
.
getProcessPoint2IdName
());
result
.
put
(
"processPoint3Name"
,
idxBizPvPointVarCentralValue
.
getProcessPoint3IdName
());
return
result
;
}
/**
* 获取风机的当前值与训练值
* @param idxBizFanPointVarCentralValue
* @param startTime
* @param endTime
* @param idxBizFanPointVarCentralValueList
* @return
*/
public
HashMap
<
String
,
Object
>
getCurrentValueAndTrainValueInfoFan
(
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
,
String
startTime
,
String
endTime
,
List
<
IdxBizFanPointVarCentralValue
>
idxBizFanPointVarCentralValueList
)
{
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
List
<
IdxBizFanPointProcessVariableClassification
>
idxBizFanPointProcessVariableClassificationList
=
idxBizFanPointProcessVariableClassificationMapper
.
selectList
(
new
QueryWrapper
<
IdxBizFanPointProcessVariableClassification
>()
.
in
(
"SEQUENCE_NBR"
,
Arrays
.
asList
(
idxBizFanPointVarCentralValue
.
getAnalysisPointId
(),
idxBizFanPointVarCentralValue
.
getProcessPoint1Id
(),
idxBizFanPointVarCentralValue
.
getProcessPoint2Id
(),
idxBizFanPointVarCentralValue
.
getProcessPoint3Id
())));
String
addresss
=
idxBizFanPointProcessVariableClassificationList
.
stream
()
.
map
(
idxBizFanPointProcessVariableClassification
->
"'"
+
idxBizFanPointProcessVariableClassification
.
getIndexAddress
()
+
"'"
)
.
collect
(
Collectors
.
joining
(
","
));
Map
<
String
,
String
>
idAddressMap
=
idxBizFanPointProcessVariableClassificationList
.
stream
()
.
collect
(
Collectors
.
toMap
(
IdxBizFanPointProcessVariableClassification:
:
getSequenceNbr
,
IdxBizFanPointProcessVariableClassification:
:
getIndexAddress
));
//查询固化数据---------------------
List
<
IndicatorData
>
indicatorDataList
=
indicatorDataMapper
.
selectDataByGatewayIdAndAddressForAlarmInfoDetail
(
idxBizFanPointProcessVariableClassificationList
.
get
(
0
).
getGatewayId
(),
addresss
,
startTime
,
endTime
);
Map
<
String
,
Double
>
indicatorDataListMap
=
new
HashMap
<>(
indicatorDataList
.
size
());
TreeSet
<
String
>
timesindicatorDataList
=
new
TreeSet
<>();
indicatorDataList
.
forEach
(
indicatorData
->
{
String
time
=
DateUtil
.
format
(
indicatorData
.
getCreatedTime
(),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
)
+
":00"
;
indicatorDataListMap
.
put
(
time
+
"_"
+
indicatorData
.
getAddress
(),
Double
.
valueOf
(
indicatorData
.
getValueF
()));
timesindicatorDataList
.
add
(
time
);
});
//当前值
List
<
HashMap
<
String
,
String
>>
currentValue
=
new
ArrayList
<>();
//训练值
List
<
HashMap
<
String
,
String
>>
trainValue
=
new
ArrayList
<>();
String
analyseValueAddress
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getAnalysisPointId
());
String
process1Address
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getProcessPoint1Id
());
String
process2Address
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getProcessPoint2Id
());
String
process3Address
=
idAddressMap
.
get
(
idxBizFanPointVarCentralValue
.
getProcessPoint3Id
());
List
<
String
>
timesindicatorDataListSorted
=
timesindicatorDataList
.
stream
().
sorted
(
Comparator
.
reverseOrder
()).
collect
(
Collectors
.
toList
());
timesindicatorDataListSorted
.
forEach
(
s
->
{
HashMap
<
String
,
String
>
currentValueMap
=
new
HashMap
<>();
currentValueMap
.
put
(
"time"
,
s
);
Double
analyseValue
=
indicatorDataListMap
.
get
(
s
+
"_"
+
analyseValueAddress
);
Double
processValue1
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process1Address
);
Double
processValue2
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process2Address
);
Double
processValue3
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process3Address
);
currentValueMap
.
put
(
"analyseValue"
,
String
.
valueOf
(
analyseValue
));
currentValueMap
.
put
(
"processValue1"
,
String
.
valueOf
(
processValue1
));
currentValueMap
.
put
(
"processValue2"
,
String
.
valueOf
(
processValue2
));
currentValueMap
.
put
(
"processValue3"
,
String
.
valueOf
(
processValue3
));
HashMap
<
String
,
String
>
trainValueMap
=
getWorkingConditionCombinationIntervalFan
(
processValue1
,
processValue2
,
processValue3
,
idxBizFanPointVarCentralValueList
);
trainValueMap
.
put
(
"time"
,
s
);
currentValue
.
add
(
currentValueMap
);
trainValue
.
add
(
trainValueMap
);
}
);
result
.
put
(
"currentValue"
,
currentValue
);
result
.
put
(
"trainValue"
,
trainValue
);
return
result
;
}
/**
* 获取光伏的当前值与训练值
* @param idxBizPvPointVarCentralValue
* @param startTime
* @param endTime
* @param idxBizPvPointVarCentralValueList
* @return
*/
public
HashMap
<
String
,
Object
>
getCurrentValueAndTrainValueInfoPv
(
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
,
String
startTime
,
String
endTime
,
List
<
IdxBizPvPointVarCentralValue
>
idxBizPvPointVarCentralValueList
)
{
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
List
<
IdxBizPvPointProcessVariableClassification
>
idxBizPvPointProcessVariableClassificationList
=
idxBizPvPointProcessVariableClassificationMapper
.
selectList
(
new
QueryWrapper
<
IdxBizPvPointProcessVariableClassification
>()
.
in
(
"SEQUENCE_NBR"
,
Arrays
.
asList
(
idxBizPvPointVarCentralValue
.
getAnalysisPointId
(),
idxBizPvPointVarCentralValue
.
getProcessPoint1Id
(),
idxBizPvPointVarCentralValue
.
getProcessPoint2Id
(),
idxBizPvPointVarCentralValue
.
getProcessPoint3Id
())));
String
addresss
=
idxBizPvPointProcessVariableClassificationList
.
stream
()
.
map
(
idxBizFanPointProcessVariableClassification
->
"'"
+
idxBizFanPointProcessVariableClassification
.
getIndexAddress
()
+
"'"
)
.
collect
(
Collectors
.
joining
(
","
));
Map
<
String
,
String
>
idAddressMap
=
idxBizPvPointProcessVariableClassificationList
.
stream
()
.
collect
(
Collectors
.
toMap
(
IdxBizPvPointProcessVariableClassification:
:
getSequenceNbr
,
IdxBizPvPointProcessVariableClassification:
:
getIndexAddress
));
//查询固化数据---------------------
List
<
IndicatorData
>
indicatorDataList
=
indicatorDataMapper
.
selectDataByGatewayIdAndAddressForAlarmInfoDetail
(
idxBizPvPointProcessVariableClassificationList
.
get
(
0
).
getGatewayId
(),
addresss
,
startTime
,
endTime
);
Map
<
String
,
Double
>
indicatorDataListMap
=
new
HashMap
<>(
indicatorDataList
.
size
());
TreeSet
<
String
>
timesindicatorDataList
=
new
TreeSet
<>();
indicatorDataList
.
forEach
(
indicatorData
->
{
String
time
=
DateUtil
.
format
(
indicatorData
.
getCreatedTime
(),
DatePattern
.
NORM_DATETIME_MINUTE_PATTERN
)
+
":00"
;
indicatorDataListMap
.
put
(
time
+
"_"
+
indicatorData
.
getAddress
(),
Double
.
valueOf
(
indicatorData
.
getValueF
()));
timesindicatorDataList
.
add
(
time
);
});
//当前值
List
<
HashMap
<
String
,
String
>>
currentValue
=
new
ArrayList
<>();
//训练值
List
<
HashMap
<
String
,
String
>>
trainValue
=
new
ArrayList
<>();
String
analyseValueAddress
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getAnalysisPointId
());
String
process1Address
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getProcessPoint1Id
());
String
process2Address
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getProcessPoint2Id
());
String
process3Address
=
idAddressMap
.
get
(
idxBizPvPointVarCentralValue
.
getProcessPoint3Id
());
List
<
String
>
timesindicatorDataListSorted
=
timesindicatorDataList
.
stream
().
sorted
(
Comparator
.
reverseOrder
()).
collect
(
Collectors
.
toList
());
timesindicatorDataListSorted
.
forEach
(
s
->
{
HashMap
<
String
,
String
>
currentValueMap
=
new
HashMap
<>();
currentValueMap
.
put
(
"time"
,
s
);
Double
analyseValue
=
indicatorDataListMap
.
get
(
s
+
"_"
+
analyseValueAddress
);
Double
processValue1
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process1Address
);
Double
processValue2
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process2Address
);
Double
processValue3
=
indicatorDataListMap
.
get
(
s
+
"_"
+
process3Address
);
currentValueMap
.
put
(
"analyseValue"
,
String
.
valueOf
(
analyseValue
));
currentValueMap
.
put
(
"processValue1"
,
String
.
valueOf
(
processValue1
));
currentValueMap
.
put
(
"processValue2"
,
String
.
valueOf
(
processValue2
));
currentValueMap
.
put
(
"processValue3"
,
String
.
valueOf
(
processValue3
));
HashMap
<
String
,
String
>
trainValueMap
=
getWorkingConditionCombinationIntervalPv
(
processValue1
,
processValue2
,
processValue3
,
idxBizPvPointVarCentralValueList
);
trainValueMap
.
put
(
"time"
,
s
);
currentValue
.
add
(
currentValueMap
);
trainValue
.
add
(
trainValueMap
);
}
);
result
.
put
(
"currentValue"
,
currentValue
);
result
.
put
(
"trainValue"
,
trainValue
);
return
result
;
}
/**
* 将字符时间进行小时、分钟偏移后返回格式化后的数据-主要用于查询固化值
* @param dateStr
* @param offsetHour
* @param offsetMinutes
* @return
*/
public
String
handlerDateStr
(
String
dateStr
,
Integer
offsetHour
,
Integer
offsetMinutes
)
{
Date
date
=
DateUtil
.
parse
(
dateStr
);
date
=
DateUtil
.
offsetHour
(
date
,
offsetHour
);
date
=
DateUtil
.
offsetMinute
(
date
,
offsetMinutes
);
return
DateUtil
.
format
(
date
,
DatePattern
.
NORM_DATETIME_PATTERN
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment