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
b6147d66
Commit
b6147d66
authored
Oct 13, 2023
by
zhangsen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
计算问题处理,代码提交
parent
048ede6f
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
65 additions
and
52 deletions
+65
-52
BigScreenAnalyseController.java
...dule/jxiop/biz/controller/BigScreenAnalyseController.java
+10
-7
KafkaAnalyseController.java
...t/module/jxiop/biz/controller/KafkaAnalyseController.java
+2
-0
KafkaConsumerService.java
...mos/boot/module/jxiop/biz/kafka/KafkaConsumerService.java
+24
-24
CommonServiceImpl.java
...boot/module/jxiop/biz/service/impl/CommonServiceImpl.java
+1
-1
IdxBizFanHealthIndexMapper.xml
...n/resources/mapper/cluster/IdxBizFanHealthIndexMapper.xml
+25
-17
MonitorFanIdxController.java
.../module/jxiop/biz/controller/MonitorFanIdxController.java
+2
-2
MonitorFanIndicatorImpl.java
...odule/jxiop/biz/service/impl/MonitorFanIndicatorImpl.java
+1
-1
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/BigScreenAnalyseController.java
View file @
b6147d66
...
...
@@ -258,14 +258,17 @@ public class BigScreenAnalyseController extends BaseController {
public
ResponseModel
<
Map
<
String
,
Object
>>
getHealthInfoByArea
(
@RequestParam
(
required
=
false
)
String
areaCode
)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
healthListInfo
=
idxBizFanHealthIndexMapper
.
getHealthInfoByStation
(
areaCode
);
Map
<
String
,
BigDecimal
>
collect
=
healthListInfo
.
stream
().
collect
(
Collectors
.
toMap
(
t
->
t
.
get
(
"station"
).
toString
(),
t
->
new
BigDecimal
(
t
.
get
(
"healthIndex"
).
toString
())));
List
<
StationBasic
>
stationBasics
=
stationBasicMapper
.
selectList
(
new
LambdaQueryWrapper
<
StationBasic
>().
like
(
StationBasic:
:
getAreaName
,
areaCode
));
List
<
String
>
list
=
stationBasics
.
stream
().
map
(
StationBasic:
:
getStationName
).
collect
(
Collectors
.
toList
()
);
//
Map<String, BigDecimal> collect = healthListInfo.stream().collect(Collectors.toMap(t -> t.get("station").toString(), t -> new BigDecimal(t.get("healthIndex").toString())));
// List<StationBasic> stationBasics = stationBasicMapper.selectList(new LambdaQueryWrapper<StationBasic>().like(StationBasic::getAreaName, areaCode));
// List<String> list = stationBasics.stream().map(StationBasic::getStationName).collect(Collectors.toList());
// List<Object> seriesData = new ArrayList<>();
// list.forEach(item -> seriesData.add(collect.getOrDefault(item, new BigDecimal("100"))
));
List
<
String
>
list
=
new
ArrayList
<>(
);
List
<
Object
>
seriesData
=
new
ArrayList
<>();
list
.
forEach
(
item
->
seriesData
.
add
(
collect
.
getOrDefault
(
item
,
new
BigDecimal
(
"100"
))));
healthListInfo
.
forEach
(
item
->
{
list
.
add
(
item
.
get
(
"station"
).
toString
());
seriesData
.
add
(
new
BigDecimal
(
item
.
get
(
"healthIndex"
).
toString
()));
});
resultMap
.
put
(
"axisData"
,
list
);
resultMap
.
put
(
"seriesData"
,
seriesData
);
return
ResponseHelper
.
buildResponse
(
resultMap
);
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/KafkaAnalyseController.java
View file @
b6147d66
...
...
@@ -88,6 +88,8 @@ public class KafkaAnalyseController {
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"中心值 - 风电 - 新"
,
notes
=
"中心值 - 风电 - 新"
)
public
ResponseModel
<
Object
>
getFanConditionVariablesZXZ
()
{
if
(
redisUtils
.
hasKey
(
kafkaTopicConsumerZXZFan
))
{
// redisUtils.del(kafkaTopicConsumerZXZFan);
// redisUtils.getExpire(kafkaTopicConsumerZXZFan);
return
ResponseHelper
.
buildResponse
(
"计算中"
);
}
fanConditionVariablesMessage
.
getFanConditionVariablesZXZ
();
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/kafka/KafkaConsumerService.java
View file @
b6147d66
...
...
@@ -157,11 +157,7 @@ public class KafkaConsumerService {
minRow
=
minRow
>
values
.
size
()
?
values
.
size
()
:
minRow
;
}
values
.
setName
(
"processVariable"
+
index
);
if
(!
dataTable
.
isEmpty
()
&&
dataTable
.
rowCount
()
<
values
.
size
())
{
dataTable
.
addColumns
(
values
.
inRange
(
0
,
dataTable
.
rowCount
()));
}
else
{
dataTable
.
addColumns
(
values
);
}
dataTable
=
getDataTable
(
dataTable
,
values
);
data1
.
put
(
"processVariable"
+
index
+
"Id"
,
processVariable
.
getSequenceNbr
());
...
...
@@ -171,6 +167,7 @@ public class KafkaConsumerService {
IntervalValues
.
add
(
processVariable
.
getIntervalValue2
());
IntervalValues
.
add
(
processVariable
.
getIntervalValue3
());
IntervalValues
.
add
(
processVariable
.
getIntervalValue4
());
IntervalValues
.
add
(
processVariable
.
getIntervalValue5
());
data2
.
put
(
"processVariable"
+
index
,
IntervalValues
);
index
++;
...
...
@@ -178,15 +175,11 @@ public class KafkaConsumerService {
Selection
selection
=
table
.
stringColumn
(
"id"
).
isEqualTo
(
analysisVariable
.
getIndexAddress
()
+
"_"
+
analysisVariable
.
getGatewayId
());
DoubleColumn
values
=
table
.
where
(
selection
).
doubleColumn
(
"value"
);
values
.
setName
(
"analysisVariable"
);
if
(!
dataTable
.
isEmpty
()
&&
dataTable
.
rowCount
()
<
values
.
size
())
{
dataTable
.
addColumns
(
values
.
inRange
(
0
,
dataTable
.
rowCount
()));
}
else
{
dataTable
.
addColumns
(
values
);
}
dataTable
=
getDataTable
(
dataTable
,
values
);
data1
.
put
(
"analysisVariableId"
,
analysisVariable
.
getSequenceNbr
());
// 获取相同长度的数据
dataTable
=
dataTable
.
inRange
(
0
,
minRow
);
//
dataTable = dataTable.inRange(0, minRow);
List
<
String
>
list
=
dataTable
.
columnNames
();
for
(
String
column
:
list
)
{
data1
.
put
(
column
,
dataTable
.
doubleColumn
(
column
).
asDoubleArray
());
...
...
@@ -201,7 +194,7 @@ public class KafkaConsumerService {
idxBizFanPointVarCentralValueMapper
.
delete
(
new
QueryWrapper
<
IdxBizFanPointVarCentralValue
>().
eq
(
"ANALYSIS_POINT_ID"
,
analysisVariableId
));
JSONObject
jsonObject
=
JSON
.
parseObject
(
response
);
int
length
=
jsonObject
.
getJSONArray
(
"stdDev"
).
size
();
int
length
=
jsonObject
.
getJSONArray
(
"stdDev"
).
size
()
>
64
?
64
:
jsonObject
.
getJSONArray
(
"stdDev"
).
size
()
;
List
<
IdxBizFanPointVarCentralValue
>
insertList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
IdxBizFanPointVarCentralValue
idxBizFanPointVarCentralValue
=
new
IdxBizFanPointVarCentralValue
();
...
...
@@ -236,6 +229,19 @@ public class KafkaConsumerService {
}
}
private
Table
getDataTable
(
Table
dataTable
,
DoubleColumn
values
)
{
if
(!
dataTable
.
isEmpty
()
&&
dataTable
.
rowCount
()
<
values
.
size
())
{
dataTable
.
addColumns
(
values
.
inRange
(
0
,
dataTable
.
rowCount
()));
}
else
if
(!
dataTable
.
isEmpty
()
&&
dataTable
.
rowCount
()
>
values
.
size
()){
dataTable
=
dataTable
.
inRange
(
0
,
values
.
size
());
dataTable
.
addColumns
(
values
);
}
else
{
dataTable
.
addColumns
(
values
);
}
return
dataTable
;
}
private
void
execPvCorrelation
(
List
<
ConsumerRecord
<
String
,
String
>>
consumerRecords
,
Table
table
)
{
consumerRecords
.
parallelStream
().
forEach
(
record
->
{
Optional
<?>
kafkaMessage
=
Optional
.
ofNullable
(
record
.
value
());
...
...
@@ -788,11 +794,7 @@ public class KafkaConsumerService {
minRow
=
minRow
>
values
.
size
()
?
values
.
size
()
:
minRow
;
}
values
.
setName
(
"processVariable"
+
index
);
if
(!
dataTable
.
isEmpty
()
&&
dataTable
.
rowCount
()
<
values
.
size
())
{
dataTable
.
addColumns
(
values
.
inRange
(
0
,
dataTable
.
rowCount
()));
}
else
{
dataTable
.
addColumns
(
values
);
}
dataTable
=
getDataTable
(
dataTable
,
values
);
data1
.
put
(
"processVariable"
+
index
+
"Id"
,
processVariable
.
getSequenceNbr
());
// 构建工况区间数组
...
...
@@ -801,6 +803,7 @@ public class KafkaConsumerService {
IntervalValues
.
add
(
processVariable
.
getIntervalValue2
());
IntervalValues
.
add
(
processVariable
.
getIntervalValue3
());
IntervalValues
.
add
(
processVariable
.
getIntervalValue4
());
IntervalValues
.
add
(
processVariable
.
getIntervalValue5
());
data2
.
put
(
"processVariable"
+
index
,
IntervalValues
);
index
++;
...
...
@@ -808,15 +811,12 @@ public class KafkaConsumerService {
Selection
selection
=
table
.
stringColumn
(
"id"
).
isEqualTo
(
analysisVariable
.
getIndexAddress
()
+
"_"
+
analysisVariable
.
getGatewayId
());
DoubleColumn
values
=
table
.
where
(
selection
).
doubleColumn
(
"value"
);
values
.
setName
(
"analysisVariable"
);
if
(!
dataTable
.
isEmpty
()
&&
dataTable
.
rowCount
()
<
values
.
size
())
{
dataTable
.
addColumns
(
values
.
inRange
(
0
,
dataTable
.
rowCount
()));
}
else
{
dataTable
.
addColumns
(
values
);
}
dataTable
=
getDataTable
(
dataTable
,
values
);
data1
.
put
(
"analysisVariableId"
,
analysisVariable
.
getSequenceNbr
());
// 获取相同长度的数据
dataTable
=
dataTable
.
inRange
(
0
,
minRow
);
//
dataTable = dataTable.inRange(0, minRow);
List
<
String
>
list
=
dataTable
.
columnNames
();
for
(
String
column
:
list
)
{
data1
.
put
(
column
,
dataTable
.
doubleColumn
(
column
).
asDoubleArray
());
...
...
@@ -831,7 +831,7 @@ public class KafkaConsumerService {
idxBizPvPointVarCentralValueMapper
.
delete
(
new
QueryWrapper
<
IdxBizPvPointVarCentralValue
>().
eq
(
"ANALYSIS_POINT_ID"
,
analysisVariable
.
getSequenceNbr
()));
JSONObject
jsonObject
=
JSON
.
parseObject
(
response
);
int
length
=
jsonObject
.
getJSONArray
(
"stdDev"
).
size
();
int
length
=
jsonObject
.
getJSONArray
(
"stdDev"
).
size
()
>
64
?
64
:
jsonObject
.
getJSONArray
(
"stdDev"
).
size
()
;
List
<
IdxBizPvPointVarCentralValue
>
insertList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
IdxBizPvPointVarCentralValue
idxBizPvPointVarCentralValue
=
new
IdxBizPvPointVarCentralValue
();
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/CommonServiceImpl.java
View file @
b6147d66
...
...
@@ -1454,7 +1454,7 @@ public class CommonServiceImpl {
}
@Scheduled
(
cron
=
"0
0/5
* * * ?"
)
@Scheduled
(
cron
=
"0
/5 *
* * * ?"
)
public
void
healthWarningMinuteByFan
()
{
Date
time
=
new
Date
();
List
<
IdxBizFanPointProcessVariableClassificationDto
>
data
=
idxBizFanPointProcessVariableClassificationMapper
.
getInfluxDBData
();
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/resources/mapper/cluster/IdxBizFanHealthIndexMapper.xml
View file @
b6147d66
...
...
@@ -11,18 +11,22 @@
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_TYPE = '按天'
AN
D
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<where>
AN
ALYSIS_TYPE = '按天'
AND
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if
test=
"stationCode != null and stationCode != ''"
>
AND STATION = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if
test=
"stationCode == null or stationCode == ''"
>
AND ( STATION IS NULL OR STATION = '' )
<if
test=
"(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')"
>
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
UNION ALL
(
...
...
@@ -35,12 +39,14 @@
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if
test=
"stationCode != null and stationCode != ''"
>
AND STATION = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if
test=
"
stationCode == null or stationCode == ''
"
>
AND
( STATION IS NULL OR STATION = '' )
<if
test=
"
(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')
"
>
AND
ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
)
...
...
@@ -72,12 +78,14 @@
ANALYSIS_TYPE = '按天'
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if
test=
"stationCode != null and stationCode != ''"
>
AND STATION = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if
test=
"
stationCode == null or stationCode == ''
"
>
AND
( STATION IS NULL OR STATION = '' )
<if
test=
"
(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')
"
>
AND
ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
UNION ALL
...
...
@@ -91,12 +99,14 @@
ANALYSIS_TYPE = '按天'
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if
test=
"stationCode != null and stationCode != ''"
>
AND STATION = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if
test=
"
stationCode == null or stationCode == ''
"
>
AND
( STATION IS NULL OR STATION = '' )
<if
test=
"
(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')
"
>
AND
ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
)
...
...
@@ -128,7 +138,7 @@
FROM
idx_biz_fan_health_index
WHERE
( STATION IS NULL OR STATION = '' )
ANALYSIS_OBJ_TYPE = '片区'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
...
...
@@ -140,7 +150,7 @@
FROM
idx_biz_pv_health_index
WHERE
( STATION IS NULL OR STATION = '' )
ANALYSIS_OBJ_TYPE = '片区'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
...
...
@@ -185,8 +195,7 @@
FROM
idx_biz_fan_health_index
<where>
STATION IS NOT NULL
AND STATION != ''
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if
test=
"areaCode != null and areaCode != ''"
>
...
...
@@ -202,8 +211,7 @@
FROM
idx_biz_pv_health_index
<where>
STATION IS NOT NULL
AND STATION != ''
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if
test=
"areaCode != null and areaCode != ''"
>
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/MonitorFanIdxController.java
View file @
b6147d66
...
...
@@ -491,9 +491,9 @@ public class MonitorFanIdxController extends BaseController {
public
ResponseModel
getMajorAnalogQuantityByPage
(
@RequestParam
(
required
=
false
)
String
stationId
)
{
StationBasic
stationBasic
=
stationBasicMapper
.
selectById
(
stationId
);
String
gatewayId
=
stationBasic
.
getBoosterGatewayId
();
if
(
"夏造风电站"
.
equals
(
stationBasic
.
getStationName
()
))
{
if
(
stationBasic
.
getStationName
().
contains
(
"夏造"
))
{
monitorFanIndicator
.
getMajorAnalogQuantityByPage
(
gatewayId
,
stationBasic
.
getSequenceNbr
().
toString
());
}
else
if
(
"泰和前进光伏站"
.
equals
(
stationBasic
.
getStationName
()
))
{
}
else
if
(
stationBasic
.
getStationName
().
contains
(
"泰和"
))
{
monitorFanIndicator
.
getMajorAnalogQuantityByPageByTHGF
(
gatewayId
,
stationBasic
.
getSequenceNbr
().
toString
());
}
return
CommonResponseUtil
.
success
();
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/MonitorFanIndicatorImpl.java
View file @
b6147d66
...
...
@@ -1013,7 +1013,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
public
List
<
Map
<
String
,
String
>>
getBoosterStationInfo
(
String
stationId
)
{
StationBasic
stationBasic
=
getOneByStationNumber
(
stationId
);
List
<
Map
<
String
,
String
>>
boosterStationInfo
=
new
ArrayList
<>();
if
(
"夏造风电站"
.
equals
(
stationBasic
.
getStationName
()
))
{
if
(
stationBasic
.
getStationName
().
contains
(
"夏造风电站"
))
{
boosterStationInfo
=
monitorFanIndicatorregionMapper
.
getBoosterStationInfo2
(
stationBasic
.
getBoosterGatewayId
());
}
else
{
boosterStationInfo
=
monitorFanIndicatorregionMapper
.
getBoosterStationInfoNormal
(
stationBasic
.
getBoosterGatewayId
());
...
...
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