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
242449ef
Commit
242449ef
authored
Dec 31, 2024
by
zhoushiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://106.120.201.126:14725/signal/traffic-signal-platform
parents
45746fd3
a63fd6da
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
429 additions
and
83 deletions
+429
-83
StaticInfoController.java
...et/wanji/utc/hisense/controller/StaticInfoController.java
+1
-1
ControlCommandServiceImpl.java
...i/utc/hisense/service/impl/ControlCommandServiceImpl.java
+26
-16
StaticInfoServiceImpl.java
...wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
+1
-1
LightStatusAlarmDTO.java
.../src/main/java/net/wanji/utc/dto/LightStatusAlarmDTO.java
+35
-0
ControlCommandStrategyServiceImpl.java
...rvice/control/impl/ControlCommandStrategyServiceImpl.java
+13
-2
CommandFaildTask.java
...ce/src/main/java/net/wanji/utc/task/CommandFaildTask.java
+241
-0
SignalCommandSyncTask.java
...c/main/java/net/wanji/utc/task/SignalCommandSyncTask.java
+96
-51
SignalStatusTask.java
...ce/src/main/java/net/wanji/utc/task/SignalStatusTask.java
+6
-6
SignalCommandLogPOMapper.xml
...us/src/main/resources/mapper/SignalCommandLogPOMapper.xml
+5
-3
SignalCommandPOMapper.xml
...tabus/src/main/resources/mapper/SignalCommandPOMapper.xml
+5
-3
No files found.
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/controller/StaticInfoController.java
View file @
242449ef
...
...
@@ -123,7 +123,7 @@ public class StaticInfoController {
if
(
ObjectUtils
.
isNotEmpty
(
crossSchemeRings
))
{
return
JsonViewObject
.
newInstance
().
success
(
crossSchemeRings
);
}
else
{
return
JsonViewObject
.
newInstance
().
fail
(
"
获取
方案环图请求 失败"
);
return
JsonViewObject
.
newInstance
().
fail
(
"
请求海信
方案环图请求 失败"
);
}
}
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/ControlCommandServiceImpl.java
View file @
242449ef
...
...
@@ -93,6 +93,7 @@ public class ControlCommandServiceImpl implements ControlCommandService {
}
//相位驻留
String
xmlPost
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
log
.
info
(
"第一次锁相/解锁 海信返回msg:{}"
,
xmlPost
);
/*String xmlPost = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<systemScription System=\"TCIP\" Version=\"1.0\">\n" +
" <subSystem>Hisense</subSystem>\n" +
...
...
@@ -118,14 +119,21 @@ public class ControlCommandServiceImpl implements ControlCommandService {
Integer
duration
=
commandVO
.
getDuration
();
Thread
.
sleep
(
duration
*
1000
);
messageContent
.
selectSingleNode
(
HttpConstants
.
COMMAND
).
setText
(
"0"
);
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
boolean
isOk
=
sendMesIsOk
(
document
.
asXML
());
if
(
isOk
)
{
return
jsonViewObject
.
success
(
"相位锁定/解锁 - 控制成功"
);
}
else
{
return
jsonViewObject
.
fail
(
"相位锁定/解锁 - 控制失败 - 相位锁定成功,但解锁失败 "
);
}
}
return
jsonViewObject
.
success
(
"相位锁定/解锁 - 控制成功"
);
}
else
{
return
jsonViewObject
.
fail
(
"相位锁定/解锁 - 控制失败"
);
return
jsonViewObject
.
fail
(
"相位锁定/解锁 - 控制失败
- 第一次给海信下发指令失败
"
);
}
}
else
{
return
jsonViewObject
.
fail
(
"相位锁定/解锁 - 控制失败 - 第一次给海信下发指令失败"
);
}
return
jsonViewObject
.
fail
(
"相位锁定/解锁 - 控制失败"
);
//
return jsonViewObject.fail("相位锁定/解锁 - 控制失败");
}
@Override
...
...
@@ -163,7 +171,7 @@ public class ControlCommandServiceImpl implements ControlCommandService {
long
start
=
System
.
currentTimeMillis
();
String
xmlPost
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
long
end
=
System
.
currentTimeMillis
();
log
.
info
(
"相位驻留 耗时: {} ms
"
,
end
-
star
t
);
log
.
info
(
"相位驻留 耗时: {} ms
,msg:{}"
,
end
-
start
,
xmlPos
t
);
/*String xmlPost = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<systemScription System=\"TCIP\" Version=\"1.0\">\n" +
" <subSystem>Hisense</subSystem>\n" +
...
...
@@ -192,7 +200,7 @@ public class ControlCommandServiceImpl implements ControlCommandService {
long
s
=
System
.
currentTimeMillis
();
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
long
e
=
System
.
currentTimeMillis
();
log
.
info
(
"相位步进 耗时: {} ms
"
,
e
-
s
);
log
.
info
(
"相位步进 耗时: {} ms
,msg:{}"
,
e
-
s
,
post
);
/*String post = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<systemScription System=\"TCIP\" Version=\"1.0\">\n" +
" <subSystem>Hisense</subSystem>\n" +
...
...
@@ -227,9 +235,9 @@ public class ControlCommandServiceImpl implements ControlCommandService {
// boolean isOk = true;
if
(
isOk
)
{
return
jsonViewObject
.
fail
(
"相位步进失败,取消步进成功,路口号: "
+
code
);
return
jsonViewObject
.
fail
(
"
第 "
+
i
+
1
+
" 次
相位步进失败,取消步进成功,路口号: "
+
code
);
}
else
{
return
jsonViewObject
.
fail
(
"相位步进失败,取消步进失败,路口号: "
+
code
);
return
jsonViewObject
.
fail
(
"
第 "
+
i
+
1
+
" 次
相位步进失败,取消步进失败,路口号: "
+
code
);
}
}
//停顿10ms
...
...
@@ -240,13 +248,13 @@ public class ControlCommandServiceImpl implements ControlCommandService {
long
s1
=
System
.
currentTimeMillis
();
boolean
isOk
=
sendMesIsOk
(
document
.
asXML
());
long
e1
=
System
.
currentTimeMillis
();
log
.
info
(
"取消 相位步进 耗时: {} ms
"
,
e1
-
s1
);
log
.
info
(
"取消 相位步进 耗时: {} ms
,isOK:{}"
,
e1
-
s1
,
isOk
);
// boolean isOk = true;
if
(
isOk
)
{
return
jsonViewObject
.
fail
(
"
相位步进失败,
取消步进成功,路口号: "
+
code
);
return
jsonViewObject
.
fail
(
"
第 "
+
i
+
1
+
" 次相位步进失败,但
取消步进成功,路口号: "
+
code
);
}
else
{
return
jsonViewObject
.
fail
(
"相位步进失败,取消步进失败,路口号: "
+
code
);
return
jsonViewObject
.
fail
(
"
第 "
+
i
+
1
+
" 次
相位步进失败,取消步进失败,路口号: "
+
code
);
}
}
...
...
@@ -256,20 +264,22 @@ public class ControlCommandServiceImpl implements ControlCommandService {
long
s1
=
System
.
currentTimeMillis
();
boolean
isOk
=
sendMesIsOk
(
document
.
asXML
());
long
e1
=
System
.
currentTimeMillis
();
log
.
info
(
"取消 相位步进 耗时: {} ms
"
,
e1
-
s1
);
log
.
info
(
"取消 相位步进 耗时: {} ms
,isOK:{}"
,
e1
-
s1
,
isOk
);
// boolean isOk = true;
if
(
isOk
)
{
return
jsonViewObject
.
success
(
"相位步进成功,
,
路口号: "
+
code
);
return
jsonViewObject
.
success
(
"相位步进成功,路口号: "
+
code
);
}
else
{
return
jsonViewObject
.
fail
(
"相位步进成功,但取消步进失败,路口号: "
+
code
);
}
}
else
{
return
jsonViewObject
.
fail
(
"相位步进 - 控制失败 - 相位驻留失败"
);
}
}
else
{
return
jsonViewObject
.
fail
(
"相位步进 - 控制失败"
);
return
jsonViewObject
.
fail
(
"相位步进 - 控制失败
- 相位驻留失败
"
);
}
}
return
jsonViewObject
.
fail
(
"相位步进 - 控制失败"
);
return
jsonViewObject
.
fail
(
"相位步进 - 控制失败
- 第一次请求海信接口报错
"
);
}
...
...
@@ -420,8 +430,8 @@ public class ControlCommandServiceImpl implements ControlCommandService {
"</systemScription>";*/
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
if
(
StringUtils
.
isBlank
(
post
))
{
log
.
error
(
"
5.10.
手动方案控制- 恢复固定配时 失败"
);
return
jsonViewObject
.
fail
(
"
5.10.
手动方案控制- 恢复固定配时 失败"
);
log
.
error
(
" 手动方案控制- 恢复固定配时 失败"
);
return
jsonViewObject
.
fail
(
" 手动方案控制- 恢复固定配时 失败"
);
}
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
String
result
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_RESULT
).
getText
();
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
View file @
242449ef
...
...
@@ -821,7 +821,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
//给海信发送http请求
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
if
(
StringUtils
.
isBlank
(
post
))
{
log
.
error
(
"请求 5.15.根据方案号获取配时方案环图 失败"
);
log
.
error
(
"请求 5.15.根据方案号获取配时方案环图 失败
,
"
);
return
null
;
}
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
...
...
signal-utc-service/src/main/java/net/wanji/utc/dto/LightStatusAlarmDTO.java
0 → 100644
View file @
242449ef
package
net
.
wanji
.
utc
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author duanruiming
* @date 2024/12/30 20:31
*/
@Data
public
class
LightStatusAlarmDTO
{
@ApiModelProperty
(
value
=
"路口编号"
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"返回信息"
)
private
String
commandMsg
;
@ApiModelProperty
(
value
=
"优化结果:1-成功 2-失败 3-自动任务解锁失败"
)
private
Integer
commandResult
;
@ApiModelProperty
(
value
=
"自动任务解锁失败次数"
)
private
Integer
count
;
@ApiModelProperty
(
value
=
"在线状态 0-离线 1-在线"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"运行模式 `2=手动锁定当前相位`,`3=手动全红`,`4=手动黄闪`,`5=手动关灯`,"
+
"`6=全红闪控制`,`7=全黄控制`,`8=正常按计划运行`,`9=手动步进控制`,`10=自动步进控制`,`11=恢复时间表`,"
+
"`20=单点自适应控制`,`21=绿波协调`,`31=手动控制`,`255=临时控制方案`"
)
private
String
runMode
;
@ApiModelProperty
(
value
=
"信号机时间"
)
private
String
machineTimestamp
;
@ApiModelProperty
(
value
=
"请求操作时间"
)
private
Date
requestTime
;
@ApiModelProperty
(
value
=
"请求操作时间"
)
private
Date
dbTime
;
}
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/ControlCommandStrategyServiceImpl.java
View file @
242449ef
package
net
.
wanji
.
utc
.
service
.
control
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
...
...
@@ -65,6 +67,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
private
final
CrossLightsMapper
crossLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
SignalCommandLogPOMapper
signalCommandLogPOMapper
;
private
final
SignalCommandPOMapper
signalCommandPOMapper
;
private
final
CrossPhaseDirTurnCache
crossPhaseDirTurnCache
;
private
final
CrossSchemePhaseTimeCountCache
crossSchemePhaseTimeCountCache
;
...
...
@@ -287,7 +290,6 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
* @Param jsonObject 参数
* @return void
**/
public
void
insertCommandLog
(
String
queryTime
,
JsonViewObject
jsonViewObject
,
JSONObject
jsonObject
,
int
commandType
){
SignalCommandLogPO
signalCommandLogPO
=
new
SignalCommandLogPO
();
signalCommandLogPO
.
setCrossId
(
jsonObject
.
getString
(
"crossId"
));
...
...
@@ -313,12 +315,21 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
String
runMode
=
lightsStatusVO2
.
getRunMode
();
String
lampTime
=
lightsStatusVO2
.
getTimeStamp
();
//时间转换
lampTime
=
LocalDateTimeUtil
.
formatTimeStamp
(
Long
.
valueOf
(
lampTime
),
LocalDateTimeUtil
.
TIMEFORMATTER
);
//
lampTime = LocalDateTimeUtil.formatTimeStamp(Long.valueOf(lampTime), LocalDateTimeUtil.TIMEFORMATTER);
signalCommandLogPO
.
setRunMode
(
runMode
);
signalCommandLogPO
.
setLampTime
(
lampTime
);
}
}
signalCommandLogPOMapper
.
insert
(
signalCommandLogPO
);
//排除查询环图接口
if
(
commandType
!=
10
){
LambdaQueryWrapper
<
SignalCommandPO
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
lambdaQueryWrapper
.
eq
(
SignalCommandPO:
:
getCrossId
,
jsonObject
.
getString
(
"crossId"
));
signalCommandPOMapper
.
delete
(
lambdaQueryWrapper
);
SignalCommandPO
signalCommandPO
=
new
SignalCommandPO
();
BeanUtil
.
copyProperties
(
signalCommandLogPO
,
signalCommandPO
);
signalCommandPOMapper
.
insert
(
signalCommandPO
);
}
}
@Override
...
...
signal-utc-service/src/main/java/net/wanji/utc/task/CommandFaildTask.java
0 → 100644
View file @
242449ef
This diff is collapsed.
Click to expand it.
signal-utc-service/src/main/java/net/wanji/utc/task/SignalCommandSyncTask.java
View file @
242449ef
This diff is collapsed.
Click to expand it.
signal-utc-service/src/main/java/net/wanji/utc/task/SignalStatusTask.java
View file @
242449ef
...
...
@@ -130,26 +130,26 @@ public class SignalStatusTask {
// 添加在线离线逻辑
// 0-离线 1-在线
SignalCommandLogPO
signalCommandLogPO
=
new
SignalCommandLogPO
();
int
status
=
1
;
int
status
=
0
;
String
runMode
=
"11"
;
String
machineTimestamp
=
null
;
if
(!
CollectionUtils
.
isEmpty
(
lightsStatusVOS
))
{
for
(
LightsStatusVO
lightsStatusVO
:
lightsStatusVOS
)
{
if
(
Objects
.
nonNull
(
lightsStatusVO
))
{
String
machineTimestamp
=
lightsStatusVO
.
getTimeStamp
();
machineTimestamp
=
lightsStatusVO
.
getTimeStamp
();
long
offsetTime
=
start
-
Long
.
valueOf
(
machineTimestamp
);
if
(
offsetTime
>
1000
*
10
)
{
status
=
0
;
if
(
offsetTime
<
1000
*
10
)
{
status
=
1
;
}
runMode
=
lightsStatusVO
.
getRunMode
();
}
}
}
else
{
status
=
0
;
}
signalCommandLogPO
.
setCrossId
(
crossId
);
signalCommandLogPO
.
setRunMode
(
runMode
);
signalCommandLogPO
.
setStatus
(
status
);
signalCommandLogPO
.
setUpdateTime
(
new
Date
());
signalCommandLogPO
.
setLampTime
(
machineTimestamp
);
crossLightsStatusMap
.
put
(
crossId
,
signalCommandLogPO
);
}
...
...
wj-databus/src/main/resources/mapper/SignalCommandLogPOMapper.xml
View file @
242449ef
...
...
@@ -4,10 +4,11 @@
<!-- 批量新增数据 -->
<insert
id=
"insertBatch"
>
insert into t_signal_command_log(cross_id, status, run_mode, command_result, insert_time)
insert into t_signal_command_log(cross_id, status, run_mode, command_result, insert_time
, lamp_time, update_count
)
values
<foreach
collection=
"list"
item=
"entity"
separator=
","
>
(#{entity.crossId}, #{entity.status}, #{entity.runMode}, #{entity.commandResult}, #{entity.insertTime})
(#{entity.crossId}, #{entity.status}, #{entity.runMode}, #{entity.commandResult}, #{entity.insertTime},
#{entity.lampTime}, #{entity.updateCount})
</foreach>
</insert>
...
...
@@ -19,7 +20,8 @@
<if
test=
"item.commandResult != null"
>
command_result = #{item.commandResult},
</if>
<if
test=
"item.runMode != null"
>
run_mode = #{item.runMode},
</if>
<if
test=
"item.updateTime != null"
>
update_time = #{item.updateTime},
</if>
<if
test=
"item.status != null"
>
status = #{item.status}
</if>
<if
test=
"item.status != null"
>
status = #{item.status},
</if>
<if
test=
"item.lampTime != null"
>
lamp_time = #{item.lampTime}
</if>
</set>
WHERE cross_id = #{item.crossId}
</foreach>
...
...
wj-databus/src/main/resources/mapper/SignalCommandPOMapper.xml
View file @
242449ef
...
...
@@ -4,10 +4,11 @@
<!-- 批量新增数据 -->
<insert
id=
"insertBatch"
>
insert into t_signal_command(cross_id, status, run_mode, command_result, insert_time)
insert into t_signal_command(cross_id, status, run_mode, command_result, insert_time
, lamp_time, update_count
)
values
<foreach
collection=
"list"
item=
"entity"
separator=
","
>
(#{entity.crossId}, #{entity.status}, #{entity.runMode}, #{entity.commandResult}, #{entity.insertTime})
(#{entity.crossId}, #{entity.status}, #{entity.runMode}, #{entity.commandResult}, #{entity.insertTime},
#{entity.lampTime}, #{entity.updateCount})
</foreach>
</insert>
...
...
@@ -19,7 +20,8 @@
<if
test=
"item.commandResult != null"
>
command_result = #{item.commandResult},
</if>
<if
test=
"item.runMode != null"
>
run_mode = #{item.runMode},
</if>
<if
test=
"item.updateTime != null"
>
update_time = #{item.updateTime},
</if>
<if
test=
"item.status != null"
>
status = #{item.status}
</if>
<if
test=
"item.status != null"
>
status = #{item.status},
</if>
<if
test=
"item.lampTime != null"
>
lamp_time = #{item.lampTime}
</if>
</set>
WHERE cross_id = #{item.crossId}
</foreach>
...
...
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