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
c8bd4dae
Commit
c8bd4dae
authored
Nov 06, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
f1c7bdb2
030d337e
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
118 additions
and
65 deletions
+118
-65
FeignCommon.java
...main/java/net/wanji/feign/service/common/FeignCommon.java
+2
-1
FeignProxyServiceImpl.java
...opt/service/signalcontrol/impl/FeignProxyServiceImpl.java
+1
-1
ControlCommandServiceImpl.java
...i/utc/hisense/service/impl/ControlCommandServiceImpl.java
+30
-37
ControlCommandController.java
...va/net/wanji/utc/controller/ControlCommandController.java
+3
-2
ControlCommandService.java
.../net/wanji/utc/service/control/ControlCommandService.java
+2
-2
ControlCommandStrategyService.java
...ji/utc/service/control/ControlCommandStrategyService.java
+2
-1
ControlCommandStrategyServiceImpl.java
...rvice/control/impl/ControlCommandStrategyServiceImpl.java
+4
-5
HKControlCommandServiceImpl.java
...utc/service/control/impl/HKControlCommandServiceImpl.java
+2
-1
WanJiControlCommandServiceImpl.java
.../service/control/impl/WanJiControlCommandServiceImpl.java
+60
-12
TempSchemeSendVO.java
.../src/main/java/net/wanji/databus/vo/TempSchemeSendVO.java
+12
-3
SchemeOptSendVO.java
...tabus/src/main/java/net/wanji/opt/vo/SchemeOptSendVO.java
+0
-0
No files found.
signal-feign-service/src/main/java/net/wanji/feign/service/common/FeignCommon.java
View file @
c8bd4dae
...
@@ -5,6 +5,7 @@ import net.wanji.databus.bo.CrossIdBO;
...
@@ -5,6 +5,7 @@ import net.wanji.databus.bo.CrossIdBO;
import
net.wanji.databus.dto.*
;
import
net.wanji.databus.dto.*
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
...
@@ -113,7 +114,7 @@ public interface FeignCommon {
...
@@ -113,7 +114,7 @@ public interface FeignCommon {
// 临时方案
// 临时方案
@PostMapping
(
"/tempScheme"
)
@PostMapping
(
"/tempScheme"
)
JsonViewObject
tempScheme
(
Object
obj
);
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
);
@PostMapping
(
"/control/findPlanId"
)
@PostMapping
(
"/control/findPlanId"
)
Integer
findPlanId
(
@RequestParam
Date
datetime
,
@RequestParam
String
dateStr
,
@RequestParam
String
crossId
);
Integer
findPlanId
(
@RequestParam
Date
datetime
,
@RequestParam
String
dateStr
,
@RequestParam
String
crossId
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/signalcontrol/impl/FeignProxyServiceImpl.java
View file @
c8bd4dae
...
@@ -41,7 +41,7 @@ public class FeignProxyServiceImpl implements FeignProxyService {
...
@@ -41,7 +41,7 @@ public class FeignProxyServiceImpl implements FeignProxyService {
SchemeSendVO
schemeSendVO
=
new
SchemeSendVO
();
SchemeSendVO
schemeSendVO
=
new
SchemeSendVO
();
BeanUtils
.
copyProperties
(
schemeOptSendVO
,
schemeSendVO
);
BeanUtils
.
copyProperties
(
schemeOptSendVO
,
schemeSendVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
schemeSend
(
scheme
SendVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
tempScheme
(
schemeOpt
SendVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
log
.
error
(
"诊断优化手动下发优化方案,UTC服务调用异常"
,
jsonViewObject
);
log
.
error
(
"诊断优化手动下发优化方案,UTC服务调用异常"
,
jsonViewObject
);
throw
new
FeignServiceException
(
"诊断优化手动下发优化方案,UTC服务调用异常"
);
throw
new
FeignServiceException
(
"诊断优化手动下发优化方案,UTC服务调用异常"
);
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/ControlCommandServiceImpl.java
View file @
c8bd4dae
...
@@ -67,50 +67,33 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -67,50 +67,33 @@ public class ControlCommandServiceImpl implements ControlCommandService {
element
.
addElement
(
HttpConstants
.
MESSAGETYPE
).
setText
(
HttpConstants
.
MESSAGETYPE_22
);
element
.
addElement
(
HttpConstants
.
MESSAGETYPE
).
setText
(
HttpConstants
.
MESSAGETYPE_22
);
Element
messageContent
=
(
Element
)
document
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
);
Element
messageContent
=
(
Element
)
document
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
);
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPOExt
.
getCode
());
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPOExt
.
getCode
());
messageContent
.
addElement
(
HttpConstants
.
COMMAND
).
setText
(
command
+
""
);
messageContent
.
addElement
(
HttpConstants
.
COMMAND
).
setText
(
command
+
""
);
//目前海信步进幅度只支持0
//目前海信步进幅度只支持0
messageContent
.
addElement
(
HttpConstants
.
CTRLSTEP
).
setText
(
"0"
);
messageContent
.
addElement
(
HttpConstants
.
CTRLSTEP
).
setText
(
"0"
);
if
(
command
==
0
)
{
if
(
stepNum
==
0
)
{
//
取消步进,防止瞎传stepNum
//
顺序步进,循环一次
stepNum
=
0
;
stepNum
=
1
;
}
}
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
//给海信发送http请求
//给海信发送http请求
for
(
int
i
=
0
;
i
<
stepNum
;
i
++)
{
for
(
int
i
=
0
;
i
<
stepNum
;
i
++)
{
// String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
String
post
=
" <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+
if
(
StringUtils
.
isNotBlank
(
post
))
{
" <systemScription System=\"TCIP\" Version=\"1.0\">\n"
+
" <subSystem>Hisense</subSystem>\n"
+
" <messageType>16</messageType>\n"
+
" <isRequest>1</isRequest>\n"
+
" <seq>{formatted_time}</seq>\n"
+
" <needResponse>1</needResponse> \n"
+
" <result>1</result>\n"
+
" <flag>0</flag>\n"
+
" <messageContent>\n"
+
" <Spot>{crossId}</Spot>\n"
+
" <Pattern>0</Pattern>\n"
+
" </messageContent>\n"
+
" </systemScription>"
;
if
(
StringUtils
.
isNotBlank
(
post
)){
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
String
result
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_RESULT
).
getText
();
String
result
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_RESULT
).
getText
();
if
(
HttpConstants
.
RESULT_1
.
equals
(
result
)
||
HttpConstants
.
RESULT_2
.
equals
(
result
))
{
if
(
HttpConstants
.
RESULT_1
.
equals
(
result
)
||
HttpConstants
.
RESULT_2
.
equals
(
result
))
{
log
.
info
(
"路口号 :{},第 {} 次步进成功,result:{}"
,
crossInfoPOExt
.
getCode
(),
i
+
1
,
result
);
log
.
info
(
"路口号 :{},第 {} 次步进成功,result:{}"
,
crossInfoPOExt
.
getCode
(),
i
+
1
,
result
);
jsonViewObject
=
jsonViewObject
.
success
(
"相位步进 - 控制成功"
);
}
else
{
}
else
{
log
.
error
(
"路口号 :{},第 {} 次步进失败,result:{}"
,
crossInfoPOExt
.
getCode
(),
i
+
1
,
result
);
log
.
error
(
"路口号 :{},第 {} 次步进失败,result:{}"
,
crossInfoPOExt
.
getCode
(),
i
+
1
,
result
);
return
jsonViewObject
.
fail
(
"相位步进失败,路口号:"
+
crossInfoPOExt
.
getCode
());
return
jsonViewObject
.
fail
(
"相位步进失败,路口号:"
+
crossInfoPOExt
.
getCode
());
}
}
//停顿10ms
//停顿10ms
Thread
.
sleep
(
10
);
Thread
.
sleep
(
10
);
}
else
{
}
else
{
return
jsonViewObject
.
fail
(
"相位步进失败,路口号: "
+
crossInfoPOExt
.
getCode
());
return
jsonViewObject
.
fail
(
"相位步进失败,路口号: "
+
crossInfoPOExt
.
getCode
());
}
}
}
}
return
jsonViewObject
;
return
jsonViewObject
.
success
(
"相位步进 - 控制成功"
)
;
}
}
@Override
@Override
...
@@ -158,6 +141,7 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -158,6 +141,7 @@ public class ControlCommandServiceImpl implements ControlCommandService {
@Override
@Override
public
JsonViewObject
phaseTimingSend
(
PhaseTimingSendVO
phaseTimingSendVO
)
throws
Exception
{
public
JsonViewObject
phaseTimingSend
(
PhaseTimingSendVO
phaseTimingSendVO
)
throws
Exception
{
//TODO 海信相位配时下发
return
null
;
return
null
;
}
}
...
@@ -177,10 +161,19 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -177,10 +161,19 @@ public class ControlCommandServiceImpl implements ControlCommandService {
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPOExt
.
getCode
());
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPOExt
.
getCode
());
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
tempSchemeSendVO
.
getPattern
());
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
tempSchemeSendVO
.
getPattern
());
messageContent
.
addElement
(
HttpConstants
.
CYCLE
).
setText
(
tempSchemeSendVO
.
getCycle
());
messageContent
.
addElement
(
HttpConstants
.
CYCLE
).
setText
(
tempSchemeSendVO
.
getCycle
());
//暂时按照神思的写死
//如果为空赋值神思的默认值
messageContent
.
addElement
(
HttpConstants
.
OFFSET
).
setText
(
"0"
);
if
(
ObjectUtils
.
isEmpty
(
tempSchemeSendVO
.
getOffset
()))
{
messageContent
.
addElement
(
HttpConstants
.
TYPE
).
setText
(
"1"
);
tempSchemeSendVO
.
setOffset
(
"0"
);
messageContent
.
addElement
(
HttpConstants
.
SPLIT
).
setText
(
"40,0,0,40,50,50,0,0,0,0,0,0,0,0,0,0"
);
}
if
(
ObjectUtils
.
isEmpty
(
tempSchemeSendVO
.
getType
()))
{
tempSchemeSendVO
.
setType
(
"1"
);
}
if
(
ObjectUtils
.
isEmpty
(
tempSchemeSendVO
.
getSplit
()))
{
tempSchemeSendVO
.
setSplit
(
"40,0,0,40,50,50,0,0,0,0,0,0,0,0,0,0"
);
}
messageContent
.
addElement
(
HttpConstants
.
OFFSET
).
setText
(
tempSchemeSendVO
.
getOffset
());
messageContent
.
addElement
(
HttpConstants
.
TYPE
).
setText
(
tempSchemeSendVO
.
getType
());
messageContent
.
addElement
(
HttpConstants
.
SPLIT
).
setText
(
tempSchemeSendVO
.
getSplit
());
//给海信发送http请求
//给海信发送http请求
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
...
@@ -297,20 +290,20 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -297,20 +290,20 @@ public class ControlCommandServiceImpl implements ControlCommandService {
//给海信发送http请求
//给海信发送http请求
for
(
int
i
=
0
;
i
<
stepingPhaseDTO
.
getStepCount
();
i
++)
{
for
(
int
i
=
0
;
i
<
stepingPhaseDTO
.
getStepCount
();
i
++)
{
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
if
(
StringUtils
.
isNotBlank
(
post
)){
if
(
StringUtils
.
isNotBlank
(
post
))
{
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
String
result
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_RESULT
).
getText
();
String
result
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_RESULT
).
getText
();
if
(
HttpConstants
.
RESULT_1
.
equals
(
result
)
||
HttpConstants
.
RESULT_2
.
equals
(
result
))
{
if
(
HttpConstants
.
RESULT_1
.
equals
(
result
)
||
HttpConstants
.
RESULT_2
.
equals
(
result
))
{
log
.
info
(
"路口号 :{},第 {} 次步进成功,result:{}"
,
stepingPhaseDTO
.
getCrossId
(),
i
+
1
,
result
);
log
.
info
(
"路口号 :{},第 {} 次步进成功,result:{}"
,
stepingPhaseDTO
.
getCrossId
(),
i
+
1
,
result
);
jsonViewObject
=
jsonViewObject
.
success
(
"相位步进 - 控制成功"
);
jsonViewObject
=
jsonViewObject
.
success
(
"相位步进 - 控制成功"
);
}
else
{
}
else
{
log
.
error
(
"路口号 :{},第 {} 次步进失败,result:{}"
,
stepingPhaseDTO
.
getCrossId
(),
i
+
1
,
result
);
log
.
error
(
"路口号 :{},第 {} 次步进失败,result:{}"
,
stepingPhaseDTO
.
getCrossId
(),
i
+
1
,
result
);
return
jsonViewObject
.
fail
(
"相位步进失败,路口号:"
+
stepingPhaseDTO
.
getCrossId
());
return
jsonViewObject
.
fail
(
"相位步进失败,路口号:"
+
stepingPhaseDTO
.
getCrossId
());
}
}
//停顿10ms
//停顿10ms
Thread
.
sleep
(
10
);
Thread
.
sleep
(
10
);
}
else
{
}
else
{
return
jsonViewObject
.
fail
(
"相位步进失败,路口号: "
+
stepingPhaseDTO
.
getCrossId
());
return
jsonViewObject
.
fail
(
"相位步进失败,路口号: "
+
stepingPhaseDTO
.
getCrossId
());
}
}
}
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/ControlCommandController.java
View file @
c8bd4dae
...
@@ -13,6 +13,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
...
@@ -13,6 +13,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.service.control.ControlCommandStrategyService
;
import
net.wanji.utc.service.control.ControlCommandStrategyService
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -217,8 +218,8 @@ public class ControlCommandController {
...
@@ -217,8 +218,8 @@ public class ControlCommandController {
@AspectLog
(
description
=
"临时方案"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@AspectLog
(
description
=
"临时方案"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"临时方案"
,
notes
=
"临时方案"
)
@ApiOperation
(
value
=
"临时方案"
,
notes
=
"临时方案"
)
@PostMapping
(
"/tempScheme"
)
@PostMapping
(
"/tempScheme"
)
public
JsonViewObject
tempScheme
(
@RequestBody
@Validated
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
@RequestBody
@Validated
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
return
controlCommandStrategyService
.
tempScheme
(
obj
);
return
controlCommandStrategyService
.
tempScheme
(
schemeOptSendVO
);
}
}
/**
/**
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/ControlCommandService.java
View file @
c8bd4dae
...
@@ -3,8 +3,8 @@ package net.wanji.utc.service.control;
...
@@ -3,8 +3,8 @@ package net.wanji.utc.service.control;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dto.ExtendPhaseDTO
;
import
net.wanji.databus.dto.ExtendPhaseDTO
;
import
net.wanji.databus.dto.StepingPhaseDTO
;
import
net.wanji.databus.dto.StepingPhaseDTO
;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.po.hk.request.DelBaseConfigPO
;
import
net.wanji.utc.po.hk.request.DelBaseConfigPO
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -100,7 +100,7 @@ public interface ControlCommandService {
...
@@ -100,7 +100,7 @@ public interface ControlCommandService {
JsonViewObject
delBaseConfig
(
DelBaseConfigPO
delBaseConfigPO
)
throws
Exception
;
JsonViewObject
delBaseConfig
(
DelBaseConfigPO
delBaseConfigPO
)
throws
Exception
;
JsonViewObject
timing
(
String
crossCode
,
Date
date
)
throws
Exception
;
JsonViewObject
timing
(
String
crossCode
,
Date
date
)
throws
Exception
;
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
;
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
;
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
;
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
;
JsonViewObject
extendPhase
(
ExtendPhaseDTO
extendPhase
)
throws
Exception
;
JsonViewObject
extendPhase
(
ExtendPhaseDTO
extendPhase
)
throws
Exception
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/ControlCommandStrategyService.java
View file @
c8bd4dae
...
@@ -6,6 +6,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
...
@@ -6,6 +6,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -112,7 +113,7 @@ public interface ControlCommandStrategyService {
...
@@ -112,7 +113,7 @@ public interface ControlCommandStrategyService {
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
;
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
;
/**
/**
* 临时方案详情
* 临时方案详情
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/ControlCommandStrategyServiceImpl.java
View file @
c8bd4dae
...
@@ -11,6 +11,7 @@ import net.wanji.databus.po.BaseCrossLightsPO;
...
@@ -11,6 +11,7 @@ import net.wanji.databus.po.BaseCrossLightsPO;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.CrossPhaseDirTurnCache
;
import
net.wanji.utc.cache.CrossPhaseDirTurnCache
;
import
net.wanji.utc.cache.CrossSchemePhaseTimeCountCache
;
import
net.wanji.utc.cache.CrossSchemePhaseTimeCountCache
;
...
@@ -333,10 +334,8 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
...
@@ -333,10 +334,8 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
}
}
@Override
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
String
crossCode
=
getCrossCode
(
obj
);
JsonViewObject
jsonViewObject
=
wanJiControlCommandService
.
tempScheme
(
schemeOptSendVO
);
String
manufacturerCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossCode
);
JsonViewObject
jsonViewObject
=
wanJiControlCommandService
.
tempScheme
(
obj
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
...
@@ -356,7 +355,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
...
@@ -356,7 +355,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
// 将值转换为String类型(假设crossCode是String类型)
// 将值转换为String类型(假设crossCode是String类型)
return
(
String
)
crossCodeValue
;
return
(
String
)
crossCodeValue
;
}
}
}
@Override
@Override
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/HKControlCommandServiceImpl.java
View file @
c8bd4dae
...
@@ -19,6 +19,7 @@ import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
...
@@ -19,6 +19,7 @@ import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.ManufacturerInfoPO
;
import
net.wanji.databus.po.ManufacturerInfoPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.common.exception.ControlException
;
import
net.wanji.utc.common.exception.ControlException
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.common.typeenum.CrossLightsDirEnum
;
import
net.wanji.utc.common.typeenum.CrossLightsDirEnum
;
...
@@ -554,7 +555,7 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
...
@@ -554,7 +555,7 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
}
}
@Override
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
return
null
;
return
null
;
}
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/WanJiControlCommandServiceImpl.java
View file @
c8bd4dae
...
@@ -4,9 +4,9 @@ import lombok.RequiredArgsConstructor;
...
@@ -4,9 +4,9 @@ import lombok.RequiredArgsConstructor;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dto.ExtendPhaseDTO
;
import
net.wanji.databus.dto.ExtendPhaseDTO
;
import
net.wanji.databus.dto.StepingPhaseDTO
;
import
net.wanji.databus.dto.StepingPhaseDTO
;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.feign.service.common.FeignCommon
;
import
net.wanji.feign.service.common.FeignCommon
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.UtcFeignClientCache
;
import
net.wanji.utc.cache.UtcFeignClientCache
;
import
net.wanji.utc.common.constant.Constants
;
import
net.wanji.utc.common.constant.Constants
;
...
@@ -19,8 +19,7 @@ import org.slf4j.LoggerFactory;
...
@@ -19,8 +19,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.*
;
import
java.util.Objects
;
/**
/**
* @author duanruiming
* @author duanruiming
...
@@ -174,21 +173,70 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
...
@@ -174,21 +173,70 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
}
}
@Override
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
if
(
obj
instanceof
TempSchemeVO
)
{
//东土协议
TempSchemeVO
tempSchemeVO
=
(
TempSchemeVO
)
obj
;
/*
TempSchemeVO tempSchemeVO = (TempSchemeVO) obj;
String manufacturerIdCode = crossInfoCache.getManufacturerCodeByCrossId(tempSchemeVO.getCrossCode());
String manufacturerIdCode = crossInfoCache.getManufacturerCodeByCrossId(tempSchemeVO.getCrossCode());
jsonViewObject = utcFeignClientCache.getUtcFeignClientService(manufacturerIdCode).tempScheme(tempSchemeVO);
jsonViewObject = utcFeignClientCache.getUtcFeignClientService(manufacturerIdCode).tempScheme(tempSchemeVO);
}
else
if
(
obj
instanceof
TempSchemeSendVO
)
{
*/
TempSchemeSendVO
tempSchemeSendVO
=
(
TempSchemeSendVO
)
obj
;
//海信协议
TempSchemeSendVO
tempSchemeSendVO
=
getTempSchemeSendVO
(
schemeOptSendVO
);
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
tempScheme
(
tempSchemeSendVO
);
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
tempSchemeDetail
(
tempSchemeSendVO
);
}
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议下发临时方案成功!"
);
return
jsonViewObject
.
success
(
"万集标准协议下发临时方案成功!"
);
}
}
return
jsonViewObject
.
fail
(
"万集标准协议校时失败!"
);
return
jsonViewObject
.
fail
(
"万集标准协议下发临时方案失败!"
);
}
/**
* @return net.wanji.databus.vo.TempSchemeSendVO
* @Description 逻辑处理,拼接临时方案参数
* @Param [schemeOptSendVO]
**/
private
TempSchemeSendVO
getTempSchemeSendVO
(
SchemeOptSendVO
schemeOptSendVO
)
{
TempSchemeSendVO
tempSchemeSendVO
=
new
TempSchemeSendVO
();
//路口号
String
crossCode
=
schemeOptSendVO
.
getCrossCode
();
tempSchemeSendVO
.
setCrossCode
(
crossCode
);
List
<
SchemeSendVO
.
Pattern
>
patternList
=
schemeOptSendVO
.
getPatternList
();
if
(
Optional
.
ofNullable
(
patternList
).
isPresent
())
{
//现在系统只传一个方案
SchemeSendVO
.
Pattern
pattern
=
patternList
.
get
(
0
);
//相位差
tempSchemeSendVO
.
setOffset
(
pattern
.
getOffset
());
//周期
tempSchemeSendVO
.
setCycle
(
pattern
.
getCycle
());
//方案号
tempSchemeSendVO
.
setPattern
(
pattern
.
getPatternNo
());
//优化模式,现在只支持一,绿信比
tempSchemeSendVO
.
setType
(
"1"
);
//环
List
<
SchemeSendVO
.
Pattern
.
Ring
>
rings
=
pattern
.
getRings
();
List
<
Integer
>
list
=
new
ArrayList
<>();
for
(
SchemeSendVO
.
Pattern
.
Ring
ring
:
rings
)
{
//相位集合
List
<
SchemeSendVO
.
Pattern
.
Ring
.
Phase
>
phaseList
=
ring
.
getPhaseList
();
for
(
SchemeSendVO
.
Pattern
.
Ring
.
Phase
phase
:
phaseList
)
{
String
redTime
=
phase
.
getRedTime
();
String
greenTime
=
phase
.
getGreenTime
();
String
yellowTime
=
phase
.
getYellowTime
();
//绿信比=相位绿灯时间+相位全红时间+相位黄灯时间
int
phaseTime
=
Integer
.
parseInt
(
greenTime
)
+
Integer
.
parseInt
(
redTime
)
+
Integer
.
parseInt
(
yellowTime
);
list
.
add
(
phaseTime
);
}
}
//海信有16个相位,不足的补0
if
(
list
.
size
()
<
16
)
{
for
(
int
i
=
list
.
size
();
i
<
16
;
i
++)
{
list
.
add
(
0
);
}
}
String
split
=
list
.
toString
().
replaceAll
(
"^\\[|\\]$"
,
""
);
tempSchemeSendVO
.
setSplit
(
split
);
}
return
tempSchemeSendVO
;
}
}
@Override
@Override
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
...
...
wj-databus/src/main/java/net/wanji/databus/vo/TempSchemeSendVO.java
View file @
c8bd4dae
...
@@ -13,7 +13,6 @@ import javax.validation.constraints.Pattern;
...
@@ -13,7 +13,6 @@ import javax.validation.constraints.Pattern;
* @date 2024/11/4 16:14:27
* @date 2024/11/4 16:14:27
*/
*/
@Data
@Data
@Builder
public
class
TempSchemeSendVO
{
public
class
TempSchemeSendVO
{
@ApiModelProperty
(
value
=
"路口编号"
,
notes
=
"路口编号"
)
@ApiModelProperty
(
value
=
"路口编号"
,
notes
=
"路口编号"
)
...
@@ -22,10 +21,20 @@ public class TempSchemeSendVO {
...
@@ -22,10 +21,20 @@ public class TempSchemeSendVO {
private
String
crossCode
;
private
String
crossCode
;
@ApiModelProperty
(
value
=
"基础方案号"
,
notes
=
"优化的基础方案号,该方案号需在信号机提前配置"
)
@ApiModelProperty
(
value
=
"基础方案号"
,
notes
=
"优化的基础方案号,该方案号需在信号机提前配置"
)
@NotBlank
(
message
=
"基础方案号"
)
@NotBlank
(
message
=
"基础方案号
不能为空
"
)
private
String
pattern
;
private
String
pattern
;
@ApiModelProperty
(
value
=
"周期长"
,
notes
=
"需要优化的周期长,单位秒"
)
@ApiModelProperty
(
value
=
"周期长"
,
notes
=
"需要优化的周期长,单位秒"
)
@NotBlank
(
message
=
"周期长"
)
@NotBlank
(
message
=
"周期长
不能为空
"
)
private
String
cycle
;
private
String
cycle
;
@ApiModelProperty
(
value
=
"相位差"
,
notes
=
"相位差。需要优化的相位差,单位秒"
)
private
String
offset
;
@ApiModelProperty
(
value
=
"优化模式"
,
notes
=
"目前支持 Type=1(预案模式,按时间调整),Type=15(瓶颈模式,\n"
+
"按比例调整)"
)
private
String
type
;
@ApiModelProperty
(
value
=
"比值"
,
notes
=
"Type=1 时为预案模式,值为绿信比时间,Type=15 时为瓶颈模式,值为调整比例"
)
private
String
split
;
}
}
signal-optimize-service
/src/main/java/net/wanji/opt/vo/SchemeOptSendVO.java
→
wj-databus
/src/main/java/net/wanji/opt/vo/SchemeOptSendVO.java
View file @
c8bd4dae
File moved
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