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
dbcbfadd
Commit
dbcbfadd
authored
Oct 09, 2023
by
tangwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加发电计划完成趋势
parent
efcf7bdf
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
320 additions
and
0 deletions
+320
-0
StationPlanMapper.java
.../amos/boot/module/jxiop/api/mapper/StationPlanMapper.java
+12
-0
LargeScreenImpl.java
...s/boot/module/jxiop/biz/service/impl/LargeScreenImpl.java
+308
-0
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/mapper/StationPlanMapper.java
View file @
dbcbfadd
...
@@ -3,6 +3,10 @@ package com.yeejoin.amos.boot.module.jxiop.api.mapper;
...
@@ -3,6 +3,10 @@ package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonAccount
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonAccount
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.StationPlan
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.StationPlan
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
/**
/**
* @description:
* @description:
...
@@ -12,5 +16,13 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationPlan;
...
@@ -12,5 +16,13 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationPlan;
public
interface
StationPlanMapper
extends
BaseMapper
<
StationPlan
>
{
public
interface
StationPlanMapper
extends
BaseMapper
<
StationPlan
>
{
// //获取当年全国没有 完成计划
// @Select("SELECT monthly ,sum(value) value from station_plan where year= #{year} GROUP BY monthly ")
// List<StationPlan> getStationPlanby(@Param("year") String year);
//
// //获取当年全国没有 完成计划
//
// @Select("SELECT monthly ,sum(value) value from station_plan where year= #{year} GROUP BY monthly ")
// List<StationPlan> getStationPlanbyids(@Param("year") String year);
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-bigscreen-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/LargeScreenImpl.java
View file @
dbcbfadd
...
@@ -504,12 +504,320 @@ public class LargeScreenImpl {
...
@@ -504,12 +504,320 @@ public class LargeScreenImpl {
//全国月发电量趋势
@Scheduled
(
cron
=
"0/10 * * * * ?"
)
public
List
<
Double
>
gettimedateyfd
(
){
SimpleDateFormat
myFmt2
=
new
SimpleDateFormat
(
"yyyy"
);
String
monthy
=
myFmt2
.
format
(
new
Date
());
List
<
Double
>
listdate
=
new
ArrayList
<>();
List
<
String
>
value
=
new
ArrayList
<>();
value
.
add
(
YFD
);
Map
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
map
.
put
(
"equipmentIndexName.keyword"
,
value
);
List
<
String
>
value1
=
new
ArrayList
<>();
value1
.
add
(
monthy
);
map
.
put
(
"year.keyword"
,
value1
);
List
<?
extends
Terms
.
Bucket
>
lidate
=
commonServiceImpl
.
getgroupsum
(
map
,
"value"
,
"day.keyword"
,
ESMoonPowerGeneration
.
class
);
Map
<
String
,
Double
>
mapdta
=
new
HashMap
<>();
DecimalFormat
format2
=
new
DecimalFormat
(
"#.0000"
);
for
(
Terms
.
Bucket
bucket
:
lidate
)
{
Aggregations
aggregation
=
bucket
.
getAggregations
();
List
<
Aggregation
>
listdata
=
Objects
.
nonNull
(
aggregation
)?
aggregation
.
asList
():
null
;
for
(
Aggregation
agg
:
listdata
)
{
ParsedSum
parsedSum
=(
ParsedSum
)
agg
;
mapdta
.
put
(
bucket
.
getKeyAsString
(),
Double
.
valueOf
(
format2
.
format
(
parsedSum
.
getValue
())));
}
}
//组装数据
List
<
String
>
list
=
yueReport
();
for
(
String
s
:
list
)
{
if
(
mapdta
!=
null
&&
mapdta
.
containsKey
(
s
)){
listdate
.
add
(
mapdta
.
get
(
s
));
}
else
{
listdate
.
add
(
0
d
);
}
}
Map
<
String
,
Object
>
mapjn
=
new
HashMap
<>();
mapjn
.
put
(
"seriesData"
,
listdate
);
mapjn
.
put
(
"axisData"
,
list
);
try
{
System
.
out
.
println
(
JSON
.
toJSONString
(
mapjn
));
emqKeeper
.
getMqttClient
().
publish
(
"topic_yfd"
,
JSON
.
toJSONString
(
mapjn
).
getBytes
(),
0
,
false
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
return
listdate
;
}
//区域月发电量趋势
//获取区域月日发电量
@Scheduled
(
cron
=
"0/10 * * * * ?"
)
private
void
sendQYFDLMqttyfd
(){
List
<
StationCacheInfoDto
>
listStationCacheInfoDto
=
commonServiceImpl
.
getListStationCacheInfoDto
();
Map
<
String
,
List
<
StationCacheInfoDto
>>
belongAreaList
=
listStationCacheInfoDto
.
stream
().
collect
(
Collectors
.
groupingBy
(
StationCacheInfoDto:
:
getBelongArea
));
for
(
String
s
:
belongAreaList
.
keySet
())
{
List
<
String
>
ids
=
belongAreaList
.
get
(
s
).
stream
().
map
(
StationCacheInfoDto:
:
getFanGatewayId
).
collect
(
Collectors
.
toList
());
gettimedateqyyfd
(
new
Date
(),
ids
,
s
);
}
}
public
List
<
Double
>
gettimedateqyyfd
(
Date
date
,
List
<
String
>
gatewayId
,
String
areaCode
){
SimpleDateFormat
myFmt2
=
new
SimpleDateFormat
(
"yyyy"
);
String
monthy
=
myFmt2
.
format
(
date
);
List
<
Double
>
listdate
=
new
ArrayList
<>();
List
<
String
>
value
=
new
ArrayList
<>();
value
.
add
(
YFD
);
Map
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
map
.
put
(
"equipmentIndexName.keyword"
,
value
);
map
.
put
(
"gatewayId.keyword"
,
gatewayId
);
List
<
String
>
value1
=
new
ArrayList
<>();
value1
.
add
(
monthy
);
map
.
put
(
"year.keyword"
,
value1
);
List
<?
extends
Terms
.
Bucket
>
lidate
=
commonServiceImpl
.
getgroupsum
(
map
,
"value"
,
"day.keyword"
,
ESMoonPowerGeneration
.
class
);
Map
<
String
,
Double
>
mapdta
=
new
HashMap
<>();
DecimalFormat
format2
=
new
DecimalFormat
(
"#.0000"
);
for
(
Terms
.
Bucket
bucket
:
lidate
)
{
Aggregations
aggregation
=
bucket
.
getAggregations
();
List
<
Aggregation
>
listdata
=
Objects
.
nonNull
(
aggregation
)?
aggregation
.
asList
():
null
;
for
(
Aggregation
agg
:
listdata
)
{
ParsedSum
parsedSum
=(
ParsedSum
)
agg
;
mapdta
.
put
(
bucket
.
getKeyAsString
(),
Double
.
valueOf
(
format2
.
format
(
parsedSum
.
getValue
())));
}
}
//组装数据
List
<
String
>
list
=
yueReport
();
for
(
String
s
:
list
)
{
if
(
mapdta
!=
null
&&
mapdta
.
containsKey
(
s
)){
listdate
.
add
(
mapdta
.
get
(
s
));
}
else
{
listdate
.
add
(
0
d
);
}
}
Map
<
String
,
Object
>
mapjn
=
new
HashMap
<>();
mapjn
.
put
(
"seriesData"
,
listdate
);
mapjn
.
put
(
"axisData"
,
list
);
try
{
System
.
out
.
println
(
JSON
.
toJSONString
(
mapjn
));
emqKeeper
.
getMqttClient
().
publish
(
"qyyfd/fdqs/"
+
areaCode
,
JSON
.
toJSONString
(
mapjn
).
getBytes
(),
0
,
false
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
return
listdate
;
}
//全国发电完成趋势
@Scheduled
(
cron
=
"0/10 * * * * ?"
)
public
List
<
Double
>
gettimedateyfdqs
(
){
SimpleDateFormat
myFmt2
=
new
SimpleDateFormat
(
"yyyy"
);
String
monthy
=
myFmt2
.
format
(
new
Date
());
List
<
Double
>
listdate
=
new
ArrayList
<>();
List
<
String
>
value
=
new
ArrayList
<>();
value
.
add
(
YFD
);
Map
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
map
.
put
(
"equipmentIndexName.keyword"
,
value
);
List
<
String
>
value1
=
new
ArrayList
<>();
value1
.
add
(
monthy
);
map
.
put
(
"year.keyword"
,
value1
);
List
<?
extends
Terms
.
Bucket
>
lidate
=
commonServiceImpl
.
getgroupsum
(
map
,
"value"
,
"day.keyword"
,
ESMoonPowerGeneration
.
class
);
Map
<
String
,
Double
>
mapdta
=
new
HashMap
<>();
DecimalFormat
format2
=
new
DecimalFormat
(
"#.0000"
);
for
(
Terms
.
Bucket
bucket
:
lidate
)
{
Aggregations
aggregation
=
bucket
.
getAggregations
();
List
<
Aggregation
>
listdata
=
Objects
.
nonNull
(
aggregation
)?
aggregation
.
asList
():
null
;
for
(
Aggregation
agg
:
listdata
)
{
ParsedSum
parsedSum
=(
ParsedSum
)
agg
;
mapdta
.
put
(
bucket
.
getKeyAsString
(),
Double
.
valueOf
(
format2
.
format
(
parsedSum
.
getValue
())));
}
}
//计划完成量
Map
<
String
,
Double
>
mapwc
=
new
HashMap
<>();
QueryWrapper
<
StationPlan
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
select
(
" monthly ,sum(value) value "
);
wrapper
.
eq
(
"year"
,
monthy
);
wrapper
.
groupBy
(
"monthly"
);
List
<
Map
<
String
,
Object
>>
list1
=
StationPlanMapper
.
selectMaps
(
wrapper
);
for
(
Map
<
String
,
Object
>
stringObjectMap
:
list1
)
{
mapwc
.
put
(
stringObjectMap
.
get
(
"monthly"
).
toString
(),
Double
.
valueOf
(
stringObjectMap
.
get
(
"value"
).
toString
()));
}
//组装数据
List
<
String
>
list
=
yueReport
();
for
(
String
s
:
list
)
{
if
(
mapdta
!=
null
&&
mapdta
.
containsKey
(
s
)){
if
(
mapwc
!=
null
&&
mapwc
.
containsKey
(
s
)){
listdate
.
add
(
Double
.
valueOf
(
format2
.
format
(
mapdta
.
get
(
s
)/
mapwc
.
get
(
s
)*
100
)));
}
else
{
listdate
.
add
(
0
d
);
}
}
else
{
listdate
.
add
(
0
d
);
}
}
Map
<
String
,
Object
>
mapjn
=
new
HashMap
<>();
mapjn
.
put
(
"seriesData"
,
listdate
);
mapjn
.
put
(
"axisData"
,
list
);
try
{
System
.
out
.
println
(
JSON
.
toJSONString
(
mapjn
));
emqKeeper
.
getMqttClient
().
publish
(
"topic_yfdqs"
,
JSON
.
toJSONString
(
mapjn
).
getBytes
(),
0
,
false
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
return
listdate
;
}
//区域发电完成趋势
@Scheduled
(
cron
=
"0/10 * * * * ?"
)
private
void
sendQYFDLMqttyfdqs
(){
List
<
StationCacheInfoDto
>
listStationCacheInfoDto
=
commonServiceImpl
.
getListStationCacheInfoDto
();
Map
<
String
,
List
<
StationCacheInfoDto
>>
belongAreaList
=
listStationCacheInfoDto
.
stream
().
collect
(
Collectors
.
groupingBy
(
StationCacheInfoDto:
:
getBelongArea
));
for
(
String
s
:
belongAreaList
.
keySet
())
{
List
<
String
>
ids
=
belongAreaList
.
get
(
s
).
stream
().
map
(
StationCacheInfoDto:
:
getFanGatewayId
).
collect
(
Collectors
.
toList
());
List
<
String
>
idsStationId
=
belongAreaList
.
get
(
s
).
stream
().
map
(
StationCacheInfoDto:
:
getStationId
).
collect
(
Collectors
.
toList
());
gettimedateqyyfdqs
(
new
Date
(),
ids
,
s
,
idsStationId
);
}
}
public
List
<
Double
>
gettimedateqyyfdqs
(
Date
date
,
List
<
String
>
gatewayId
,
String
areaCode
,
List
<
String
>
idsStationId
){
SimpleDateFormat
myFmt2
=
new
SimpleDateFormat
(
"yyyy"
);
String
monthy
=
myFmt2
.
format
(
date
);
List
<
Double
>
listdate
=
new
ArrayList
<>();
List
<
String
>
value
=
new
ArrayList
<>();
value
.
add
(
YFD
);
Map
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
map
.
put
(
"equipmentIndexName.keyword"
,
value
);
map
.
put
(
"gatewayId.keyword"
,
gatewayId
);
List
<
String
>
value1
=
new
ArrayList
<>();
value1
.
add
(
monthy
);
map
.
put
(
"year.keyword"
,
value1
);
List
<?
extends
Terms
.
Bucket
>
lidate
=
commonServiceImpl
.
getgroupsum
(
map
,
"value"
,
"day.keyword"
,
ESMoonPowerGeneration
.
class
);
Map
<
String
,
Double
>
mapdta
=
new
HashMap
<>();
DecimalFormat
format2
=
new
DecimalFormat
(
"#.0000"
);
for
(
Terms
.
Bucket
bucket
:
lidate
)
{
Aggregations
aggregation
=
bucket
.
getAggregations
();
List
<
Aggregation
>
listdata
=
Objects
.
nonNull
(
aggregation
)?
aggregation
.
asList
():
null
;
for
(
Aggregation
agg
:
listdata
)
{
ParsedSum
parsedSum
=(
ParsedSum
)
agg
;
mapdta
.
put
(
bucket
.
getKeyAsString
(),
Double
.
valueOf
(
format2
.
format
(
parsedSum
.
getValue
())));
}
}
//计划完成量
Map
<
String
,
Double
>
mapwc
=
new
HashMap
<>();
QueryWrapper
<
StationPlan
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
select
(
" monthly ,sum(value) value "
);
wrapper
.
eq
(
"year"
,
monthy
);
wrapper
.
in
(
"station_basic_id"
,
idsStationId
);
wrapper
.
groupBy
(
"monthly"
);
List
<
Map
<
String
,
Object
>>
list1
=
StationPlanMapper
.
selectMaps
(
wrapper
);
for
(
Map
<
String
,
Object
>
stringObjectMap
:
list1
)
{
mapwc
.
put
(
stringObjectMap
.
get
(
"monthly"
).
toString
(),
Double
.
valueOf
(
stringObjectMap
.
get
(
"value"
).
toString
()));
}
//组装数据
List
<
String
>
list
=
yueReport
();
for
(
String
s
:
list
)
{
if
(
mapdta
!=
null
&&
mapdta
.
containsKey
(
s
)){
if
(
mapwc
!=
null
&&
mapwc
.
containsKey
(
s
)){
listdate
.
add
(
Double
.
valueOf
(
format2
.
format
(
mapdta
.
get
(
s
)/
mapwc
.
get
(
s
)*
100
)));
}
else
{
listdate
.
add
(
0
d
);
}
}
else
{
listdate
.
add
(
0
d
);
}
}
Map
<
String
,
Object
>
mapjn
=
new
HashMap
<>();
mapjn
.
put
(
"seriesData"
,
listdate
);
mapjn
.
put
(
"axisData"
,
list
);
try
{
System
.
out
.
println
(
JSON
.
toJSONString
(
mapjn
));
emqKeeper
.
getMqttClient
().
publish
(
"qyyfdqs/fdqs/"
+
areaCode
,
JSON
.
toJSONString
(
mapjn
).
getBytes
(),
0
,
false
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
return
listdate
;
}
public
List
<
String
>
yueReport
()
{
List
<
String
>
list
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<
13
;
i
++
)
{
list
.
add
(
String
.
valueOf
(
i
));
}
return
list
;
}
public
List
<
String
>
dayReport
(
Date
month
)
{
public
List
<
String
>
dayReport
(
Date
month
)
{
List
<
String
>
list
=
new
ArrayList
<>();
List
<
String
>
list
=
new
ArrayList
<>();
...
...
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