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
38abe07b
Commit
38abe07b
authored
Jun 16, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 运行状态
parent
afb55782
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
361 additions
and
63 deletions
+361
-63
Constants.java
...c/main/java/net/wanji/com/common/constants/Constants.java
+2
-0
CommandResultSign.java
...in/java/net/wanji/com/common/enums/CommandResultSign.java
+2
-1
SignalStatusController.java
...java/net/wanji/com/controller/SignalStatusController.java
+1
-0
StaticInfoController.java
...n/java/net/wanji/com/controller/StaticInfoController.java
+2
-18
GetLightsStatusInfoService.java
...m/netty/response/impl/get/GetLightsStatusInfoService.java
+17
-0
DailyPlanInfoPojo.java
.../java/net/wanji/com/pojo/dtconvert/DailyPlanInfoPojo.java
+1
-1
FaultInfoPojo.java
...main/java/net/wanji/com/pojo/dtconvert/FaultInfoPojo.java
+11
-0
LightsInfoPojo.java
...ain/java/net/wanji/com/pojo/dtconvert/LightsInfoPojo.java
+35
-0
PhaseInfoPojo.java
...main/java/net/wanji/com/pojo/dtconvert/PhaseInfoPojo.java
+14
-2
RunningStatusPojo.java
.../java/net/wanji/com/pojo/dtconvert/RunningStatusPojo.java
+15
-0
ScheduleInfoPojo.java
...n/java/net/wanji/com/pojo/dtconvert/ScheduleInfoPojo.java
+1
-1
SchemeInfoPojo.java
...ain/java/net/wanji/com/pojo/dtconvert/SchemeInfoPojo.java
+30
-4
StaticInfoService.java
...a/net/wanji/com/service/controller/StaticInfoService.java
+0
-7
DTSignalStatusServiceImpl.java
...om/service/controller/impl/DTSignalStatusServiceImpl.java
+97
-0
DTStaticInfoServiceImpl.java
.../com/service/controller/impl/DTStaticInfoServiceImpl.java
+133
-29
No files found.
signal-utc-dt-service/src/main/java/net/wanji/com/common/constants/Constants.java
View file @
38abe07b
...
@@ -21,11 +21,13 @@ public class Constants {
...
@@ -21,11 +21,13 @@ public class Constants {
public
static
final
String
COMMAND_QUERY_REPLY
=
"20"
;
public
static
final
String
COMMAND_QUERY_REPLY
=
"20"
;
public
static
final
String
COMMAND_PHASE_CONFIG
=
"0402"
;
public
static
final
String
COMMAND_PHASE_CONFIG
=
"0402"
;
public
static
final
String
COMMAND_LIGHT_CONFIG
=
"0302"
;
public
static
final
String
COMMAND_LIGHT_CONFIG
=
"0302"
;
public
static
final
String
COMMAND_LIGHT_STATUS
=
"0303"
;
public
static
final
String
COMMAND_PHASE_STAGE_CONFIG
=
"0602"
;
public
static
final
String
COMMAND_PHASE_STAGE_CONFIG
=
"0602"
;
public
static
final
String
COMMAND_SCHME_CONFIG
=
"0902"
;
public
static
final
String
COMMAND_SCHME_CONFIG
=
"0902"
;
public
static
final
String
COMMAND_DAILYPLAN_CONFIG
=
"0b02"
;
public
static
final
String
COMMAND_DAILYPLAN_CONFIG
=
"0b02"
;
public
static
final
String
COMMAND_SCHEDULE_CONFIG
=
"0c02"
;
public
static
final
String
COMMAND_SCHEDULE_CONFIG
=
"0c02"
;
public
static
final
String
COMMAND_RUNNING_STATUS
=
"0d02"
;
public
static
final
String
COMMAND_RUNNING_STATUS
=
"0d02"
;
public
static
final
String
COMMAND_FAULT_LIST
=
"1002"
;
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/common/enums/CommandResultSign.java
View file @
38abe07b
...
@@ -14,6 +14,7 @@ public enum CommandResultSign {
...
@@ -14,6 +14,7 @@ public enum CommandResultSign {
GET_DEVICE_INFO
(
"2001"
,
"getDeviceInfoService"
),
GET_DEVICE_INFO
(
"2001"
,
"getDeviceInfoService"
),
GET_SIGNAL_BASE_INFO
(
"2002"
,
"getBaseInfoService"
),
GET_SIGNAL_BASE_INFO
(
"2002"
,
"getBaseInfoService"
),
GET_LIGHTS_GROUP_INFO
(
"030220"
,
"getLightsGroupInfoService"
),
GET_LIGHTS_GROUP_INFO
(
"030220"
,
"getLightsGroupInfoService"
),
GET_LIGHTS_STATUS_INFO
(
"030320"
,
"getLightsStatusInfoService"
),
GET_PHASE_INFO
(
"040220"
,
"getPhaseInfoService"
),
GET_PHASE_INFO
(
"040220"
,
"getPhaseInfoService"
),
GET_DETECTOR_INFO
(
"2005"
,
"getDetectorInfoService"
),
GET_DETECTOR_INFO
(
"2005"
,
"getDetectorInfoService"
),
GET_STAGE_INFO
(
"060220"
,
"getStageInfoService"
),
GET_STAGE_INFO
(
"060220"
,
"getStageInfoService"
),
...
@@ -24,7 +25,7 @@ public enum CommandResultSign {
...
@@ -24,7 +25,7 @@ public enum CommandResultSign {
GET_RUNNING_STATE_INFO
(
"0d0220"
,
"getRunningStateInfoService"
),
GET_RUNNING_STATE_INFO
(
"0d0220"
,
"getRunningStateInfoService"
),
GET_TRAFFIC_DATA_INFO
(
"2014"
,
"getTrafficDataInfoService"
),
GET_TRAFFIC_DATA_INFO
(
"2014"
,
"getTrafficDataInfoService"
),
GET_ALARM_INFO
(
"2015"
,
"getAlarmInfoService"
),
GET_ALARM_INFO
(
"2015"
,
"getAlarmInfoService"
),
GET_FAULT_INFO
(
"
2016
"
,
"getFaultInfoService"
),
GET_FAULT_INFO
(
"
100220
"
,
"getFaultInfoService"
),
SET_DEVICE_INFO
(
"3001"
,
"setDeviceInfoService"
),
SET_DEVICE_INFO
(
"3001"
,
"setDeviceInfoService"
),
SET_SIGNAL_BASE_INFO
(
"3002"
,
"setBaseInfoService"
),
SET_SIGNAL_BASE_INFO
(
"3002"
,
"setBaseInfoService"
),
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/controller/SignalStatusController.java
View file @
38abe07b
...
@@ -44,6 +44,7 @@ public class SignalStatusController {
...
@@ -44,6 +44,7 @@ public class SignalStatusController {
})
})
public
JsonViewObject
runningStatusAlarm
()
{
public
JsonViewObject
runningStatusAlarm
()
{
List
<
SignalStatusLogPO
>
signalStatusLogPOList
=
signalStatusService
.
runningStatusAlarm
();
List
<
SignalStatusLogPO
>
signalStatusLogPOList
=
signalStatusService
.
runningStatusAlarm
();
signalStatusService
.
runningStatusAlarm
(
"12F7L08J8S0"
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
signalStatusLogPOList
);
return
jsonViewObject
.
success
(
signalStatusLogPOList
);
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/controller/StaticInfoController.java
View file @
38abe07b
...
@@ -22,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -22,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.ws.rs.core.MediaType
;
import
javax.ws.rs.core.MediaType
;
import
java.util.Objects
;
/**
/**
* 静态信息接口
* 静态信息接口
...
@@ -47,12 +46,8 @@ public class StaticInfoController {
...
@@ -47,12 +46,8 @@ public class StaticInfoController {
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SchemePhaseLightsVO
.
class
)
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SchemePhaseLightsVO
.
class
)
})
})
public
JsonViewObject
schemePhaseLights
(
@RequestBody
@Validated
SchemePhaseLightsDTO
schemePhaseLightsDTO
)
throws
Exception
{
public
JsonViewObject
schemePhaseLights
(
@RequestBody
@Validated
SchemePhaseLightsDTO
schemePhaseLightsDTO
)
throws
Exception
{
// 命令调用
SchemePhaseLightsVO
schemePhaseLightsVO
=
staticInfoService
.
schemePhaseLights
(
schemePhaseLightsDTO
);
staticInfoService
.
schemePhaseLights
(
schemePhaseLightsDTO
);
// 构造返回值
SchemePhaseLightsVO
schemePhaseLightsVO
=
staticInfoService
.
buildSchemePhaseLightsResponse
(
schemePhaseLightsDTO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
schemePhaseLightsVO
);
return
jsonViewObject
.
success
(
schemePhaseLightsVO
);
}
}
...
@@ -67,20 +62,9 @@ public class StaticInfoController {
...
@@ -67,20 +62,9 @@ public class StaticInfoController {
public
JsonViewObject
planSection
(
@RequestBody
@Validated
PlanSectionDTO
planSectionDTO
)
throws
Exception
{
public
JsonViewObject
planSection
(
@RequestBody
@Validated
PlanSectionDTO
planSectionDTO
)
throws
Exception
{
// 命令调用
// 命令调用
staticInfoService
.
planSection
(
planSectionDTO
);
staticInfoService
.
planSection
(
planSectionDTO
);
// 构造返回值
String
crossId
=
planSectionDTO
.
getCrossId
();
Integer
planNo
=
planSectionDTO
.
getPlanNo
();
PlanSectionVO
planSectionVO
=
new
PlanSectionVO
();
if
(
Objects
.
isNull
(
planNo
)
||
planNo
==
-
1
)
{
// 返回所有
planSectionVO
=
staticInfoService
.
buildPlanSectionResponse
(
crossId
);
}
else
{
// 按计划号返回
planSectionVO
=
staticInfoService
.
buildPlanSectionResponse
(
crossId
,
planNo
);
}
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
planSectionVO
);
return
jsonViewObject
.
success
(
null
);
}
}
@AspectLog
(
description
=
"时间表数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@AspectLog
(
description
=
"时间表数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/netty/response/impl/get/GetLightsStatusInfoService.java
0 → 100644
View file @
38abe07b
package
net
.
wanji
.
com
.
netty
.
response
.
impl
.
get
;
import
net.wanji.com.netty.pojo.CommandPojo
;
import
net.wanji.com.netty.response.CommandResponseFactory
;
import
org.springframework.stereotype.Service
;
/**
* @author duanruiming
* @date 2023/06/16 9:45
*/
@Service
public
class
GetLightsStatusInfoService
implements
CommandResponseFactory
{
@Override
public
String
getCommandResponse
(
CommandPojo
commandPojo
)
{
return
commandPojo
.
getResponseMsg
();
}
}
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/DailyPlanInfoPojo.java
View file @
38abe07b
...
@@ -11,7 +11,7 @@ import java.util.List;
...
@@ -11,7 +11,7 @@ import java.util.List;
@Data
@Data
public
class
DailyPlanInfoPojo
{
public
class
DailyPlanInfoPojo
{
private
Integer
dailyPlanId
;
private
Integer
dailyPlanId
;
private
Integer
crossId
;
private
Integer
c
ontrolC
rossId
;
private
List
<
String
>
startTimeChain
;
private
List
<
String
>
startTimeChain
;
private
List
<
Integer
>
schemeIdChain
;
private
List
<
Integer
>
schemeIdChain
;
private
List
<
Integer
>
controlModelChain
;
private
List
<
Integer
>
controlModelChain
;
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/FaultInfoPojo.java
0 → 100644
View file @
38abe07b
package
net
.
wanji
.
com
.
pojo
.
dtconvert
;
import
lombok.Data
;
/**
* @author duanruiming
* @date 2023/06/16 8:43
*/
@Data
public
class
FaultInfoPojo
{
}
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/LightsInfoPojo.java
View file @
38abe07b
...
@@ -11,4 +11,39 @@ public class LightsInfoPojo {
...
@@ -11,4 +11,39 @@ public class LightsInfoPojo {
private
Integer
lightId
;
private
Integer
lightId
;
// 1-机动车 2-非机动车 3-行人 4-车道 5-可变交通标志 6-公交车灯具 7-有轨电车专用灯 8-特殊灯
// 1-机动车 2-非机动车 3-行人 4-车道 5-可变交通标志 6-公交车灯具 7-有轨电车专用灯 8-特殊灯
private
Integer
type
;
private
Integer
type
;
public
static
Integer
getLightsDir
(
Integer
lightId
)
{
// 万集 灯组放行方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北
Integer
dir
=
null
;
if
(
lightId
<=
4
)
{
dir
=
1
;
}
else
if
(
lightId
<=
8
)
{
dir
=
3
;
}
else
if
(
lightId
<=
12
)
{
dir
=
5
;
}
else
if
(
lightId
<=
16
)
{
dir
=
7
;
}
return
dir
;
}
// 万集 灯组转向:1左转;2右转;3直行;4左掉头;5直左;6直右;7右掉头;8向左合流;9向右合流;10左转加掉头;11右转加掉头;
// 12直行加左掉头;13直行加右掉头;14左转右转;15左直右;16左转右转加掉头;17左直掉头;18左直右掉头;20行人
public
static
Integer
getTurnDir
(
Integer
lightId
,
Integer
type
)
{
Integer
turnDir
=
null
;
if
(
type
==
3
)
{
turnDir
=
20
;
return
turnDir
;
}
if
(
lightId
%
4
==
1
&&
type
==
1
)
{
turnDir
=
1
;
}
else
{
turnDir
=
6
;
}
return
turnDir
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
err
.
println
(
1
%
4
==
1
);
}
}
}
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/PhaseInfoPojo.java
View file @
38abe07b
...
@@ -3,6 +3,9 @@ package net.wanji.com.pojo.dtconvert;
...
@@ -3,6 +3,9 @@ package net.wanji.com.pojo.dtconvert;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
import
java.util.Objects
;
/**
/**
* @author duanruiming
* @author duanruiming
* @date 2023/06/13 14:21
* @date 2023/06/13 14:21
...
@@ -12,14 +15,23 @@ import lombok.NoArgsConstructor;
...
@@ -12,14 +15,23 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@NoArgsConstructor
public
class
PhaseInfoPojo
{
public
class
PhaseInfoPojo
{
private
Integer
phaseId
;
private
Integer
phaseId
;
private
Integer
lights
;
private
Integer
lights
Id
;
private
Integer
greenTime
;
private
Integer
greenTime
;
private
Integer
greenFlashTime
;
private
Integer
greenFlashTime
;
private
Integer
yellowTime
;
private
Integer
yellowTime
;
private
Integer
redTime
;
private
Integer
yellowFlashTime
;
private
Integer
yellowFlashTime
;
private
Integer
redTime
;
private
Integer
minGreenTime
;
private
Integer
minGreenTime
;
private
Integer
maxGreenTime
;
private
Integer
maxGreenTime
;
private
Integer
maxGreenTime2
;
private
Integer
maxGreenTime2
;
private
Integer
extendGreenTime
;
private
Integer
extendGreenTime
;
public
static
PhaseInfoPojo
getPhaseInfoPojoByPhaseId
(
Integer
phaseId
,
List
<
PhaseInfoPojo
>
phaseInfoPojos
)
{
for
(
PhaseInfoPojo
phaseInfoPojo
:
phaseInfoPojos
)
{
if
(
Objects
.
equals
(
phaseInfoPojo
.
getPhaseId
(),
phaseId
))
{
return
phaseInfoPojo
;
}
}
return
null
;
}
}
}
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/RunningStatusPojo.java
0 → 100644
View file @
38abe07b
package
net
.
wanji
.
com
.
pojo
.
dtconvert
;
import
lombok.Data
;
/**
* @author duanruiming
* @date 2023/06/16 10:00
*/
@Data
public
class
RunningStatusPojo
{
private
Integer
controlCrossId
;
private
String
controlMode
;
private
Integer
schemeId
;
private
Integer
phaseStageId
;
}
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/ScheduleInfoPojo.java
View file @
38abe07b
...
@@ -11,7 +11,7 @@ import java.util.List;
...
@@ -11,7 +11,7 @@ import java.util.List;
@Data
@Data
public
class
ScheduleInfoPojo
{
public
class
ScheduleInfoPojo
{
private
Integer
scheduleId
;
private
Integer
scheduleId
;
private
Integer
crossId
;
private
Integer
c
ontrolC
rossId
;
private
Integer
priority
;
private
Integer
priority
;
private
List
<
Integer
>
week
;
private
List
<
Integer
>
week
;
private
List
<
Integer
>
month
;
private
List
<
Integer
>
month
;
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/pojo/dtconvert/SchemeInfoPojo.java
View file @
38abe07b
...
@@ -2,7 +2,9 @@ package net.wanji.com.pojo.dtconvert;
...
@@ -2,7 +2,9 @@ package net.wanji.com.pojo.dtconvert;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
/**
/**
* @author duanruiming
* @author duanruiming
...
@@ -12,13 +14,37 @@ import java.util.List;
...
@@ -12,13 +14,37 @@ import java.util.List;
public
class
SchemeInfoPojo
{
public
class
SchemeInfoPojo
{
private
Integer
schemeId
;
private
Integer
schemeId
;
// 所属方案序号 一台信号机控制多路口时使用
// 所属方案序号 一台信号机控制多路口时使用
private
Integer
crossId
;
private
Integer
c
ontrolC
rossId
;
// 单位s
// 单位s
private
Integer
cycle
;
private
Integer
cycle
;
// 方案协调序号 需要协调的相位序号
// 方案协调序号 需要协调的相位序号
private
Integer
harmonizeId
;
private
Integer
harmonizeId
;
private
Integer
offset
;
private
Integer
offset
;
private
List
<
Integer
>
phaseList
;
private
List
<
Integer
>
phaseStageChain
;
private
List
<
Integer
>
phaseTimeChain
;
private
List
<
Integer
>
phaseStageTimeChain
;
private
List
<
Integer
>
phaseTypeChain
;
// 10 固定出现 20 检测器按需出现
private
List
<
Integer
>
phaseStageTypeChain
;
@Data
public
static
class
SchemeStagePojo
{
private
Integer
schemeId
;
private
Integer
phaseStageId
;
private
Integer
phaseStageTime
;
private
Integer
phaseStageType
;
}
public
static
List
<
SchemeStagePojo
>
getStageInfoList
(
SchemeInfoPojo
schemeInfoPojo
)
{
if
(
Objects
.
nonNull
(
schemeInfoPojo
))
{
List
<
SchemeStagePojo
>
schemeStagePojos
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
schemeInfoPojo
.
getPhaseStageChain
().
size
();
i
++)
{
SchemeStagePojo
schemeStagePojo
=
new
SchemeStagePojo
();
schemeStagePojo
.
setPhaseStageId
(
schemeInfoPojo
.
getPhaseStageChain
().
get
(
i
));
schemeStagePojo
.
setPhaseStageTime
(
schemeInfoPojo
.
getPhaseStageTimeChain
().
get
(
i
));
schemeStagePojo
.
setPhaseStageType
(
schemeInfoPojo
.
getPhaseStageTypeChain
().
get
(
i
));
schemeStagePojos
.
add
(
schemeStagePojo
);
}
return
schemeStagePojos
;
}
return
null
;
}
}
}
signal-utc-dt-service/src/main/java/net/wanji/com/service/controller/StaticInfoService.java
View file @
38abe07b
...
@@ -21,11 +21,4 @@ public interface StaticInfoService extends BeanMarkService {
...
@@ -21,11 +21,4 @@ public interface StaticInfoService extends BeanMarkService {
List
<
CrossSchedulesPO
>
crossSchedules
(
CrossSchedulesDTO
crossSchedulesDTO
)
throws
Exception
;
List
<
CrossSchedulesPO
>
crossSchedules
(
CrossSchedulesDTO
crossSchedulesDTO
)
throws
Exception
;
SchemePhaseLightsVO
buildSchemePhaseLightsResponse
(
SchemePhaseLightsDTO
schemePhaseLightsDTO
);
PlanSectionVO
buildPlanSectionResponse
(
String
crossId
);
PlanSectionVO
buildPlanSectionResponse
(
String
crossId
,
Integer
planNo
);
List
<
CrossSchedulesPO
>
buildCrossSchedulesResponse
(
List
<
String
>
crossIdList
);
}
}
signal-utc-dt-service/src/main/java/net/wanji/com/service/controller/impl/DTSignalStatusServiceImpl.java
View file @
38abe07b
package
net
.
wanji
.
com
.
service
.
controller
.
impl
;
package
net
.
wanji
.
com
.
service
.
controller
.
impl
;
import
cn.hutool.core.util.HexUtil
;
import
net.wanji.com.cache.CrossInfoCache
;
import
net.wanji.com.common.constants.Constants
;
import
net.wanji.com.netty.NettyClient
;
import
net.wanji.com.pojo.dtconvert.FaultInfoPojo
;
import
net.wanji.com.pojo.dtconvert.RunningStatusPojo
;
import
net.wanji.com.pojo.netty.MessageResultPojo
;
import
net.wanji.com.service.controller.SignalStatusService
;
import
net.wanji.com.service.controller.SignalStatusService
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.vo.LightsStatusVO
;
import
net.wanji.databus.vo.LightsStatusVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
/**
/**
* @author duanruiming
* @author duanruiming
...
@@ -15,6 +27,9 @@ import java.util.List;
...
@@ -15,6 +27,9 @@ import java.util.List;
@Service
@Service
public
class
DTSignalStatusServiceImpl
implements
SignalStatusService
{
public
class
DTSignalStatusServiceImpl
implements
SignalStatusService
{
@Resource
private
CrossInfoCache
crossInfoCache
;
@Override
@Override
public
String
getBeanMark
()
{
public
String
getBeanMark
()
{
return
BaseEnum
.
VendorTypeEnum
.
DT
.
getNick
();
return
BaseEnum
.
VendorTypeEnum
.
DT
.
getNick
();
...
@@ -27,6 +42,88 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
...
@@ -27,6 +42,88 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
@Override
@Override
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
{
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
{
List
<
FaultInfoPojo
>
faultInfoPojos
=
getFaultInfoPojos
(
crossId
);
List
<
String
>
lightsStatus
=
getLightsStausInfoPojos
(
crossId
);
List
<
RunningStatusPojo
>
runningStatusPojos
=
getRunningStatusPojos
(
crossId
);
return
null
;
}
private
List
<
RunningStatusPojo
>
getRunningStatusPojos
(
String
crossId
)
{
List
<
RunningStatusPojo
>
runningStatusPojos
=
new
ArrayList
<>();
CrossInfoPO
crossInfoPO
=
crossInfoCache
.
getCrossInfoCache
().
get
(
crossId
);
String
message
=
String
.
format
(
Constants
.
COMMAND_COMMON
,
Constants
.
COMMAND_QUERY
,
Constants
.
COMMAND_RUNNING_STATUS
);
String
runningStatusSign
=
Constants
.
COMMAND_RUNNING_STATUS
.
concat
(
Constants
.
COMMAND_QUERY_REPLY
);
String
runnningStatusHex
=
Constants
.
buildMessage
(
message
);
MessageResultPojo
resultPojo
=
NettyClient
.
sendMessage
(
crossInfoPO
.
getIp
(),
crossInfoPO
.
getPort
(),
runnningStatusHex
,
runningStatusSign
,
300
);
if
(
Objects
.
nonNull
(
resultPojo
)
&&
StringUtils
.
isNotBlank
(
resultPojo
.
getHexMessageResult
()))
{
String
hexMessageResult
=
resultPojo
.
getHexMessageResult
();
String
body
=
hexMessageResult
.
substring
(
32
,
hexMessageResult
.
length
()
-
2
);
int
size
=
body
.
length
()
/
14
;
List
<
String
>
paramList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
String
param
=
body
.
substring
(
i
*
14
+
6
,
i
*
14
+
10
);
if
(!
StringUtils
.
equalsIgnoreCase
(
"0000"
,
param
))
{
paramList
.
add
(
param
);
}
}
for
(
int
i
=
0
;
i
<
paramList
.
size
()
/
4
;
i
++)
{
RunningStatusPojo
runningStatusPojo
=
new
RunningStatusPojo
();
runningStatusPojo
.
setControlCrossId
(
HexUtil
.
hexToInt
(
paramList
.
get
(
i
*
4
)));
runningStatusPojo
.
setControlMode
(
paramList
.
get
(
i
*
4
+
1
));
runningStatusPojo
.
setSchemeId
(
HexUtil
.
hexToInt
(
paramList
.
get
(
i
*
4
+
2
)));
runningStatusPojo
.
setPhaseStageId
(
HexUtil
.
hexToInt
(
paramList
.
get
(
i
*
4
+
3
)));
runningStatusPojos
.
add
(
runningStatusPojo
);
}
}
return
runningStatusPojos
;
}
private
List
<
String
>
getLightsStausInfoPojos
(
String
crossId
)
{
List
<
String
>
lightsStatusList
=
new
ArrayList
<>();
CrossInfoPO
crossInfoPO
=
crossInfoCache
.
getCrossInfoCache
().
get
(
crossId
);
String
message
=
String
.
format
(
Constants
.
COMMAND_COMMON
,
Constants
.
COMMAND_QUERY
,
Constants
.
COMMAND_LIGHT_STATUS
);
String
lightStatusSign
=
Constants
.
COMMAND_LIGHT_STATUS
.
concat
(
Constants
.
COMMAND_QUERY_REPLY
);
String
lightStatusHex
=
Constants
.
buildMessage
(
message
);
MessageResultPojo
resultPojo
=
NettyClient
.
sendMessage
(
crossInfoPO
.
getIp
(),
crossInfoPO
.
getPort
(),
lightStatusHex
,
lightStatusSign
,
300
);
if
(
Objects
.
nonNull
(
resultPojo
)
&&
StringUtils
.
isNotBlank
(
resultPojo
.
getHexMessageResult
()))
{
String
hexMessageResult
=
resultPojo
.
getHexMessageResult
();
String
body
=
hexMessageResult
.
substring
(
32
,
hexMessageResult
.
length
()
-
2
);
int
lightsStatusSize
=
body
.
length
()
/
14
;
for
(
int
i
=
0
;
i
<
lightsStatusSize
;
i
++)
{
String
param
=
body
.
substring
(
i
*
14
+
8
,
i
*
14
+
10
);
if
(!
StringUtils
.
equalsIgnoreCase
(
"00"
,
param
))
{
lightsStatusList
.
add
(
param
);
}
}
}
return
lightsStatusList
;
}
public
static
void
main
(
String
[]
args
)
{
String
message
=
String
.
format
(
"010001000000010001%s010105%s020000"
,
Constants
.
COMMAND_QUERY
,
Constants
.
COMMAND_FAULT_LIST
);
String
faultHex
=
Constants
.
buildMessage
(
message
);
System
.
err
.
println
(
faultHex
);
}
private
List
<
FaultInfoPojo
>
getFaultInfoPojos
(
String
crossId
)
{
CrossInfoPO
crossInfoPO
=
crossInfoCache
.
getCrossInfoCache
().
get
(
crossId
);
String
message
=
String
.
format
(
Constants
.
COMMAND_COMMON
,
Constants
.
COMMAND_QUERY
,
Constants
.
COMMAND_FAULT_LIST
);
String
faultSign
=
Constants
.
COMMAND_FAULT_LIST
.
concat
(
Constants
.
COMMAND_QUERY_REPLY
);
String
faultHex
=
Constants
.
buildMessage
(
message
);
MessageResultPojo
resultPojo
=
NettyClient
.
sendMessage
(
crossInfoPO
.
getIp
(),
crossInfoPO
.
getPort
(),
faultHex
,
faultSign
,
300
);
List
<
FaultInfoPojo
>
faultInfoPojos
=
new
ArrayList
<>();
if
(
Objects
.
nonNull
(
resultPojo
)
&&
StringUtils
.
isNotBlank
(
resultPojo
.
getHexMessageResult
()))
{
String
hexMessageResult
=
resultPojo
.
getHexMessageResult
();
String
body
=
hexMessageResult
.
substring
(
32
,
hexMessageResult
.
length
()
-
2
);
int
lightsStatusSize
=
body
.
length
()
/
14
*
64
;
int
paramIndex
=
8
;
for
(
int
i
=
0
;
i
<
lightsStatusSize
;
i
++)
{
String
param
=
body
.
substring
(
paramIndex
*
i
,
paramIndex
*
i
+
8
);
}
}
return
null
;
return
null
;
}
}
...
...
signal-utc-dt-service/src/main/java/net/wanji/com/service/controller/impl/DTStaticInfoServiceImpl.java
View file @
38abe07b
This diff is collapsed.
Click to expand it.
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