Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
traffic-signal-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
signal
traffic-signal-platform
Commits
704eacde
Commit
704eacde
authored
Dec 04, 2024
by
董国亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修订绿波下发接口1、增加分方向 2、添加历史记录推荐速度字段
parent
f6fed476
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
213 additions
and
129 deletions
+213
-129
pom.xml
pom.xml
+32
-0
GreenwaveInducesHistController.java
...opt/controller/induce/GreenwaveInducesHistController.java
+121
-107
InduceSendController.java
...net/wanji/opt/controller/induce/InduceSendController.java
+1
-1
GreenwaveDirDTO.java
...c/main/java/net/wanji/opt/dto/induce/GreenwaveDirDTO.java
+34
-0
GreenwaveInducesDTO.java
...in/java/net/wanji/opt/dto/induce/GreenwaveInducesDTO.java
+2
-20
InduceHist.java
...ervice/src/main/java/net/wanji/opt/entity/InduceHist.java
+6
-0
InduceSendServiceImpl.java
.../wanji/opt/service/induce/impl/InduceSendServiceImpl.java
+5
-1
GreenwaveInfoMapper.java
...ava/net/wanji/databus/dao/mapper/GreenwaveInfoMapper.java
+3
-0
GreenwaveInfoMapper.xml
wj-databus/src/main/resources/mapper/GreenwaveInfoMapper.xml
+9
-0
No files found.
pom.xml
View file @
704eacde
...
@@ -69,6 +69,38 @@
...
@@ -69,6 +69,38 @@
<elastic-data-version>
2.6.3
</elastic-data-version>
<elastic-data-version>
2.6.3
</elastic-data-version>
</properties>
</properties>
<!--部署私服配置-->
<distributionManagement>
<repository>
<id>
releases
</id>
<url>
http://106.120.201.126:14729/repository/maven-releases/
</url>
</repository>
<snapshotRepository>
<id>
snapshots
</id>
<url>
http://106.120.201.126:14729/repository/maven-snapshots/
</url>
</snapshotRepository>
</distributionManagement>
<!--maven仓库配置-->
<repositories>
<repository>
<id>
releases
</id>
<url>
http://106.120.201.126:14729/repository/maven-public/
</url>
<releases>
<enabled>
true
</enabled>
<updatePolicy>
always
</updatePolicy>
</releases>
</repository>
<repository>
<id>
snapshots
</id>
<url>
http://106.120.201.126:14729/repository/maven-public/
</url>
<releases>
<enabled>
true
</enabled>
<updatePolicy>
always
</updatePolicy>
</releases>
</repository>
</repositories>
<!-- 依赖声明 -->
<!-- 依赖声明 -->
<dependencyManagement>
<dependencyManagement>
<dependencies>
<dependencies>
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controller/induce/GreenwaveInducesHistController.java
View file @
704eacde
...
@@ -3,29 +3,25 @@ package net.wanji.opt.controller.induce;
...
@@ -3,29 +3,25 @@ package net.wanji.opt.controller.induce;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Maps
;
import
io.swagger.annotations.*
;
import
io.swagger.annotations.*
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.common.framework.i18n.I18nResourceBundle
;
import
net.wanji.common.framework.i18n.I18nResourceBundle
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.Page
;
import
net.wanji.common.framework.rest.ValidationGroups
;
import
net.wanji.common.framework.rest.ValidationGroups
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.StringUtils
;
import
net.wanji.databus.dao.entity.GreenwaveInfoPO
;
import
net.wanji.databus.dao.entity.GreenwaveInfoPO
;
import
net.wanji.databus.dao.mapper.GreenwaveInfoMapper
;
import
net.wanji.databus.dao.mapper.GreenwaveInfoMapper
;
import
net.wanji.opt.dao.mapper.induce.GreenwaveInducesHistMapper
;
import
net.wanji.opt.dao.mapper.induce.GreenwaveInducesHistMapper
;
import
net.wanji.opt.dto.induce.GreenwaveDirDTO
;
import
net.wanji.opt.dto.induce.GreenwaveInducesDTO
;
import
net.wanji.opt.dto.induce.GreenwaveInducesDTO
;
import
net.wanji.opt.dto.induce.InduceDTO
;
import
net.wanji.opt.dto.induce.InduceDTO
;
import
net.wanji.opt.entity.DeviceInduces
;
import
net.wanji.opt.entity.DeviceInduces
;
import
net.wanji.opt.entity.GreenwaveInduces
;
import
net.wanji.opt.entity.GreenwaveInduces
;
import
net.wanji.opt.entity.GreenwaveInducesHist
;
import
net.wanji.opt.entity.GreenwaveInducesHist
;
import
net.wanji.opt.entity.InduceTemplate
;
import
net.wanji.opt.service.DeviceInducesService
;
import
net.wanji.opt.service.DeviceInducesService
;
import
net.wanji.opt.service.induce.GreenwaveInducesHistService
;
import
net.wanji.opt.service.induce.GreenwaveInducesHistService
;
import
net.wanji.opt.service.induce.GreenwaveInducesService
;
import
net.wanji.opt.service.induce.GreenwaveInducesService
;
import
net.wanji.opt.service.induce.InduceTemplateService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -33,9 +29,9 @@ import javax.annotation.Resource;
...
@@ -33,9 +29,9 @@ import javax.annotation.Resource;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.ws.rs.QueryParam
;
import
javax.ws.rs.QueryParam
;
import
javax.ws.rs.core.MediaType
;
import
javax.ws.rs.core.MediaType
;
import
java.math.BigDecimal
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
org
.
codehaus
.
groovy
.
runtime
.
DefaultGroovyMethods
.
collect
;
import
static
org
.
codehaus
.
groovy
.
runtime
.
DefaultGroovyMethods
.
collect
;
...
@@ -83,62 +79,71 @@ public class GreenwaveInducesHistController {
...
@@ -83,62 +79,71 @@ public class GreenwaveInducesHistController {
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
try
{
try
{
List
<
GreenwaveInducesDTO
>
list
=
new
ArrayList
<>();
List
<
GreenwaveInfoPO
>
greenwaveInfoPOList
=
greenwaveInfoMapper
.
selectAll
();
List
<
GreenwaveInfoPO
>
greenwaveInfoPOList
=
greenwaveInfoMapper
.
selectAll
();
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
();
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
();
// List<InduceTemplate> induceTemplateList = induceTemplateService.list();
// List<InduceTemplate> induceTemplateList = induceTemplateService.list();
List
<
DeviceInduces
>
deviceInducesList
=
deviceInducesService
.
list
();
List
<
DeviceInduces
>
deviceInducesList
=
deviceInducesService
.
list
();
this
.
greenwaveInducesHistService
.
list
().
stream
().
forEach
(
o
->
{
//这里从绿波表里获取基本信息
List
<
GreenwaveInducesDTO
>
greenwaveInfoList
=
new
ArrayList
<>();
greenwaveInfoPOList
.
stream
().
forEach
(
x
->
{
GreenwaveInducesDTO
greenwaveInducesDTO
=
new
GreenwaveInducesDTO
();
GreenwaveInducesDTO
greenwaveInducesDTO
=
new
GreenwaveInducesDTO
();
greenwaveInducesDTO
.
setGreenId
(
o
.
getGreenId
());
greenwaveInducesDTO
.
setGreenId
(
x
.
getId
());
greenwaveInducesDTO
.
setDir
(
o
.
getDir
());
greenwaveInducesDTO
.
setGreenName
(
x
.
getName
());
//这里从绿波表里获取基本信息
greenwaveInducesDTO
.
setDesignSpeed
(
x
.
getDesignSpeed
());
List
<
GreenwaveInfoPO
>
greenwaveInfoByGreenId
=
greenwaveInfoPOList
.
stream
().
filter
(
n
->
n
.
getId
().
equals
(
o
.
getGreenId
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
greenwaveInducesDTO
.
setStatus
(
x
.
getStatus
());
if
(
Objects
.
nonNull
(
greenwaveInfoByGreenId
)
&&
greenwaveInfoByGreenId
.
size
()
>
0
)
{
greenwaveInducesDTO
.
setWkt
(
x
.
getWkt
());
greenwaveInducesDTO
.
setGreenName
(
greenwaveInfoByGreenId
.
get
(
0
).
getName
());
greenwaveInducesDTO
.
setDesignSpeed
(
greenwaveInfoByGreenId
.
get
(
0
).
getDesignSpeed
());
AtomicReference
<
Integer
>
equipCount
=
new
AtomicReference
<>(
0
);
}
List
<
GreenwaveDirDTO
>
dirList
=
new
ArrayList
<>();
greenwaveInducesDTO
.
setStatus
(
o
.
getStatus
());
this
.
greenwaveInducesHistService
.
list
().
stream
().
filter
(
o
->
Objects
.
isNull
(
o
.
getGreenId
())
||
o
.
getGreenId
().
equals
(
x
.
getId
())).
forEach
(
o
->
{
greenwaveInducesDTO
.
setStrategyId
(
o
.
getStrategyId
());
GreenwaveDirDTO
greenwaveDirDTO
=
new
GreenwaveDirDTO
();
greenwaveInducesDTO
.
setStrategyName
(
o
.
getStrategyName
());
greenwaveDirDTO
.
setDir
(
o
.
getDir
());
greenwaveInducesDTO
.
setMinSpeed
(
o
.
getMinSpeed
());
greenwaveDirDTO
.
setStrategyId
(
o
.
getStrategyId
());
greenwaveInducesDTO
.
setMinSpeed
(
o
.
getMaxSpeed
());
greenwaveDirDTO
.
setStrategyName
(
o
.
getStrategyName
());
if
(
Objects
.
nonNull
(
o
.
getControlOptTimes
())
&&
o
.
getControlOptTimes
().
split
(
"\\|"
).
length
>
0
)
{
try
{
greenwaveDirDTO
.
setMinSpeed
(
o
.
getMinSpeed
());
String
startTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
0
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
greenwaveDirDTO
.
setMinSpeed
(
o
.
getMaxSpeed
());
String
endTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
1
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
if
(
Objects
.
nonNull
(
o
.
getControlOptTimes
())
&&
o
.
getControlOptTimes
().
split
(
"\\|"
).
length
>
0
)
{
greenwaveInducesDTO
.
setControlOptTimes
(
startTime
.
substring
(
0
,
startTime
.
lastIndexOf
(
":00"
))+
"-"
+
endTime
.
substring
(
0
,
endTime
.
lastIndexOf
(
":00"
)));
try
{
}
catch
(
ParseException
ex
){
ex
.
printStackTrace
();
String
startTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
0
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
greenwaveInducesDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
String
endTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
1
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
}
greenwaveDirDTO
.
setControlOptTimes
(
startTime
.
substring
(
0
,
startTime
.
lastIndexOf
(
":00"
))
+
"-"
+
endTime
.
substring
(
0
,
endTime
.
lastIndexOf
(
":00"
)));
}
else
{
}
catch
(
ParseException
ex
)
{
greenwaveInducesDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
ex
.
printStackTrace
();
}
greenwaveDirDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
//获取诱导屏列表
}
List
<
InduceDTO
>
induceDTOList
=
new
ArrayList
<>();
}
else
{
greenwaveInducesList
.
stream
().
filter
(
x
->
Objects
.
nonNull
(
x
.
getGreenId
())
&&
x
.
getGreenId
().
equals
(
o
.
getGreenId
())).
forEach
(
n
->
{
greenwaveDirDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
InduceDTO
induceDTO
=
new
InduceDTO
();
induceDTO
.
setId
(
n
.
getId
());
induceDTO
.
setEquipCode
(
n
.
getEquipCode
());
induceDTO
.
setStatus
(
o
.
getStatus
());
//获取屏幕的设备信息
List
<
DeviceInduces
>
deviceInduces
=
deviceInducesList
.
stream
().
filter
(
m
->
Objects
.
nonNull
(
m
.
getEquipCode
())
&&
m
.
getEquipCode
().
equals
(
n
.
getEquipCode
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
if
(
Objects
.
nonNull
(
deviceInduces
)
&&
deviceInduces
.
size
()
>
0
)
{
induceDTO
.
setEquipName
(
deviceInduces
.
get
(
0
).
getEquipName
());
induceDTO
.
setRidDir
(
n
.
getDir
());
//
induceDTO
.
setResolutionWidth
(
deviceInduces
.
get
(
0
).
getResolutionWidth
());
//
induceDTO
.
setResolutionHeight
(
deviceInduces
.
get
(
0
).
getResolutionHeight
());
//
induceDTO
.
setWkt
(
deviceInduces
.
get
(
0
).
getWkt
());
}
}
//关联模板信息
//获取诱导屏列表
//induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x->Objects.isNull(x.getEquipCode()) || x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList()));
List
<
InduceDTO
>
induceDTOList
=
new
ArrayList
<>();
induceDTOList
.
add
(
induceDTO
);
greenwaveInducesList
.
stream
().
filter
(
l
->
Objects
.
nonNull
(
l
.
getGreenId
())
&&
l
.
getGreenId
().
equals
(
o
.
getGreenId
())).
forEach
(
n
->
{
InduceDTO
induceDTO
=
new
InduceDTO
();
induceDTO
.
setId
(
n
.
getId
());
induceDTO
.
setEquipCode
(
n
.
getEquipCode
());
induceDTO
.
setStatus
(
o
.
getStatus
());
//获取屏幕的设备信息
List
<
DeviceInduces
>
deviceInduces
=
deviceInducesList
.
stream
().
filter
(
m
->
Objects
.
nonNull
(
m
.
getEquipCode
())
&&
m
.
getEquipCode
().
equals
(
n
.
getEquipCode
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
if
(
Objects
.
nonNull
(
deviceInduces
)
&&
deviceInduces
.
size
()
>
0
)
{
induceDTO
.
setEquipName
(
deviceInduces
.
get
(
0
).
getEquipName
());
induceDTO
.
setRidDir
(
n
.
getDir
());
//
induceDTO
.
setResolutionWidth
(
deviceInduces
.
get
(
0
).
getResolutionWidth
());
//
induceDTO
.
setResolutionHeight
(
deviceInduces
.
get
(
0
).
getResolutionHeight
());
//
induceDTO
.
setWkt
(
deviceInduces
.
get
(
0
).
getWkt
());
}
//关联模板信息
//induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x->Objects.isNull(x.getEquipCode()) || x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList()));
induceDTOList
.
add
(
induceDTO
);
});
greenwaveDirDTO
.
setInduceList
(
induceDTOList
);
equipCount
.
updateAndGet
(
v
->
v
+
induceDTOList
.
size
());
dirList
.
add
(
greenwaveDirDTO
);
});
});
greenwaveInducesDTO
.
set
InduceList
(
induceDTO
List
);
greenwaveInducesDTO
.
set
GreenwaveDirList
(
dir
List
);
greenwaveInducesDTO
.
setEquipCount
(
induceDTOList
.
size
());
greenwaveInducesDTO
.
setEquipCount
(
equipCount
.
get
());
l
ist
.
add
(
greenwaveInducesDTO
);
greenwaveInfoL
ist
.
add
(
greenwaveInducesDTO
);
});
});
jsonView
.
success
(
l
ist
);
jsonView
.
success
(
greenwaveInfoL
ist
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} getAll error"
,
this
.
getClass
().
getSimpleName
(),
e
);
log
.
error
(
"{} getAll error"
,
this
.
getClass
().
getSimpleName
(),
e
);
...
@@ -155,9 +160,9 @@ public class GreenwaveInducesHistController {
...
@@ -155,9 +160,9 @@ public class GreenwaveInducesHistController {
*/
*/
@ApiOperation
(
value
=
"根据条件查询记录"
,
notes
=
"根据条件查询记录"
,
response
=
JsonViewObject
.
class
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"根据条件查询记录"
,
notes
=
"根据条件查询记录"
,
response
=
JsonViewObject
.
class
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/byCondition"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/byCondition"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
JsonViewObject
getByWhere
(
@ApiParam
(
value
=
"查询条件"
,
required
=
true
)
@RequestBody
@Validated
({
ValidationGroups
.
Query
.
class
})
GreenwaveInducesHist
GreenwaveInducesHist
){
JsonViewObject
getByWhere
(
@ApiParam
(
value
=
"查询条件"
,
required
=
true
)
@RequestBody
@Validated
({
ValidationGroups
.
Query
.
class
})
GreenwaveInducesHist
GreenwaveInducesHist
)
{
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
String
jsonStr
=
JSON
.
toJSONString
(
GreenwaveInducesHist
);
String
jsonStr
=
JSON
.
toJSONString
(
GreenwaveInducesHist
);
try
{
try
{
...
@@ -165,64 +170,73 @@ public class GreenwaveInducesHistController {
...
@@ -165,64 +170,73 @@ public class GreenwaveInducesHistController {
Map
params
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
GreenwaveInducesHist
),
Map
.
class
);
Map
params
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
GreenwaveInducesHist
),
Map
.
class
);
// Map<String, Object> params = new HashMap<>();
// Map<String, Object> params = new HashMap<>();
// JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInducesHist), Map.class).forEach((k,v) -> params.put(StringUtils.camelToCapital(k.toString()).toLowerCase(), v));
// JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInducesHist), Map.class).forEach((k,v) -> params.put(StringUtils.camelToCapital(k.toString()).toLowerCase(), v));
List
<
GreenwaveInducesDTO
>
list
=
new
ArrayList
<>();
List
<
GreenwaveInducesHist
>
greenwaveInducesHistList
=
this
.
greenwaveInducesHistService
.
list
();
List
<
GreenwaveInducesHist
>
greenwaveInducesHistList
=
this
.
greenwaveInducesHistMapper
.
findByMap
(
params
);
List
<
GreenwaveInfoPO
>
greenwaveInfoPOList
=
greenwaveInfoMapper
.
findByMap
(
params
);
List
<
GreenwaveInfoPO
>
greenwaveInfoPOList
=
greenwaveInfoMapper
.
selectAll
();
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
();
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
();
// List<InduceTemplate> induceTemplateList = induceTemplateService.list();
// List<InduceTemplate> induceTemplateList = induceTemplateService.list();
List
<
DeviceInduces
>
deviceInducesList
=
deviceInducesService
.
list
();
List
<
DeviceInduces
>
deviceInducesList
=
deviceInducesService
.
list
();
greenwaveInducesHistList
.
stream
().
forEach
(
o
->
{
List
<
GreenwaveInducesDTO
>
greenwaveInfoList
=
new
ArrayList
<>();
greenwaveInfoPOList
.
stream
().
forEach
(
x
->
{
GreenwaveInducesDTO
greenwaveInducesDTO
=
new
GreenwaveInducesDTO
();
GreenwaveInducesDTO
greenwaveInducesDTO
=
new
GreenwaveInducesDTO
();
greenwaveInducesDTO
.
setGreenId
(
o
.
getGreenId
());
greenwaveInducesDTO
.
setGreenId
(
x
.
getId
());
greenwaveInducesDTO
.
setDir
(
o
.
getDir
());
greenwaveInducesDTO
.
setGreenName
(
x
.
getName
());
//这里从绿波表里获取基本信息
greenwaveInducesDTO
.
setDesignSpeed
(
x
.
getDesignSpeed
());
List
<
GreenwaveInfoPO
>
greenwaveInfoByGreenId
=
greenwaveInfoPOList
.
stream
().
filter
(
n
->
n
.
getId
().
equals
(
o
.
getGreenId
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
greenwaveInducesDTO
.
setWkt
(
x
.
getWkt
());
if
(
Objects
.
nonNull
(
greenwaveInfoByGreenId
)
&&
greenwaveInfoByGreenId
.
size
()
>
0
)
{
greenwaveInducesDTO
.
setStatus
(
x
.
getStatus
());
greenwaveInducesDTO
.
setGreenName
(
greenwaveInfoByGreenId
.
get
(
0
).
getName
());
greenwaveInducesDTO
.
setDesignSpeed
(
greenwaveInfoByGreenId
.
get
(
0
).
getDesignSpeed
());
AtomicReference
<
Integer
>
equipCount
=
new
AtomicReference
<>(
0
);
greenwaveInducesDTO
.
setWkt
(
greenwaveInfoByGreenId
.
get
(
0
).
getWkt
());
List
<
GreenwaveDirDTO
>
dirList
=
new
ArrayList
<>();
}
greenwaveInducesHistList
.
stream
().
filter
(
o
->
Objects
.
isNull
(
o
.
getGreenId
())
||
o
.
getGreenId
().
equals
(
x
.
getId
())).
forEach
(
o
->
{
greenwaveInducesDTO
.
setStatus
(
o
.
getStatus
());
GreenwaveDirDTO
greenwaveDirDTO
=
new
GreenwaveDirDTO
();
greenwaveInducesDTO
.
setStrategyId
(
o
.
getStrategyId
());
//这里从绿波表里获取基本信息
greenwaveInducesDTO
.
setStrategyName
(
o
.
getStrategyName
());
List
<
GreenwaveInfoPO
>
greenwaveInfoByGreenId
=
greenwaveInfoPOList
.
stream
().
filter
(
n
->
n
.
getId
().
equals
(
o
.
getGreenId
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
greenwaveInducesDTO
.
setMinSpeed
(
o
.
getMinSpeed
());
greenwaveInducesDTO
.
setMinSpeed
(
o
.
getMaxSpeed
());
greenwaveDirDTO
.
setDir
(
o
.
getDir
());
if
(
Objects
.
nonNull
(
o
.
getControlOptTimes
())
&&
o
.
getControlOptTimes
().
split
(
"\\|"
).
length
>
0
)
{
greenwaveDirDTO
.
setStrategyId
(
o
.
getStrategyId
());
try
{
greenwaveDirDTO
.
setStrategyName
(
o
.
getStrategyName
());
String
startTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
0
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
greenwaveDirDTO
.
setMinSpeed
(
o
.
getMinSpeed
());
String
endTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
1
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
greenwaveDirDTO
.
setMinSpeed
(
o
.
getMaxSpeed
());
greenwaveInducesDTO
.
setControlOptTimes
(
startTime
.
substring
(
0
,
startTime
.
lastIndexOf
(
":00"
))+
"-"
+
endTime
.
substring
(
0
,
endTime
.
lastIndexOf
(
":00"
)));
if
(
Objects
.
nonNull
(
o
.
getControlOptTimes
())
&&
o
.
getControlOptTimes
().
split
(
"\\|"
).
length
>
0
)
{
}
catch
(
ParseException
ex
){
ex
.
printStackTrace
();
try
{
greenwaveInducesDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
String
startTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
0
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
}
String
endTime
=
DateUtil
.
format
(
DateUtil
.
parse
(
o
.
getControlOptTimes
().
split
(
"\\|"
)[
1
],
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_TIME
);
}
else
{
greenwaveDirDTO
.
setControlOptTimes
(
startTime
.
substring
(
0
,
startTime
.
lastIndexOf
(
":00"
))
+
"-"
+
endTime
.
substring
(
0
,
endTime
.
lastIndexOf
(
":00"
)));
greenwaveInducesDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
}
catch
(
ParseException
ex
)
{
}
ex
.
printStackTrace
();
//获取诱导屏列表
greenwaveDirDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
List
<
InduceDTO
>
induceDTOList
=
new
ArrayList
<>();
}
greenwaveInducesList
.
stream
().
filter
(
x
->
Objects
.
nonNull
(
x
.
getGreenId
())
&&
x
.
getGreenId
().
equals
(
o
.
getGreenId
())).
forEach
(
n
->
{
}
else
{
InduceDTO
induceDTO
=
new
InduceDTO
();
greenwaveDirDTO
.
setControlOptTimes
(
o
.
getControlOptTimes
());
induceDTO
.
setId
(
n
.
getId
());
induceDTO
.
setEquipCode
(
n
.
getEquipCode
());
induceDTO
.
setStatus
(
o
.
getStatus
());
//获取屏幕的设备信息
List
<
DeviceInduces
>
deviceInduces
=
deviceInducesList
.
stream
().
filter
(
m
->
Objects
.
nonNull
(
m
.
getEquipCode
())
&&
m
.
getEquipCode
().
equals
(
n
.
getEquipCode
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
if
(
Objects
.
nonNull
(
deviceInduces
)
&&
deviceInduces
.
size
()
>
0
)
{
induceDTO
.
setEquipName
(
deviceInduces
.
get
(
0
).
getEquipName
());
induceDTO
.
setRidDir
(
n
.
getDir
());
//
induceDTO
.
setResolutionWidth
(
deviceInduces
.
get
(
0
).
getResolutionWidth
());
//
induceDTO
.
setResolutionHeight
(
deviceInduces
.
get
(
0
).
getResolutionHeight
());
//
induceDTO
.
setWkt
(
deviceInduces
.
get
(
0
).
getWkt
());
}
}
//关联模板信息
//获取诱导屏列表
//induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x -> Objects.isNull(x.getEquipCode()) || x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList()));
List
<
InduceDTO
>
induceDTOList
=
new
ArrayList
<>();
induceDTOList
.
add
(
induceDTO
);
greenwaveInducesList
.
stream
().
filter
(
l
->
Objects
.
nonNull
(
l
.
getGreenId
())
&&
l
.
getGreenId
().
equals
(
o
.
getGreenId
())).
forEach
(
n
->
{
InduceDTO
induceDTO
=
new
InduceDTO
();
induceDTO
.
setId
(
n
.
getId
());
induceDTO
.
setEquipCode
(
n
.
getEquipCode
());
induceDTO
.
setStatus
(
o
.
getStatus
());
//获取屏幕的设备信息
List
<
DeviceInduces
>
deviceInduces
=
deviceInducesList
.
stream
().
filter
(
m
->
Objects
.
nonNull
(
m
.
getEquipCode
())
&&
m
.
getEquipCode
().
equals
(
n
.
getEquipCode
())).
collect
(
Collectors
.
toList
());
// 过滤条件// 收集结果
if
(
Objects
.
nonNull
(
deviceInduces
)
&&
deviceInduces
.
size
()
>
0
)
{
induceDTO
.
setEquipName
(
deviceInduces
.
get
(
0
).
getEquipName
());
induceDTO
.
setRidDir
(
n
.
getDir
());
//
induceDTO
.
setResolutionWidth
(
deviceInduces
.
get
(
0
).
getResolutionWidth
());
//
induceDTO
.
setResolutionHeight
(
deviceInduces
.
get
(
0
).
getResolutionHeight
());
//
induceDTO
.
setWkt
(
deviceInduces
.
get
(
0
).
getWkt
());
}
//关联模板信息
//induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x -> Objects.isNull(x.getEquipCode()) || x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList()));
induceDTOList
.
add
(
induceDTO
);
});
greenwaveDirDTO
.
setInduceList
(
induceDTOList
);
equipCount
.
updateAndGet
(
v
->
v
+
induceDTOList
.
size
());
dirList
.
add
(
greenwaveDirDTO
);
});
});
greenwaveInducesDTO
.
set
InduceList
(
induceDTO
List
);
greenwaveInducesDTO
.
set
GreenwaveDirList
(
dir
List
);
greenwaveInducesDTO
.
setEquipCount
(
induceDTOList
.
size
());
greenwaveInducesDTO
.
setEquipCount
(
equipCount
.
get
());
l
ist
.
add
(
greenwaveInducesDTO
);
greenwaveInfoL
ist
.
add
(
greenwaveInducesDTO
);
});
});
jsonView
.
success
(
l
ist
);
jsonView
.
success
(
greenwaveInfoL
ist
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} getByWhere error,jsonStr:{}"
,
this
.
getClass
().
getSimpleName
(),
jsonStr
,
e
);
log
.
error
(
"{} getByWhere error,jsonStr:{}"
,
this
.
getClass
().
getSimpleName
(),
jsonStr
,
e
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controller/induce/InduceSendController.java
View file @
704eacde
...
@@ -63,7 +63,7 @@ public class InduceSendController {
...
@@ -63,7 +63,7 @@ public class InduceSendController {
param
.
setEndTime
(
greenwaveInducesHistList
.
get
(
0
).
getControlOptTimes
().
split
(
"\\|"
)[
1
]);
param
.
setEndTime
(
greenwaveInducesHistList
.
get
(
0
).
getControlOptTimes
().
split
(
"\\|"
)[
1
]);
}
else
{
}
else
{
param
.
setStartTime
(
DateUtil
.
format
(
new
Date
(),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
));
param
.
setStartTime
(
DateUtil
.
format
(
new
Date
(),
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
));
param
.
setEndTime
(
DateUtil
.
format
(
System
.
currentTimeMillis
()
+
1000
*
3
0
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
));
param
.
setEndTime
(
DateUtil
.
format
(
System
.
currentTimeMillis
()
+
1000
*
6
0
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
));
}
}
}
}
induceSendService
.
send
(
param
);
induceSendService
.
send
(
param
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/dto/induce/GreenwaveDirDTO.java
0 → 100644
View file @
704eacde
package
net
.
wanji
.
opt
.
dto
.
induce
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@NoArgsConstructor
@Data
public
class
GreenwaveDirDTO
{
@ApiModelProperty
(
name
=
"当前策略"
)
private
Integer
strategyId
;
@ApiModelProperty
(
name
=
"策略名称"
)
private
String
strategyName
;
@ApiModelProperty
(
name
=
"绿波方向:1 南向北 2 西向东 3 北向南 4 东向西"
)
private
Integer
dir
;
@ApiModelProperty
(
name
=
"推荐最小速度"
)
private
Double
minSpeed
;
@ApiModelProperty
(
name
=
"推荐最大速度"
)
private
Double
maxSpeed
;
@ApiModelProperty
(
name
=
"执行时段"
)
private
String
controlOptTimes
;
@ApiModelProperty
(
name
=
"诱导屏列表"
)
private
List
<
InduceDTO
>
induceList
;
}
signal-optimize-service/src/main/java/net/wanji/opt/dto/induce/GreenwaveInducesDTO.java
View file @
704eacde
...
@@ -25,26 +25,8 @@ public class GreenwaveInducesDTO {
...
@@ -25,26 +25,8 @@ public class GreenwaveInducesDTO {
@ApiModelProperty
(
name
=
"发布状态"
)
@ApiModelProperty
(
name
=
"发布状态"
)
private
Integer
status
;
private
Integer
status
;
@ApiModelProperty
(
name
=
"当前策略"
)
@ApiModelProperty
(
name
=
"绿波方向"
)
private
Integer
strategyId
;
private
List
<
GreenwaveDirDTO
>
greenwaveDirList
;
@ApiModelProperty
(
name
=
"策略名称"
)
private
String
strategyName
;
@ApiModelProperty
(
name
=
"绿波方向:1 南向北 2 西向东 3 北向南 4 东向西"
)
private
Integer
dir
;
@ApiModelProperty
(
name
=
"推荐最小速度"
)
private
Double
minSpeed
;
@ApiModelProperty
(
name
=
"推荐最大速度"
)
private
Double
maxSpeed
;
@ApiModelProperty
(
name
=
"执行时段"
)
private
String
controlOptTimes
;
@ApiModelProperty
(
name
=
"诱导屏列表"
)
private
List
<
InduceDTO
>
induceList
;
@ApiModelProperty
(
name
=
"绿波带坐标"
)
@ApiModelProperty
(
name
=
"绿波带坐标"
)
private
String
wkt
;
private
String
wkt
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/entity/InduceHist.java
View file @
704eacde
...
@@ -54,6 +54,12 @@ public class InduceHist implements Serializable {
...
@@ -54,6 +54,12 @@ public class InduceHist implements Serializable {
@TableField
(
"file_path"
)
@TableField
(
"file_path"
)
private
String
filePath
;
private
String
filePath
;
/**
* 建议速度
*/
@TableField
(
"induce_speed"
)
private
String
induceSpeed
;
/**
/**
* 创建时间
* 创建时间
*/
*/
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/induce/impl/InduceSendServiceImpl.java
View file @
704eacde
...
@@ -113,6 +113,9 @@ public class InduceSendServiceImpl implements InduceSendService {
...
@@ -113,6 +113,9 @@ public class InduceSendServiceImpl implements InduceSendService {
String
filePath
=
uploadFile
(
image
,
dirName
,
fileName
);
String
filePath
=
uploadFile
(
image
,
dirName
,
fileName
);
param
.
setFtpPath
(
filePath
);
param
.
setFtpPath
(
filePath
);
induceHist
.
setFilePath
(
PATH
+
dirName
+
"/"
+
fileName
);
induceHist
.
setFilePath
(
PATH
+
dirName
+
"/"
+
fileName
);
if
(
Objects
.
nonNull
(
param
.
getContents
())
&&
param
.
getContents
().
length
>
0
)
{
induceHist
.
setInduceSpeed
(
param
.
getContents
()[
0
]);
}
if
(
Objects
.
nonNull
(
greenwaveinduces
))
{
if
(
Objects
.
nonNull
(
greenwaveinduces
))
{
greenwaveinduces
.
setSourceId
(
PATH
+
dirName
+
"/"
+
fileName
);
greenwaveinduces
.
setSourceId
(
PATH
+
dirName
+
"/"
+
fileName
);
}
}
...
@@ -146,7 +149,8 @@ public class InduceSendServiceImpl implements InduceSendService {
...
@@ -146,7 +149,8 @@ public class InduceSendServiceImpl implements InduceSendService {
// messageProperties.setContentType("text/plain"); // 设置内容类型为text/plain
// messageProperties.setContentType("text/plain"); // 设置内容类型为text/plain
// 创建Message并设置内容
// 创建Message并设置内容
// Message messageSend = new Message(message.getBytes(), messageProperties);
// Message messageSend = new Message(message.getBytes(), messageProperties);
if
(
sending
)
{
if
(
sending
)
{
rabbitTemplate
.
convertAndSend
(
""
,
queueName
,
message
);
rabbitTemplate
.
convertAndSend
(
""
,
queueName
,
message
);
}
}
log
.
info
(
"mqtt发送信息-topic:{},queueName:{},message:{}"
,
queueName
,
message
);
log
.
info
(
"mqtt发送信息-topic:{},queueName:{},message:{}"
,
queueName
,
message
);
...
...
wj-databus/src/main/java/net/wanji/databus/dao/mapper/GreenwaveInfoMapper.java
View file @
704eacde
...
@@ -5,6 +5,7 @@ import net.wanji.databus.vo.GreenwaveListVO;
...
@@ -5,6 +5,7 @@ import net.wanji.databus.vo.GreenwaveListVO;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 态势监测-绿波基础信息
* 态势监测-绿波基础信息
...
@@ -23,4 +24,6 @@ public interface GreenwaveInfoMapper {
...
@@ -23,4 +24,6 @@ public interface GreenwaveInfoMapper {
List
<
GreenwaveInfoPO
>
selectAll
();
List
<
GreenwaveInfoPO
>
selectAll
();
GreenwaveInfoPO
selectByName
(
String
greenwaveName
);
GreenwaveInfoPO
selectByName
(
String
greenwaveName
);
List
<
GreenwaveInfoPO
>
findByMap
(
Map
params
);
}
}
wj-databus/src/main/resources/mapper/GreenwaveInfoMapper.xml
View file @
704eacde
...
@@ -48,4 +48,13 @@
...
@@ -48,4 +48,13 @@
where name = #{greenwaveName}
where name = #{greenwaveName}
</select>
</select>
<select
id=
"findByMap"
resultType=
"net.wanji.databus.dao.entity.GreenwaveInfoPO"
parameterType=
"java.util.Map"
>
SELECT
<include
refid=
"Base_Column_List"
></include>
FROM t_greenwave_info WHERE 1=1
<if
test=
"keyword != null and keyword != ''"
>
AND ( locate(#{keyword,jdbcType=VARCHAR}, `name`)>0 )
</if>
</select>
</mapper>
</mapper>
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