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
f1afad27
Commit
f1afad27
authored
Nov 22, 2022
by
wuxiaokai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
控制指令接口-相位配时下发
parent
473b1826
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
384 additions
and
34 deletions
+384
-34
ControlCommandController.java
...va/net/wanji/utc/controller/ControlCommandController.java
+67
-17
ControlCommandService.java
...ain/java/net/wanji/utc/service/ControlCommandService.java
+13
-5
HKControlCommandServiceImpl.java
...t/wanji/utc/service/impl/HKControlCommandServiceImpl.java
+72
-10
PhaseLockVO.java
...c-service/src/main/java/net/wanji/utc/vo/PhaseLockVO.java
+2
-2
FixedLightGroupVo.java
...ain/java/net/wanji/utc/vo/timeplan/FixedLightGroupVo.java
+24
-0
Pdirection.java
...e/src/main/java/net/wanji/utc/vo/timeplan/Pdirection.java
+23
-0
Phase.java
...ervice/src/main/java/net/wanji/utc/vo/timeplan/Phase.java
+64
-0
Ring.java
...service/src/main/java/net/wanji/utc/vo/timeplan/Ring.java
+21
-0
Step.java
...service/src/main/java/net/wanji/utc/vo/timeplan/Step.java
+20
-0
TimePlanVO.java
...e/src/main/java/net/wanji/utc/vo/timeplan/TimePlanVO.java
+56
-0
Vdirection.java
...e/src/main/java/net/wanji/utc/vo/timeplan/Vdirection.java
+22
-0
No files found.
signal-utc-service/src/main/java/net/wanji/utc/controller/ControlCommandController.java
View file @
f1afad27
...
...
@@ -10,14 +10,16 @@ import net.wanji.utc.mapper.CrossInfoMapper;
import
net.wanji.utc.po.CrossInfoPO
;
import
net.wanji.utc.service.ControlCommandService
;
import
net.wanji.utc.util.ListUtil
;
import
net.wanji.utc.vo.PhaseLock
;
import
net.wanji.utc.vo.PhaseLock
VO
;
import
net.wanji.utc.vo.plansend.PlanSendVO
;
import
net.wanji.utc.vo.timeplan.TimePlanVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
import
static
net
.
wanji
.
utc
.
common
.
ResultEnum
.
BODY_NOT_MATCH
;
...
...
@@ -49,7 +51,9 @@ public class ControlCommandController {
@ApiOperation
(
value
=
"方案下发-基础方案下发"
,
notes
=
"方案下发-基础方案下发"
)
@PostMapping
(
"/schemeSend"
)
public
<
T
>
Result
<
T
>
schemeSend
(
@RequestParam
String
signalId
,
@RequestParam
Integer
command
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
Integer
manufacturerId
=
check
(
signalId
);
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
allRedControl
(
signalId
,
null
,
null
,
command
);
...
...
@@ -59,6 +63,40 @@ public class ControlCommandController {
}
}
/**
* 相位配时下发
*
* @param signalId 信号id
* @param timePlans 配时方案实体类
* @return {@link Result}<{@link T}>
*/
@ApiOperation
(
value
=
"相位配时下发-相位的绿灯、绿闪、行闪、黄灯、红灯配时下发"
,
notes
=
"相位配时下发-相位的绿灯、绿闪、行闪、黄灯、红灯配时下发"
)
@PostMapping
(
"/phaseTimingSend"
)
public
<
T
>
Result
<
T
>
phaseTimingSend
(
@RequestParam
String
signalId
,
@RequestBody
List
<
TimePlanVO
>
timePlans
)
{
if
(
mock
)
{
return
Result
.
success
();
}
CrossInfoPO
crossInfoPo
=
crossInfoMapper
.
selectByCode
(
signalId
);
if
(
crossInfoPo
==
null
)
{
throw
new
ControlException
(
BODY_NOT_MATCH
.
getResultCode
(),
"参数错误,信号机ID不正确。"
);
}
if
(
ListUtil
.
isEmpty
(
timePlans
))
{
throw
new
ControlException
(
"参数错误,下发方案信息为空。"
);
}
//开启适配服务
for
(
TimePlanVO
timePlanVo
:
timePlans
)
{
timePlanVo
.
setCode
(
crossInfoPo
.
getCode
());
timePlanVo
.
setManufacturerAbbr
(
crossInfoPo
.
getManufacturerId
()
+
""
);
}
Integer
manufacturerId
=
crossInfoPo
.
getManufacturerId
();
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
phaseTimingSend
(
timePlans
);
}
else
{
// todo else
return
null
;
}
}
/**
* 计划下发
*
...
...
@@ -69,15 +107,17 @@ public class ControlCommandController {
@ApiOperation
(
value
=
"计划下发-计划信息、时段信息"
,
notes
=
"计划下发-计划信息、时段信息"
)
@PostMapping
(
"/planSend"
)
public
<
T
>
Result
<
T
>
planSend
(
@RequestParam
String
signalId
,
@RequestBody
PlanSendVO
planSendVO
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
try
{
CrossInfoPO
crossInfoP
O
=
crossInfoMapper
.
selectByCode
(
signalId
);
if
(
crossInfoP
O
==
null
)
{
CrossInfoPO
crossInfoP
o
=
crossInfoMapper
.
selectByCode
(
signalId
);
if
(
crossInfoP
o
==
null
)
{
throw
new
ControlException
(
BODY_NOT_MATCH
.
getResultCode
(),
"参数错误,信号机ID不正确。"
);
}
planSendVO
.
setCode
(
crossInfoP
O
.
getCode
());
planSendVO
.
setManufacturerAbbr
(
crossInfoP
O
.
getManufacturerId
()
+
""
);
Integer
manufacturerId
=
crossInfoP
O
.
getManufacturerId
();
planSendVO
.
setCode
(
crossInfoP
o
.
getCode
());
planSendVO
.
setManufacturerAbbr
(
crossInfoP
o
.
getManufacturerId
()
+
""
);
Integer
manufacturerId
=
crossInfoP
o
.
getManufacturerId
();
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
planSend
(
planSendVO
);
}
else
{
...
...
@@ -101,7 +141,9 @@ public class ControlCommandController {
@ApiOperation
(
value
=
"全红控制-路口全红控制/恢复"
,
notes
=
"全红控制-路口全红控制/恢复"
)
@PostMapping
(
"/allRedControl"
)
public
<
T
>
Result
<
T
>
allRedControl
(
@RequestParam
String
signalId
,
@RequestParam
Integer
command
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
Integer
manufacturerId
=
check
(
signalId
);
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
allRedControl
(
signalId
,
null
,
null
,
command
);
...
...
@@ -121,7 +163,9 @@ public class ControlCommandController {
@ApiOperation
(
value
=
"黄闪控制-路口黄闪控制/恢复"
,
notes
=
"黄闪控制-路口黄闪控制/恢复"
)
@PostMapping
(
"/yellowLightControl"
)
public
<
T
>
Result
<
T
>
yellowLightControl
(
@RequestParam
String
signalId
,
@RequestParam
Integer
command
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
Integer
manufacturerId
=
check
(
signalId
);
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
yellowLightControl
(
signalId
,
null
,
null
,
command
);
...
...
@@ -141,7 +185,9 @@ public class ControlCommandController {
@ApiOperation
(
value
=
"关灯控制-路口关灯控制/开灯"
,
notes
=
"关灯控制-路口关灯控制/开灯"
)
@PostMapping
(
"/closeLightControl"
)
public
<
T
>
Result
<
T
>
closeLightControl
(
@RequestParam
String
signalId
,
@RequestParam
Integer
command
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
Integer
manufacturerId
=
check
(
signalId
);
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
closeLightControl
(
signalId
,
null
,
null
,
command
);
...
...
@@ -164,7 +210,9 @@ public class ControlCommandController {
public
<
T
>
Result
<
T
>
stepControl
(
@RequestParam
String
signalId
,
@RequestParam
Integer
command
,
@RequestParam
int
stepNum
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
Integer
manufacturerId
=
check
(
signalId
);
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
stepControl
(
signalId
,
null
,
null
,
command
,
stepNum
);
...
...
@@ -183,7 +231,9 @@ public class ControlCommandController {
@ApiOperation
(
value
=
"恢复时间表-恢复路口时间表执行"
,
notes
=
"恢复时间表-恢复路口时间表执行"
)
@PostMapping
(
"/scheduleSend"
)
public
<
T
>
Result
<
T
>
scheduleSend
(
@RequestParam
String
signalId
)
{
if
(
mock
)
return
Result
.
success
();
if
(
mock
)
{
return
Result
.
success
();
}
Integer
manufacturerId
=
check
(
signalId
);
if
(
manufacturerId
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
()))
{
return
hkControlCommandService
.
scheduleSend
(
signalId
,
null
,
null
,
null
);
...
...
@@ -201,7 +251,7 @@ public class ControlCommandController {
*/
@ApiOperation
(
value
=
"锁定控制-相位锁定/解锁"
,
notes
=
"锁定控制-相位锁定/解锁"
)
@PostMapping
(
"/lockControl"
)
public
<
T
>
Result
<
T
>
lockControl
(
@RequestParam
String
signalId
,
@RequestBody
PhaseLock
phaseLock
)
{
public
<
T
>
Result
<
T
>
lockControl
(
@RequestParam
String
signalId
,
@RequestBody
PhaseLock
VO
phaseLock
)
{
if
(
mock
)
{
return
Result
.
success
();
}
...
...
@@ -220,10 +270,10 @@ public class ControlCommandController {
}
private
Integer
check
(
String
signalId
)
{
CrossInfoPO
crossInfoP
O
=
crossInfoMapper
.
selectByCode
(
signalId
);
if
(
crossInfoP
O
==
null
)
{
CrossInfoPO
crossInfoP
o
=
crossInfoMapper
.
selectByCode
(
signalId
);
if
(
crossInfoP
o
==
null
)
{
throw
new
ControlException
(
BODY_NOT_MATCH
.
getResultCode
(),
"参数错误,信号机ID不正确。"
);
}
return
crossInfoP
O
.
getManufacturerId
();
return
crossInfoP
o
.
getManufacturerId
();
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/ControlCommandService.java
View file @
f1afad27
package
net
.
wanji
.
utc
.
service
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.vo.PhaseLock
;
import
net.wanji.utc.vo.PhaseLock
VO
;
import
net.wanji.utc.vo.plansend.PlanSendVO
;
import
net.wanji.utc.vo.timeplan.TimePlanVO
;
import
java.util.List
;
...
...
@@ -21,6 +22,10 @@ public interface ControlCommandService {
/**
* 计划下发
*
* @param planSendVO 计划下发VO
* @return {@link Result}<{@link T}>
* @throws Exception 异常
*/
<
T
>
Result
<
T
>
planSend
(
PlanSendVO
planSendVO
)
throws
Exception
;
...
...
@@ -36,7 +41,7 @@ public interface ControlCommandService {
* @param phaseLock 相位锁定实体类
* @return {@link Result}<{@link T}>
*/
<
T
>
Result
<
T
>
lockControl
(
String
signalId
,
PhaseLock
phaseLock
)
throws
Exception
;
<
T
>
Result
<
T
>
lockControl
(
String
signalId
,
PhaseLock
VO
phaseLock
)
throws
Exception
;
/**
* 步进控制
...
...
@@ -96,8 +101,11 @@ public interface ControlCommandService {
/**
* 相位配时下发
*
* @param timePlans 批量下发的配时数据
* @return {@link Result}<{@link T}>
*/
<
T
>
Result
<
T
>
phaseTimingSend
();
<
T
>
Result
<
T
>
phaseTimingSend
(
List
<
TimePlanVO
>
timePlans
);
/**
* 相位差下发
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/impl/HKControlCommandServiceImpl.java
View file @
f1afad27
...
...
@@ -8,20 +8,21 @@ import com.hikvision.artemis.sdk.config.ArtemisConfig;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.common.baseentity.BaseCrossInfo
;
import
net.wanji.utc.common.constant.Constants
;
import
net.wanji.utc.common.exception.ControlException
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.entity.SignalRunring
;
import
net.wanji.utc.mapper.CrossPhaseMapper
;
import
net.wanji.utc.po.CrossPhasePO
;
import
net.wanji.utc.service.ControlCommandService
;
import
net.wanji.utc.service.HkGetSignalMethodService
;
import
net.wanji.utc.vo.PhaseLock
;
import
net.wanji.utc.vo.PhaseLock
VO
;
import
net.wanji.utc.vo.plansend.PlanSendVO
;
import
net.wanji.utc.vo.plansend.SectionPlan
;
import
net.wanji.utc.vo.plansend.TimeSlice
;
import
net.wanji.utc.vo.signal.SignalLightStateVo
;
import
net.wanji.utc.vo.signal.SignalRingVo
;
import
net.wanji.utc.vo.timeplan.Phase
;
import
net.wanji.utc.vo.timeplan.Ring
;
import
net.wanji.utc.vo.timeplan.TimePlanVO
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
...
...
@@ -68,7 +69,7 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
}
@Override
public
<
T
>
Result
<
T
>
lockControl
(
String
signalId
,
PhaseLock
phaseLock
)
throws
Exception
{
public
<
T
>
Result
<
T
>
lockControl
(
String
signalId
,
PhaseLock
VO
phaseLock
)
throws
Exception
{
if
(
phaseLock
.
getCommand
().
equals
(
TRUE
))
{
return
updateManualLock
(
signalId
,
phaseLock
.
getLockTime
());
}
else
{
...
...
@@ -91,7 +92,6 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
* 控制命令为灯态锁定时,设置相关车道参数信息
*
* @param signalId, 信号机id
* @param obj
*/
private
void
setSignalControlLaneInfos
(
String
signalId
,
JSONObject
obj
)
throws
Exception
{
//获取当前运行方案的相位id
...
...
@@ -140,7 +140,7 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
@Override
public
<
T
>
Result
<
T
>
stepControl
(
String
signalId
,
String
sourceType
,
String
signalType
,
Integer
command
,
Integer
stepNum
)
{
if
(
command
.
equals
(
TRUE
))
{
return
updateManualStep
(
signalId
,
STEP_CONTROL
,
stepNum
);
return
updateManualStep
(
signalId
,
stepNum
);
}
else
{
return
controlSignal
(
signalId
,
CANCEL_STEP_CONTROL
);
}
...
...
@@ -170,8 +170,70 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
}
@Override
public
<
T
>
Result
<
T
>
phaseTimingSend
()
{
return
null
;
public
<
T
>
Result
<
T
>
phaseTimingSend
(
List
<
TimePlanVO
>
timePlans
)
{
try
{
for
(
TimePlanVO
timePlanVo
:
timePlans
)
{
if
(!
phaseTimingSend
(
timePlanVo
))
{
//发送失败
log
.
error
(
"批量下发配时方案信息到路口信号机或信号系统中异常!"
);
throw
new
ControlException
(
"批量下发配时方案信息到路口信号机或信号系统中异常!"
);
}
//暂停1秒
Thread
.
sleep
(
1000
);
}
return
Result
.
success
();
}
catch
(
InterruptedException
e
)
{
log
.
error
(
"批量配时方案下发-->线程等待异常!{}"
,
e
.
getMessage
());
throw
new
ControlException
(
"批量配时方案下发-->线程等待异常!"
);
}
}
private
boolean
phaseTimingSend
(
TimePlanVO
timePlan
)
{
try
{
//获取某一路口下海康相位和车道关系
Map
<
Integer
,
JSONArray
>
laneArrayMap
=
new
HashMap
<>();
getPhaseRelationLanes
(
timePlan
.
getCode
(),
laneArrayMap
,
new
HashMap
<>());
//拼接参数
JSONObject
bodyObjectParam
=
new
JSONObject
();
JSONArray
patternArrayParam
=
new
JSONArray
();
JSONObject
patternObjectParam
=
new
JSONObject
();
patternObjectParam
.
put
(
"patternNo"
,
timePlan
.
getTimePlanId
());
patternObjectParam
.
put
(
"offSet"
,
timePlan
.
getOffset
());
patternObjectParam
.
put
(
"cycle"
,
timePlan
.
getCycleLen
());
List
<
Ring
>
ringList
=
timePlan
.
getRings
();
JSONArray
ringsArrayParam
=
new
JSONArray
();
for
(
Ring
ring
:
ringList
)
{
List
<
Phase
>
phaseList
=
ring
.
getPhases
();
JSONArray
phaseArrayParam
=
new
JSONArray
();
for
(
Phase
phase
:
phaseList
)
{
JSONObject
phaseObjectParam
=
new
JSONObject
();
phaseObjectParam
.
put
(
"phaseNo"
,
phase
.
getPhaseId
());
phaseObjectParam
.
put
(
"phaseName"
,
phase
.
getPhaseName
());
phaseObjectParam
.
put
(
"phaseLength"
,
phase
.
getPhaseTime
());
phaseObjectParam
.
put
(
"phaseSequence"
,
phase
.
getPhaseOrderId
());
//车道列表参数,适配海康车道参数
if
(
laneArrayMap
.
containsKey
(
Integer
.
valueOf
(
phase
.
getPhaseId
())))
{
phaseObjectParam
.
put
(
"lanes"
,
laneArrayMap
.
get
(
Integer
.
valueOf
(
phase
.
getPhaseId
())));
}
phaseArrayParam
.
add
(
phaseObjectParam
);
}
JSONObject
ringObjectParam
=
new
JSONObject
();
ringObjectParam
.
put
(
"ringNo"
,
ring
.
getRingNo
());
ringObjectParam
.
put
(
"phaseList"
,
phaseArrayParam
);
ringsArrayParam
.
add
(
ringObjectParam
);
}
patternObjectParam
.
put
(
"rings"
,
ringsArrayParam
);
patternArrayParam
.
add
(
patternObjectParam
);
bodyObjectParam
.
put
(
"crossCode"
,
timePlan
.
getCode
());
bodyObjectParam
.
put
(
"patternList"
,
patternArrayParam
);
//获取下发配时方案的url
String
strResult
=
ArtemisHttpUtil
.
doPostStringArtemis
(
artemisConfig
,
getPathMapByApiCode
(
"updateTimePlans"
),
bodyObjectParam
.
toJSONString
(),
null
,
null
,
"application/json"
,
null
);
JSONObject
object
=
JSON
.
parseObject
(
strResult
);
return
HK_SUCCESS_CODE
.
equals
(
object
.
getInteger
(
HK_CODE_KEY
));
}
catch
(
Exception
e
)
{
log
.
error
(
"系统繁忙,服务器端内部错误!"
,
e
);
throw
new
ControlException
(
"系统繁忙,服务器端内部错误!"
);
}
}
@Override
...
...
@@ -179,10 +241,10 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
return
null
;
}
private
<
T
>
Result
<
T
>
updateManualStep
(
String
signalId
,
Integer
runningMode
,
Integer
stepNum
)
{
private
<
T
>
Result
<
T
>
updateManualStep
(
String
signalId
,
Integer
stepNum
)
{
JSONObject
bodyObjectParam
=
new
JSONObject
();
bodyObjectParam
.
put
(
"crossCode"
,
signalId
);
bodyObjectParam
.
put
(
"controlType"
,
runningMode
);
bodyObjectParam
.
put
(
"controlType"
,
STEP_CONTROL
);
int
controlNo
=
0
;
if
(
0
!=
stepNum
)
{
//根据当前实时灯态获取运行的相位
...
...
signal-utc-service/src/main/java/net/wanji/utc/vo/PhaseLock.java
→
signal-utc-service/src/main/java/net/wanji/utc/vo/PhaseLock
VO
.java
View file @
f1afad27
...
...
@@ -11,8 +11,8 @@ import lombok.Data;
* @date 2022/11/15 15:05:57
*/
@Data
@ApiModel
(
value
=
"PhaseLock"
,
description
=
"相位锁定实体类"
)
public
class
PhaseLock
{
@ApiModel
(
value
=
"PhaseLock
VO
"
,
description
=
"相位锁定实体类"
)
public
class
PhaseLock
VO
{
/**
* 相位编号
...
...
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/FixedLightGroupVo.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author hfx
* @version 1.0
* Created on 2019/7/15 10:28
* @description: [固定灯色灯组方案下发]
*/
@Data
@ApiModel
(
value
=
"FixedLightGroupVo"
,
description
=
"固定灯色灯组实体"
)
public
class
FixedLightGroupVo
{
//灯组编号
@ApiModelProperty
(
value
=
"灯组编号,逗号分隔"
)
private
String
lightGroupNo
;
//固定灯色
@ApiModelProperty
(
value
=
"固定灯色"
)
private
Integer
color
;
}
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/Pdirection.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
/**
* @author hfx
* @version 1.0
* @Description: [行人方向]
* Created on 2019/4/19 17:20
*/
@Data
@ApiModel
(
value
=
"Pdirection"
,
description
=
"行人方向"
)
public
class
Pdirection
{
//方向
private
Integer
direction
;
private
Integer
second
;
private
Integer
inoutType
;
}
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/Phase.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author hfx
* @version 1.0
* @Description: [相位数据实体]
* Created on 2019/4/19 16:56
*/
@Data
@ApiModel
(
value
=
"Phase"
,
description
=
"相位数据实体"
)
public
class
Phase
{
//相位编号
@ApiModelProperty
(
value
=
"相位编号"
)
private
String
phaseId
;
//相位名称
@ApiModelProperty
(
value
=
"相位名称"
)
private
String
phaseName
;
//相位描述
@ApiModelProperty
(
value
=
"相位描述"
)
private
String
phaseDesc
;
//相位顺序号
@ApiModelProperty
(
value
=
"相位顺序号"
)
private
Integer
phaseOrderId
;
//原版本相位时长(绿信比)
@ApiModelProperty
(
value
=
"原版本相位时长(绿信比)"
)
private
Integer
originalTime
;
//相位时长(绿信比)
@ApiModelProperty
(
value
=
"相位时长(绿信比)"
)
private
Integer
phaseTime
;
//最大绿时间
@ApiModelProperty
(
value
=
"最大绿时间"
)
private
Integer
maxgreenTime
;
//最小绿时间
@ApiModelProperty
(
value
=
"最小绿时间"
)
private
Integer
mingreenTime
;
//灯组编号
@ApiModelProperty
(
value
=
"灯组编号"
)
private
String
lightGroupNo
;
//黄灯时间
@ApiModelProperty
(
value
=
"黄灯时间"
)
private
Integer
yellowTime
;
//红灯时间
@ApiModelProperty
(
value
=
"红灯时间"
)
private
Integer
redTime
;
//所有跟随相位,相位编号
@ApiModelProperty
(
value
=
"所有跟随相位,相位编号"
)
private
String
[]
followPhases
;
//步数据对象列表
@ApiModelProperty
(
value
=
"步数据对象列表"
)
private
List
<
Step
>
steps
;
//机动车方向
@ApiModelProperty
(
value
=
"机动车方向"
)
private
List
<
Vdirection
>
vdirections
;
//行人方向
@ApiModelProperty
(
value
=
"行人方向"
)
private
List
<
Pdirection
>
pdirections
;
}
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/Ring.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author hfx
* @version 1.0
* @Description: [环数据对象]
* Created on 2019/4/22 15:54
*/
@Data
public
class
Ring
{
//环编号
private
String
ringNo
;
//相位对象列表
private
List
<
Phase
>
phases
;
}
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/Step.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
lombok.Data
;
/**
* @author hfx
* @version 1.0
* @Description: [步数据对象]
* Created on 2019/4/22 15:56
*/
@Data
public
class
Step
{
//步号:1,2,3,4,5,6
private
Integer
stepNo
;
//步类型:1 green 2 greenflash 3 pedflash 4 yellow 5 red 6 off
private
Integer
stepType
;
//步长
private
Integer
stepLen
;
}
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/TimePlanVO.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.utc.common.baseentity.BaseCrossInfo
;
import
java.util.List
;
/**
* @author hfx
* @version 1.0
* @Description: [配时方案实体类]
* Created on 2019/4/22 15:40
*/
@Data
@ApiModel
(
value
=
"TimePlanVo"
,
description
=
"配时方案实体类"
)
public
class
TimePlanVO
extends
BaseCrossInfo
{
//配时方案编号
@ApiModelProperty
(
value
=
"配时方案编号"
,
required
=
true
)
private
String
timePlanId
;
//配时方案描述
@ApiModelProperty
(
value
=
"配时方案描述"
)
private
String
timePlanDesc
;
//相位方案编号
@ApiModelProperty
(
value
=
"相位方案编号"
)
private
String
phasePlanId
;
//周期长度
@ApiModelProperty
(
value
=
"周期长度"
)
private
Integer
cycleLen
;
//协调相位编号
@ApiModelProperty
(
value
=
"协调相位编号"
)
private
String
coordPhaseId
;
//相位差
@ApiModelProperty
(
value
=
"相位差"
)
private
Integer
offset
;
//环数量 1 一环 2 两环
@ApiModelProperty
(
value
=
"环数量 1 一环 2 两环"
)
private
String
ringCount
;
//环数据对象列表
@ApiModelProperty
(
value
=
"环数据对象列表"
)
private
List
<
Ring
>
rings
;
//始终固定灯色的灯组(可选)
@ApiModelProperty
(
value
=
"始终固定灯色的灯组(可选)"
)
private
List
<
FixedLightGroupVo
>
fixedLightGroups
;
//是否启用信号机自适应功能(可选,默认为 false)
@ApiModelProperty
(
value
=
"是否启用信号机自适应功能(可选,默认为 false)"
)
private
Boolean
selfAdaptive
;
//操作类型 1:下发 2:恢复 3:下发返回300特殊处理 4:恢复返回300特殊处理
@ApiModelProperty
(
value
=
"操作类型 1:下发 2:恢复 3:下发返回300特殊处理 4:恢复返回300特殊处理"
)
private
Integer
optType
;
//顺序号
@ApiModelProperty
(
value
=
"顺序号"
)
private
Integer
orderId
;
}
signal-utc-service/src/main/java/net/wanji/utc/vo/timeplan/Vdirection.java
0 → 100644
View file @
f1afad27
package
net
.
wanji
.
utc
.
vo
.
timeplan
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
/**
* @author hfx
* @version 1.0
* @Description: [机动车方向]
* Created on 2019/4/19 17:20
*/
@Data
@ApiModel
(
value
=
"Vdirection"
,
description
=
"机动车方向"
)
public
class
Vdirection
{
//方向, 方向:0 北 1 东北 2 东 3 东南 4 南 5 西南 6 西 7 西北
private
Integer
direction
;
//车辆类型
private
Integer
turnType
;
}
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