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
b37027bf
Commit
b37027bf
authored
Nov 06, 2024
by
zhouleilei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
海信-系统兼容临时方案
parent
5d13c4bb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
26 deletions
+54
-26
ControlCommandServiceImpl.java
...i/utc/hisense/service/impl/ControlCommandServiceImpl.java
+25
-16
ControlCommandStrategyServiceImpl.java
...rvice/control/impl/ControlCommandStrategyServiceImpl.java
+0
-2
WanJiControlCommandServiceImpl.java
.../service/control/impl/WanJiControlCommandServiceImpl.java
+17
-5
TempSchemeSendVO.java
.../src/main/java/net/wanji/databus/vo/TempSchemeSendVO.java
+12
-3
No files found.
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/ControlCommandServiceImpl.java
View file @
b37027bf
...
@@ -67,10 +67,10 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -67,10 +67,10 @@ 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
(
command
==
0
)
{
//取消步进,防止瞎传stepNum
//取消步进,防止瞎传stepNum
stepNum
=
0
;
stepNum
=
0
;
}
}
...
@@ -93,20 +93,20 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -93,20 +93,20 @@ public class ControlCommandServiceImpl implements ControlCommandService {
" <Pattern>0</Pattern>\n"
+
" <Pattern>0</Pattern>\n"
+
" </messageContent>\n"
+
" </messageContent>\n"
+
" </systemScription>"
;
" </systemScription>"
;
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:{}"
,
crossInfoPOExt
.
getCode
(),
i
+
1
,
result
);
log
.
info
(
"路口号 :{},第 {} 次步进成功,result:{}"
,
crossInfoPOExt
.
getCode
(),
i
+
1
,
result
);
jsonViewObject
=
jsonViewObject
.
success
(
"相位步进 - 控制成功"
);
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
());
}
}
}
}
...
@@ -177,10 +177,19 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -177,10 +177,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 +306,20 @@ public class ControlCommandServiceImpl implements ControlCommandService {
...
@@ -297,20 +306,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/service/control/impl/ControlCommandStrategyServiceImpl.java
View file @
b37027bf
...
@@ -334,8 +334,6 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
...
@@ -334,8 +334,6 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Override
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
String
crossCode
=
getCrossCode
(
obj
);
String
manufacturerCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossCode
);
JsonViewObject
jsonViewObject
=
wanJiControlCommandService
.
tempScheme
(
obj
);
JsonViewObject
jsonViewObject
=
wanJiControlCommandService
.
tempScheme
(
obj
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/WanJiControlCommandServiceImpl.java
View file @
b37027bf
package
net
.
wanji
.
utc
.
service
.
control
.
impl
;
package
net
.
wanji
.
utc
.
service
.
control
.
impl
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
lombok.RequiredArgsConstructor
;
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.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.CrossInfoCache
;
...
@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.LinkedHashMap
;
import
java.util.Objects
;
import
java.util.Objects
;
/**
/**
...
@@ -176,20 +177,31 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
...
@@ -176,20 +177,31 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
if
(
obj
instanceof
TempSchemeVO
)
{
if
(!
obj
.
toString
().
contains
(
"split"
))
{
//东土协议
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
)
{
}
else
{
TempSchemeSendVO
tempSchemeSendVO
=
(
TempSchemeSendVO
)
obj
;
//海信协议
// TempSchemeSendVO tempSchemeSendVO = (TempSchemeSendVO) obj;
ObjectMapper
objectMapper
=
new
ObjectMapper
();
TempSchemeSendVO
tempSchemeSendVO
;
if
(
obj
instanceof
LinkedHashMap
)
{
tempSchemeSendVO
=
objectMapper
.
convertValue
(
obj
,
TempSchemeSendVO
.
class
);
}
else
{
tempSchemeSendVO
=
(
TempSchemeSendVO
)
obj
;
}
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
tempSchemeDetail
(
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
(
"万集标准协议
下发临时方案
失败!"
);
}
}
@Override
@Override
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
...
...
wj-databus/src/main/java/net/wanji/databus/vo/TempSchemeSendVO.java
View file @
b37027bf
...
@@ -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
;
}
}
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