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
46973373
Commit
46973373
authored
Feb 03, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案管理-方案下发,根据当前时间返回相位列表
parent
cc41a27c
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
205 additions
and
41 deletions
+205
-41
PlanSendController.java
...ain/java/net/wanji/web/controller/PlanSendController.java
+31
-15
CrossIdAndPhaseIdsDTO.java
...rc/main/java/net/wanji/web/dto/CrossIdAndPhaseIdsDTO.java
+5
-3
CrossIdAndTimeDTO.java
...ce/src/main/java/net/wanji/web/dto/CrossIdAndTimeDTO.java
+21
-0
PlanSendService.java
.../src/main/java/net/wanji/web/service/PlanSendService.java
+8
-4
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+121
-19
PhaseListByTimeVO.java
...ice/src/main/java/net/wanji/web/vo/PhaseListByTimeVO.java
+19
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/PlanSendController.java
View file @
46973373
...
@@ -2,12 +2,16 @@ package net.wanji.web.controller;
...
@@ -2,12 +2,16 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdAndPhaseIdsDTO
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.service.impl.SchemeSendServiceImpl
;
import
net.wanji.web.service.impl.PlanSendServiceImpl
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
@@ -22,65 +26,77 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -22,65 +26,77 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RestController
@SuppressWarnings
(
"all"
)
@SuppressWarnings
(
"all"
)
public
class
PlanSendController
{
public
class
PlanSendController
{
private
final
SchemeSendServiceImpl
scheme
SendService
;
private
final
PlanSendServiceImpl
plan
SendService
;
public
PlanSendController
(
SchemeSendServiceImpl
scheme
SendService
)
{
public
PlanSendController
(
PlanSendServiceImpl
plan
SendService
)
{
this
.
schemeSendService
=
scheme
SendService
;
this
.
planSendService
=
plan
SendService
;
}
}
@ApiOperation
(
value
=
"方案下发"
,
notes
=
"时间表下发"
)
@ApiOperation
(
value
=
"方案下发"
,
notes
=
"时间表下发"
)
@PostMapping
(
"/scheduleSend"
)
@PostMapping
(
"/scheduleSend"
)
public
JsonViewObject
timeTableSend
(
@RequestBody
ScheduleIdDTO
scheduleIdDTO
)
{
public
JsonViewObject
timeTableSend
(
@RequestBody
ScheduleIdDTO
scheduleIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
scheduleSend
(
scheduleIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
scheduleSend
(
scheduleIdDTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"强制方案"
,
notes
=
"强制方案"
)
@ApiOperation
(
value
=
"强制方案"
,
notes
=
"强制方案"
)
@PostMapping
(
"/schemeSend"
)
@PostMapping
(
"/schemeSend"
)
public
JsonViewObject
schemeSend
(
@RequestBody
SchemeIdDTO
schemeIdDTO
)
{
public
JsonViewObject
schemeSend
(
@RequestBody
SchemeIdDTO
schemeIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
schemeSend
(
schemeIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
schemeSend
(
schemeIdDTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"模式切换-中心控制-步进"
,
notes
=
"模式切换-中心控制-步进"
)
@ApiOperation
(
value
=
"模式切换-中心控制-步进"
,
notes
=
"模式切换-中心控制-步进"
)
@PostMapping
(
"/nextStep"
)
@PostMapping
(
"/nextStep"
)
public
JsonViewObject
nextStep
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
public
JsonViewObject
nextStep
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
nextStep
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
nextStep
(
crossIdDTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"模式切换-中心控制-相位锁定"
,
notes
=
"模式切换-中心控制-相位锁定"
)
@ApiOperation
(
value
=
"模式切换-中心控制-相位锁定"
,
notes
=
"模式切换-中心控制-相位锁定"
)
@PostMapping
(
"/lockPhase"
)
@PostMapping
(
"/lockPhase"
)
public
JsonViewObject
lockPhase
(
@RequestBody
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
)
{
public
JsonViewObject
lockPhase
(
@RequestBody
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
lockPhase
(
crossIdAndPhaseId
DTO
);
JsonViewObject
jsonViewObject
=
planSendService
.
lockPhase
(
crossIdAndPhaseIds
DTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"模式切换-中心控制-全红控制"
,
notes
=
"模式切换-中心控制-全红控制"
)
@ApiOperation
(
value
=
"模式切换-中心控制-全红控制"
,
notes
=
"模式切换-中心控制-全红控制"
)
@PostMapping
(
"/allRedControl"
)
@PostMapping
(
"/allRedControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
public
JsonViewObject
allRedControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
allRedControl
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
allRedControl
(
crossIdDTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"模式切换-中心控制-黄闪控制"
,
notes
=
"模式切换-中心控制-黄闪控制"
)
@ApiOperation
(
value
=
"模式切换-中心控制-黄闪控制"
,
notes
=
"模式切换-中心控制-黄闪控制"
)
@PostMapping
(
"/yellowLightControl"
)
@PostMapping
(
"/yellowLightControl"
)
public
JsonViewObject
yellowLightControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
public
JsonViewObject
yellowLightControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
yellowLightControl
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
yellowLightControl
(
crossIdDTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"模式切换-中心控制-恢复"
,
notes
=
"模式切换-中心控制-恢复"
)
@ApiOperation
(
value
=
"模式切换-中心控制-恢复"
,
notes
=
"模式切换-中心控制-恢复"
)
@PostMapping
(
"/restore"
)
@PostMapping
(
"/restore"
)
public
JsonViewObject
restore
(
@RequestBody
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
)
{
public
JsonViewObject
restore
(
@RequestBody
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
restore
(
crossIdAndPhaseId
DTO
);
JsonViewObject
jsonViewObject
=
planSendService
.
restore
(
crossIdAndPhaseIds
DTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"信号机方案同步"
,
notes
=
"信号机方案同步"
)
@ApiOperation
(
value
=
"信号机方案同步"
,
notes
=
"信号机方案同步"
)
@PostMapping
(
"/syncScheme"
)
@PostMapping
(
"/syncScheme"
)
public
JsonViewObject
syncScheme
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
public
JsonViewObject
syncScheme
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
syncScheme
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
syncScheme
(
crossIdDTO
);
return
jsonViewObject
;
return
jsonViewObject
;
}
}
@ApiOperation
(
value
=
"根据当前时间返回相位列表"
,
notes
=
"根据当前时间返回相位列表"
)
@PostMapping
(
"/phaseListByTime"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
PhaseListByTimeVO
.
class
),
})
public
JsonViewObject
phaseListByTime
(
@RequestBody
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
PhaseListByTimeVO
phaseListByTimeVO
=
planSendService
.
phaseListByTime
(
crossIdAndTimeDTO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
phaseListByTimeVO
);
}
}
}
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdAndPhaseIdDTO.java
→
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdAndPhaseId
s
DTO.java
View file @
46973373
...
@@ -3,6 +3,8 @@ package net.wanji.web.dto;
...
@@ -3,6 +3,8 @@ package net.wanji.web.dto;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* 方案下发-模式切换-中心控制-相位锁定输入参数
* 方案下发-模式切换-中心控制-相位锁定输入参数
*
*
...
@@ -10,9 +12,9 @@ import lombok.Data;
...
@@ -10,9 +12,9 @@ import lombok.Data;
* @date 2022/12/20 10:17
* @date 2022/12/20 10:17
*/
*/
@Data
@Data
public
class
CrossIdAndPhaseIdDTO
{
public
class
CrossIdAndPhaseId
s
DTO
{
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
private
String
crossId
;
private
String
crossId
;
@ApiModelProperty
(
value
=
"相位ID"
,
required
=
true
)
@ApiModelProperty
(
value
=
"相位ID
列表
"
,
required
=
true
)
private
Integer
phaseId
;
private
List
<
Integer
>
phaseIds
;
}
}
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdAndTimeDTO.java
0 → 100644
View file @
46973373
package
net
.
wanji
.
web
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
public
class
CrossIdAndTimeDTO
{
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"当前日期时间 yyyy-MM-dd HH:mm:ss"
,
required
=
true
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
datetime
;
}
signal-control-service/src/main/java/net/wanji/web/service/
Scheme
SendService.java
→
signal-control-service/src/main/java/net/wanji/web/service/
Plan
SendService.java
View file @
46973373
package
net
.
wanji
.
web
.
service
;
package
net
.
wanji
.
web
.
service
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseId
s
DTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
/**
/**
* @author Kent HAN
* @author Kent HAN
* @date 2022/11/3 16:14
* @date 2022/11/3 16:14
*/
*/
public
interface
Scheme
SendService
{
public
interface
Plan
SendService
{
JsonViewObject
scheduleSend
(
ScheduleIdDTO
scheduleIdDTO
);
JsonViewObject
scheduleSend
(
ScheduleIdDTO
scheduleIdDTO
);
JsonViewObject
schemeSend
(
SchemeIdDTO
schemeIdDTO
);
JsonViewObject
schemeSend
(
SchemeIdDTO
schemeIdDTO
);
JsonViewObject
nextStep
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
nextStep
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
lockPhase
(
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
);
JsonViewObject
lockPhase
(
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
);
JsonViewObject
allRedControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
allRedControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
yellowLightControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
yellowLightControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
restore
(
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
);
JsonViewObject
restore
(
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
);
JsonViewObject
syncScheme
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
syncScheme
(
CrossIdDTO
crossIdDTO
);
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
}
}
signal-control-service/src/main/java/net/wanji/web/service/impl/
Scheme
SendServiceImpl.java
→
signal-control-service/src/main/java/net/wanji/web/service/impl/
Plan
SendServiceImpl.java
View file @
46973373
package
net
.
wanji
.
web
.
service
.
impl
;
package
net
.
wanji
.
web
.
service
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
com.google.gson.GsonBuilder
;
...
@@ -10,8 +12,11 @@ import net.wanji.feign.pojo.vo.LockControlVO;
...
@@ -10,8 +12,11 @@ import net.wanji.feign.pojo.vo.LockControlVO;
import
net.wanji.feign.pojo.vo.ScheduleSendVO
;
import
net.wanji.feign.pojo.vo.ScheduleSendVO
;
import
net.wanji.feign.pojo.vo.SchemeSendVO
;
import
net.wanji.feign.pojo.vo.SchemeSendVO
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.dto.CrossIdAndPhaseIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdsDTO
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.mapper.scheme.CrossLightsMapper
;
import
net.wanji.web.mapper.scheme.CrossLightsMapper
;
...
@@ -26,7 +31,10 @@ import net.wanji.web.po.scheme.CrossPhasePO;
...
@@ -26,7 +31,10 @@ import net.wanji.web.po.scheme.CrossPhasePO;
import
net.wanji.web.po.scheme.CrossPlanPO
;
import
net.wanji.web.po.scheme.CrossPlanPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPlanPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPlanPO
;
import
net.wanji.web.po.scheme.CrossSchemePO
;
import
net.wanji.web.po.scheme.CrossSchemePO
;
import
net.wanji.web.service.SchemeSendService
;
import
net.wanji.web.service.PlanSendService
;
import
net.wanji.web.service.scheme.impl.RunningPlanServiceImpl
;
import
net.wanji.web.service.scheme.impl.SchemeConfigServiceImpl
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
net.wanji.web.vo.SchemePhaseLightsVO
;
import
net.wanji.web.vo.SchemePhaseLightsVO
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
...
@@ -46,7 +54,7 @@ import java.util.stream.Collectors;
...
@@ -46,7 +54,7 @@ import java.util.stream.Collectors;
* @date 2023/2/1 9:39
* @date 2023/2/1 9:39
*/
*/
@Service
@Service
public
class
SchemeSendServiceImpl
implements
Scheme
SendService
{
public
class
PlanSendServiceImpl
implements
Plan
SendService
{
private
final
UtcFeignClients
utcFeignClients
;
private
final
UtcFeignClients
utcFeignClients
;
private
final
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
;
private
final
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
;
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossPlanMapper
crossPlanMapper
;
...
@@ -54,11 +62,15 @@ public class SchemeSendServiceImpl implements SchemeSendService {
...
@@ -54,11 +62,15 @@ public class SchemeSendServiceImpl implements SchemeSendService {
private
final
CrossPhaseMapper
crossPhaseMapper
;
private
final
CrossPhaseMapper
crossPhaseMapper
;
private
final
CrossLightsMapper
crossLightsMapper
;
private
final
CrossLightsMapper
crossLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
RunningPlanServiceImpl
runningPlanServiceImpl
;
private
final
SchemeConfigServiceImpl
schemeConfigServiceImpl
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
hourMinuteSdf
=
new
SimpleDateFormat
(
"HH:mm"
);
private
Gson
gson
=
new
GsonBuilder
().
setDateFormat
(
"yyyy-MM-dd"
).
create
();
private
Gson
gson
=
new
GsonBuilder
().
setDateFormat
(
"yyyy-MM-dd"
).
create
();
public
SchemeSendServiceImpl
(
@Qualifier
(
"net.wanji.feign.service.UtcFeignClients"
)
UtcFeignClients
utcFeignClients
,
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
,
CrossPlanMapper
crossPlanMapper
,
CrossSchemeMapper
crossSchemeMapper
,
CrossPhaseMapper
crossPhaseMapper
,
CrossLightsMapper
crossLightsMapper
,
CrossPhaseLightsMapper
crossPhaseLightsMapper
)
{
public
PlanSendServiceImpl
(
@Qualifier
(
"net.wanji.feign.service.UtcFeignClients"
)
UtcFeignClients
utcFeignClients
,
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
,
CrossPlanMapper
crossPlanMapper
,
CrossSchemeMapper
crossSchemeMapper
,
CrossPhaseMapper
crossPhaseMapper
,
CrossLightsMapper
crossLightsMapper
,
CrossPhaseLightsMapper
crossPhaseLightsMapper
,
RunningPlanServiceImpl
runningPlanServiceImpl
,
SchemeConfigServiceImpl
schemeConfigServiceImpl
)
{
this
.
utcFeignClients
=
utcFeignClients
;
this
.
utcFeignClients
=
utcFeignClients
;
this
.
crossSchedulesPlanMapper
=
crossSchedulesPlanMapper
;
this
.
crossSchedulesPlanMapper
=
crossSchedulesPlanMapper
;
this
.
crossPlanMapper
=
crossPlanMapper
;
this
.
crossPlanMapper
=
crossPlanMapper
;
...
@@ -66,6 +78,8 @@ public class SchemeSendServiceImpl implements SchemeSendService {
...
@@ -66,6 +78,8 @@ public class SchemeSendServiceImpl implements SchemeSendService {
this
.
crossPhaseMapper
=
crossPhaseMapper
;
this
.
crossPhaseMapper
=
crossPhaseMapper
;
this
.
crossLightsMapper
=
crossLightsMapper
;
this
.
crossLightsMapper
=
crossLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
runningPlanServiceImpl
=
runningPlanServiceImpl
;
this
.
schemeConfigServiceImpl
=
schemeConfigServiceImpl
;
}
}
@Override
@Override
...
@@ -113,18 +127,19 @@ public class SchemeSendServiceImpl implements SchemeSendService {
...
@@ -113,18 +127,19 @@ public class SchemeSendServiceImpl implements SchemeSendService {
}
}
@Override
@Override
public
JsonViewObject
lockPhase
(
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
)
{
public
JsonViewObject
lockPhase
(
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
)
{
LockControlVO
lockControlVO
=
new
LockControlVO
();
LockControlVO
lockControlVO
=
new
LockControlVO
();
lockControlVO
.
setCrossCode
(
crossIdAndPhaseIdDTO
.
getCrossId
());
lockControlVO
.
setCrossCode
(
crossIdAndPhaseId
s
DTO
.
getCrossId
());
lockControlVO
.
setCommand
(
1
);
// 控制标识:1是;0否
lockControlVO
.
setCommand
(
1
);
// 控制标识:1是;0否
lockControlVO
.
setDuration
(
0
);
// 长期
lockControlVO
.
setDuration
(
0
);
// 长期
Integer
phaseId
=
crossIdAndPhaseIdDTO
.
getPhaseId
();
List
<
Integer
>
phaseIds
=
crossIdAndPhaseIdsDTO
.
getPhaseIds
();
CrossPhasePO
crossPhasePO
=
crossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
for
(
Integer
phaseId
:
phaseIds
)
{
CrossPhasePO
crossPhasePO
=
crossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
}
lockControlVO
.
setPhaseList
(
phaseList
);
lockControlVO
.
setPhaseList
(
phaseList
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
lockControl
(
lockControlVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
lockControl
(
lockControlVO
);
...
@@ -157,9 +172,9 @@ public class SchemeSendServiceImpl implements SchemeSendService {
...
@@ -157,9 +172,9 @@ public class SchemeSendServiceImpl implements SchemeSendService {
}
}
@Override
@Override
public
JsonViewObject
restore
(
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
)
{
public
JsonViewObject
restore
(
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
)
{
String
crossId
=
crossIdAndPhaseIdDTO
.
getCrossId
();
String
crossId
=
crossIdAndPhaseId
s
DTO
.
getCrossId
();
Integer
phaseId
=
crossIdAndPhaseIdDTO
.
getPhaseId
();
List
<
Integer
>
phaseIds
=
crossIdAndPhaseIdsDTO
.
getPhaseIds
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
// 取消步进
// 取消步进
...
@@ -171,14 +186,15 @@ public class SchemeSendServiceImpl implements SchemeSendService {
...
@@ -171,14 +186,15 @@ public class SchemeSendServiceImpl implements SchemeSendService {
// 取消相位锁定
// 取消相位锁定
LockControlVO
lockControlVO
=
new
LockControlVO
();
LockControlVO
lockControlVO
=
new
LockControlVO
();
lockControlVO
.
setCrossCode
(
crossIdAndPhaseIdDTO
.
getCrossId
());
lockControlVO
.
setCrossCode
(
crossIdAndPhaseId
s
DTO
.
getCrossId
());
lockControlVO
.
setCommand
(
0
);
// 控制标识:1是;0否
lockControlVO
.
setCommand
(
0
);
// 控制标识:1是;0否
lockControlVO
.
setDuration
(
0
);
// 长期
lockControlVO
.
setDuration
(
0
);
// 长期
CrossPhasePO
crossPhasePO
=
crossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
for
(
Integer
phaseId
:
phaseIds
)
{
CrossPhasePO
crossPhasePO
=
crossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
}
lockControlVO
.
setPhaseList
(
phaseList
);
lockControlVO
.
setPhaseList
(
phaseList
);
jsonViewObject
=
utcFeignClients
.
lockControl
(
lockControlVO
);
jsonViewObject
=
utcFeignClients
.
lockControl
(
lockControlVO
);
...
@@ -273,6 +289,92 @@ public class SchemeSendServiceImpl implements SchemeSendService {
...
@@ -273,6 +289,92 @@ public class SchemeSendServiceImpl implements SchemeSendService {
return
jsonViewObject
.
success
();
return
jsonViewObject
.
success
();
}
}
@Override
public
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
PhaseListByTimeVO
phaseListByTimeVO
=
new
PhaseListByTimeVO
();
String
crossId
=
crossIdAndTimeDTO
.
getCrossId
();
Date
datetime
=
crossIdAndTimeDTO
.
getDatetime
();
String
dateStr
=
sdf
.
format
(
datetime
);
CrossIdDTO
crossIdDTO
=
new
CrossIdDTO
();
crossIdDTO
.
setCrossId
(
crossId
);
// 获取所有计划
RunningPlanDTO
runningPlanDTO
=
runningPlanServiceImpl
.
listRunningPlan
(
crossIdDTO
);
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
runningPlanDTO
.
getSchedulesPlanList
();
for
(
RunningPlanDTO
.
SchedulesPlanListElement
schedulesPlan
:
schedulesPlanList
)
{
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
schedulesPlan
.
getExecList
();
for
(
RunningPlanDTO
.
ExecListElement
execListElement
:
execList
)
{
// 先查询特殊日期,再查询星期
List
<
String
>
specialDateList
=
execListElement
.
getSpecialDateList
();
List
<
Integer
>
week
=
execListElement
.
getWeek
();
if
(
CollectionUtil
.
isNotEmpty
(
specialDateList
))
{
for
(
String
specialDate
:
specialDateList
)
{
String
substring
=
specialDate
.
substring
(
0
,
10
);
if
(
Objects
.
equals
(
dateStr
,
substring
))
{
String
planName
=
execListElement
.
getPlanName
();
phaseListByTimeVO
=
getPhaseListByTimeVO
(
planName
,
datetime
,
runningPlanDTO
,
crossIdDTO
);
}
}
}
else
if
(
CollectionUtil
.
isNotEmpty
(
week
))
{
for
(
Integer
day
:
week
)
{
// 1表示周日,2表示周一
int
today
=
DateUtil
.
dayOfWeek
(
datetime
);
today
-=
1
;
if
(
today
==
0
)
{
today
=
7
;
}
if
(
day
==
today
)
{
String
planName
=
execListElement
.
getPlanName
();
phaseListByTimeVO
=
getPhaseListByTimeVO
(
planName
,
datetime
,
runningPlanDTO
,
crossIdDTO
);
}
}
}
}
}
return
phaseListByTimeVO
;
}
private
PhaseListByTimeVO
getPhaseListByTimeVO
(
String
planName
,
Date
datetime
,
RunningPlanDTO
runningPlanDTO
,
CrossIdDTO
crossIdDTO
)
{
PhaseListByTimeVO
phaseListByTimeVO
=
new
PhaseListByTimeVO
();
List
<
RunningPlanDTO
.
TimeListElement
>
timeList
=
new
ArrayList
<>();
List
<
RunningPlanDTO
.
DailyPlanListElement
>
dailyPlanList
=
runningPlanDTO
.
getDailyPlanList
();
for
(
RunningPlanDTO
.
DailyPlanListElement
dailyPlan
:
dailyPlanList
)
{
String
name
=
dailyPlan
.
getName
();
if
(
Objects
.
equals
(
planName
,
name
))
{
timeList
=
dailyPlan
.
getTimeList
();
}
}
String
hourMinuteStr
=
hourMinuteSdf
.
format
(
datetime
);
String
hourMinuteStrReplace
=
hourMinuteStr
.
replace
(
":"
,
""
);
int
hourMinute
=
Integer
.
parseInt
(
hourMinuteStrReplace
);
String
schemeName
=
null
;
for
(
RunningPlanDTO
.
TimeListElement
timeListElement
:
timeList
)
{
String
startTimeStr
=
timeListElement
.
getStartTime
();
String
startTimeStrReplace
=
startTimeStr
.
replace
(
":"
,
""
);
int
startTime
=
Integer
.
parseInt
(
startTimeStrReplace
);
String
endTimeStr
=
timeListElement
.
getEndTime
();
String
endTimeStrReplace
=
endTimeStr
.
replace
(
":"
,
""
);
int
endTime
=
Integer
.
parseInt
(
endTimeStrReplace
);
if
(
hourMinute
>=
startTime
&&
hourMinute
<=
endTime
)
{
String
[]
startEndTime
=
timeListElement
.
getStartEndTime
();
startEndTime
[
0
]
=
startTimeStr
;
startEndTime
[
1
]
=
endTimeStr
;
phaseListByTimeVO
.
setStartEndTime
(
startEndTime
);
schemeName
=
timeListElement
.
getSchemeName
();
}
}
// 查询方案
SaveSchemeConfigDTO
saveSchemeConfigDTO
=
schemeConfigServiceImpl
.
listSchemeConfig
(
crossIdDTO
);
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
for
(
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
:
phaseSchemeList
)
{
String
name
=
phaseScheme
.
getName
();
if
(
Objects
.
equals
(
name
,
schemeName
))
{
phaseListByTimeVO
.
setPhaseScheme
(
phaseScheme
);
}
}
return
phaseListByTimeVO
;
}
@NotNull
@NotNull
private
static
ControlCommandVO
getControlCommandVO
(
CrossIdDTO
crossIdDTO
)
{
private
static
ControlCommandVO
getControlCommandVO
(
CrossIdDTO
crossIdDTO
)
{
ControlCommandVO
commandVO
=
new
ControlCommandVO
();
ControlCommandVO
commandVO
=
new
ControlCommandVO
();
...
...
signal-control-service/src/main/java/net/wanji/web/vo/PhaseListByTimeVO.java
0 → 100644
View file @
46973373
package
net
.
wanji
.
web
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
/**
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
@ApiModel
(
value
=
"PhaseListByTimeVO"
,
description
=
"根据时间查询相位列表返回结果"
)
public
class
PhaseListByTimeVO
{
@ApiModelProperty
(
value
=
"开始时间结束时间"
,
required
=
true
)
private
String
[]
startEndTime
;
@ApiModelProperty
(
value
=
"相位列表"
,
required
=
true
)
private
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
;
}
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