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
030d337e
Commit
030d337e
authored
Nov 06, 2024
by
zhouleilei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
海信-适配系统 临时方案处理 功能
parent
1d5b26ce
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
73 additions
and
31 deletions
+73
-31
FeignCommon.java
...main/java/net/wanji/feign/service/common/FeignCommon.java
+2
-1
FeignProxyServiceImpl.java
...opt/service/signalcontrol/impl/FeignProxyServiceImpl.java
+1
-1
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
+3
-2
HKControlCommandServiceImpl.java
...utc/service/control/impl/HKControlCommandServiceImpl.java
+2
-1
WanJiControlCommandServiceImpl.java
.../service/control/impl/WanJiControlCommandServiceImpl.java
+58
-21
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 @
030d337e
...
...
@@ -5,6 +5,7 @@ import net.wanji.databus.bo.CrossIdBO;
import
net.wanji.databus.dto.*
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
...
...
@@ -113,7 +114,7 @@ public interface FeignCommon {
// 临时方案
@PostMapping
(
"/tempScheme"
)
JsonViewObject
tempScheme
(
Object
obj
);
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
);
@PostMapping
(
"/control/findPlanId"
)
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 @
030d337e
...
...
@@ -41,7 +41,7 @@ public class FeignProxyServiceImpl implements FeignProxyService {
SchemeSendVO
schemeSendVO
=
new
SchemeSendVO
();
BeanUtils
.
copyProperties
(
schemeOptSendVO
,
schemeSendVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
tempScheme
(
schemeSendVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
tempScheme
(
scheme
Opt
SendVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
log
.
error
(
"诊断优化手动下发优化方案,UTC服务调用异常"
,
jsonViewObject
);
throw
new
FeignServiceException
(
"诊断优化手动下发优化方案,UTC服务调用异常"
);
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/ControlCommandController.java
View file @
030d337e
...
...
@@ -13,6 +13,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.service.control.ControlCommandStrategyService
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -217,8 +218,8 @@ public class ControlCommandController {
@AspectLog
(
description
=
"临时方案"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"临时方案"
,
notes
=
"临时方案"
)
@PostMapping
(
"/tempScheme"
)
public
JsonViewObject
tempScheme
(
@RequestBody
@Validated
Object
obj
)
throws
Exception
{
return
controlCommandStrategyService
.
tempScheme
(
obj
);
public
JsonViewObject
tempScheme
(
@RequestBody
@Validated
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
return
controlCommandStrategyService
.
tempScheme
(
schemeOptSendVO
);
}
/**
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/ControlCommandService.java
View file @
030d337e
...
...
@@ -3,8 +3,8 @@ package net.wanji.utc.service.control;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dto.ExtendPhaseDTO
;
import
net.wanji.databus.dto.StepingPhaseDTO
;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.po.hk.request.DelBaseConfigPO
;
import
java.util.Date
;
...
...
@@ -100,7 +100,7 @@ public interface ControlCommandService {
JsonViewObject
delBaseConfig
(
DelBaseConfigPO
delBaseConfigPO
)
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
extendPhase
(
ExtendPhaseDTO
extendPhase
)
throws
Exception
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/ControlCommandStrategyService.java
View file @
030d337e
...
...
@@ -6,6 +6,7 @@ import net.wanji.databus.dto.StepingPhaseDTO;
import
net.wanji.databus.vo.TempSchemeSendVO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
java.util.Date
;
...
...
@@ -112,7 +113,7 @@ public interface ControlCommandStrategyService {
* @return
* @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 @
030d337e
...
...
@@ -11,6 +11,7 @@ import net.wanji.databus.po.BaseCrossLightsPO;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.SaveToUtcPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.CrossPhaseDirTurnCache
;
import
net.wanji.utc.cache.CrossSchemePhaseTimeCountCache
;
...
...
@@ -333,8 +334,8 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
}
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
wanJiControlCommandService
.
tempScheme
(
obj
);
public
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
wanJiControlCommandService
.
tempScheme
(
schemeOptSendVO
);
return
jsonViewObject
;
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/HKControlCommandServiceImpl.java
View file @
030d337e
...
...
@@ -19,6 +19,7 @@ import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.ManufacturerInfoPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.common.exception.ControlException
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.common.typeenum.CrossLightsDirEnum
;
...
...
@@ -554,7 +555,7 @@ public class HKControlCommandServiceImpl implements ControlCommandService {
}
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
return
null
;
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/WanJiControlCommandServiceImpl.java
View file @
030d337e
package
net
.
wanji
.
utc
.
service
.
control
.
impl
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dto.ExtendPhaseDTO
;
import
net.wanji.databus.dto.StepingPhaseDTO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.feign.service.common.FeignCommon
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.UtcFeignClientCache
;
import
net.wanji.utc.common.constant.Constants
;
...
...
@@ -19,9 +19,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.LinkedHashMap
;
import
java.util.Objects
;
import
java.util.*
;
/**
* @author duanruiming
...
...
@@ -175,32 +173,71 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
}
@Override
public
JsonViewObject
tempScheme
(
Object
obj
)
throws
Exception
{
public
JsonViewObject
tempScheme
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
if
(!
obj
.
toString
().
contains
(
"split"
))
{
//东土协议
TempSchemeVO
tempSchemeVO
=
(
TempSchemeVO
)
obj
;
/*
TempSchemeVO tempSchemeVO = (TempSchemeVO) obj;
String manufacturerIdCode = crossInfoCache.getManufacturerCodeByCrossId(tempSchemeVO.getCrossCode());
jsonViewObject = utcFeignClientCache.getUtcFeignClientService(manufacturerIdCode).tempScheme(tempSchemeVO);
}
else
{
*/
//海信协议
ObjectMapper
objectMapper
=
new
ObjectMapper
();
TempSchemeSendVO
tempSchemeSendVO
;
if
(
obj
instanceof
LinkedHashMap
)
{
tempSchemeSendVO
=
objectMapper
.
convertValue
(
obj
,
TempSchemeSendVO
.
class
);
}
else
{
tempSchemeSendVO
=
(
TempSchemeSendVO
)
obj
;
}
TempSchemeSendVO
tempSchemeSendVO
=
getTempSchemeSendVO
(
schemeOptSendVO
);
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
tempSchemeDetail
(
tempSchemeSendVO
);
}
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议下发临时方案成功!"
);
}
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
public
JsonViewObject
tempSchemeDetail
(
TempSchemeSendVO
tempSchemeSendVO
)
throws
Exception
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
tempSchemeSendVO
.
getCrossCode
());
...
...
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 @
030d337e
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