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
e11da046
Commit
e11da046
authored
Feb 21, 2023
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
稳压泵数据逻辑优化
parent
0418e899
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
20 deletions
+56
-20
IPressurePumpService.java
...com/yeejoin/equipmanage/service/IPressurePumpService.java
+8
-14
EmergencyServiceImpl.java
...eejoin/equipmanage/service/impl/EmergencyServiceImpl.java
+0
-0
PressurePumpServiceImpl.java
...oin/equipmanage/service/impl/PressurePumpServiceImpl.java
+0
-0
SupervisionVideoServiceImpl.java
...equipmanage/service/impl/SupervisionVideoServiceImpl.java
+48
-6
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/IPressurePumpService.java
View file @
e11da046
...
@@ -38,12 +38,10 @@ public interface IPressurePumpService {
...
@@ -38,12 +38,10 @@ public interface IPressurePumpService {
/**
/**
* 获取所有稳压泵最近一次启停间隔,min
* 获取所有稳压泵最近一次启停间隔,min
* @param redisDataList
* @param dataList
* @param iotDataList
* @param nowStrLong
* @param nowStrLong
* @param bizOrgCode
*/
*/
long
getAllPressurePumpStartStopInterval
(
List
<
IotDataVO
>
redisDataList
,
List
<
Map
<
String
,
String
>>
iotDataList
,
String
nowStrLong
,
String
bizOrgCode
);
long
getAllPressurePumpStartStopInterval
(
List
<
IotDataVO
>
dataList
,
String
nowStrLong
);
/**
/**
* 获取稳压泵一定时间内启动频率或次数
* 获取稳压泵一定时间内启动频率或次数
...
@@ -54,23 +52,19 @@ public interface IPressurePumpService {
...
@@ -54,23 +52,19 @@ public interface IPressurePumpService {
/**
/**
* 获取稳压泵最近一次启停时长,min
* 获取稳压泵最近一次启停时长,min
* @param redisDataList
* @param dataList
* @param iotDataList
* @param nowStrLong
* @param nowStrLong
* @param bizOrgCode
*/
*/
long
getAllPressurePumpStartStopDuration
(
List
<
IotDataVO
>
redisDataList
,
List
<
Map
<
String
,
String
>>
iotDataList
,
String
nowStrLong
,
String
bizOrgCode
);
long
getAllPressurePumpStartStopDuration
(
List
<
IotDataVO
>
dataList
,
String
nowStrLong
);
/**
/**
* 获取稳压泵指定启泵前 minutes 分钟,管网压力差绝对值
* 获取稳压泵指定启泵前 minutes 分钟,管网压力差绝对值
* @param redisDataList
* @param dataList
* @param redisDataPipeList
* @param dataPipeList
* @param iotDataList
* @param iotDataPipeList
* @param nowStrLong
* @param minutes
* @param minutes
* @return
*/
*/
double
getAllPressurePumpPipePressureDiff
(
List
<
IotDataVO
>
redisDataList
,
List
<
IotDataVO
>
redisDataPipeList
,
List
<
Map
<
String
,
String
>>
iotDataList
,
List
<
Map
<
String
,
String
>>
iotDataPipeList
,
String
nowStrLong
,
String
minutes
);
double
getAllPressurePumpPipePressureDiff
(
List
<
IotDataVO
>
dataList
,
List
<
IotDataVO
>
dataPipeList
,
String
minutes
);
/**
/**
* 根据指标,获取物联top数据,influxdb
* 根据指标,获取物联top数据,influxdb
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/EmergencyServiceImpl.java
View file @
e11da046
This diff is collapsed.
Click to expand it.
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/PressurePumpServiceImpl.java
View file @
e11da046
This diff is collapsed.
Click to expand it.
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/SupervisionVideoServiceImpl.java
View file @
e11da046
...
@@ -3,6 +3,7 @@ package com.yeejoin.equipmanage.service.impl;
...
@@ -3,6 +3,7 @@ package com.yeejoin.equipmanage.service.impl;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.utils.CommonUtils
;
import
com.yeejoin.equipmanage.common.entity.SupervisionVideo
;
import
com.yeejoin.equipmanage.common.entity.SupervisionVideo
;
import
com.yeejoin.equipmanage.common.entity.vo.AlamVideoVO
;
import
com.yeejoin.equipmanage.common.entity.vo.AlamVideoVO
;
import
com.yeejoin.equipmanage.common.enums.PressurePumpRelateEnum
;
import
com.yeejoin.equipmanage.common.enums.PressurePumpRelateEnum
;
...
@@ -22,6 +23,8 @@ import org.springframework.util.CollectionUtils;
...
@@ -22,6 +23,8 @@ import org.springframework.util.CollectionUtils;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Modifier
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
...
@@ -149,16 +152,22 @@ public class SupervisionVideoServiceImpl extends ServiceImpl<SupervisionVideoMap
...
@@ -149,16 +152,22 @@ public class SupervisionVideoServiceImpl extends ServiceImpl<SupervisionVideoMap
List
<
Map
>
infoList
=
pressurePumpService
.
getNameKeyInfoList
(
PressurePumpRelateEnum
.
PRESSURE_PUMP
.
getValue
());
List
<
Map
>
infoList
=
pressurePumpService
.
getNameKeyInfoList
(
PressurePumpRelateEnum
.
PRESSURE_PUMP
.
getValue
());
if
(!
CollectionUtils
.
isEmpty
(
infoList
))
{
if
(!
CollectionUtils
.
isEmpty
(
infoList
))
{
// 获取redis稳压泵缓存数据,默认JSON配置最近4小时
// 获取redis稳压泵缓存数据,默认JSON配置最近4小时
List
<
IotDataVO
>
redisDataList
=
pressurePumpService
.
getDataToRedis
(
PressurePumpRelateEnum
.
PRESSURE_PUMP
.
getValue
(),
pressurePumpStart
,
null
);
List
<
IotDataVO
>
DataList
=
pressurePumpService
.
getDataToRedis
(
PressurePumpRelateEnum
.
PRESSURE_PUMP
.
getValue
(),
pressurePumpStart
,
null
);
if
(!
CollectionUtils
.
isEmpty
(
redisDataList
)){
if
(
CollectionUtils
.
isEmpty
(
DataList
)){
//从redis中获取最近一次启停间隔
interval
=
pressurePumpService
.
getAllPressurePumpStartStopInterval
(
redisDataList
,
null
,
nowStrLong
,
bizOrgCode
);
}
else
{
//从influxdb中获取最近一次启停间隔
//从influxdb中获取最近一次启停间隔
String
top
=
infoList
.
get
(
0
).
get
(
"top"
).
toString
();
String
top
=
infoList
.
get
(
0
).
get
(
"top"
).
toString
();
List
<
Map
<
String
,
String
>>
iotDataList
=
pressurePumpService
.
getIotTopSingleField
(
top
,
prefix
,
null
,
null
,
pressurePumpStart
);
List
<
Map
<
String
,
String
>>
iotDataList
=
pressurePumpService
.
getIotTopSingleField
(
top
,
prefix
,
null
,
null
,
pressurePumpStart
);
interval
=
pressurePumpService
.
getAllPressurePumpStartStopInterval
(
null
,
iotDataList
,
nowStrLong
,
bizOrgCode
);
iotDataList
.
stream
().
forEach
(
e
->
{
try
{
IotDataVO
iotDataVO
=
(
IotDataVO
)
mapToObject
(
e
,
IotDataVO
.
class
);
DataList
.
add
(
iotDataVO
);
}
catch
(
Exception
el
)
{
throw
new
RuntimeException
();
}
});
}
}
interval
=
pressurePumpService
.
getAllPressurePumpStartStopInterval
(
DataList
,
nowStrLong
);
}
}
double
finalDiffMinute
=
(
double
)
interval
;
double
finalDiffMinute
=
(
double
)
interval
;
pressurePumpInfo
.
getRecords
().
stream
(
pressurePumpInfo
.
getRecords
().
stream
(
...
@@ -177,4 +186,37 @@ public class SupervisionVideoServiceImpl extends ServiceImpl<SupervisionVideoMap
...
@@ -177,4 +186,37 @@ public class SupervisionVideoServiceImpl extends ServiceImpl<SupervisionVideoMap
pressurePumpInfo
.
setRecords
(
records
);
pressurePumpInfo
.
setRecords
(
records
);
return
pressurePumpInfo
;
return
pressurePumpInfo
;
}
}
/**
* map 转化为对象
* @param map 需要转化的参数
* @param aClass 要转化成的对象
* @return 转化成功的对象
* @throws IllegalAccessException 非法访问异常
* @throws InstantiationException 实例化异常
*/
public
Object
mapToObject
(
Map
<
String
,
String
>
map
,
Class
<?>
aClass
)
throws
IllegalAccessException
,
InstantiationException
{
if
(
null
==
map
||
map
.
size
()<=
0
){
return
null
;
}
Object
o
=
aClass
.
newInstance
();
Field
[]
declaredFields
=
o
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
declaredFields
)
{
int
modifiers
=
field
.
getModifiers
();
if
(
Modifier
.
isStatic
(
modifiers
)
||
Modifier
.
isFinal
(
modifiers
)){
continue
;
}
// (此处如果不设置 无法获取对象的私有属性)
field
.
setAccessible
(
true
);
if
(
"key"
.
equals
(
field
.
getName
())){
field
.
set
(
o
,
pressurePumpStart
);
}
else
if
(
"value"
.
equals
(
field
.
getName
())){
field
.
set
(
o
,
map
.
get
(
pressurePumpStart
));
}
else
{
field
.
set
(
o
,
map
.
get
(
field
.
getName
()));
}
}
return
o
;
}
}
}
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