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
3d7d72bc
Commit
3d7d72bc
authored
Dec 06, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
d6d29ea4
951affee
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
380 additions
and
62 deletions
+380
-62
PlanSendController.java
...ain/java/net/wanji/web/controller/PlanSendController.java
+18
-1
PlanSendService.java
.../src/main/java/net/wanji/web/service/PlanSendService.java
+6
-5
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+21
-1
pom.xml
signal-optimize-service/pom.xml
+7
-0
GreenwaveHistRestServer.java
...ava/net/wanji/opt/controller/GreenwaveHistRestServer.java
+57
-1
GreenwaveHistoryMapper.java
...java/net/wanji/opt/dao/mapper/GreenwaveHistoryMapper.java
+16
-0
GreenwaveHistProvider.java
...ain/java/net/wanji/opt/service/GreenwaveHistProvider.java
+28
-5
GreenwaveHistProviderImpl.java
...net/wanji/opt/service/impl/GreenwaveHistProviderImpl.java
+83
-0
InducesMonitorTask.java
.../src/main/java/net/wanji/opt/task/InducesMonitorTask.java
+34
-29
GreenwaveHistMapper.xml
...service/src/main/resources/mapper/GreenwaveHistMapper.xml
+102
-20
CrossDataRealtimePO.java
...c/main/java/net/wanji/databus/po/CrossDataRealtimePO.java
+4
-0
CrossDirDataRealtimePO.java
...ain/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
+4
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/PlanSendController.java
View file @
3d7d72bc
...
@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
...
@@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
/**
* @author hanbing
* @author hanbing
* @date 2023/01/04 16:10
* @date 2023/01/04 16:10
...
@@ -124,7 +126,22 @@ public class PlanSendController {
...
@@ -124,7 +126,22 @@ public class PlanSendController {
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SaveSchemeConfigDTO
.
PhaseListElement
.
class
),
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SaveSchemeConfigDTO
.
PhaseListElement
.
class
),
})
})
public
JsonViewObject
phaseListByTimeSingleRing
(
@RequestBody
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
public
JsonViewObject
phaseListByTimeSingleRing
(
@RequestBody
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
RingPhasePO
ringPhasePO
=
planSendService
.
phaseListByTimeSingleRing
(
crossIdAndTimeDTO
);
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTime
=
planSendService
.
phaseListByTimeSingleRing
(
crossIdAndTimeDTO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
phaseListByTime
);
}
@AspectLog
(
description
=
"根据当前时间返回相位列表-方案优化对比"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"根据当前时间返回相位列表-方案优化对比)"
,
notes
=
"根据当前时间返回相位列表-方案优化对比"
)
@PostMapping
(
"/phaseListByTimeSingleRingNew"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SaveSchemeConfigDTO
.
PhaseListElement
.
class
),
})
public
JsonViewObject
phaseListByTimeSingleRingNew
(
@RequestBody
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
RingPhasePO
ringPhasePO
=
planSendService
.
phaseListByTimeSingleRingNew
(
crossIdAndTimeDTO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
ringPhasePO
);
return
jsonViewObject
.
success
(
ringPhasePO
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/PlanSendService.java
View file @
3d7d72bc
...
@@ -2,13 +2,12 @@ package net.wanji.web.service;
...
@@ -2,13 +2,12 @@ package net.wanji.web.service;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdsDTO
;
import
net.wanji.web.dto.*
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.po.RingPhasePO
;
import
net.wanji.web.po.RingPhasePO
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
java.util.List
;
/**
/**
* @author Kent HAN
* @author Kent HAN
* @date 2022/11/3 16:14
* @date 2022/11/3 16:14
...
@@ -32,7 +31,9 @@ public interface PlanSendService {
...
@@ -32,7 +31,9 @@ public interface PlanSendService {
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
RingPhasePO
phaseListByTimeSingleRing
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
// RingPhasePO phaseListByTimeSingleRing(CrossIdAndTimeDTO crossIdAndTimeDTO);
RingPhasePO
phaseListByTimeSingleRingNew
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTimeSingleRing
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
/**
/**
* 下发数据到utc数据库
* 下发数据到utc数据库
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/PlanSendServiceImpl.java
View file @
3d7d72bc
...
@@ -624,7 +624,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -624,7 +624,7 @@ public class PlanSendServiceImpl implements PlanSendService {
}
}
@Override
@Override
public
RingPhasePO
phaseListByTimeSingleRing
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
public
RingPhasePO
phaseListByTimeSingleRing
New
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
RingPhasePO
ringPhasePO
=
new
RingPhasePO
();
RingPhasePO
ringPhasePO
=
new
RingPhasePO
();
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
oriPhaseList
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
oriPhaseList
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
optPhaseList
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
optPhaseList
=
new
ArrayList
<>();
...
@@ -727,6 +727,26 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -727,6 +727,26 @@ public class PlanSendServiceImpl implements PlanSendService {
return
ringPhasePO
;
return
ringPhasePO
;
}
}
@Override
public
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTimeSingleRing
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseListByTime
=
new
ArrayList
<>();
PhaseListByTimeVO
phaseListByTimeVO
=
phaseListByTime
(
crossIdAndTimeDTO
);
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
=
phaseListByTimeVO
.
getPhaseScheme
();
if
(
phaseScheme
!=
null
)
{
List
<
SaveSchemeConfigDTO
.
RingListElement
>
ringList
=
phaseScheme
.
getRingList
();
SaveSchemeConfigDTO
.
RingListElement
ringListElement
=
ringList
.
get
(
0
);
List
<
SaveSchemeConfigDTO
.
GroupListElement
>
groupList
=
ringListElement
.
getGroupList
();
for
(
SaveSchemeConfigDTO
.
GroupListElement
groupListElement
:
groupList
)
{
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseList
=
groupListElement
.
getPhaseList
();
phaseListByTime
.
addAll
(
phaseList
);
}
}
return
phaseListByTime
;
}
private
PhaseListByTimeVO
getPhaseListByTimeVO
(
String
planName
,
Date
datetime
,
RunningPlanDTO
runningPlanDTO
,
private
PhaseListByTimeVO
getPhaseListByTimeVO
(
String
planName
,
Date
datetime
,
RunningPlanDTO
runningPlanDTO
,
CrossIdBO
crossIdBO
)
{
CrossIdBO
crossIdBO
)
{
PhaseListByTimeVO
phaseListByTimeVO
=
new
PhaseListByTimeVO
();
PhaseListByTimeVO
phaseListByTimeVO
=
new
PhaseListByTimeVO
();
...
...
signal-optimize-service/pom.xml
View file @
3d7d72bc
...
@@ -144,6 +144,13 @@
...
@@ -144,6 +144,13 @@
<artifactId>
commons-net
</artifactId>
<artifactId>
commons-net
</artifactId>
<version>
3.7
</version>
<version>
3.7
</version>
</dependency>
</dependency>
<!--swagger -start-->
<dependency>
<groupId>
com.github.xiaoymin
</groupId>
<artifactId>
knife4j-spring-boot-starter
</artifactId>
<version>
2.0.4
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controller/GreenwaveHistRestServer.java
View file @
3d7d72bc
...
@@ -101,7 +101,7 @@ public class GreenwaveHistRestServer {
...
@@ -101,7 +101,7 @@ public class GreenwaveHistRestServer {
}
}
@GetMapping
(
"/findUnCoordinateDirIndex"
)
@GetMapping
(
"/findUnCoordinateDirIndex"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"绿波非协调方向指标趋势"
,
notes
=
""
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"绿波非协调方向
->
指标趋势"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"13MOD0B5SI0"
),
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"13MOD0B5SI0"
),
@ApiImplicitParam
(
name
=
"greenDir"
,
value
=
"绿波协调方向,多个逗号分隔"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"5,7"
),
@ApiImplicitParam
(
name
=
"greenDir"
,
value
=
"绿波协调方向,多个逗号分隔"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"5,7"
),
...
@@ -126,4 +126,60 @@ public class GreenwaveHistRestServer {
...
@@ -126,4 +126,60 @@ public class GreenwaveHistRestServer {
return
jsonView
;
return
jsonView
;
}
}
@GetMapping
(
"/findGreenWaveCrossDirIndex"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"绿波路口方向级->分粒度指标趋势"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"13MOD0B5SI0"
),
@ApiImplicitParam
(
name
=
"groupType"
,
value
=
"时间粒度类型 1:15分钟粒度 2:30分钟粒度 3:小时粒度"
,
required
=
true
,
dataType
=
"Integer"
,
defaultValue
=
"1"
),
@ApiImplicitParam
(
name
=
"startTime"
,
value
=
"截止时间,格式:yyyy-MM-dd HH:mm:ss"
,
required
=
false
,
dataType
=
"String"
,
defaultValue
=
"2024-12-04 00:00:00"
),
@ApiImplicitParam
(
name
=
"endTime"
,
value
=
"截止时间,格式:yyyy-MM-dd HH:mm:ss"
,
required
=
false
,
dataType
=
"String"
,
defaultValue
=
"2024-12-05 00:00:00"
)
})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"成功"
,
response
=
GreenwaveHist
.
class
,
responseHeaders
=
{
@ResponseHeader
(
name
=
"Content-Type"
,
description
=
"application/json"
)})
})
public
JsonViewObject
findGreenWaveCrossDirIndex
(
String
crossId
,
String
startTime
,
String
endTime
,
String
groupType
)
{
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
try
{
JSONObject
list
=
greenwaveHistProvider
.
findGreenWaveCrossDirIndex
(
crossId
,
startTime
,
endTime
,
groupType
);
jsonView
.
success
(
list
);
}
catch
(
DubboProviderException
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} getAll error"
,
this
.
getClass
().
getSimpleName
(),
e
);
}
return
jsonView
;
}
@GetMapping
(
"/findGreenWaveCrossIndex"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"绿波路口级->分粒度指标趋势"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
"13MOD0B5SI0"
),
@ApiImplicitParam
(
name
=
"groupType"
,
value
=
"时间粒度类型 1:15分钟粒度 2:30分钟粒度 3:小时粒度"
,
required
=
true
,
dataType
=
"Integer"
,
defaultValue
=
"1"
),
@ApiImplicitParam
(
name
=
"startTime"
,
value
=
"截止时间,格式:yyyy-MM-dd HH:mm:ss"
,
required
=
false
,
dataType
=
"String"
,
defaultValue
=
"2024-12-04 00:00:00"
),
@ApiImplicitParam
(
name
=
"endTime"
,
value
=
"截止时间,格式:yyyy-MM-dd HH:mm:ss"
,
required
=
false
,
dataType
=
"String"
,
defaultValue
=
"2024-12-05 00:00:00"
)
})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"成功"
,
response
=
GreenwaveHist
.
class
,
responseHeaders
=
{
@ResponseHeader
(
name
=
"Content-Type"
,
description
=
"application/json"
)})
})
public
JsonViewObject
findGreenWaveCrossIndex
(
String
crossId
,
String
startTime
,
String
endTime
,
String
groupType
)
{
JsonViewObject
jsonView
=
JsonViewObject
.
newInstance
();
try
{
JSONObject
list
=
greenwaveHistProvider
.
findGreenWaveCrossIndex
(
crossId
,
startTime
,
endTime
,
groupType
);
jsonView
.
success
(
list
);
}
catch
(
DubboProviderException
e
)
{
jsonView
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} getAll error"
,
this
.
getClass
().
getSimpleName
(),
e
);
}
return
jsonView
;
}
}
}
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/GreenwaveHistoryMapper.java
View file @
3d7d72bc
...
@@ -2,6 +2,8 @@ package net.wanji.opt.dao.mapper;
...
@@ -2,6 +2,8 @@ package net.wanji.opt.dao.mapper;
import
net.wanji.common.framework.mapper.BaseInterfaceMapper
;
import
net.wanji.common.framework.mapper.BaseInterfaceMapper
;
import
net.wanji.databus.po.CrossDataHistPO
;
import
net.wanji.databus.po.CrossDirDataHistPO
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
java.util.List
;
import
java.util.List
;
...
@@ -37,5 +39,19 @@ public interface GreenwaveHistoryMapper extends BaseInterfaceMapper<GreenwaveHis
...
@@ -37,5 +39,19 @@ public interface GreenwaveHistoryMapper extends BaseInterfaceMapper<GreenwaveHis
*/
*/
List
<
GreenwaveHist
>
findUnCoordinateCrossIndex
(
Map
<
String
,
Object
>
params
);
List
<
GreenwaveHist
>
findUnCoordinateCrossIndex
(
Map
<
String
,
Object
>
params
);
/**
* 绿波路口方向级指标查询
* @param params
* @return
*/
List
<
CrossDirDataHistPO
>
findGreenWaveCrossDirIndex
(
Map
<
String
,
Object
>
params
);
/**
* 绿波路口级指标查询
* @param params
* @return
*/
List
<
CrossDataHistPO
>
findGreenWaveCrossIndex
(
Map
<
String
,
Object
>
params
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/GreenwaveHistProvider.java
View file @
3d7d72bc
...
@@ -3,6 +3,7 @@ package net.wanji.opt.service;
...
@@ -3,6 +3,7 @@ package net.wanji.opt.service;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
net.wanji.common.framework.dubbointerface.BaseDubboInterface
;
import
net.wanji.common.framework.dubbointerface.BaseDubboInterface
;
import
net.wanji.common.framework.exception.DubboProviderException
;
import
net.wanji.common.framework.exception.DubboProviderException
;
import
net.wanji.databus.po.CrossDirDataHistPO
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
java.util.List
;
import
java.util.List
;
...
@@ -18,7 +19,6 @@ import java.util.Map;
...
@@ -18,7 +19,6 @@ import java.util.Map;
*/
*/
public
interface
GreenwaveHistProvider
extends
BaseDubboInterface
<
GreenwaveHist
>
{
public
interface
GreenwaveHistProvider
extends
BaseDubboInterface
<
GreenwaveHist
>
{
/**
/**
*
* @param greenId
* @param greenId
* @param startTime
* @param startTime
* @param endTime
* @param endTime
...
@@ -30,6 +30,7 @@ public interface GreenwaveHistProvider extends BaseDubboInterface<GreenwaveHist>
...
@@ -30,6 +30,7 @@ public interface GreenwaveHistProvider extends BaseDubboInterface<GreenwaveHist>
/**
/**
* 干线路口信息
* 干线路口信息
*
* @param greenId
* @param greenId
* @return
* @return
* @throws DubboProviderException
* @throws DubboProviderException
...
@@ -38,13 +39,35 @@ public interface GreenwaveHistProvider extends BaseDubboInterface<GreenwaveHist>
...
@@ -38,13 +39,35 @@ public interface GreenwaveHistProvider extends BaseDubboInterface<GreenwaveHist>
/**
/**
* 非协调方向路口指标统计
* 非协调方向路口指标统计
* @param crossId 路口ID
*
* @param greenDir 协调方向
* @param crossId 路口ID
* @param greenDir 协调方向
* @param startTime 开始时间
* @param startTime 开始时间
* @param endTime 截止时间
* @param endTime 截止时间
* @return
*/
JSONObject
findUnCoordinateCrossIndex
(
String
crossId
,
String
greenDir
,
String
startTime
,
String
endTime
)
throws
DubboProviderException
;
/**
* 路口方向级不同时间粒度指标分析
* @param crossId
* @param startTime
* @param endTime
* @param groupType
* @return
* @return
* @throws DubboProviderException
*/
*/
JSONObject
find
UnCoordinateCrossIndex
(
String
crossId
,
String
greenDir
,
String
startTime
,
String
endTim
e
)
throws
DubboProviderException
;
JSONObject
find
GreenWaveCrossDirIndex
(
String
crossId
,
String
startTime
,
String
endTime
,
String
groupTyp
e
)
throws
DubboProviderException
;
/**
* 路口级不同时间粒度指标分析
* @param crossId
* @param startTime
* @param endTime
* @param groupType
* @return
* @throws DubboProviderException
*/
JSONObject
findGreenWaveCrossIndex
(
String
crossId
,
String
startTime
,
String
endTime
,
String
groupType
)
throws
DubboProviderException
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/GreenwaveHistProviderImpl.java
View file @
3d7d72bc
...
@@ -7,6 +7,8 @@ import net.wanji.common.framework.dubbointerface.impl.BaseDubboInterfaceImpl;
...
@@ -7,6 +7,8 @@ import net.wanji.common.framework.dubbointerface.impl.BaseDubboInterfaceImpl;
import
net.wanji.common.framework.exception.DubboProviderException
;
import
net.wanji.common.framework.exception.DubboProviderException
;
import
net.wanji.common.framework.mapper.BaseInterfaceMapper
;
import
net.wanji.common.framework.mapper.BaseInterfaceMapper
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.databus.po.CrossDataHistPO
;
import
net.wanji.databus.po.CrossDirDataHistPO
;
import
net.wanji.opt.dao.mapper.GreenwaveHistoryMapper
;
import
net.wanji.opt.dao.mapper.GreenwaveHistoryMapper
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
net.wanji.opt.entity.GreenwaveHist
;
import
net.wanji.opt.service.GreenwaveHistProvider
;
import
net.wanji.opt.service.GreenwaveHistProvider
;
...
@@ -163,4 +165,85 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
...
@@ -163,4 +165,85 @@ public class GreenwaveHistProviderImpl extends BaseDubboInterfaceImpl<GreenwaveH
}
}
@Override
public
JSONObject
findGreenWaveCrossDirIndex
(
String
crossId
,
String
startTime
,
String
endTime
,
String
groupType
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"crossId"
,
crossId
);
params
.
put
(
"startDate"
,
startTime
);
params
.
put
(
"endDate"
,
endTime
);
params
.
put
(
"groupType"
,
groupType
);
List
<
CrossDirDataHistPO
>
list
=
greenwaveHistoryMapper
.
findGreenWaveCrossDirIndex
(
params
);
list
=
list
.
stream
().
sorted
(
Comparator
.
comparing
(
o
->
o
.
getStartTime
())).
collect
(
Collectors
.
toList
());
//存放时段
Set
<
String
>
sortedSet
=
new
TreeSet
<>();
//存放所有进口数据
List
<
Map
<
String
,
Object
>>
allList
=
new
ArrayList
<>();
//按时间分组分组
Map
<
Integer
,
List
<
CrossDirDataHistPO
>>
groupByDir
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
o
->
o
.
getDirType
(),
TreeMap:
:
new
,
Collectors
.
toList
()));
List
<
Map
<
String
,
Object
>>
turnList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
Integer
,
List
<
CrossDirDataHistPO
>>
entry
:
groupByDir
.
entrySet
())
{
Integer
key
=
entry
.
getKey
();
//按方向排序
List
<
CrossDirDataHistPO
>
value
=
entry
.
getValue
().
stream
().
sorted
(
Comparator
.
comparing
(
o
->
o
.
getStartTime
())).
collect
(
Collectors
.
toList
());
Map
<
String
,
Object
>
mapList
=
new
HashMap
<>();
mapList
.
put
(
"direction"
,
key
);
mapList
.
put
(
"list"
,
value
);
allList
.
add
(
mapList
);
for
(
CrossDirDataHistPO
po
:
value
)
{
Map
<
String
,
Object
>
turnMap
=
new
HashMap
<>();
turnMap
.
put
(
"direction"
,
po
.
getDirType
());
if
(!
turnList
.
contains
(
turnMap
))
{
turnList
.
add
(
turnMap
);
}
//提取时间
sortedSet
.
add
(
DateUtil
.
formatDate
(
po
.
getStartTime
(),
"HH:mm"
));
}
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"timeList"
,
sortedSet
);
jsonObject
.
put
(
"dataList"
,
allList
);
jsonObject
.
put
(
"dirList"
,
groupByDir
.
keySet
());
return
jsonObject
;
}
@Override
public
JSONObject
findGreenWaveCrossIndex
(
String
crossId
,
String
startTime
,
String
endTime
,
String
groupType
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"crossId"
,
crossId
);
params
.
put
(
"startDate"
,
startTime
);
params
.
put
(
"endDate"
,
endTime
);
params
.
put
(
"groupType"
,
groupType
);
List
<
CrossDataHistPO
>
list
=
greenwaveHistoryMapper
.
findGreenWaveCrossIndex
(
params
);
list
=
list
.
stream
().
sorted
(
Comparator
.
comparing
(
o
->
o
.
getStartTime
())).
collect
(
Collectors
.
toList
());
//存放时段
Set
<
String
>
sortedSet
=
new
TreeSet
<>();
for
(
CrossDataHistPO
po
:
list
)
{
//提取时间
sortedSet
.
add
(
DateUtil
.
formatDate
(
po
.
getStartTime
(),
"HH:mm"
));
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"timeList"
,
sortedSet
);
jsonObject
.
put
(
"dataList"
,
list
);
return
jsonObject
;
}
}
}
signal-optimize-service/src/main/java/net/wanji/opt/task/InducesMonitorTask.java
View file @
3d7d72bc
...
@@ -38,6 +38,7 @@ import org.springframework.stereotype.Component;
...
@@ -38,6 +38,7 @@ import org.springframework.stereotype.Component;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalTime
;
import
java.time.LocalTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -171,12 +172,15 @@ public class InducesMonitorTask {
...
@@ -171,12 +172,15 @@ public class InducesMonitorTask {
LambdaQueryWrapper
<
GreenwaveInducesHist
>
greenwaveInducesHistQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
GreenwaveInducesHist
>
greenwaveInducesHistQueryWrapper
=
new
LambdaQueryWrapper
<>();
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getDir
,
getDir
(
greenOptHistEntity
.
getDir
()));
greenwaveInducesHistQueryWrapper
.
eq
(
GreenwaveInducesHist:
:
getDir
,
getDir
(
greenOptHistEntity
.
getDir
()));
GreenwaveInducesHist
greenwaveInducesHist
=
greenwaveInducesHistService
.
getOne
(
greenwaveInducesHistQueryWrapper
);
List
<
GreenwaveInducesHist
>
greenwaveInducesHistList
=
greenwaveInducesHistService
.
list
(
greenwaveInducesHistQueryWrapper
);
if
(
Objects
.
isNull
(
greenwaveInducesHist
))
{
GreenwaveInducesHist
greenwaveInducesHist
=
null
;
if
(
Objects
.
isNull
(
greenwaveInducesHistList
)
||
greenwaveInducesHistList
.
size
()<
1
)
{
greenwaveInducesHist
=
new
GreenwaveInducesHist
();
greenwaveInducesHist
=
new
GreenwaveInducesHist
();
greenwaveInducesHist
.
setCreateTime
(
new
Date
());
greenwaveInducesHist
.
setCreateTime
(
new
Date
());
greenwaveInducesHist
.
setGreenId
(
greenwaveInfoPO
.
getId
());
greenwaveInducesHist
.
setGreenId
(
greenwaveInfoPO
.
getId
());
greenwaveInducesHist
.
setDir
(
getDir
(
greenOptHistEntity
.
getDir
()));
greenwaveInducesHist
.
setDir
(
getDir
(
greenOptHistEntity
.
getDir
()));
}
else
{
greenwaveInducesHist
=
greenwaveInducesHistList
.
get
(
0
);
}
}
greenwaveInducesHist
.
setStrategyId
(
strategyId
.
get
());
greenwaveInducesHist
.
setStrategyId
(
strategyId
.
get
());
greenwaveInducesHist
.
setStrategyName
(
greenwaveInfoPO
.
getName
());
//当前策略名称
greenwaveInducesHist
.
setStrategyName
(
greenwaveInfoPO
.
getName
());
//当前策略名称
...
@@ -186,7 +190,7 @@ public class InducesMonitorTask {
...
@@ -186,7 +190,7 @@ public class InducesMonitorTask {
greenwaveInducesHist
.
setType
(
greenOptHistEntity
.
getType
());
// 执行策略
greenwaveInducesHist
.
setType
(
greenOptHistEntity
.
getType
());
// 执行策略
greenwaveInducesHist
.
setMinSpeed
(
greenOptHistEntity
.
getMinSpeed
());
greenwaveInducesHist
.
setMinSpeed
(
greenOptHistEntity
.
getMinSpeed
());
greenwaveInducesHist
.
setMaxSpeed
(
greenOptHistEntity
.
getMaxSpeed
());
greenwaveInducesHist
.
setMaxSpeed
(
greenOptHistEntity
.
getMaxSpeed
());
greenwaveInducesHist
.
setDir
(
greenOptHistEntity
.
getDirType
());
//
greenwaveInducesHist.setDir(greenOptHistEntity.getDirType());
//5、获取绿波信息,调用上屏服务;发布互联网诱导方案
//5、获取绿波信息,调用上屏服务;发布互联网诱导方案
//[{"crossId":"13MOD0B5SI0","phaseStartTime":32.0,"phaseEndTime":122.0,"greenStartTime":35.0,"speed":"39.71","offset":208.0,"travelTime":57.0,"distance":"628.81"},{"crossId":"13MQJ0B5SI0","phaseStartTime":43.0,"phaseEndTime":158.0,"greenStartTime":0.0,"speed":"35.54","offset":69.0,"travelTime":42.0,"distance":"414.62"},{"crossId":"13MS20B5SI0","phaseStartTime":32.0,"phaseEndTime":142.0,"greenStartTime":8.0,"speed":"22.72","offset":114.0,"travelTime":116.0,"distance":"732.00"},{"crossId":"13MUK0B5SH0","phaseStartTime":0.0,"phaseEndTime":135.0,"greenStartTime":0.0,"speed":"42.33","offset":50.0,"travelTime":45.0,"distance":"529.16"},{"crossId":"13N0F0B5SH0","phaseStartTime":25.0,"phaseEndTime":156.0,"greenStartTime":70.0,"speed":"40.67","offset":0.0,"travelTime":40.0,"distance":"451.89"},{"crossId":"13N200B5SH0","phaseStartTime":23.0,"phaseEndTime":150.0,"greenStartTime":0.0,"speed":"-1.00","offset":112.0,"travelTime":-1.0,"distance":"-1.00"}]
//[{"crossId":"13MOD0B5SI0","phaseStartTime":32.0,"phaseEndTime":122.0,"greenStartTime":35.0,"speed":"39.71","offset":208.0,"travelTime":57.0,"distance":"628.81"},{"crossId":"13MQJ0B5SI0","phaseStartTime":43.0,"phaseEndTime":158.0,"greenStartTime":0.0,"speed":"35.54","offset":69.0,"travelTime":42.0,"distance":"414.62"},{"crossId":"13MS20B5SI0","phaseStartTime":32.0,"phaseEndTime":142.0,"greenStartTime":8.0,"speed":"22.72","offset":114.0,"travelTime":116.0,"distance":"732.00"},{"crossId":"13MUK0B5SH0","phaseStartTime":0.0,"phaseEndTime":135.0,"greenStartTime":0.0,"speed":"42.33","offset":50.0,"travelTime":45.0,"distance":"529.16"},{"crossId":"13N0F0B5SH0","phaseStartTime":25.0,"phaseEndTime":156.0,"greenStartTime":70.0,"speed":"40.67","offset":0.0,"travelTime":40.0,"distance":"451.89"},{"crossId":"13N200B5SH0","phaseStartTime":23.0,"phaseEndTime":150.0,"greenStartTime":0.0,"speed":"-1.00","offset":112.0,"travelTime":-1.0,"distance":"-1.00"}]
// List<GreenBeltInfoVO.CrossGreenDetail> crossGreenDetailList = new ArrayList<>();
// List<GreenBeltInfoVO.CrossGreenDetail> crossGreenDetailList = new ArrayList<>();
...
@@ -195,8 +199,7 @@ public class InducesMonitorTask {
...
@@ -195,8 +199,7 @@ public class InducesMonitorTask {
// } catch (JsonProcessingException e) {
// } catch (JsonProcessingException e) {
// log.error("绿波详情转换失败:" + greenOptHistEntity.getGreenId() + "---" + e.getMessage());
// log.error("绿波详情转换失败:" + greenOptHistEntity.getGreenId() + "---" + e.getMessage());
// }
// }
//greenwaveInducesHistService.saveOrUpdate(greenwaveInducesHist);
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
////自动发送诱导消息
////自动发送诱导消息
MessageParam
messageParam
=
new
MessageParam
();
MessageParam
messageParam
=
new
MessageParam
();
messageParam
.
setFlg
(
1
);
messageParam
.
setFlg
(
1
);
...
@@ -204,7 +207,7 @@ public class InducesMonitorTask {
...
@@ -204,7 +207,7 @@ public class InducesMonitorTask {
messageParam
.
setContents
(
new
String
[]{
greenOptHistEntity
.
getMaxSpeed
()+
"-"
+
greenOptHistEntity
.
getMaxSpeed
()+
"km/h"
});
messageParam
.
setContents
(
new
String
[]{
greenOptHistEntity
.
getMaxSpeed
()+
"-"
+
greenOptHistEntity
.
getMaxSpeed
()+
"km/h"
});
messageParam
.
setType
(
"TFMH"
);
messageParam
.
setType
(
"TFMH"
);
try
{
try
{
if
(
greenwaveInducesHist
.
getStatus
()==
0
||
greenwaveInducesHist
.
getModifyTime
()
!=
greenOptHistEntity
.
getCreateTime
(
))
{
if
(
greenwaveInducesHist
.
getStatus
()==
0
||
greenwaveInducesHist
.
getModifyTime
()
.
before
(
greenOptHistEntity
.
getCreateTime
()
))
{
LambdaQueryWrapper
<
GreenwaveInduces
>
greenwaveInducesQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
GreenwaveInduces
>
greenwaveInducesQueryWrapper
=
new
LambdaQueryWrapper
<>();
greenwaveInducesQueryWrapper
.
eq
(
GreenwaveInduces:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
greenwaveInducesQueryWrapper
.
eq
(
GreenwaveInduces:
:
getGreenId
,
greenwaveInfoPO
.
getId
());
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
(
greenwaveInducesQueryWrapper
);
List
<
GreenwaveInduces
>
greenwaveInducesList
=
greenwaveInducesService
.
list
(
greenwaveInducesQueryWrapper
);
...
@@ -229,16 +232,16 @@ public class InducesMonitorTask {
...
@@ -229,16 +232,16 @@ public class InducesMonitorTask {
}
}
}
}
greenwaveInducesHist
.
setStatus
(
1
);
greenwaveInducesHist
.
setStatus
(
1
);
greenwaveInducesHist
.
setModifyTime
(
greenOptHistEntity
.
getCreateTime
());
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
}
}
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
catch
(
TemplateException
e
)
{
}
catch
(
TemplateException
e
)
{
log
.
info
(
"发送上屏信息异常"
+
e
.
getMessage
());
log
.
info
(
"发送上屏信息异常"
+
e
.
getMessage
());
}
}
greenwaveInducesHist
.
setModifyTime
(
greenOptHistEntity
.
getCreateTime
());
greenwaveInducesHistService
.
saveOrUpdate
(
greenwaveInducesHist
);
synCount
.
getAndIncrement
();
synCount
.
getAndIncrement
();
log
.
info
(
"同步绿波状态信息成功->"
+
greenwaveInfoPO
.
getName
());
log
.
info
(
"同步绿波状态信息成功->"
+
greenwaveInfoPO
.
getName
()
+
greenOptHistEntity
.
getDir
()
);
}
}
}
}
}
}
...
@@ -300,37 +303,39 @@ public class InducesMonitorTask {
...
@@ -300,37 +303,39 @@ public class InducesMonitorTask {
* @return
* @return
*/
*/
private
Integer
getDir
(
String
dirType
)
{
private
Integer
getDir
(
String
dirType
)
{
if
(
dirType
==
"e2w"
)
{
//东
if
(
dirType
.
equals
(
"e2w"
)
)
{
//东
return
4
;
return
4
;
}
else
if
(
dirType
==
"s2n"
)
{
//南
}
else
if
(
dirType
.
equals
(
"s2n"
)
)
{
//南
return
1
;
return
1
;
}
else
if
(
dirType
==
"w2e"
)
{
//西
}
else
if
(
dirType
.
equals
(
"w2e"
)
)
{
//西
return
2
;
return
2
;
}
else
if
(
dirType
==
"n2s"
)
{
//北
}
else
if
(
dirType
.
equals
(
"n2s"
)
)
{
//北
return
3
;
return
3
;
}
}
return
null
;
return
null
;
}
}
public
static
void
main
(
String
[]
args
){
public
static
void
main
(
String
[]
args
)
throws
ParseException
{
// 获取当前时间
// 获取当前时间
LocalTime
now
=
LocalTime
.
now
();
// LocalTime now = LocalTime.now();
List
<
String
>
timesList
=
new
ArrayList
();
// List<String> timesList=new ArrayList();
timesList
.
add
(
"00:00"
);
// timesList.add("00:00");
timesList
.
add
(
"23:59"
);
// timesList.add("23:59");
// 定义时间范围
// // 定义时间范围
LocalTime
startTime
=
LocalTime
.
parse
(
timesList
.
get
(
0
));
// LocalTime startTime = LocalTime.parse(timesList.get(0));
LocalTime
endTime
=
LocalTime
.
parse
(
timesList
.
get
(
1
));
// LocalTime endTime = LocalTime.parse(timesList.get(1));
//
// // 判断当前时间是否在范围内
// if (now.isAfter(startTime) && now.isBefore(endTime)) {
// System.out.println("当前时间在范围内: " + now);
// } else if (now.equals(startTime) || now.equals(endTime)) {
// System.out.println("当前时间恰好在范围边界: " + now);
// } else {
// System.out.println("当前时间不在范围内: " + now);
// }
// 判断当前时间是否在范围内
System
.
out
.
print
(
new
Date
().
before
(
DateUtil
.
parse
(
"2024-12-04"
,
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_DAY
)));
if
(
now
.
isAfter
(
startTime
)
&&
now
.
isBefore
(
endTime
))
{
System
.
out
.
println
(
"当前时间在范围内: "
+
now
);
}
else
if
(
now
.
equals
(
startTime
)
||
now
.
equals
(
endTime
))
{
System
.
out
.
println
(
"当前时间恰好在范围边界: "
+
now
);
}
else
{
System
.
out
.
println
(
"当前时间不在范围内: "
+
now
);
}
}
}
}
}
signal-optimize-service/src/main/resources/mapper/GreenwaveHistMapper.xml
View file @
3d7d72bc
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</sql>
</sql>
<!-- 绿波路口查询 -->
<!-- 绿波路口查询 -->
<select
id=
"findGreenCross"
resultType=
"map"
>
<select
id=
"findGreenCross"
resultType=
"map"
>
select a.green_id greenId, a.cross_id crossId, b.`name` crossName,a.in_dir inDir
select a.green_id greenId, a.cross_id crossId, b.`name` crossName,
a.in_dir inDir
from t_greenwave_cross a
from t_greenwave_cross a
join t_base_cross_info b on a.cross_id = b.id
join t_base_cross_info b on a.cross_id = b.id
where green_id = #{greenId}
where green_id = #{greenId}
...
@@ -68,27 +68,109 @@
...
@@ -68,27 +68,109 @@
<!-- 查看非协调方向路口指标 -->
<!-- 查看非协调方向路口指标 -->
<select
id=
"findUnCoordinateCrossIndex"
resultMap=
"BaseResultMap"
>
<select
id=
"findUnCoordinateCrossIndex"
resultMap=
"BaseResultMap"
>
SELECT
SELECT t.cross_id,
t.cross_id ,t.direction, MAX(t.queue_length) queue_length,round(avg(stop_times),2) stop_times,DATE_FORMAT(t.start_time,'%Y-%m-%d %H:%i:00') start_time
t.direction,
FROM
MAX(t.queue_length) queue_length,
(
round(avg(stop_times), 2) stop_times,
SELECT
DATE_FORMAT(t.start_time, '%Y-%m-%d %H:%i:00') start_time
cross_id,
FROM (
dir_type direction,
SELECT cross_id,
queue_length,
dir_type direction,
stop_times,
queue_length,
start_time
stop_times,
FROM
start_time
t_cross_dir_data_hist a
FROM t_cross_dir_data_hist a
WHERE
WHERE cross_id = #{crossId}
cross_id = #{crossId}
AND dir_type not in (#{greenDir})
AND dir_type not in (#{greenDir})
AND start_time BETWEEN #{startDate}
AND start_time BETWEEN #{startDate}
AND #{endDate}
AND #{endDate}
) t
) t
GROUP BY t.cross_id, DATE_FORMAT(start_time, '%Y-%m-%d %H:%i:00')
GROUP BY t.cross_id,DATE_FORMAT(start_time,'%Y-%m-%d %H:%i:00')
;
;
</select>
</select>
<!-- 绿波路口方向级指标趋势,支持按15分钟粒度、30分钟粒度、1小时粒度汇聚 -->
<select
id=
"findGreenWaveCrossDirIndex"
resultMap=
"net.wanji.databus.dao.mapper.CrossDirDataHistMapper.BaseResultMap"
>
SELECT MIN(start_time) start_time,
cross_id,
dir_type,
round(AVG(traffic_index),2),
SUM(flow) flow,
round(AVG(speed),2) speed,
MAX(queue_length) queue_length,
round(AVG(stop_times),2) stop_times,
round(AVG(delay_time),2) delay_time,
round(AVG(sturation),4) sturation
FROM
(
SELECT start_time,
(case
when #{groupType}=1 then CEIL(UNIX_TIMESTAMP(DATE_ADD(t.start_time,INTERVAL 5 MINUTE)) / 900)
when #{groupType}=2 then CEIL(UNIX_TIMESTAMP(DATE_ADD(t.start_time,INTERVAL 5 MINUTE)) / 1800)
when #{groupType}=3 then CEIL(UNIX_TIMESTAMP(DATE_ADD(t.start_time,INTERVAL 5 MINUTE)) / 3600)
end
) unit_time,
cross_id,
dir_type,
(traffic_index) traffic_index,
(flow) flow,
(speed) speed,
(queue_length) queue_length,
(stop_times) stop_times,
(delay_time) delay_time,
(sturation) sturation
FROM t_cross_dir_data_hist t
where 1=1
<if
test=
"crossId!=null and crossId !=''"
>
and cross_id = #{crossId}
</if>
<if
test=
"startDate !=null and endDate !=null"
>
AND start_time >= #{startDate} and start_time
<
#{endDate}
</if>
) t
GROUP BY t.cross_id,t.dir_type,unit_time
</select>
<!-- 绿波路口级指标趋势,支持按15分钟粒度、30分钟粒度、1小时粒度汇聚 -->
<select
id=
"findGreenWaveCrossIndex"
resultMap=
"net.wanji.databus.dao.mapper.CrossDataHistMapper.BaseResultMap"
>
SELECT MIN(start_time) start_time,
cross_id,
AVG(traffic_index),
SUM(flow) flow,
round(AVG(speed),2) speed,
MAX(queue_length) queue_length,
round(AVG(stop_times),2) stop_times,
round(AVG(delay_time),0) delay_time,
round(AVG(sturation),4) sturation
FROM
(
SELECT start_time,
(case
when #{groupType}=1 then CEIL(UNIX_TIMESTAMP(DATE_ADD(t.start_time,INTERVAL 5 MINUTE)) / 900)
when #{groupType}=2 then CEIL(UNIX_TIMESTAMP(DATE_ADD(t.start_time,INTERVAL 5 MINUTE)) / 1800)
when #{groupType}=3 then CEIL(UNIX_TIMESTAMP(DATE_ADD(t.start_time,INTERVAL 5 MINUTE)) / 3600)
end
) unit_time,
cross_id,
(traffic_index) traffic_index,
(flow) flow,
(speed) speed,
(queue_length) queue_length,
(stop_times) stop_times,
(delay_time) delay_time,
(sturation) sturation
FROM t_cross_data_hist t
where 1=1
<if
test=
"crossId!=null and crossId !=''"
>
and cross_id = #{crossId}
</if>
<if
test=
"startDate !=null and endDate !=null"
>
AND start_time >= #{startDate} and start_time
<
#{endDate}
</if>
) t
GROUP BY t.cross_id,unit_time
</select>
<!--新增操作 -->
<!--新增操作 -->
<insert
id=
"save"
parameterType=
"net.wanji.opt.entity.GreenwaveHist"
>
<insert
id=
"save"
parameterType=
"net.wanji.opt.entity.GreenwaveHist"
>
...
...
wj-databus/src/main/java/net/wanji/databus/po/CrossDataRealtimePO.java
View file @
3d7d72bc
package
net
.
wanji
.
databus
.
po
;
package
net
.
wanji
.
databus
.
po
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -42,6 +44,8 @@ public class CrossDataRealtimePO {
...
@@ -42,6 +44,8 @@ public class CrossDataRealtimePO {
* 开始时间:yyyy-MM-dd HH;mm:ss
* 开始时间:yyyy-MM-dd HH;mm:ss
*/
*/
@ApiModelProperty
(
value
=
"开始时间:yyyy-MM-dd HH:mm:ss"
,
notes
=
""
)
@ApiModelProperty
(
value
=
"开始时间:yyyy-MM-dd HH:mm:ss"
,
notes
=
""
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
startTime
;
private
Date
startTime
;
@ApiModelProperty
(
value
=
"结束时间:yyyy-MM-dd HH:mm:ss"
,
notes
=
""
)
@ApiModelProperty
(
value
=
"结束时间:yyyy-MM-dd HH:mm:ss"
,
notes
=
""
)
...
...
wj-databus/src/main/java/net/wanji/databus/po/CrossDirDataRealtimePO.java
View file @
3d7d72bc
package
net
.
wanji
.
databus
.
po
;
package
net
.
wanji
.
databus
.
po
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -30,6 +32,8 @@ public class CrossDirDataRealtimePO {
...
@@ -30,6 +32,8 @@ public class CrossDirDataRealtimePO {
@ApiModelProperty
(
name
=
"交通指数"
,
notes
=
""
)
@ApiModelProperty
(
name
=
"交通指数"
,
notes
=
""
)
public
Double
trafficIndex
;
public
Double
trafficIndex
;
@ApiModelProperty
(
name
=
"开始时间"
,
notes
=
""
)
@ApiModelProperty
(
name
=
"开始时间"
,
notes
=
""
)
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
Date
startTime
;
public
Date
startTime
;
@ApiModelProperty
(
name
=
"通行能力"
,
notes
=
""
)
@ApiModelProperty
(
name
=
"通行能力"
,
notes
=
""
)
public
Integer
capacity
;
public
Integer
capacity
;
...
...
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