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
bab1ed88
Commit
bab1ed88
authored
Jul 18, 2023
by
caotao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
监盘获取全国场站分类信息、获取区域长场站信息接口编写
parent
375ea4d5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
162 additions
and
15 deletions
+162
-15
MonitoringMapController.java
.../module/jxiop/biz/controller/MonitoringMapController.java
+22
-0
CommonServiceImpl.java
...boot/module/jxiop/biz/service/impl/CommonServiceImpl.java
+45
-2
MonitoringServiceImpl.java
.../module/jxiop/biz/service/impl/MonitoringServiceImpl.java
+95
-13
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/MonitoringMapController.java
View file @
bab1ed88
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.Region
;
...
...
@@ -80,4 +81,25 @@ public class MonitoringMapController extends BaseController {
public
ResponseModel
<
List
<
Map
<
String
,
String
>>>
getStaionCategoryInfo
(
@RequestParam
(
required
=
false
)
String
areaName
)
{
return
ResponseHelper
.
buildResponse
(
monitoringServiceImpl
.
getStaionCategoryInfo
(
areaName
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"监盘首页-装机容量"
)
@GetMapping
(
"/getInstallCapityByAreaName"
)
public
ResponseModel
<
String
>
getInstallCapityByAreaName
(
@RequestParam
(
required
=
false
)
String
areaName
)
{
return
ResponseHelper
.
buildResponse
(
monitoringServiceImpl
.
getInstallCapityByAreaName
(
areaName
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"监盘首页-有功功率"
)
@GetMapping
(
"/getActivePowerByAreaName"
)
public
ResponseModel
<
String
>
getActivePowerByAreaName
(
@RequestParam
(
required
=
false
)
String
areaName
)
{
return
ResponseHelper
.
buildResponse
(
monitoringServiceImpl
.
getActivePowerByAreaName
(
areaName
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"监盘首页-社会贡献"
)
@GetMapping
(
"/getSocialContributionDtoList"
)
public
ResponseModel
<
Page
<
SocialContributionDto
>>
getSocialContributionDtoList
(
@RequestParam
(
required
=
false
)
String
areaName
,
@RequestParam
(
required
=
false
)
String
station
)
{
return
ResponseHelper
.
buildResponse
(
monitoringServiceImpl
.
getSocialContributionDtoList
(
areaName
,
station
));
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/CommonServiceImpl.java
View file @
bab1ed88
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.IndicatorsDto
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.SocialContributionDto
;
import
com.yeejoin.amos.boot.module.jxiop.biz.mapper2.SjglZsjZsbtzMapper
;
import
com.yeejoin.amos.boot.module.jxiop.biz.utils.InfluxDButils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -30,7 +36,7 @@ public class CommonServiceImpl {
List
<
IndicatorsDto
>
indicatorsDtoList
=
influxDButils
.
getListData
(
sql
,
IndicatorsDto
.
class
);
List
<
Double
>
doubleList
=
indicatorsDtoList
.
stream
().
map
(
indicatorsDto
->
Double
.
parseDouble
(
indicatorsDto
.
getValue
())).
collect
(
Collectors
.
toList
());
totalvalue
=
doubleList
.
stream
().
mapToDouble
(
Double:
:
doubleValue
).
sum
();
return
totalvalue
;
return
Double
.
valueOf
(
String
.
format
(
".2f%"
,
totalvalue
))
;
}
/**
* @deprecated 获取指标值平均值
...
...
@@ -44,10 +50,47 @@ public class CommonServiceImpl {
List
<
IndicatorsDto
>
indicatorsDtoList
=
influxDButils
.
getListData
(
sql
,
IndicatorsDto
.
class
);
List
<
Double
>
doubleList
=
indicatorsDtoList
.
stream
().
map
(
indicatorsDto
->
Double
.
parseDouble
(
indicatorsDto
.
getValue
())).
collect
(
Collectors
.
toList
());
avageValue
=
doubleList
.
stream
().
mapToDouble
(
Double:
:
doubleValue
).
average
().
getAsDouble
();
return
avageValue
;
return
Double
.
valueOf
(
String
.
format
(
".2f%"
,
avageValue
))
;
}
public
Double
getStationCapactityByStationWerks
(
String
WERKS
){
return
sjglZsjZsbtzMapper
.
getStationCapactityByStationWerks
(
WERKS
);
}
public
Page
<
SocialContributionDto
>
getSocialContributionDtoList
(
Double
totalSocialContribution
){
Page
<
SocialContributionDto
>
socialContributionDtoPage
=
new
Page
<
SocialContributionDto
>();
List
<
SocialContributionDto
>
socialContributionDtoList
=
new
ArrayList
<>();
//获取所有网关id不为空的数据
//二氧化碳贡献数
SocialContributionDto
co2
=
new
SocialContributionDto
();
//标准煤贡献度
SocialContributionDto
coal
=
new
SocialContributionDto
();
//碳粉尘计算公式
SocialContributionDto
toner
=
new
SocialContributionDto
();
//二氧化硫贡献度
SocialContributionDto
so2
=
new
SocialContributionDto
();
/** 社会贡献原始计算公式,后边的数据已经经过处理
//二氧化碳计算公式 *10000*832/10000/1000/1000
//标准煤计算公式 *10000*304.9/10000/1000/1000
//碳粉尘计算公式 *10000*0.032/1000/1000
//二氧化硫计算公式 =A2*10000*0.16/1000/1000
*/
co2
.
setUnit
(
"二氧化碳减排量(万t)"
);
co2
.
setTitle
(
totalSocialContribution
*
0.000832
);
socialContributionDtoList
.
add
(
co2
);
coal
.
setUnit
(
"节约标准煤(万t)"
);
coal
.
setTitle
(
totalSocialContribution
*
0.0003049
);
socialContributionDtoList
.
add
(
coal
);
toner
.
setUnit
(
"碳粉尘减排量(万t)"
);
toner
.
setTitle
(
totalSocialContribution
*
0.00032
);
socialContributionDtoList
.
add
(
toner
);
so2
.
setUnit
(
"二氧化硫减排量(万t)"
);
so2
.
setTitle
(
totalSocialContribution
*
0.0016
);
socialContributionDtoList
.
add
(
so2
);
socialContributionDtoPage
.
setRecords
(
socialContributionDtoList
);
socialContributionDtoPage
.
setTotal
(
100
);
socialContributionDtoPage
.
setCurrent
(
1
);
return
socialContributionDtoPage
;
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/MonitoringServiceImpl.java
View file @
bab1ed88
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.MapRegion
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.Region
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic
;
...
...
@@ -10,14 +11,12 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.RegionMapper;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper
;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.StationCoordinateMapper
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.*
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
javax.naming.Name
;
import
java.net.URLDecoder
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
@@ -161,7 +160,7 @@ public class MonitoringServiceImpl {
List
<
CompletionOfPowerIndicatorsDto
>
completionOfPowerIndicatorsDtoList
=
new
ArrayList
<>();
ColModel
colModelStatitonName
=
new
ColModel
(
"stationName"
,
"stationName"
,
"场站"
,
"场站"
,
"dataGrid"
,
"stationName"
);
ColModel
colModelInstallCapactity
=
new
ColModel
(
"installCapactity"
,
"installCapactity"
,
"装机容量"
,
"装机容量"
,
"dataGrid"
,
"installCapactity"
);
ColModel
colModelWindSpeedOrIrradiance
=
new
ColModel
(
"windSpeedOrIrradiance"
,
"windSpeedOrIrradiance"
,
"风
度/辐照度"
,
"风度
/辐照度"
,
"dataGrid"
,
"windSpeedOrIrradiance"
);
ColModel
colModelWindSpeedOrIrradiance
=
new
ColModel
(
"windSpeedOrIrradiance"
,
"windSpeedOrIrradiance"
,
"风
速/辐照度"
,
"风速
/辐照度"
,
"dataGrid"
,
"windSpeedOrIrradiance"
);
ColModel
colModelActivePower
=
new
ColModel
(
"activePower"
,
"activePower"
,
"有功"
,
"有功"
,
"dataGrid"
,
"activePower"
);
ColModel
colModelDailyPower
=
new
ColModel
(
"dailyPower"
,
"dailyPower"
,
"日发电量"
,
"日发电量"
,
"dataGrid"
,
"dailyPower"
);
ColModel
colModelMonthlyPower
=
new
ColModel
(
"monthlyPower"
,
"monthlyPower"
,
"月发电量"
,
"月发电量"
,
"dataGrid"
,
"monthlyPower"
);
...
...
@@ -353,10 +352,11 @@ public class MonitoringServiceImpl {
});
return
String
.
format
(
"%.2f"
,
total
.
get
());
}
public
List
<
Map
<
String
,
String
>>
getStaionCategoryInfo
(
String
areaName
){
public
List
<
Map
<
String
,
String
>>
getStaionCategoryInfo
(
String
areaName
)
{
List
<
StationBasic
>
stationBasicListAll
=
new
ArrayList
<>();
List
<
Map
<
String
,
String
>>
result
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
areaName
))
{
List
<
Map
<
String
,
String
>>
result
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
areaName
))
{
//根据areaName获取area信息
MapRegion
mapRegion
=
mapRegionMapper
.
selectOne
(
new
QueryWrapper
<
MapRegion
>().
eq
(
"name"
,
areaName
));
//获取片区下的省份名称
...
...
@@ -367,16 +367,98 @@ public class MonitoringServiceImpl {
List
<
StationBasic
>
stationBasicList
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
like
(
"belong_area"
,
region
.
getRegionCode
()));
stationBasicListAll
.
addAll
(
stationBasicList
);
}
}
else
{
stationBasicListAll
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
isNotNull
(
"name"
));
}
else
{
stationBasicListAll
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
isNotNull
(
"
station_
name"
));
}
Map
<
String
,
List
<
StationBasic
>>
listMap
=
stationBasicListAll
.
stream
().
collect
(
Collectors
.
groupingBy
(
stationBasic
->
stationBasic
.
getStationTypeName
()));
listMap
.
keySet
().
forEach
(
key
->
{
Map
<
String
,
String
>
stringStringMap
=
new
HashMap
<>();
stringStringMap
.
put
(
"name"
,
key
);
Map
<
String
,
List
<
StationBasic
>>
listMap
=
stationBasicListAll
.
stream
().
collect
(
Collectors
.
groupingBy
(
stationBasic
->
stationBasic
.
getStationTypeName
()));
listMap
.
keySet
().
forEach
(
key
->
{
Map
<
String
,
String
>
stringStringMap
=
new
HashMap
<>();
stringStringMap
.
put
(
"name"
,
key
);
stringStringMap
.
put
(
"value"
,
String
.
valueOf
(
listMap
.
get
(
key
).
size
()));
result
.
add
(
stringStringMap
);
});
return
result
;
}
}
//获取装机容量
public
String
getInstallCapityByAreaName
(
String
areaName
)
{
AtomicReference
<
Double
>
total
=
new
AtomicReference
<>(
0.0
);
List
<
StationBasic
>
stationBasicListAll
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
areaName
))
{
//根据areaName获取area信息
MapRegion
mapRegion
=
mapRegionMapper
.
selectOne
(
new
QueryWrapper
<
MapRegion
>().
eq
(
"name"
,
areaName
));
//获取片区下的省份名称
ArrayList
<
String
>
stringArrayList
=
mapRegion
.
getProvince
();
//变量获取所有的场站信息
for
(
int
i
=
0
;
i
<
stringArrayList
.
size
();
i
++)
{
Region
region
=
regionMapper
.
selectOne
(
new
QueryWrapper
<
Region
>().
eq
(
"LEVEL"
,
1
).
like
(
"REGION_NAME"
,
stringArrayList
.
get
(
i
)));
List
<
StationBasic
>
stationBasicList
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
like
(
"belong_area"
,
region
.
getRegionCode
()));
stationBasicListAll
.
addAll
(
stationBasicList
);
}
}
else
{
stationBasicListAll
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
isNotNull
(
"station_name"
));
}
stationBasicListAll
.
forEach
(
stationBasic
->
{
total
.
updateAndGet
(
v
->
v
+
getStationCaPACITYL
(
stationBasic
.
getStationNumber
()));
});
return
String
.
format
(
"%.2f"
,
total
.
get
());
}
//获取有功功率
public
String
getActivePowerByAreaName
(
String
areaName
)
{
AtomicReference
<
Double
>
total
=
new
AtomicReference
<>(
0.0
);
List
<
StationBasic
>
stationBasicListAll
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
areaName
))
{
//根据areaName获取area信息
MapRegion
mapRegion
=
mapRegionMapper
.
selectOne
(
new
QueryWrapper
<
MapRegion
>().
eq
(
"name"
,
areaName
));
//获取片区下的省份名称
ArrayList
<
String
>
stringArrayList
=
mapRegion
.
getProvince
();
//变量获取所有的场站信息
for
(
int
i
=
0
;
i
<
stringArrayList
.
size
();
i
++)
{
Region
region
=
regionMapper
.
selectOne
(
new
QueryWrapper
<
Region
>().
eq
(
"LEVEL"
,
1
).
like
(
"REGION_NAME"
,
stringArrayList
.
get
(
i
)));
List
<
StationBasic
>
stationBasicList
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
like
(
"belong_area"
,
region
.
getRegionCode
()));
stationBasicListAll
.
addAll
(
stationBasicList
);
}
}
else
{
stationBasicListAll
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
isNotNull
(
"station_name"
));
}
stationBasicListAll
.
forEach
(
stationBasic
->
{
total
.
updateAndGet
(
v
->
v
+
commonServiceImpl
.
getTotalByIndicatior
(
stationBasic
.
getFanGatewayId
(),
"有功功率"
));
});
return
String
.
format
(
"%.2f"
,
total
.
get
());
}
//获取社会贡献
/**
*
* @param areaName 片区名称
* @param stationId 场站id
* @return 社会贡献列表
* @deprecated 如果areaName 与 stationID 都不传 则查全国、如果areaName传了 staionID没有传则查片区 如果 areaName 与stationId都传 则取场站id
*/
public
Page
<
SocialContributionDto
>
getSocialContributionDtoList
(
String
areaName
,
String
stationId
)
{
AtomicReference
<
Double
>
total
=
new
AtomicReference
<>(
0.0
);
List
<
StationBasic
>
stationBasicListAll
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
stationId
))
{
stationBasicListAll
.
add
(
stationBasicMapper
.
selectById
(
stationId
));
}
else
if
(!
ObjectUtils
.
isEmpty
(
areaName
))
{
//根据areaName获取area信息
MapRegion
mapRegion
=
mapRegionMapper
.
selectOne
(
new
QueryWrapper
<
MapRegion
>().
eq
(
"name"
,
areaName
));
//获取片区下的省份名称
ArrayList
<
String
>
stringArrayList
=
mapRegion
.
getProvince
();
//变量获取所有的场站信息
for
(
int
i
=
0
;
i
<
stringArrayList
.
size
();
i
++)
{
Region
region
=
regionMapper
.
selectOne
(
new
QueryWrapper
<
Region
>().
eq
(
"LEVEL"
,
1
).
like
(
"REGION_NAME"
,
stringArrayList
.
get
(
i
)));
List
<
StationBasic
>
stationBasicList
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
like
(
"belong_area"
,
region
.
getRegionCode
()));
stationBasicListAll
.
addAll
(
stationBasicList
);
}
}
else
{
stationBasicListAll
=
stationBasicMapper
.
selectList
(
new
QueryWrapper
<
StationBasic
>().
isNotNull
(
"station_name"
));
}
stationBasicListAll
.
forEach
(
stationBasic
->
{
total
.
updateAndGet
(
v
->
v
+
commonServiceImpl
.
getTotalByIndicatior
(
stationBasic
.
getFanGatewayId
(),
"年发电量"
));
});
return
commonServiceImpl
.
getSocialContributionDtoList
(
total
.
get
());
}
}
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