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
6f90b4fb
Commit
6f90b4fb
authored
Jun 27, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 路口管理,区域详情
parent
36acb4ce
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
296 additions
and
7 deletions
+296
-7
CrossManageController.java
.../java/net/wanji/web/controller/CrossManageController.java
+16
-1
CrossManageService.java
...c/main/java/net/wanji/web/service/CrossManageService.java
+6
-1
CrossManageServiceImpl.java
...va/net/wanji/web/service/impl/CrossManageServiceImpl.java
+130
-2
RunningPlanServiceImpl.java
...wanji/web/service/scheme/impl/RunningPlanServiceImpl.java
+1
-0
AreaDetailBO.java
...abus/src/main/java/net/wanji/databus/bo/AreaDetailBO.java
+31
-0
AreaIdBO.java
wj-databus/src/main/java/net/wanji/databus/bo/AreaIdBO.java
+1
-1
BaseAreaInfoMapper.java
...java/net/wanji/databus/dao/mapper/BaseAreaInfoMapper.java
+4
-0
RunningPlanDTO.java
...s/src/main/java/net/wanji/databus/dto/RunningPlanDTO.java
+2
-0
AreaDetailPOExt.java
...s/src/main/java/net/wanji/databus/po/AreaDetailPOExt.java
+38
-0
AreaDetailVO.java
...abus/src/main/java/net/wanji/databus/vo/AreaDetailVO.java
+36
-0
BaseAreaInfoMapper.xml
wj-databus/src/main/resources/mapper/BaseAreaInfoMapper.xml
+31
-2
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/CrossManageController.java
View file @
6f90b4fb
package
net
.
wanji
.
web
.
controller
;
package
net
.
wanji
.
web
.
controller
;
import
com.github.pagehelper.PageInfo
;
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.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.bo.AreaDetailBO
;
import
net.wanji.web.bo.AddOrUpdateAreaBO
;
import
net.wanji.web.bo.AddOrUpdateAreaBO
;
import
net.wanji.
web
.bo.AreaIdBO
;
import
net.wanji.
databus
.bo.AreaIdBO
;
import
net.wanji.web.bo.PolygonBO
;
import
net.wanji.web.bo.PolygonBO
;
import
net.wanji.web.bo.SpecialServiceRouteBO
;
import
net.wanji.web.bo.SpecialServiceRouteBO
;
import
net.wanji.web.service.impl.CrossManageServiceImpl
;
import
net.wanji.web.service.impl.CrossManageServiceImpl
;
import
net.wanji.databus.vo.AreaDetailVO
;
import
net.wanji.web.vo.CrossIdAndNameVO
;
import
net.wanji.web.vo.CrossIdAndNameVO
;
import
net.wanji.web.vo.ListAreaVO
;
import
net.wanji.web.vo.ListAreaVO
;
import
net.wanji.web.vo.SelectCrossesByStartEndVO
;
import
net.wanji.web.vo.SelectCrossesByStartEndVO
;
...
@@ -95,4 +98,16 @@ public class CrossManageController {
...
@@ -95,4 +98,16 @@ public class CrossManageController {
return
JsonViewObject
.
newInstance
().
success
(
listAreaVO
);
return
JsonViewObject
.
newInstance
().
success
(
listAreaVO
);
}
}
@ApiOperation
(
value
=
"区域详情"
,
notes
=
"区域详情"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/areaDetail"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AreaDetailVO
.
class
),
})
public
JsonViewObject
areaDetail
(
@RequestBody
AreaDetailBO
areaDetailBO
)
{
PageInfo
<
AreaDetailVO
>
res
=
crossManageService
.
areaDetail
(
areaDetailBO
);
return
JsonViewObject
.
newInstance
().
success
(
res
);
}
// todo 控制模式列表,修改控制模式
}
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/service/CrossManageService.java
View file @
6f90b4fb
package
net
.
wanji
.
web
.
service
;
package
net
.
wanji
.
web
.
service
;
import
com.github.pagehelper.PageInfo
;
import
net.wanji.databus.bo.AreaDetailBO
;
import
net.wanji.web.bo.AddOrUpdateAreaBO
;
import
net.wanji.web.bo.AddOrUpdateAreaBO
;
import
net.wanji.
web
.bo.AreaIdBO
;
import
net.wanji.
databus
.bo.AreaIdBO
;
import
net.wanji.web.bo.PolygonBO
;
import
net.wanji.web.bo.PolygonBO
;
import
net.wanji.web.bo.SpecialServiceRouteBO
;
import
net.wanji.web.bo.SpecialServiceRouteBO
;
import
net.wanji.databus.vo.AreaDetailVO
;
import
net.wanji.web.vo.CrossIdAndNameVO
;
import
net.wanji.web.vo.CrossIdAndNameVO
;
import
net.wanji.web.vo.ListAreaVO
;
import
net.wanji.web.vo.ListAreaVO
;
import
net.wanji.web.vo.SelectCrossesByStartEndVO
;
import
net.wanji.web.vo.SelectCrossesByStartEndVO
;
...
@@ -25,4 +28,6 @@ public interface CrossManageService {
...
@@ -25,4 +28,6 @@ public interface CrossManageService {
void
deleteArea
(
AreaIdBO
areaIdBO
);
void
deleteArea
(
AreaIdBO
areaIdBO
);
ListAreaVO
listArea
();
ListAreaVO
listArea
();
PageInfo
<
AreaDetailVO
>
areaDetail
(
AreaDetailBO
areaDetailBO
);
}
}
signal-control-service/src/main/java/net/wanji/web/service/impl/CrossManageServiceImpl.java
View file @
6f90b4fb
package
net
.
wanji
.
web
.
service
.
impl
;
package
net
.
wanji
.
web
.
service
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
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.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.gts.GeometryUtil
;
import
net.wanji.common.gts.GeometryUtil
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.databus.bo.AreaDetailBO
;
import
net.wanji.databus.bo.AreaIdBO
;
import
net.wanji.databus.dao.entity.CrossSectionPO
;
import
net.wanji.databus.dao.mapper.BaseAreaInfoMapper
;
import
net.wanji.databus.dao.mapper.BaseAreaInfoMapper
;
import
net.wanji.databus.dao.mapper.BaseCrossInfoMapper
;
import
net.wanji.databus.dao.mapper.BaseCrossInfoMapper
;
import
net.wanji.databus.dao.mapper.BaseCrossSectionMapper
;
import
net.wanji.databus.dto.RunningPlanDTO
;
import
net.wanji.databus.po.AreaDetailPOExt
;
import
net.wanji.databus.po.BaseAreaInfoPO
;
import
net.wanji.databus.po.BaseAreaInfoPO
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.databus.vo.AreaDetailVO
;
import
net.wanji.web.bo.AddOrUpdateAreaBO
;
import
net.wanji.web.bo.AddOrUpdateAreaBO
;
import
net.wanji.web.bo.AreaIdBO
;
import
net.wanji.web.bo.PolygonBO
;
import
net.wanji.web.bo.PolygonBO
;
import
net.wanji.web.bo.SpecialServiceRouteBO
;
import
net.wanji.web.bo.SpecialServiceRouteBO
;
import
net.wanji.web.mapper.TBaseAreaCrossMapper
;
import
net.wanji.web.mapper.TBaseAreaCrossMapper
;
import
net.wanji.web.service.CrossManageService
;
import
net.wanji.web.service.CrossManageService
;
import
net.wanji.web.service.scheme.impl.RunningPlanServiceImpl
;
import
net.wanji.web.vo.AreaTreeVO
;
import
net.wanji.web.vo.AreaTreeVO
;
import
net.wanji.web.vo.CrossIdAndNameVO
;
import
net.wanji.web.vo.CrossIdAndNameVO
;
import
net.wanji.web.vo.ListAreaVO
;
import
net.wanji.web.vo.ListAreaVO
;
import
net.wanji.web.vo.SelectCrossesByStartEndVO
;
import
net.wanji.web.vo.SelectCrossesByStartEndVO
;
import
net.wanji.web.vo.specialService.RouteElementVO
;
import
net.wanji.web.vo.specialService.RouteElementVO
;
import
org.locationtech.jts.geom.Geometry
;
import
org.locationtech.jts.geom.Geometry
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
/**
/**
* @author Kent HAN
* @author Kent HAN
...
@@ -38,13 +53,19 @@ public class CrossManageServiceImpl implements CrossManageService {
...
@@ -38,13 +53,19 @@ public class CrossManageServiceImpl implements CrossManageService {
private
final
BaseAreaInfoMapper
baseAreaInfoMapper
;
private
final
BaseAreaInfoMapper
baseAreaInfoMapper
;
private
final
SpecialServiceServiceImpl
specialServiceService
;
private
final
SpecialServiceServiceImpl
specialServiceService
;
private
final
TBaseAreaCrossMapper
areaCrossMapper
;
private
final
TBaseAreaCrossMapper
areaCrossMapper
;
private
final
BaseCrossSectionMapper
crossSectionMapper
;
private
final
RunningPlanServiceImpl
runningPlanServiceImpl
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
public
CrossManageServiceImpl
(
BaseCrossInfoMapper
crossInfoMapper
,
BaseAreaInfoMapper
baseAreaInfoMapper
,
public
CrossManageServiceImpl
(
BaseCrossInfoMapper
crossInfoMapper
,
BaseAreaInfoMapper
baseAreaInfoMapper
,
SpecialServiceServiceImpl
specialServiceService
,
TBaseAreaCrossMapper
areaCrossMapper
)
{
SpecialServiceServiceImpl
specialServiceService
,
TBaseAreaCrossMapper
areaCrossMapper
,
BaseCrossSectionMapper
crossSectionMapper
,
RunningPlanServiceImpl
runningPlanServiceImpl
)
{
this
.
crossInfoMapper
=
crossInfoMapper
;
this
.
crossInfoMapper
=
crossInfoMapper
;
this
.
baseAreaInfoMapper
=
baseAreaInfoMapper
;
this
.
baseAreaInfoMapper
=
baseAreaInfoMapper
;
this
.
specialServiceService
=
specialServiceService
;
this
.
specialServiceService
=
specialServiceService
;
this
.
areaCrossMapper
=
areaCrossMapper
;
this
.
areaCrossMapper
=
areaCrossMapper
;
this
.
crossSectionMapper
=
crossSectionMapper
;
this
.
runningPlanServiceImpl
=
runningPlanServiceImpl
;
}
}
@Override
@Override
...
@@ -196,6 +217,113 @@ public class CrossManageServiceImpl implements CrossManageService {
...
@@ -196,6 +217,113 @@ public class CrossManageServiceImpl implements CrossManageService {
return
listAreaVO
;
return
listAreaVO
;
}
}
@Override
public
PageInfo
<
AreaDetailVO
>
areaDetail
(
AreaDetailBO
areaDetailBO
)
{
Integer
areaId
=
areaDetailBO
.
getAreaId
();
Integer
pageNum
=
areaDetailBO
.
getPageNum
();
Integer
pageSize
=
areaDetailBO
.
getPageSize
();
// 可选参数
String
crossName
=
areaDetailBO
.
getCrossName
();
Integer
isSignal
=
areaDetailBO
.
getIsSignal
();
Integer
controlMode
=
areaDetailBO
.
getControlMode
();
Integer
isStart
=
areaDetailBO
.
getIsStart
();
Integer
isSend
=
areaDetailBO
.
getIsSend
();
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
AreaDetailPOExt
>
areaDetailPOExtList
=
baseAreaInfoMapper
.
selectJoinDetail
(
areaId
,
crossName
,
isSignal
,
isStart
,
isSend
);
PageInfo
<
AreaDetailPOExt
>
extPageInfo
=
new
PageInfo
<>(
areaDetailPOExtList
);
PageInfo
<
AreaDetailVO
>
voPageInfo
=
new
PageInfo
<>();
BeanUtils
.
copyProperties
(
extPageInfo
,
voPageInfo
);
List
<
AreaDetailVO
>
voList
=
new
ArrayList
<>();
List
<
AreaDetailPOExt
>
extList
=
extPageInfo
.
getList
();
for
(
AreaDetailPOExt
areaDetailPOExt
:
extList
)
{
AreaDetailVO
areaDetailVO
=
new
AreaDetailVO
();
BeanUtils
.
copyProperties
(
areaDetailPOExt
,
areaDetailVO
);
areaDetailVO
.
setIpPort
(
areaDetailPOExt
.
getIp
()
+
":"
+
areaDetailPOExt
.
getPort
());
// 获取控制模式
Date
datetime
=
new
Date
();
String
dateStr
=
sdf
.
format
(
datetime
);
String
crossId
=
areaDetailPOExt
.
getCrossId
();
// 根据当前时间查询计划
Integer
planId
=
findPlanId
(
datetime
,
dateStr
,
crossId
);
if
(
planId
!=
null
)
{
List
<
CrossSectionPO
>
crossSectionPOList
=
crossSectionMapper
.
selectByCrossAndPlan
(
crossId
,
planId
);
// 获取当前时间整数字面量
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"HHmm"
);
String
timeString
=
formatter
.
format
(
datetime
);
int
nowTimeInt
=
Integer
.
parseInt
(
timeString
);
for
(
CrossSectionPO
crossSectionPO
:
crossSectionPOList
)
{
String
startTime
=
crossSectionPO
.
getStartTime
();
String
endTime
=
crossSectionPO
.
getEndTime
();
Integer
startTimeInt
=
timeStrToInt
(
startTime
);
Integer
endTimeInt
=
timeStrToInt
(
endTime
);
if
(
nowTimeInt
<=
endTimeInt
&&
nowTimeInt
>=
startTimeInt
)
{
Integer
controlModeFromDb
=
crossSectionPO
.
getControlMode
();
if
(
controlMode
==
null
||
0
==
controlMode
)
{
// 不筛选控制模式
areaDetailVO
.
setControlMode
(
controlModeFromDb
);
}
else
if
(
Objects
.
equals
(
controlModeFromDb
,
controlMode
))
{
// 筛选控制模式
areaDetailVO
.
setControlMode
(
controlModeFromDb
);
}
}
}
}
if
(
areaDetailVO
.
getControlMode
()
!=
null
)
{
voList
.
add
(
areaDetailVO
);
}
}
voPageInfo
.
setList
(
voList
);
return
voPageInfo
;
}
private
Integer
timeStrToInt
(
String
time
)
{
time
=
time
.
replace
(
":"
,
""
);
int
timeInt
=
Integer
.
parseInt
(
time
);
return
timeInt
;
}
private
Integer
findPlanId
(
Date
datetime
,
String
dateStr
,
String
crossId
)
{
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
))
{
Integer
planId
=
execListElement
.
getPlanId
();
return
planId
;
}
}
}
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
)
{
Integer
planId
=
execListElement
.
getPlanId
();
return
planId
;
}
}
}
}
}
return
null
;
}
private
List
<
AreaTreeVO
>
buildJuriList
()
{
private
List
<
AreaTreeVO
>
buildJuriList
()
{
List
<
AreaTreeVO
>
res
=
new
ArrayList
<>();
List
<
AreaTreeVO
>
res
=
new
ArrayList
<>();
BaseAreaInfoPO
areaInfoPO
=
baseAreaInfoMapper
.
selectCityPolice
();
BaseAreaInfoPO
areaInfoPO
=
baseAreaInfoMapper
.
selectCityPolice
();
...
...
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/RunningPlanServiceImpl.java
View file @
6f90b4fb
...
@@ -129,6 +129,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -129,6 +129,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
execListElement
.
setSpecialDateList
(
specialDateList
);
execListElement
.
setSpecialDateList
(
specialDateList
);
CrossPlanPO
crossPlanPO
=
baseCrossPlanMapper
.
selectById
(
planId
);
CrossPlanPO
crossPlanPO
=
baseCrossPlanMapper
.
selectById
(
planId
);
execListElement
.
setPlanName
(
crossPlanPO
.
getName
());
execListElement
.
setPlanName
(
crossPlanPO
.
getName
());
execListElement
.
setPlanId
(
crossPlanPO
.
getId
());
execList
.
add
(
execListElement
);
execList
.
add
(
execListElement
);
}
}
return
execList
;
return
execList
;
...
...
wj-databus/src/main/java/net/wanji/databus/bo/AreaDetailBO.java
0 → 100644
View file @
6f90b4fb
package
net
.
wanji
.
databus
.
bo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author Kent HAN
* @date 2022/11/9 17:21
*/
@Data
@ApiModel
(
value
=
"AreaDetailBO"
)
public
class
AreaDetailBO
{
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
private
Integer
pageNum
;
@ApiModelProperty
(
value
=
"每页记录条数"
,
required
=
true
)
private
Integer
pageSize
;
@ApiModelProperty
(
value
=
"区域ID"
,
required
=
true
)
private
Integer
areaId
;
@ApiModelProperty
(
value
=
"路口名称"
)
private
String
crossName
;
@ApiModelProperty
(
value
=
"是否信控路口:1是;0否"
)
private
Integer
isSignal
;
@ApiModelProperty
(
value
=
"控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9行人过街"
)
private
Integer
controlMode
;
@ApiModelProperty
(
value
=
"是否启动优化:1是;0否"
)
private
Integer
isStart
;
@ApiModelProperty
(
value
=
"是否下发方案:1是;0否"
)
private
Integer
isSend
;
}
signal-control-service/src/main/java/net/wanji/web
/bo/AreaIdBO.java
→
wj-databus/src/main/java/net/wanji/databus
/bo/AreaIdBO.java
View file @
6f90b4fb
package
net
.
wanji
.
web
.
bo
;
package
net
.
wanji
.
databus
.
bo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
wj-databus/src/main/java/net/wanji/databus/dao/mapper/BaseAreaInfoMapper.java
View file @
6f90b4fb
package
net
.
wanji
.
databus
.
dao
.
mapper
;
package
net
.
wanji
.
databus
.
dao
.
mapper
;
import
net.wanji.databus.po.AreaDetailPOExt
;
import
net.wanji.databus.po.BaseAreaInfoPO
;
import
net.wanji.databus.po.BaseAreaInfoPO
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -30,4 +31,7 @@ public interface BaseAreaInfoMapper {
...
@@ -30,4 +31,7 @@ public interface BaseAreaInfoMapper {
List
<
BaseAreaInfoPO
>
selectByType
(
Integer
type
);
List
<
BaseAreaInfoPO
>
selectByType
(
Integer
type
);
BaseAreaInfoPO
selectCityPolice
();
BaseAreaInfoPO
selectCityPolice
();
List
<
AreaDetailPOExt
>
selectJoinDetail
(
Integer
areaId
,
String
crossName
,
Integer
isSignal
,
Integer
isStart
,
Integer
isSend
);
}
}
wj-databus/src/main/java/net/wanji/databus/dto/RunningPlanDTO.java
View file @
6f90b4fb
...
@@ -69,5 +69,7 @@ public class RunningPlanDTO {
...
@@ -69,5 +69,7 @@ public class RunningPlanDTO {
private
List
<
String
>
specialDateList
;
private
List
<
String
>
specialDateList
;
@ApiModelProperty
(
value
=
"执行日计划名"
,
required
=
true
)
@ApiModelProperty
(
value
=
"执行日计划名"
,
required
=
true
)
private
String
planName
;
private
String
planName
;
@ApiModelProperty
(
value
=
"执行日计划ID"
,
required
=
true
)
private
Integer
planId
;
}
}
}
}
wj-databus/src/main/java/net/wanji/databus/po/AreaDetailPOExt.java
0 → 100644
View file @
6f90b4fb
package
net
.
wanji
.
databus
.
po
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"区域详情表连接查询实体"
)
public
class
AreaDetailPOExt
{
@ApiModelProperty
(
value
=
"区域ID"
)
private
Integer
areaId
;
@ApiModelProperty
(
value
=
"路口ID"
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"路口名称"
)
private
String
crossName
;
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
areaName
;
@ApiModelProperty
(
value
=
"信号机编号"
)
private
String
code
;
@ApiModelProperty
(
value
=
"厂商简称"
)
private
String
nickName
;
@ApiModelProperty
(
value
=
"信号机型号"
)
private
String
model
;
@ApiModelProperty
(
value
=
"信号机IP"
)
private
String
ip
;
@ApiModelProperty
(
value
=
"信号机端口"
)
private
String
port
;
@ApiModelProperty
(
value
=
"是否信控路口:1是;0否"
)
private
Integer
isSignal
;
@ApiModelProperty
(
value
=
"控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9行人过街"
)
private
Integer
controlMode
;
@ApiModelProperty
(
value
=
"是否启动优化:1是;0否"
)
private
Integer
isStart
;
@ApiModelProperty
(
value
=
"是否下发方案:1是;0否"
)
private
Integer
isSend
;
}
\ No newline at end of file
wj-databus/src/main/java/net/wanji/databus/vo/AreaDetailVO.java
0 → 100644
View file @
6f90b4fb
package
net
.
wanji
.
databus
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"区域详情"
)
public
class
AreaDetailVO
{
@ApiModelProperty
(
value
=
"区域ID"
)
private
Integer
areaId
;
@ApiModelProperty
(
value
=
"路口ID"
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"路口名称"
)
private
String
crossName
;
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
areaName
;
@ApiModelProperty
(
value
=
"信号机编号"
)
private
String
code
;
@ApiModelProperty
(
value
=
"厂商简称"
)
private
String
nickName
;
@ApiModelProperty
(
value
=
"信号机型号"
)
private
String
model
;
@ApiModelProperty
(
value
=
"信号机IP/端口"
)
private
String
ipPort
;
@ApiModelProperty
(
value
=
"是否信控路口:1是;0否"
)
private
Integer
isSignal
;
@ApiModelProperty
(
value
=
"控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9行人过街"
)
private
Integer
controlMode
;
@ApiModelProperty
(
value
=
"是否启动优化:1是;0否"
)
private
Integer
isStart
;
@ApiModelProperty
(
value
=
"是否下发方案:1是;0否"
)
private
Integer
isSend
;
}
\ No newline at end of file
wj-databus/src/main/resources/mapper/BaseAreaInfoMapper.xml
View file @
6f90b4fb
...
@@ -62,13 +62,42 @@
...
@@ -62,13 +62,42 @@
<select
id=
"selectByType"
resultType=
"net.wanji.databus.po.BaseAreaInfoPO"
>
<select
id=
"selectByType"
resultType=
"net.wanji.databus.po.BaseAreaInfoPO"
>
select
<include
refid=
"baseColumnList"
/>
select
<include
refid=
"baseColumnList"
/>
from t_base_area_info
from t_base_area_info
where type = #{type}
;
where type = #{type}
</select>
</select>
<select
id=
"selectCityPolice"
resultType=
"net.wanji.databus.po.BaseAreaInfoPO"
>
<select
id=
"selectCityPolice"
resultType=
"net.wanji.databus.po.BaseAreaInfoPO"
>
select
<include
refid=
"baseColumnList"
/>
select
<include
refid=
"baseColumnList"
/>
from t_base_area_info
from t_base_area_info
where type = 0
;
where type = 0
</select>
</select>
<select
id=
"selectJoinDetail"
resultType=
"net.wanji.databus.po.AreaDetailPOExt"
>
SELECT t_area.id AS areaId, t_cross.id AS crossId, t_cross.name as crossName,
t_area.name AS areaName, t_signal.code AS code, t_manu.nick_name as nickName,
t_signal.model AS model, t_signal.ip AS ip, t_signal.port AS port,
t_cross.is_signal AS isSignal, t_cross.is_start AS isStart, t_cross.is_send AS isSend
FROM t_base_area_info t_area
JOIN t_base_area_cross t_area_cross ON t_area.id = t_area_cross.area_id
JOIN t_base_cross_info t_cross ON t_area_cross.cross_id = t_cross.id
JOIN t_signal_utc_changsha.t_cross_info t_signal ON t_signal.id = t_cross.id
JOIN t_signal_utc_changsha.t_manufacturer_info t_manu ON t_signal.manufacturer_id = t_manu.id
<where>
t_area.id = #{areaId}
<if
test=
"crossName != null and crossName != ''"
>
AND t_cross.name like concat('%',#{crossName},'%')
</if>
<if
test=
"isSignal != null"
>
AND t_cross.is_signal = #{isSignal}
</if>
<if
test=
"isStart != null"
>
AND t_cross.is_start = #{isStart}
</if>
<if
test=
"isSend != null"
>
AND t_cross.is_send = #{isSend}
</if>
</where>
ORDER BY t_cross.id
</select>
</mapper>
</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