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
81425054
Commit
81425054
authored
Dec 09, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 干线交通状态比例图
parent
5b09156f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
91 additions
and
0 deletions
+91
-0
TrendController.java
...c/main/java/net/wanji/opt/controller/TrendController.java
+12
-0
TrendService.java
...ice/src/main/java/net/wanji/opt/service/TrendService.java
+1
-0
TrendServiceImpl.java
...ain/java/net/wanji/opt/service/impl/TrendServiceImpl.java
+54
-0
GreenStatusTimeRateVO.java
...src/main/java/net/wanji/opt/vo/GreenStatusTimeRateVO.java
+24
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controller/TrendController.java
View file @
81425054
...
...
@@ -278,6 +278,18 @@ public class TrendController {
}
@ApiOperation
(
value
=
"干线交通状态"
,
notes
=
"干线交通状态"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@GetMapping
(
value
=
"/greenStatusTimeRate"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CrossStatusTimeRateVO
.
class
),
})
public
JsonViewObject
greenStatusTimeRate
(
Integer
greenId
)
throws
Exception
{
GreenStatusTimeRateVO
crossStatusTimeRateVO
=
trendService
.
greenStatusTimeRate
(
greenId
);
return
JsonViewObject
.
newInstance
().
success
(
crossStatusTimeRateVO
);
}
@ApiOperation
(
value
=
"车道交通指标"
,
notes
=
"车道交通指标"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/laneTrafficIndex"
,
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/TrendService.java
View file @
81425054
...
...
@@ -59,6 +59,7 @@ public interface TrendService {
List
<
Top5IndexVO
>
top5Flow
()
throws
Exception
;
CrossStatusTimeRateVO
crossStatusTimeRate
(
CommonCrossIdVO
commonCrossIdVO
)
throws
Exception
;
GreenStatusTimeRateVO
greenStatusTimeRate
(
Integer
greenId
)
throws
Exception
;
List
<
TableQueryVO
.
CycleDataElement
>
laneTrafficIndex
(
CommonCrossIdDateTimeVO
crossIdDateTimeVO
)
throws
Exception
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/TrendServiceImpl.java
View file @
81425054
...
...
@@ -1948,6 +1948,60 @@ public class TrendServiceImpl implements TrendService {
return
hotspotCrossVOS
;
}
@Override
public
GreenStatusTimeRateVO
greenStatusTimeRate
(
Integer
greenId
)
throws
Exception
{
try
{
GreenStatusTimeRateVO
greenStatusTimeRateVO
=
new
GreenStatusTimeRateVO
();
Date
date
=
new
Date
();
long
time
=
date
.
getTime
()
/
1000
;
Instant
instant
=
Instant
.
ofEpochSecond
(
time
);
LocalDateTime
localDateTime
=
LocalDateTime
.
ofInstant
(
instant
,
ZoneId
.
of
(
"+8"
));
// 00:00
LocalDateTime
startOfDay
=
localDateTime
.
withHour
(
0
).
withMinute
(
0
).
withSecond
(
0
);
int
startBatchTime
=
Long
.
valueOf
(
Date
.
from
(
startOfDay
.
atZone
(
ZoneId
.
of
(
"+8"
)).
toInstant
()).
getTime
()
/
1000
).
intValue
();
// 23:59
LocalDateTime
endOfDay
=
startOfDay
.
plus
(
1
,
ChronoUnit
.
DAYS
).
minus
(
1
,
ChronoUnit
.
SECONDS
);
int
endBatchTime
=
Long
.
valueOf
(
Date
.
from
(
endOfDay
.
atZone
(
ZoneId
.
of
(
"+8"
)).
toInstant
()).
getTime
()
/
1000
).
intValue
();
LambdaQueryWrapper
<
GreenwaveHistPO
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
GreenwaveHistPO:
:
getGreenId
,
greenId
);
queryWrapper
.
ge
(
GreenwaveHistPO:
:
getBatchTime
,
startBatchTime
);
queryWrapper
.
le
(
GreenwaveHistPO:
:
getBatchTime
,
endBatchTime
);
List
<
GreenwaveHistPO
>
greenwaveHistPOS
=
greenwaveHistMapper
.
selectList
(
queryWrapper
);
if
(!
CollectionUtils
.
isEmpty
(
greenwaveHistPOS
))
{
int
size
=
greenwaveHistPOS
.
size
();
int
unblockedTimeRate
=
0
;
int
slowTimeRate
=
0
;
int
congestionTimeRate
=
0
;
for
(
GreenwaveHistPO
greenwaveHistPO
:
greenwaveHistPOS
)
{
Integer
status
=
greenwaveHistPO
.
getStatus
();
if
(
status
==
1
||
status
==
5
)
{
unblockedTimeRate
+=
1
;
}
if
(
status
==
2
)
{
slowTimeRate
+=
1
;
}
if
(
status
==
3
||
status
==
4
)
{
congestionTimeRate
+=
1
;
}
}
greenStatusTimeRateVO
.
setUnblockedTimeRate
(
getRate
(
unblockedTimeRate
,
size
));
greenStatusTimeRateVO
.
setSlowTimeRate
(
getRate
(
slowTimeRate
,
size
));
greenStatusTimeRateVO
.
setCongestionTimeRate
(
getRate
(
congestionTimeRate
,
size
));
}
return
greenStatusTimeRateVO
;
}
catch
(
Exception
e
)
{
log
.
error
(
"干线运行状态监测异常: "
,
e
);
throw
new
RuntimeException
(
e
);
}
}
private
int
getRate
(
int
count
,
int
size
)
{
float
temp
=
count
/
(
float
)
size
*
100
;
temp
=
temp
<
1
?
0
:
temp
;
int
rate
=
Math
.
round
(
temp
);
return
rate
;
}
@Override
public
CrossStatusTimeRateVO
crossStatusTimeRate
(
CommonCrossIdVO
commonCrossIdVO
)
throws
Exception
{
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/GreenStatusTimeRateVO.java
0 → 100644
View file @
81425054
package
net
.
wanji
.
opt
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author duanruiming
* @date 2024/12/09 15:00
*/
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"GreenStatusTimeRateVO"
)
public
class
GreenStatusTimeRateVO
{
@ApiModelProperty
(
value
=
"干线ID"
)
private
Integer
greenId
;
@ApiModelProperty
(
value
=
"干线拥堵"
)
private
int
congestionTimeRate
;
@ApiModelProperty
(
value
=
"干线缓行"
)
private
int
slowTimeRate
;
@ApiModelProperty
(
value
=
"干线畅通"
)
private
int
unblockedTimeRate
;
}
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