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
4782ba5b
Commit
4782ba5b
authored
Dec 11, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 优化停车次数小数点
parent
269e2df2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
32 deletions
+57
-32
TrendServiceImpl.java
...ain/java/net/wanji/opt/service/impl/TrendServiceImpl.java
+31
-31
StrategyControlServiceImpl.java
...pt/synthesis/service/impl/StrategyControlServiceImpl.java
+22
-1
GreenBeltFlowStopTimeVO.java
...c/main/java/net/wanji/opt/vo/GreenBeltFlowStopTimeVO.java
+4
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/TrendServiceImpl.java
View file @
4782ba5b
...
...
@@ -287,19 +287,19 @@ public class TrendServiceImpl implements TrendService {
List
<
AbnormalCrossListVO
>
abnormalCrossListVOList
=
crossDataRealtimeMapper
.
selectAbnormalCross
(
status
,
name
,
type
);
// 添加优化状态
for
(
AbnormalCrossListVO
abnormalCrossListVO
:
abnormalCrossListVOList
)
{
abnormalCrossListVO
.
setOptStatus
(
2
);
// 2未优化
String
crossId
=
abnormalCrossListVO
.
getId
();
// 查询优化日志
List
<
CrossSchemeOptLogPO
>
crossSchemeOptLogPOS
=
crossSchemeOptLogMapper
.
selectMaxByCrossId
(
crossId
);
if
(
CollectionUtil
.
isNotEmpty
(
crossSchemeOptLogPOS
))
{
CrossSchemeOptLogPO
crossSchemeOptLogPO
=
crossSchemeOptLogPOS
.
get
(
0
);
Date
endTime
=
crossSchemeOptLogPO
.
getEndTime
();
if
(
ObjectUtil
.
isEmpty
(
endTime
))
{
abnormalCrossListVO
.
setOptStatus
(
1
);
// 1优化中
}
}
}
//
for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) {
//
abnormalCrossListVO.setOptStatus(2); // 2未优化
//
String crossId = abnormalCrossListVO.getId();
//
// 查询优化日志
//
List<CrossSchemeOptLogPO> crossSchemeOptLogPOS = crossSchemeOptLogMapper.selectMaxByCrossId(crossId);
//
if (CollectionUtil.isNotEmpty(crossSchemeOptLogPOS)) {
//
CrossSchemeOptLogPO crossSchemeOptLogPO = crossSchemeOptLogPOS.get(0);
//
Date endTime = crossSchemeOptLogPO.getEndTime();
//
if (ObjectUtil.isEmpty(endTime)) {
//
abnormalCrossListVO.setOptStatus(1); // 1优化中
//
}
//
}
//
}
// 坐标格式转换
for
(
AbnormalCrossListVO
abnormalCrossListVO
:
abnormalCrossListVOList
)
{
String
locationStr
=
abnormalCrossListVO
.
getLocationStr
();
...
...
@@ -330,24 +330,24 @@ public class TrendServiceImpl implements TrendService {
abnormalCrossListVOList
.
sort
(
crossComparator
);
// 设置拥堵指数同比 环比
for
(
AbnormalCrossListVO
abnormalCrossListVO
:
abnormalCrossListVOList
)
{
String
crossId
=
abnormalCrossListVO
.
getId
();
Integer
batchTime
=
abnormalCrossListVO
.
getBatchTime
();
double
roundedTrafficIndex
=
Math
.
round
(
abnormalCrossListVO
.
getCongestionIndex
()
*
100.0
)
/
100.0
;
abnormalCrossListVO
.
setCongestionIndex
(
roundedTrafficIndex
);
// todo
//Double congestionIndex = abnormalCrossListVO.getCongestionIndex();
//double lastWeekIndex = getIndex(congestionIndex, crossId, batchTime - 604800);
//double lastPeriodIndex = getIndex(congestionIndex, crossId, batchTime - 300);
//abnormalCrossListVO.setLastWeekIndex(Math.floor(lastWeekIndex));
//abnormalCrossListVO.setLastPeriodIndex(Math.floor(lastPeriodIndex));
// 常发性偶发性 一个月内超过三次
int
frequent
=
getFrequent
(
crossId
,
batchTime
);
abnormalCrossListVO
.
setFrequent
(
frequent
);
}
//
for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) {
//
String crossId = abnormalCrossListVO.getId();
//
Integer batchTime = abnormalCrossListVO.getBatchTime();
//
//
double roundedTrafficIndex = Math.round(abnormalCrossListVO.getCongestionIndex() * 100.0) / 100.0;
//
abnormalCrossListVO.setCongestionIndex(roundedTrafficIndex);
//
// todo
//
//Double congestionIndex = abnormalCrossListVO.getCongestionIndex();
//
//double lastWeekIndex = getIndex(congestionIndex, crossId, batchTime - 604800);
//
//double lastPeriodIndex = getIndex(congestionIndex, crossId, batchTime - 300);
//
//abnormalCrossListVO.setLastWeekIndex(Math.floor(lastWeekIndex));
//
//abnormalCrossListVO.setLastPeriodIndex(Math.floor(lastPeriodIndex));
//
//
// 常发性偶发性 一个月内超过三次
//
int frequent = getFrequent(crossId, batchTime);
//
//
abnormalCrossListVO.setFrequent(frequent);
//
}
List
<
AbnormalCrossListVO
>
sorted
=
abnormalCrossListVOList
.
stream
().
sorted
(
Comparator
.
comparingDouble
(
AbnormalCrossListVO:
:
getTrafficIndex
).
reversed
()).
collect
(
Collectors
.
toList
());
abnormalCrossVO
.
setAbnormalCrossList
(
sorted
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/service/impl/StrategyControlServiceImpl.java
View file @
4782ba5b
...
...
@@ -349,6 +349,8 @@ public class StrategyControlServiceImpl implements StrategyControlService {
queryWrapper
.
eq
(
StrategyControlDataEntity:
:
getBizType
,
type
);
queryWrapper
.
le
(
StrategyControlDataEntity:
:
getScheduleStart
,
current
);
queryWrapper
.
ge
(
StrategyControlDataEntity:
:
getScheduleEnd
,
current
);
//queryWrapper.ge(StrategyControlDataEntity::getScheduleStart, current);
//queryWrapper.le(StrategyControlDataEntity::getScheduleEnd, current);
List
<
StrategyControlDataEntity
>
entities
=
strategyControlInfoMapper
.
selectList
(
queryWrapper
);
List
<
StrategyControlDataEntity
>
results
=
new
ArrayList
<>(
entities
.
size
());
for
(
StrategyControlDataEntity
entity
:
entities
)
{
...
...
@@ -410,11 +412,13 @@ public class StrategyControlServiceImpl implements StrategyControlService {
BeanUtils
.
copyProperties
(
strategyControlDataEntity
,
strategyControlDataExt
);
strategyControlDataExt
.
setStrategyName
(
StrategyControlEnum
.
getDesc
(
strategy
));
strategyControlDataExt
.
setOptMethod
(
StrategyControlEnum
.
getMethod
(
strategy
));
strategyControlDataExt
.
setOptStatus
(
"未优化"
);
if
(
StringUtils
.
isNotBlank
(
strategyControlDataEntity
.
getTime
()))
{
strategyControlDataExt
.
setOptStatus
(
"优化中"
);
strategyControlDataExts
.
add
(
strategyControlDataExt
);
}
}
// 路口无优化模式
if
(
Objects
.
equals
(
0
,
type
))
{
List
<
BaseCrossInfoPO
>
crossInfoCache
=
baseCrossInfoCache
.
getCrossInfoCache
();
if
(!
CollectionUtils
.
isEmpty
(
crossInfoCache
))
{
...
...
@@ -438,8 +442,25 @@ public class StrategyControlServiceImpl implements StrategyControlService {
}
}
}
// 干线无优化模式
if
(
Objects
.
equals
(
1
,
type
))
{
results
.
addAll
(
strategyControlDataExts
);
if
(
CollectionUtils
.
isEmpty
(
strategyControlDataExts
))
{
Map
<
Integer
,
GreenwaveInfoPO
>
greenWaveMap
=
GreenWaveInfoCache
.
greenWaveMap
;
for
(
Map
.
Entry
<
Integer
,
GreenwaveInfoPO
>
entry
:
greenWaveMap
.
entrySet
())
{
StrategyControlDataExt
ext
=
new
StrategyControlDataExt
();
ext
.
setStrategy
(
0
);
ext
.
setStrategyName
(
"无策略"
);
ext
.
setOptStatus
(
"未优化"
);
ext
.
setOptMethod
(
"效率提升"
);
ext
.
setStatus
(
0
);
ext
.
setWkt
(
entry
.
getValue
().
getWkt
());
ext
.
setCrossName
(
entry
.
getValue
().
getName
());
ext
.
setBizId
(
String
.
valueOf
(
entry
.
getKey
()));
results
.
add
(
ext
);
}
}
else
{
results
.
addAll
(
strategyControlDataExts
);
}
}
results
.
sort
(
Comparator
.
comparing
(
StrategyControlDataExt:
:
getOptStatus
));
return
jsonViewObject
.
success
(
results
,
"路网优化监测查询成功"
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/GreenBeltFlowStopTimeVO.java
View file @
4782ba5b
package
net
.
wanji
.
opt
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.opt.config.Double2TwoDecimalPlacesSerializer
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -30,8 +32,10 @@ public class GreenBeltFlowStopTimeVO {
@ApiModelProperty
(
"流量"
)
private
Integer
flow
;
@ApiModelProperty
(
"停车次数"
)
@JsonSerialize
(
using
=
Double2TwoDecimalPlacesSerializer
.
class
)
private
Double
stopTimes
;
@ApiModelProperty
(
"行程时间"
)
@JsonSerialize
(
using
=
Double2TwoDecimalPlacesSerializer
.
class
)
private
Double
travelTime
;
}
}
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