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
136c86d6
Commit
136c86d6
authored
Feb 02, 2025
by
zhouleilei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update]解决特殊日期调度同步问题,获取环图时,从灯态中获取当前运行的方案号
parent
8d632358
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
55 additions
and
19 deletions
+55
-19
SignalStatusServiceImpl.java
...nji/utc/hisense/service/impl/SignalStatusServiceImpl.java
+1
-1
StaticInfoServiceImpl.java
...wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
+27
-10
WanJiCommonStaticInfoServiceImpl.java
...ice/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
+1
-1
StringUtils.java
...service/src/main/java/net/wanji/utc/util/StringUtils.java
+24
-5
BaseCrossSchemeMapper.xml
...tabus/src/main/resources/mapper/BaseCrossSchemeMapper.xml
+2
-2
No files found.
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/SignalStatusServiceImpl.java
View file @
136c86d6
...
...
@@ -24,7 +24,6 @@ import net.wanji.utc.hisense.pojo.dto.CrossSchemePhaseCountDownDTO;
import
net.wanji.utc.hisense.pojo.dto.PhaseCountDownDTO
;
import
net.wanji.utc.hisense.service.SignalStatusService
;
import
net.wanji.utc.hisense.util.OkHttpClientUtil
;
import
net.wanji.utc.hisense.util.OkHttpClientUtil
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentHelper
;
...
...
@@ -209,6 +208,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
if
(
Objects
.
isNull
(
crossInfo
))
{
continue
;
}
StaticInfoServiceImpl
.
planMap
.
put
(
crossInfo
.
getId
(),
content
.
getPlanId
());
String
crossId
=
crossInfo
.
getId
();
Long
lastSignalMachineStamp
=
SignalDataCache
.
runningStatusStampMap
.
get
(
crossId
);
if
(
Objects
.
isNull
(
lastSignalMachineStamp
))
{
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
View file @
136c86d6
...
...
@@ -79,6 +79,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
private
CrossSchemeStageOptLogMapper
crossSchemeStageOptLogMapper
;
@Resource
private
BaseCrossSchemeMapper
baseCrossSchemeMapper
;
public
static
Map
<
String
,
Integer
>
planMap
=
new
HashMap
<>();
@Override
public
List
<
CrossInfoPO
>
crossBasicInfo
(
CrossInfoDTO
crossInfoDTO
)
throws
Exception
{
...
...
@@ -697,10 +698,10 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchedulesPOMonthDays
.
setCrossId
(
crossId
);
crossSchedulesPOMonthDays
.
setScheduleNo
(
vNtcipTimeBaseScheduleView
.
getNTimeBaseScheduleNumber
());
crossSchedulesPOMonthDays
.
setName
(
"调度"
+
vNtcipTimeBaseScheduleView
.
getNTimeBaseScheduleNumber
());
crossSchedulesPOMonthDays
.
setWeek
(
null
);
crossSchedulesPOMonthDays
.
setWeek
(
0
);
crossSchedulesPOMonthDays
.
setMonths
(
monthsStr
);
crossSchedulesPOMonthDays
.
setDays
(
daysStr
);
crossSchedulesPOMonthDays
.
setPlanId
(
0
);
crossSchedulesPOMonthDays
.
setPlanId
(
hisensePlanId
);
results
.
add
(
crossSchedulesPOMonthDays
);
}
}
...
...
@@ -804,19 +805,35 @@ public class StaticInfoServiceImpl implements StaticInfoService {
Element
messageContent
=
(
Element
)
document
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
);
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPOExt
.
getCode
());
//获取当前运行的方案号
CoordinationStatus
coordinationStatus
=
crossPlan
(
crossSchemeRingsDTO
.
getCrossId
());
if
(
ObjectUtil
.
isEmpty
(
coordinationStatus
))
{
//获取方案号失败
log
.
error
(
"请求方案环图前,获取当前运行方案号失败,crossId:{}"
,
crossSchemeRingsDTO
.
getCrossId
());
return
null
;
}
else
if
(
"255"
.
equals
(
coordinationStatus
.
getCoordPatternStatus
()))
{
Integer
integer
=
planMap
.
get
(
crossSchemeRingsDTO
.
getCrossId
());
/*if (ObjectUtil.isEmpty(integer)){
CoordinationStatus coordinationStatus = crossPlan(crossSchemeRingsDTO.getCrossId());
if (ObjectUtil.isEmpty(coordinationStatus)) {
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId());
return null;
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())) {
//黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
return crossSchemeRings;
}
integer = Integer.valueOf(coordinationStatus.getCoordPatternStatus());
}*/
if
(
ObjectUtil
.
isEmpty
(
integer
)){
//获取方案号失败
log
.
error
(
"请求方案环图前,获取当前运行方案号失败,没有该路口的灯态信息,crossId:{}"
,
crossSchemeRingsDTO
.
getCrossId
());
return
null
;
}
else
if
(
255
==
integer
)
{
//黃闪
CrossSchemeRings
crossSchemeRings
=
new
CrossSchemeRings
();
crossSchemeRings
.
setSpot
(
crossSchemeRingsDTO
.
getCrossId
());
crossSchemeRings
.
setPattern
(
coordinationStatus
.
getCoordPatternStatus
(
));
crossSchemeRings
.
setPattern
(
String
.
valueOf
(
integer
));
return
crossSchemeRings
;
}
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
coordinationStatus
.
getCoordPatternStatus
());
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
String
.
valueOf
(
integer
));
//给海信发送http请求
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
View file @
136c86d6
...
...
@@ -224,7 +224,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
if
(
code
!=
200
){
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
crossSchemeRingsDTO
));
//插入命令操作日志
controlCommandStrategyService
.
insertCommandLog
(
now
,
jsonViewObject
,
jsonObject
,
10
);
//
controlCommandStrategyService.insertCommandLog(now,jsonViewObject, jsonObject,10);
}
}
else
{
CrossSchemeRings
crossSchemeRings
=
getCrossSchemeRings
(
crossSchemeRingsDTO
);
...
...
signal-utc-service/src/main/java/net/wanji/utc/util/StringUtils.java
View file @
136c86d6
package
net
.
wanji
.
utc
.
util
;
import
cn.hutool.core.util.ObjectUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.databus.dao.entity.BaseCrossSchemePO
;
import
java.lang.reflect.Field
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.*
;
@Slf4j
public
class
StringUtils
extends
org
.
apache
.
commons
.
lang3
.
StringUtils
{
public
static
void
main
(
String
[]
args
)
{
// GreenwaveScenePO areaIndex = new GreenwaveScenePO();
// System.out.println(areaIndex.toString().replaceAll("=null",""));
// 替换为你的类
Class
<
BaseCrossSchemePO
>
clazz
=
BaseCrossSchemePO
.
class
;
List
<
String
>
list
=
new
ArrayList
<>();
// 遍历所有字段
for
(
Field
field
:
clazz
.
getDeclaredFields
())
{
// 获取 @ApiModelProperty 注解
ApiModelProperty
apiModelProperty
=
field
.
getAnnotation
(
ApiModelProperty
.
class
);
if
(
apiModelProperty
!=
null
)
{
System
.
out
.
print
(
field
.
getName
()
+
"\t"
);
System
.
out
.
println
(
ObjectUtil
.
isNotEmpty
(
apiModelProperty
.
value
())?
apiModelProperty
.
value
():
apiModelProperty
.
name
());
// list.add(apiModelProperty.value());
// 你可以继续打印其他属性如 notes, required 等
}
}
}
/**
* @description: 判断字符串是否为空
...
...
wj-databus/src/main/resources/mapper/BaseCrossSchemeMapper.xml
View file @
136c86d6
...
...
@@ -241,7 +241,7 @@
AND schedules.`week` = #{week}
AND DATE_FORMAT( NOW(), '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
ORDER BY DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
ORDER BY
schedules.special_date,
DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
</select>
<select
id=
"selectSchemeByParams"
resultType=
"net.wanji.databus.dao.entity.BaseCrossSchemePO"
>
...
...
@@ -258,7 +258,7 @@
AND schedules.`week` = #{week}
AND DATE_FORMAT( #{queryTime}, '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
ORDER BY DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
ORDER BY
schedules.special_date,
DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
</select>
...
...
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