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
05cef3a1
Commit
05cef3a1
authored
May 18, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 快速特勤,批量锁定/解锁
parent
7a870776
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
64 additions
and
9 deletions
+64
-9
SpecialServiceController.java
...va/net/wanji/web/controller/SpecialServiceController.java
+12
-3
SpecialServiceCrossMapper.java
.../java/net/wanji/web/mapper/SpecialServiceCrossMapper.java
+4
-4
SpecialServiceService.java
...ain/java/net/wanji/web/service/SpecialServiceService.java
+3
-0
SpecialServiceServiceImpl.java
...net/wanji/web/service/impl/SpecialServiceServiceImpl.java
+37
-0
SpecialServiceCrossMapper.xml
...e/src/main/resources/mapper/SpecialServiceCrossMapper.xml
+8
-2
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/SpecialServiceController.java
View file @
05cef3a1
...
...
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiResponses;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.vo.LockControlVO
;
import
net.wanji.web.bo.*
;
import
net.wanji.web.service.SpecialServiceService
;
import
net.wanji.web.vo.specialService.RouteElementVO
;
...
...
@@ -59,9 +60,7 @@ public class SpecialServiceController {
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
addOrUpdateSpecialService
(
@RequestBody
@Valid
AddSpecialServiceBO
addSpecialServiceBO
)
{
specialServiceService
.
addOrUpdateSpecialService
(
addSpecialServiceBO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
();
return
JsonViewObject
.
newInstance
().
success
();
}
@AspectLog
(
description
=
"快速特勤列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
...
...
@@ -108,6 +107,16 @@ public class SpecialServiceController {
return
JsonViewObject
.
newInstance
().
success
();
}
@AspectLog
(
description
=
"批量锁定/解锁"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"批量锁定/解锁"
,
notes
=
"批量锁定/解锁"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/batchLock"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
batchLock
(
@RequestBody
List
<
LockControlVO
>
lockControlVOList
)
{
specialServiceService
.
batchLock
(
lockControlVOList
);
return
JsonViewObject
.
newInstance
().
success
();
}
@AspectLog
(
description
=
"获取路口驶入方向列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"获取路口驶入方向列表"
,
notes
=
"获取路口驶入方向列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/SpecialServiceCrossMapper.java
View file @
05cef3a1
...
...
@@ -35,15 +35,15 @@ public interface SpecialServiceCrossMapper {
void
deleteCross
(
@Param
(
"specialServiceId"
)
Integer
specialServiceId
,
@Param
(
"crossId"
)
String
crossId
);
void
updateStatusSuccess
(
@Param
(
"specialServiceId"
)
Integer
specialServiceId
,
@Param
(
"crossId"
)
String
crossId
);
void
updateStatusSuccess
(
@Param
(
"crossId"
)
String
crossId
);
void
updateStatusFail
(
@Param
(
"specialServiceId"
)
Integer
specialServiceId
,
@Param
(
"crossId"
)
String
crossId
);
void
updateStatusFail
(
@Param
(
"crossId"
)
String
crossId
);
void
updateDir
(
@Param
(
"specialServiceId"
)
Integer
specialServiceId
,
@Param
(
"endCrossid"
)
String
endCrossid
,
@Param
(
"endDirInt"
)
Integer
endDirInt
);
void
deleteCrossBySpecialServiceId
(
@Param
(
"id"
)
Integer
id
);
Integer
selectSpecialServiceIdByCrossId
(
String
crossId
);
}
signal-control-service/src/main/java/net/wanji/web/service/SpecialServiceService.java
View file @
05cef3a1
package
net
.
wanji
.
web
.
service
;
import
net.wanji.databus.vo.LockControlVO
;
import
net.wanji.web.bo.*
;
import
net.wanji.web.vo.specialService.RouteElementVO
;
import
net.wanji.web.vo.specialService.*
;
...
...
@@ -37,4 +38,6 @@ public interface SpecialServiceService {
List
<
String
>
getInDirList
(
CrossIdVO
crossIdVO
);
List
<
String
>
getOutDirList
(
CrossIdVO
crossIdVO
);
void
batchLock
(
List
<
LockControlVO
>
lockControlVOList
);
}
signal-control-service/src/main/java/net/wanji/web/service/impl/SpecialServiceServiceImpl.java
View file @
05cef3a1
...
...
@@ -14,6 +14,8 @@ import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import
net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper
;
import
net.wanji.databus.dao.mapper.RidInfoMapper
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.databus.vo.LockControlVO
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.bo.*
;
import
net.wanji.web.common.enums.CrossDirEnum
;
import
net.wanji.web.mapper.*
;
...
...
@@ -26,6 +28,7 @@ import net.wanji.web.vo.specialService.SpecialServiceDetailVO.CrossListElement;
import
org.jetbrains.annotations.NotNull
;
import
org.locationtech.jts.geom.Geometry
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -59,6 +62,9 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
private
GtsService
gtsService
;
@Autowired
private
CrossDirDataRealtimeMapper
crossDirDataRealtimeMapper
;
@Qualifier
(
"net.wanji.feign.service.UtcFeignClients"
)
@Autowired
private
UtcFeignClients
utcFeignClients
;
@Override
@Transactional
...
...
@@ -626,6 +632,37 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
return
res
;
}
@Override
@Transactional
public
void
batchLock
(
List
<
LockControlVO
>
lockControlVOList
)
{
// 获取关联特勤Id
LockControlVO
vo
=
lockControlVOList
.
get
(
0
);
String
crossCode
=
vo
.
getCrossCode
();
Integer
specialServiceId
=
specialServiceCrossMapper
.
selectSpecialServiceIdByCrossId
(
crossCode
);
for
(
LockControlVO
lockControlVO
:
lockControlVOList
)
{
utcFeignClients
.
lockControl
(
lockControlVO
);
Integer
command
=
lockControlVO
.
getCommand
();
String
crossId
=
lockControlVO
.
getCrossCode
();
if
(
1
==
command
)
{
// 锁定
specialServiceCrossMapper
.
updateStatusSuccess
(
crossId
);
// 将关联特勤改为执行中
specialServiceMapper
.
updateStatusEnable
(
specialServiceId
);
}
else
if
(
0
==
command
)
{
// 解锁
specialServiceCrossMapper
.
updateStatusFail
(
crossId
);
}
}
// 如果特勤路口都是解锁,则更新特勤状态为未执行
List
<
SpecialServiceCrossPO
>
crossList
=
specialServiceCrossMapper
.
selectBySpecialServiceId
(
specialServiceId
);
for
(
SpecialServiceCrossPO
cross
:
crossList
)
{
Integer
status
=
cross
.
getStatus
();
if
(
1
==
status
)
{
return
;
}
}
specialServiceMapper
.
updateStatusDisable
(
specialServiceId
);
}
private
List
<
SpecialServiceDetailVO
.
CrossListElement
>
buildCrossList
(
Integer
specialServiceId
)
{
List
<
SpecialServiceDetailVO
.
CrossListElement
>
crossList
=
new
ArrayList
<>();
List
<
SpecialServiceCrossPO
>
specialServiceCrossList
=
...
...
signal-control-service/src/main/resources/mapper/SpecialServiceCrossMapper.xml
View file @
05cef3a1
...
...
@@ -41,13 +41,13 @@
<update
id=
"updateStatusSuccess"
>
update t_special_service_cross
set status = 1
where
special_service_id = #{specialServiceId} and
cross_id = #{crossId}
where cross_id = #{crossId}
</update>
<update
id=
"updateStatusFail"
>
update t_special_service_cross
set status = 0
where
special_service_id = #{specialServiceId} and
cross_id = #{crossId}
where cross_id = #{crossId}
</update>
<update
id=
"updateDir"
>
...
...
@@ -91,4 +91,10 @@
where special_service_id = #{specialServiceId} and cross_id = #{startCrossid}
</select>
<select
id=
"selectSpecialServiceIdByCrossId"
resultType=
"java.lang.Integer"
>
select distinct special_service_id
from t_special_service_cross
where cross_id = #{crossId}
</select>
</mapper>
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