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
cbf99bc6
Commit
cbf99bc6
authored
May 10, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 优化持久层
parent
82fafd8c
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
231 additions
and
451 deletions
+231
-451
BaseCrossPhaseMapper.java
...ava/net/wanji/web/mapper/scheme/BaseCrossPhaseMapper.java
+2
-2
BaseCrossPlanMapper.java
...java/net/wanji/web/mapper/scheme/BaseCrossPlanMapper.java
+2
-2
BaseCrossSchedulesMapper.java
...net/wanji/web/mapper/scheme/BaseCrossSchedulesMapper.java
+1
-1
BaseCrossSchemeMapper.java
...va/net/wanji/web/mapper/scheme/BaseCrossSchemeMapper.java
+2
-2
BaseCrossSectionMapper.java
...a/net/wanji/web/mapper/scheme/BaseCrossSectionMapper.java
+2
-2
CrossPhaseLightsMapper.java
...a/net/wanji/web/mapper/scheme/CrossPhaseLightsMapper.java
+0
-32
CrossPhaseLightsPO.java
...main/java/net/wanji/web/po/scheme/CrossPhaseLightsPO.java
+0
-32
CrossPlanPO.java
...ce/src/main/java/net/wanji/web/po/scheme/CrossPlanPO.java
+0
-34
CrossSectionPO.java
...src/main/java/net/wanji/web/po/scheme/CrossSectionPO.java
+0
-46
CrossInfoService.java
...src/main/java/net/wanji/web/service/CrossInfoService.java
+8
-8
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+51
-47
SituationDetectionServiceImpl.java
...wanji/web/service/impl/SituationDetectionServiceImpl.java
+8
-8
SpecialServiceServiceImpl.java
...net/wanji/web/service/impl/SpecialServiceServiceImpl.java
+3
-3
CrossConfigServiceImpl.java
...wanji/web/service/scheme/impl/CrossConfigServiceImpl.java
+51
-51
RunningPlanServiceImpl.java
...wanji/web/service/scheme/impl/RunningPlanServiceImpl.java
+28
-32
SchemeConfigServiceImpl.java
...anji/web/service/scheme/impl/SchemeConfigServiceImpl.java
+46
-46
SignalStatusTask.java
...ce/src/main/java/net/wanji/web/task/SignalStatusTask.java
+3
-3
SchemePhaseLightsVO.java
...e/src/main/java/net/wanji/web/vo/SchemePhaseLightsVO.java
+5
-5
BaseCrossPhaseMapper.xml
...src/main/resources/mapper/scheme/BaseCrossPhaseMapper.xml
+3
-3
BaseCrossPlanMapper.xml
.../src/main/resources/mapper/scheme/BaseCrossPlanMapper.xml
+7
-6
BaseCrossSchedulesMapper.xml
...main/resources/mapper/scheme/BaseCrossSchedulesMapper.xml
+1
-1
BaseCrossSchemeMapper.xml
...rc/main/resources/mapper/scheme/BaseCrossSchemeMapper.xml
+3
-3
BaseCrossSectionMapper.xml
...c/main/resources/mapper/scheme/BaseCrossSectionMapper.xml
+3
-3
CrossPhaseLightsMapper.xml
...c/main/resources/mapper/scheme/CrossPhaseLightsMapper.xml
+0
-77
CrossPhasePO.java
.../main/java/net/wanji/databus/dao/entity/CrossPhasePO.java
+1
-1
CrossSchemePO.java
...main/java/net/wanji/databus/dao/entity/CrossSchemePO.java
+1
-1
No files found.
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossPhaseMapper.java
→
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/
Base
CrossPhaseMapper.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
mapper
.
scheme
;
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
net.wanji.
web.po.scheme
.CrossPhasePO
;
import
net.wanji.
databus.dao.entity
.CrossPhasePO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -12,7 +12,7 @@ import java.util.List;
...
@@ -12,7 +12,7 @@ import java.util.List;
* @date : 2023-1-3
* @date : 2023-1-3
*/
*/
@Repository
@Repository
public
interface
CrossPhaseMapper
{
public
interface
Base
CrossPhaseMapper
{
Integer
selectIdByCrossIdAndCoordPhaseNo
(
@Param
(
"crossId"
)
String
crossId
,
Integer
selectIdByCrossIdAndCoordPhaseNo
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"schemeId"
)
Integer
schemeId
,
@Param
(
"schemeId"
)
Integer
schemeId
,
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossPlanMapper.java
→
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/
Base
CrossPlanMapper.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
mapper
.
scheme
;
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
net.wanji.databus.dao.entity.CrossPlanPO
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.po.scheme.CrossPlanPO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -14,7 +14,7 @@ import java.util.List;
...
@@ -14,7 +14,7 @@ import java.util.List;
* @date 2023/1/28 13:16
* @date 2023/1/28 13:16
*/
*/
@Repository
@Repository
public
interface
CrossPlanMapper
{
public
interface
Base
CrossPlanMapper
{
void
insertOne
(
CrossPlanPO
crossPlanPO
);
void
insertOne
(
CrossPlanPO
crossPlanPO
);
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossSchedulesMapper.java
→
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/
Base
CrossSchedulesMapper.java
View file @
cbf99bc6
...
@@ -13,7 +13,7 @@ import java.util.List;
...
@@ -13,7 +13,7 @@ import java.util.List;
* @date 2023/1/28 13:16
* @date 2023/1/28 13:16
*/
*/
@Repository
@Repository
public
interface
CrossSchedulesMapper
{
public
interface
Base
CrossSchedulesMapper
{
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossSchemeMapper.java
→
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/
Base
CrossSchemeMapper.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
mapper
.
scheme
;
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
net.wanji.
web.po.scheme
.CrossSchemePO
;
import
net.wanji.
databus.dao.entity
.CrossSchemePO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -13,7 +13,7 @@ import java.util.Set;
...
@@ -13,7 +13,7 @@ import java.util.Set;
* @date : 2023-1-3
* @date : 2023-1-3
*/
*/
@Repository
@Repository
public
interface
CrossSchemeMapper
{
public
interface
Base
CrossSchemeMapper
{
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossSectionMapper.java
→
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/
Base
CrossSectionMapper.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
mapper
.
scheme
;
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
net.wanji.
web.po.scheme
.CrossSectionPO
;
import
net.wanji.
databus.dao.entity
.CrossSectionPO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -13,7 +13,7 @@ import java.util.List;
...
@@ -13,7 +13,7 @@ import java.util.List;
* @date 2023/1/28 13:16
* @date 2023/1/28 13:16
*/
*/
@Repository
@Repository
public
interface
CrossSectionMapper
{
public
interface
Base
CrossSectionMapper
{
void
insertOne
(
CrossSectionPO
crossSectionPO
);
void
insertOne
(
CrossSectionPO
crossSectionPO
);
...
...
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossPhaseLightsMapper.java
deleted
100644 → 0
View file @
82fafd8c
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
net.wanji.web.po.scheme.CrossPhaseLightsPO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 相位灯组关系;(t_base_cross_phase_lights)表数据库访问层
* @author : hanbing
* @date : 2023-1-3
*/
@Repository
public
interface
CrossPhaseLightsMapper
{
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
insertBatch
(
@Param
(
"entities"
)
Collection
<
CrossPhaseLightsPO
>
entities
);
List
<
CrossPhaseLightsPO
>
selectByPhaseId
(
@Param
(
"phaseId"
)
Integer
phaseId
);
List
<
CrossPhaseLightsPO
>
selectByLightsId
(
@Param
(
"lightsId"
)
Integer
lightsId
);
void
updateLightsId
(
@Param
(
"oldId"
)
Integer
oldId
,
@Param
(
"newId"
)
Integer
newId
);
Integer
selectIdByThreeIds
(
Integer
lightsId
,
Integer
phaseId
,
String
crossId
);
void
insertOne
(
CrossPhaseLightsPO
crossPhaseLightsPO
);
List
<
CrossPhaseLightsPO
>
listCrossPhaseLightsPO
(
@Param
(
"entity"
)
CrossPhaseLightsPO
entity
);
}
signal-control-service/src/main/java/net/wanji/web/po/scheme/CrossPhaseLightsPO.java
deleted
100644 → 0
View file @
82fafd8c
package
net
.
wanji
.
web
.
po
.
scheme
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author Kent HAN
* @date 2023/1/3 9:51
*/
@Data
public
class
CrossPhaseLightsPO
{
/** 主键 */
@ApiModelProperty
(
name
=
"主键"
,
notes
=
""
)
private
Integer
id
;
/** 灯组ID */
@ApiModelProperty
(
name
=
"灯组ID"
,
notes
=
""
)
private
Integer
lightsId
=
0
;
/** 相位ID */
@ApiModelProperty
(
name
=
"相位ID"
,
notes
=
""
)
private
Integer
phaseId
;
/** 路口ID */
@ApiModelProperty
(
name
=
"路口ID"
,
notes
=
""
)
private
String
crossId
;
/** 创建时间 */
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
/** 修改时间 */
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
}
signal-control-service/src/main/java/net/wanji/web/po/scheme/CrossPlanPO.java
deleted
100644 → 0
View file @
82fafd8c
package
net
.
wanji
.
web
.
po
.
scheme
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 计划基础信息;(t_base_cross_plan)表
*
* @author Kent HAN
* @date 2022/12/28 17:45
*/
@Data
public
class
CrossPlanPO
{
/** 计划ID */
@ApiModelProperty
(
name
=
"计划ID"
,
notes
=
""
)
private
Integer
id
;
/** 计划号 */
@ApiModelProperty
(
name
=
"计划号"
,
notes
=
""
)
private
String
planNo
;
/** 计划名称 */
@ApiModelProperty
(
name
=
"计划名称"
,
notes
=
""
)
private
String
name
;
/** 路口ID */
@ApiModelProperty
(
name
=
"路口ID"
,
notes
=
""
)
private
String
crossId
;
/** 创建时间 */
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
/** 修改时间 */
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/po/scheme/CrossSectionPO.java
deleted
100644 → 0
View file @
82fafd8c
package
net
.
wanji
.
web
.
po
.
scheme
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 时段基础信息;(t_base_cross_section)表
*
* @author Kent HAN
* @date 2022/12/28 17:45
*/
@Data
public
class
CrossSectionPO
{
/** 时段ID */
@ApiModelProperty
(
name
=
"时段ID"
,
notes
=
""
)
private
Integer
id
;
/** 时段号 */
@ApiModelProperty
(
name
=
"时段号"
,
notes
=
""
)
private
String
sectionNo
;
/** 开始时间 */
@ApiModelProperty
(
name
=
"开始时间"
,
notes
=
""
)
private
String
startTime
;
/** 结束时间 */
@ApiModelProperty
(
name
=
"结束时间"
,
notes
=
""
)
private
String
endTime
;
/** 路口ID */
@ApiModelProperty
(
name
=
"路口ID"
,
notes
=
""
)
private
String
crossId
;
/** 计划ID */
@ApiModelProperty
(
name
=
"计划ID"
,
notes
=
""
)
private
Integer
planId
;
/** 控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9 */
@ApiModelProperty
(
name
=
"控制模式:1定周期;2绿波协调;3黄闪;4全红;5关灯;6单点自适应;7全感应;8半感应;9"
,
notes
=
""
)
private
Integer
controlMode
;
/** 方案ID */
@ApiModelProperty
(
name
=
"方案ID"
,
notes
=
""
)
private
Integer
schemeId
;
/** 创建时间 */
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
/** 修改时间 */
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/service/CrossInfoService.java
View file @
cbf99bc6
...
@@ -2,7 +2,7 @@ package net.wanji.web.service;
...
@@ -2,7 +2,7 @@ package net.wanji.web.service;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.
Base
CrossInfoMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.TBaseCrossInfo
;
import
net.wanji.databus.po.TBaseCrossInfo
;
import
net.wanji.databus.vo.CrossInfoVO
;
import
net.wanji.databus.vo.CrossInfoVO
;
...
@@ -36,7 +36,7 @@ import java.util.stream.Collectors;
...
@@ -36,7 +36,7 @@ import java.util.stream.Collectors;
public
class
CrossInfoService
{
public
class
CrossInfoService
{
@Autowired
@Autowired
private
CrossInfoMapper
c
rossInfoMapper
;
private
BaseCrossInfoMapper
baseC
rossInfoMapper
;
@Autowired
@Autowired
private
TBaseAreaInfoMapper
areaInfoMapper
;
private
TBaseAreaInfoMapper
areaInfoMapper
;
...
@@ -49,8 +49,8 @@ public class CrossInfoService {
...
@@ -49,8 +49,8 @@ public class CrossInfoService {
*/
*/
public
JsonViewObject
selectAll
(
CrossInfoVO
crossInfoVO
)
{
public
JsonViewObject
selectAll
(
CrossInfoVO
crossInfoVO
)
{
PageResultPO
<
CrossInfoPO
>
page
=
new
PageResultPO
<>();
PageResultPO
<
CrossInfoPO
>
page
=
new
PageResultPO
<>();
Integer
count
=
c
rossInfoMapper
.
countSelectAll
(
crossInfoVO
);
Integer
count
=
baseC
rossInfoMapper
.
countSelectAll
(
crossInfoVO
);
List
<
CrossInfoPO
>
list
=
c
rossInfoMapper
.
selectAll
(
crossInfoVO
);
List
<
CrossInfoPO
>
list
=
baseC
rossInfoMapper
.
selectAll
(
crossInfoVO
);
page
.
setPageNum
(
crossInfoVO
.
getPageNum
());
page
.
setPageNum
(
crossInfoVO
.
getPageNum
());
page
.
setPageSize
(
crossInfoVO
.
getPageSize
());
page
.
setPageSize
(
crossInfoVO
.
getPageSize
());
page
.
setTotal
(
count
);
page
.
setTotal
(
count
);
...
@@ -66,14 +66,14 @@ public class CrossInfoService {
...
@@ -66,14 +66,14 @@ public class CrossInfoService {
public
JsonViewObject
addOne
(
BaseCrossInfoVO
crossInfoPO
)
{
public
JsonViewObject
addOne
(
BaseCrossInfoVO
crossInfoPO
)
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
().
success
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
().
success
();
if
(
StringUtils
.
isNoneBlank
(
crossInfoPO
.
getId
()))
{
if
(
StringUtils
.
isNoneBlank
(
crossInfoPO
.
getId
()))
{
TBaseCrossInfo
tBaseCrossInfo
=
c
rossInfoMapper
.
selectByPrimaryKey
(
crossInfoPO
.
getId
());
TBaseCrossInfo
tBaseCrossInfo
=
baseC
rossInfoMapper
.
selectByPrimaryKey
(
crossInfoPO
.
getId
());
if
(
Objects
.
nonNull
(
tBaseCrossInfo
))
{
if
(
Objects
.
nonNull
(
tBaseCrossInfo
))
{
return
jsonViewObject
.
fail
(
"路口编号重复,请重新设置!"
);
return
jsonViewObject
.
fail
(
"路口编号重复,请重新设置!"
);
}
}
}
}
TBaseCrossInfo
record
=
getBaseCrossInfo
(
crossInfoPO
);
TBaseCrossInfo
record
=
getBaseCrossInfo
(
crossInfoPO
);
record
.
setGmtCreate
(
new
Date
());
record
.
setGmtCreate
(
new
Date
());
int
insert
=
c
rossInfoMapper
.
insertSelective
(
record
);
int
insert
=
baseC
rossInfoMapper
.
insertSelective
(
record
);
if
(
insert
>
0
)
{
if
(
insert
>
0
)
{
return
jsonViewObject
.
success
(
"添加成功"
);
return
jsonViewObject
.
success
(
"添加成功"
);
}
}
...
@@ -94,7 +94,7 @@ public class CrossInfoService {
...
@@ -94,7 +94,7 @@ public class CrossInfoService {
record
.
setIsSend
(
0
);
record
.
setIsSend
(
0
);
}
}
record
.
setGmtModified
(
new
Date
());
record
.
setGmtModified
(
new
Date
());
int
update
=
c
rossInfoMapper
.
updateByPrimaryKeySelective
(
record
);
int
update
=
baseC
rossInfoMapper
.
updateByPrimaryKeySelective
(
record
);
if
(
update
>
0
)
{
if
(
update
>
0
)
{
return
JsonViewObject
.
newInstance
().
success
(
"修改成功"
);
return
JsonViewObject
.
newInstance
().
success
(
"修改成功"
);
}
}
...
@@ -153,7 +153,7 @@ public class CrossInfoService {
...
@@ -153,7 +153,7 @@ public class CrossInfoService {
* @param ids id集合
* @param ids id集合
*/
*/
public
JsonViewObject
delete
(
List
<
String
>
ids
)
{
public
JsonViewObject
delete
(
List
<
String
>
ids
)
{
c
rossInfoMapper
.
deleteBatchIds
(
ids
);
baseC
rossInfoMapper
.
deleteBatchIds
(
ids
);
return
JsonViewObject
.
newInstance
().
success
(
"删除成功"
);
return
JsonViewObject
.
newInstance
().
success
(
"删除成功"
);
}
}
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/PlanSendServiceImpl.java
View file @
cbf99bc6
...
@@ -7,14 +7,18 @@ import com.google.gson.Gson;
...
@@ -7,14 +7,18 @@ import com.google.gson.Gson;
import
com.google.gson.GsonBuilder
;
import
com.google.gson.GsonBuilder
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dao.entity.*
;
import
net.wanji.databus.dao.mapper.BaseCrossLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLaneLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLaneLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossPhaseLightsMapper
;
import
net.wanji.databus.po.CrossLightsPO
;
import
net.wanji.databus.dao.mapper.CrossPlanMapper
;
import
net.wanji.databus.po.BaseCrossLightsPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.dto.*
;
import
net.wanji.web.dto.*
;
import
net.wanji.web.mapper.scheme.*
;
import
net.wanji.web.mapper.scheme.*
;
import
net.wanji.web.po.scheme.*
;
import
net.wanji.web.po.scheme.CrossSchedulesPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPlanPO
;
import
net.wanji.web.service.FeignProxyService
;
import
net.wanji.web.service.FeignProxyService
;
import
net.wanji.web.service.PlanSendService
;
import
net.wanji.web.service.PlanSendService
;
import
net.wanji.web.service.scheme.impl.RunningPlanServiceImpl
;
import
net.wanji.web.service.scheme.impl.RunningPlanServiceImpl
;
...
@@ -40,15 +44,15 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -40,15 +44,15 @@ public class PlanSendServiceImpl implements PlanSendService {
private
final
FeignProxyService
feignProxyService
;
private
final
FeignProxyService
feignProxyService
;
private
final
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
;
private
final
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
;
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossSchemeMapper
c
rossSchemeMapper
;
private
final
BaseCrossSchemeMapper
baseC
rossSchemeMapper
;
private
final
CrossPhaseMapper
c
rossPhaseMapper
;
private
final
BaseCrossPhaseMapper
baseC
rossPhaseMapper
;
private
final
CrossLightsMapper
c
rossLightsMapper
;
private
final
BaseCrossLightsMapper
baseC
rossLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
RunningPlanServiceImpl
runningPlanServiceImpl
;
private
final
RunningPlanServiceImpl
runningPlanServiceImpl
;
private
final
SchemeConfigServiceImpl
schemeConfigServiceImpl
;
private
final
SchemeConfigServiceImpl
schemeConfigServiceImpl
;
private
final
CrossSchedulesMapper
c
rossSchedulesMapper
;
private
final
BaseCrossSchedulesMapper
baseC
rossSchedulesMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
private
final
CrossSectionMapper
c
rossSectionMapper
;
private
final
BaseCrossSectionMapper
baseC
rossSectionMapper
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
hourMinuteSdf
=
new
SimpleDateFormat
(
"HH:mm"
);
SimpleDateFormat
hourMinuteSdf
=
new
SimpleDateFormat
(
"HH:mm"
);
...
@@ -57,23 +61,23 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -57,23 +61,23 @@ public class PlanSendServiceImpl implements PlanSendService {
public
PlanSendServiceImpl
(
@Qualifier
(
"net.wanji.feign.service.UtcFeignClients"
)
UtcFeignClients
utcFeignClients
,
public
PlanSendServiceImpl
(
@Qualifier
(
"net.wanji.feign.service.UtcFeignClients"
)
UtcFeignClients
utcFeignClients
,
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
,
CrossPlanMapper
crossPlanMapper
,
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
,
CrossPlanMapper
crossPlanMapper
,
CrossSchemeMapper
crossSchemeMapper
,
CrossPhaseMapper
c
rossPhaseMapper
,
BaseCrossSchemeMapper
baseCrossSchemeMapper
,
BaseCrossPhaseMapper
baseC
rossPhaseMapper
,
CrossLightsMapper
c
rossLightsMapper
,
CrossPhaseLightsMapper
crossPhaseLightsMapper
,
BaseCrossLightsMapper
baseC
rossLightsMapper
,
CrossPhaseLightsMapper
crossPhaseLightsMapper
,
RunningPlanServiceImpl
runningPlanServiceImpl
,
SchemeConfigServiceImpl
schemeConfigServiceImpl
,
RunningPlanServiceImpl
runningPlanServiceImpl
,
SchemeConfigServiceImpl
schemeConfigServiceImpl
,
CrossSchedulesMapper
c
rossSchedulesMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
,
BaseCrossSchedulesMapper
baseC
rossSchedulesMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
,
CrossSectionMapper
c
rossSectionMapper
,
FeignProxyService
feignProxyService
)
{
BaseCrossSectionMapper
baseC
rossSectionMapper
,
FeignProxyService
feignProxyService
)
{
this
.
utcFeignClients
=
utcFeignClients
;
this
.
utcFeignClients
=
utcFeignClients
;
this
.
crossSchedulesPlanMapper
=
crossSchedulesPlanMapper
;
this
.
crossSchedulesPlanMapper
=
crossSchedulesPlanMapper
;
this
.
crossPlanMapper
=
crossPlanMapper
;
this
.
crossPlanMapper
=
crossPlanMapper
;
this
.
crossSchemeMapper
=
c
rossSchemeMapper
;
this
.
baseCrossSchemeMapper
=
baseC
rossSchemeMapper
;
this
.
crossPhaseMapper
=
c
rossPhaseMapper
;
this
.
baseCrossPhaseMapper
=
baseC
rossPhaseMapper
;
this
.
crossLightsMapper
=
c
rossLightsMapper
;
this
.
baseCrossLightsMapper
=
baseC
rossLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
runningPlanServiceImpl
=
runningPlanServiceImpl
;
this
.
runningPlanServiceImpl
=
runningPlanServiceImpl
;
this
.
schemeConfigServiceImpl
=
schemeConfigServiceImpl
;
this
.
schemeConfigServiceImpl
=
schemeConfigServiceImpl
;
this
.
crossSchedulesMapper
=
c
rossSchedulesMapper
;
this
.
baseCrossSchedulesMapper
=
baseC
rossSchedulesMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
this
.
crossSectionMapper
=
c
rossSectionMapper
;
this
.
baseCrossSectionMapper
=
baseC
rossSectionMapper
;
this
.
feignProxyService
=
feignProxyService
;
this
.
feignProxyService
=
feignProxyService
;
}
}
...
@@ -102,13 +106,13 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -102,13 +106,13 @@ public class PlanSendServiceImpl implements PlanSendService {
CrossPhasePO
crossPhasePO
=
new
CrossPhasePO
();
CrossPhasePO
crossPhasePO
=
new
CrossPhasePO
();
crossPhasePO
.
setCrossId
(
crossId
);
crossPhasePO
.
setCrossId
(
crossId
);
crossPhasePO
.
setPlanId
(
schemeId
);
crossPhasePO
.
setPlanId
(
schemeId
);
List
<
CrossPhasePO
>
crossPhasePOS
=
c
rossPhaseMapper
.
listCrossPhasePO
(
crossPhasePO
);
List
<
CrossPhasePO
>
crossPhasePOS
=
baseC
rossPhaseMapper
.
listCrossPhasePO
(
crossPhasePO
);
CrossPhaseLightsPO
crossPhaseLightsPO
=
new
CrossPhaseLightsPO
();
CrossPhaseLightsPO
crossPhaseLightsPO
=
new
CrossPhaseLightsPO
();
crossPhaseLightsPO
.
setCrossId
(
crossId
);
crossPhaseLightsPO
.
setCrossId
(
crossId
);
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOS
=
crossPhaseLightsMapper
.
listCrossPhaseLightsPO
(
crossPhaseLightsPO
);
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOS
=
crossPhaseLightsMapper
.
selectByEntity
(
crossPhaseLightsPO
);
CrossLightsPO
crossLightsPO
=
new
CrossLightsPO
();
BaseCrossLightsPO
crossLightsPO
=
new
Base
CrossLightsPO
();
crossLightsPO
.
setCrossId
(
crossId
);
crossLightsPO
.
setCrossId
(
crossId
);
List
<
CrossLightsPO
>
crossLightsPOS
=
c
rossLightsMapper
.
listCrossLightsPO
(
crossLightsPO
);
List
<
BaseCrossLightsPO
>
crossLightsPOS
=
baseC
rossLightsMapper
.
listCrossLightsPO
(
crossLightsPO
);
for
(
CrossPhasePO
phasePO
:
crossPhasePOS
)
{
for
(
CrossPhasePO
phasePO
:
crossPhasePOS
)
{
PhaseTimingSendVO
.
Phase
phase
=
new
PhaseTimingSendVO
.
Phase
();
PhaseTimingSendVO
.
Phase
phase
=
new
PhaseTimingSendVO
.
Phase
();
phase
.
setPhaseNo
(
Integer
.
valueOf
(
phasePO
.
getPhaseNo
()));
phase
.
setPhaseNo
(
Integer
.
valueOf
(
phasePO
.
getPhaseNo
()));
...
@@ -124,7 +128,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -124,7 +128,7 @@ public class PlanSendServiceImpl implements PlanSendService {
for
(
CrossPhaseLightsPO
phaseLightsPO
:
crossPhaseLightsPOS
)
{
for
(
CrossPhaseLightsPO
phaseLightsPO
:
crossPhaseLightsPOS
)
{
if
(
Objects
.
equals
(
id
,
phaseLightsPO
.
getPhaseId
()))
{
if
(
Objects
.
equals
(
id
,
phaseLightsPO
.
getPhaseId
()))
{
Integer
lightsId
=
phaseLightsPO
.
getLightsId
();
Integer
lightsId
=
phaseLightsPO
.
getLightsId
();
for
(
CrossLightsPO
lightsPO
:
crossLightsPOS
)
{
for
(
Base
CrossLightsPO
lightsPO
:
crossLightsPOS
)
{
if
(
Objects
.
equals
(
lightsId
,
lightsPO
.
getId
()))
{
if
(
Objects
.
equals
(
lightsId
,
lightsPO
.
getId
()))
{
PhaseTimingSendVO
.
Phase
.
Lane
lane
=
new
PhaseTimingSendVO
.
Phase
.
Lane
();
PhaseTimingSendVO
.
Phase
.
Lane
lane
=
new
PhaseTimingSendVO
.
Phase
.
Lane
();
// lane.setLaneNo(Integer.valueOf(lightsPO.getLightsNo()));
// lane.setLaneNo(Integer.valueOf(lightsPO.getLightsNo()));
...
@@ -166,8 +170,8 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -166,8 +170,8 @@ public class PlanSendServiceImpl implements PlanSendService {
}
}
// 更新时间表状态为已执行
// 更新时间表状态为已执行
c
rossSchedulesMapper
.
resetStatus
(
crossId
);
baseC
rossSchedulesMapper
.
resetStatus
(
crossId
);
c
rossSchedulesMapper
.
updateStatus
(
scheduleId
);
baseC
rossSchedulesMapper
.
updateStatus
(
scheduleId
);
return
jsonViewObject
.
success
();
return
jsonViewObject
.
success
();
}
}
...
@@ -180,11 +184,11 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -180,11 +184,11 @@ public class PlanSendServiceImpl implements PlanSendService {
CrossSectionPO
crossSectionPO
=
new
CrossSectionPO
();
CrossSectionPO
crossSectionPO
=
new
CrossSectionPO
();
crossSectionPO
.
setCrossId
(
crossId
);
crossSectionPO
.
setCrossId
(
crossId
);
crossSectionPO
.
setPlanId
(
planId
);
crossSectionPO
.
setPlanId
(
planId
);
List
<
CrossSectionPO
>
crossSectionPOS
=
c
rossSectionMapper
.
listCrossSectionPO
(
crossSectionPO
);
List
<
CrossSectionPO
>
crossSectionPOS
=
baseC
rossSectionMapper
.
listCrossSectionPO
(
crossSectionPO
);
List
<
PlanSendVO
.
Plan
.
Section
>
sectionList
=
new
ArrayList
<>(
crossSectionPOS
.
size
());
List
<
PlanSendVO
.
Plan
.
Section
>
sectionList
=
new
ArrayList
<>(
crossSectionPOS
.
size
());
for
(
CrossSectionPO
sectionPO
:
crossSectionPOS
)
{
for
(
CrossSectionPO
sectionPO
:
crossSectionPOS
)
{
Integer
schemeId
=
sectionPO
.
getSc
h
emeId
();
Integer
schemeId
=
sectionPO
.
getScemeId
();
CrossSchemePO
crossSchemePO
=
c
rossSchemeMapper
.
selectById
(
schemeId
);
CrossSchemePO
crossSchemePO
=
baseC
rossSchemeMapper
.
selectById
(
schemeId
);
String
patternNo
=
crossSchemePO
.
getSchemeNo
();
String
patternNo
=
crossSchemePO
.
getSchemeNo
();
PlanSendVO
.
Plan
.
Section
section
=
new
PlanSendVO
.
Plan
.
Section
();
PlanSendVO
.
Plan
.
Section
section
=
new
PlanSendVO
.
Plan
.
Section
();
section
.
setSectionNo
(
sectionPO
.
getSectionNo
());
section
.
setSectionNo
(
sectionPO
.
getSectionNo
());
...
@@ -236,8 +240,8 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -236,8 +240,8 @@ public class PlanSendServiceImpl implements PlanSendService {
// 更新方案表状态为已执行
// 更新方案表状态为已执行
c
rossSchemeMapper
.
resetStatus
(
crossId
);
baseC
rossSchemeMapper
.
resetStatus
(
crossId
);
c
rossSchemeMapper
.
updateStatus
(
schemeId
);
baseC
rossSchemeMapper
.
updateStatus
(
schemeId
);
return
jsonViewObject
.
success
();
return
jsonViewObject
.
success
();
}
}
...
@@ -262,7 +266,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -262,7 +266,7 @@ public class PlanSendServiceImpl implements PlanSendService {
List
<
Integer
>
phaseIds
=
crossIdAndPhaseIdsDTO
.
getPhaseIds
();
List
<
Integer
>
phaseIds
=
crossIdAndPhaseIdsDTO
.
getPhaseIds
();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
for
(
Integer
phaseId
:
phaseIds
)
{
for
(
Integer
phaseId
:
phaseIds
)
{
CrossPhasePO
crossPhasePO
=
c
rossPhaseMapper
.
selectById
(
phaseId
);
CrossPhasePO
crossPhasePO
=
baseC
rossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
}
}
...
@@ -317,7 +321,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -317,7 +321,7 @@ public class PlanSendServiceImpl implements PlanSendService {
lockControlVO
.
setDuration
(
0
);
// 长期
lockControlVO
.
setDuration
(
0
);
// 长期
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
for
(
Integer
phaseId
:
phaseIds
)
{
for
(
Integer
phaseId
:
phaseIds
)
{
CrossPhasePO
crossPhasePO
=
c
rossPhaseMapper
.
selectById
(
phaseId
);
CrossPhasePO
crossPhasePO
=
baseC
rossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
}
}
...
@@ -367,11 +371,11 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -367,11 +371,11 @@ public class PlanSendServiceImpl implements PlanSendService {
return
jsonViewObject
.
fail
(
"信号机方案对象转换结果为空,未更新数据库"
);
return
jsonViewObject
.
fail
(
"信号机方案对象转换结果为空,未更新数据库"
);
}
}
List
<
CrossSchemePO
>
crossSchemeList
=
schemePhaseLightsVO
.
getCrossSchemeList
();
List
<
CrossSchemePO
>
crossSchemeList
=
schemePhaseLightsVO
.
getCrossSchemeList
();
c
rossSchemeMapper
.
deleteByCrossId
(
crossId
);
baseC
rossSchemeMapper
.
deleteByCrossId
(
crossId
);
// 保存旧方案ID
// 保存旧方案ID
List
<
Integer
>
oldSchemeIds
=
crossSchemeList
.
stream
().
map
(
CrossSchemePO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Integer
>
oldSchemeIds
=
crossSchemeList
.
stream
().
map
(
CrossSchemePO:
:
getId
).
collect
(
Collectors
.
toList
());
// 保存新方案ID
// 保存新方案ID
c
rossSchemeMapper
.
insertBatch
(
crossSchemeList
);
baseC
rossSchemeMapper
.
insertBatch
(
crossSchemeList
);
List
<
Integer
>
newSchemeIds
=
crossSchemeList
.
stream
().
map
(
CrossSchemePO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Integer
>
newSchemeIds
=
crossSchemeList
.
stream
().
map
(
CrossSchemePO:
:
getId
).
collect
(
Collectors
.
toList
());
// 生成新旧方案ID映射
// 生成新旧方案ID映射
Map
<
Integer
,
Integer
>
oldNewSchemeId
=
new
HashMap
<>();
Map
<
Integer
,
Integer
>
oldNewSchemeId
=
new
HashMap
<>();
...
@@ -380,21 +384,21 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -380,21 +384,21 @@ public class PlanSendServiceImpl implements PlanSendService {
}
}
List
<
CrossPhasePO
>
crossPhaseList
=
schemePhaseLightsVO
.
getCrossPhaseList
();
List
<
CrossPhasePO
>
crossPhaseList
=
schemePhaseLightsVO
.
getCrossPhaseList
();
c
rossPhaseMapper
.
deleteByCrossId
(
crossId
);
baseC
rossPhaseMapper
.
deleteByCrossId
(
crossId
);
// 更新方案ID
// 更新方案ID
for
(
CrossPhasePO
crossPhasePO
:
crossPhaseList
)
{
for
(
CrossPhasePO
crossPhasePO
:
crossPhaseList
)
{
crossPhasePO
.
setPlanId
(
oldNewSchemeId
.
get
(
crossPhasePO
.
getPlanId
()));
crossPhasePO
.
setPlanId
(
oldNewSchemeId
.
get
(
crossPhasePO
.
getPlanId
()));
}
}
c
rossPhaseMapper
.
insertBatch
(
crossPhaseList
);
baseC
rossPhaseMapper
.
insertBatch
(
crossPhaseList
);
List
<
CrossLightsPO
>
crossLightsList
=
schemePhaseLightsVO
.
getCrossLightsList
();
List
<
Base
CrossLightsPO
>
crossLightsList
=
schemePhaseLightsVO
.
getCrossLightsList
();
// 清理数据库
// 清理数据库
c
rossLightsMapper
.
deleteByCrossId
(
crossId
);
baseC
rossLightsMapper
.
deleteByCrossId
(
crossId
);
// 灯组号去重
// 灯组号去重
TreeSet
<
CrossLightsPO
>
crossLightsSet
=
distinctLightsNo
(
crossLightsList
);
TreeSet
<
Base
CrossLightsPO
>
crossLightsSet
=
distinctLightsNo
(
crossLightsList
);
// 修改灯组数据内容
// 修改灯组数据内容
changeLightsType
(
crossLightsSet
);
changeLightsType
(
crossLightsSet
);
c
rossLightsMapper
.
insertBatch
(
crossLightsSet
);
baseC
rossLightsMapper
.
insertBatch
(
crossLightsSet
);
crossPhaseLightsMapper
.
deleteByCrossId
(
crossId
);
crossPhaseLightsMapper
.
deleteByCrossId
(
crossId
);
crossLaneLightsMapper
.
deleteByCrossId
(
crossId
);
crossLaneLightsMapper
.
deleteByCrossId
(
crossId
);
...
@@ -402,14 +406,14 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -402,14 +406,14 @@ public class PlanSendServiceImpl implements PlanSendService {
return
jsonViewObject
.
success
();
return
jsonViewObject
.
success
();
}
}
private
TreeSet
<
CrossLightsPO
>
distinctLightsNo
(
List
<
CrossLightsPO
>
crossLightsList
)
{
private
TreeSet
<
BaseCrossLightsPO
>
distinctLightsNo
(
List
<
Base
CrossLightsPO
>
crossLightsList
)
{
TreeSet
<
CrossLightsPO
>
crossLightsSet
=
crossLightsList
.
stream
()
TreeSet
<
Base
CrossLightsPO
>
crossLightsSet
=
crossLightsList
.
stream
()
.
collect
(
Collectors
.
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
CrossLightsPO:
:
getLightsNo
))));
.
collect
(
Collectors
.
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
Base
CrossLightsPO:
:
getLightsNo
))));
return
crossLightsSet
;
return
crossLightsSet
;
}
}
private
static
void
changeLightsType
(
Set
<
CrossLightsPO
>
crossLightsSet
)
{
private
static
void
changeLightsType
(
Set
<
Base
CrossLightsPO
>
crossLightsSet
)
{
for
(
CrossLightsPO
crossLightsPO
:
crossLightsSet
)
{
for
(
Base
CrossLightsPO
crossLightsPO
:
crossLightsSet
)
{
Integer
type
=
crossLightsPO
.
getType
();
Integer
type
=
crossLightsPO
.
getType
();
if
(
type
==
2
)
{
if
(
type
==
2
)
{
crossLightsPO
.
setType
(
1
);
crossLightsPO
.
setType
(
1
);
...
@@ -554,7 +558,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -554,7 +558,7 @@ public class PlanSendServiceImpl implements PlanSendService {
private
List
<
SchemeSendVO
.
Pattern
>
buildPatternList
(
String
crossId
,
Integer
schemeId
)
{
private
List
<
SchemeSendVO
.
Pattern
>
buildPatternList
(
String
crossId
,
Integer
schemeId
)
{
List
<
SchemeSendVO
.
Pattern
>
patternList
=
new
ArrayList
<>();
List
<
SchemeSendVO
.
Pattern
>
patternList
=
new
ArrayList
<>();
CrossSchemePO
crossSchemePO
=
c
rossSchemeMapper
.
selectById
(
schemeId
);
CrossSchemePO
crossSchemePO
=
baseC
rossSchemeMapper
.
selectById
(
schemeId
);
SchemeSendVO
.
Pattern
pattern
=
new
SchemeSendVO
.
Pattern
();
SchemeSendVO
.
Pattern
pattern
=
new
SchemeSendVO
.
Pattern
();
pattern
.
setPatternNo
(
crossSchemePO
.
getSchemeNo
());
pattern
.
setPatternNo
(
crossSchemePO
.
getSchemeNo
());
pattern
.
setPatternName
(
crossSchemePO
.
getName
());
pattern
.
setPatternName
(
crossSchemePO
.
getName
());
...
@@ -572,7 +576,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -572,7 +576,7 @@ public class PlanSendServiceImpl implements PlanSendService {
private
List
<
SchemeSendVO
.
Pattern
.
Ring
>
buildRings
(
String
crossId
,
Integer
schemeId
)
{
private
List
<
SchemeSendVO
.
Pattern
.
Ring
>
buildRings
(
String
crossId
,
Integer
schemeId
)
{
List
<
SchemeSendVO
.
Pattern
.
Ring
>
rings
=
new
ArrayList
<>();
List
<
SchemeSendVO
.
Pattern
.
Ring
>
rings
=
new
ArrayList
<>();
// 根据路口ID和方案ID查询相位集合,根据ringNo分组,特殊控制ringNo为0
// 根据路口ID和方案ID查询相位集合,根据ringNo分组,特殊控制ringNo为0
List
<
CrossPhasePO
>
crossPhasePOList
=
c
rossPhaseMapper
.
selectByCrossIdAndSchemeId
(
crossId
,
schemeId
);
List
<
CrossPhasePO
>
crossPhasePOList
=
baseC
rossPhaseMapper
.
selectByCrossIdAndSchemeId
(
crossId
,
schemeId
);
Map
<
Integer
,
List
<
CrossPhasePO
>>
collectMap
=
crossPhasePOList
.
stream
()
Map
<
Integer
,
List
<
CrossPhasePO
>>
collectMap
=
crossPhasePOList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
CrossPhasePO:
:
getRingNo
));
.
collect
(
Collectors
.
groupingBy
(
CrossPhasePO:
:
getRingNo
));
for
(
Map
.
Entry
<
Integer
,
List
<
CrossPhasePO
>>
entry
:
collectMap
.
entrySet
())
{
for
(
Map
.
Entry
<
Integer
,
List
<
CrossPhasePO
>>
entry
:
collectMap
.
entrySet
())
{
...
@@ -635,7 +639,7 @@ public class PlanSendServiceImpl implements PlanSendService {
...
@@ -635,7 +639,7 @@ public class PlanSendServiceImpl implements PlanSendService {
}
}
schedule
.
setWeeks
(
weeks
);
schedule
.
setWeeks
(
weeks
);
schedule
.
setSpecialDays
(
specialDays
);
schedule
.
setSpecialDays
(
specialDays
);
CrossSchedulesPO
crossSchedulesPO
=
c
rossSchedulesMapper
.
selectById
(
scheduleId
);
CrossSchedulesPO
crossSchedulesPO
=
baseC
rossSchedulesMapper
.
selectById
(
scheduleId
);
schedule
.
setScheduleNo
(
crossSchedulesPO
.
getScheduleNo
());
schedule
.
setScheduleNo
(
crossSchedulesPO
.
getScheduleNo
());
schedules
.
add
(
schedule
);
schedules
.
add
(
schedule
);
return
schedules
;
return
schedules
;
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/SituationDetectionServiceImpl.java
View file @
cbf99bc6
...
@@ -11,7 +11,7 @@ import net.wanji.common.framework.rest.JsonViewObject;
...
@@ -11,7 +11,7 @@ import net.wanji.common.framework.rest.JsonViewObject;
import
net.wanji.common.utils.tool.BeanListUtils
;
import
net.wanji.common.utils.tool.BeanListUtils
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.
Base
CrossInfoMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.TBaseCrossInfo
;
import
net.wanji.databus.po.TBaseCrossInfo
;
import
net.wanji.databus.vo.*
;
import
net.wanji.databus.vo.*
;
...
@@ -60,7 +60,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -60,7 +60,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
private
final
GreenwaveRealtimeMapper
greenwaveRealtimeMapper
;
private
final
GreenwaveRealtimeMapper
greenwaveRealtimeMapper
;
private
final
AllDeviceStatusMapper
allDeviceStatusMapper
;
private
final
AllDeviceStatusMapper
allDeviceStatusMapper
;
private
final
GreenwaveCrossMapper
greenwaveCrossMapper
;
private
final
GreenwaveCrossMapper
greenwaveCrossMapper
;
private
final
CrossInfoMapper
t
BaseCrossInfoMapper
;
private
final
BaseCrossInfoMapper
tBase
BaseCrossInfoMapper
;
private
final
TBaseAreaInfoMapper
tBaseAreaInfoMapper
;
private
final
TBaseAreaInfoMapper
tBaseAreaInfoMapper
;
private
final
TBaseAreaCrossMapper
tBaseAreaCrossMapper
;
private
final
TBaseAreaCrossMapper
tBaseAreaCrossMapper
;
private
final
TDeviceStatusLogMapper
tDeviceStatusLogMapper
;
private
final
TDeviceStatusLogMapper
tDeviceStatusLogMapper
;
...
@@ -149,7 +149,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -149,7 +149,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
CrossAlarmOutVO
crossAlarmOutVO
=
new
CrossAlarmOutVO
();
CrossAlarmOutVO
crossAlarmOutVO
=
new
CrossAlarmOutVO
();
// 根据路口ID获取路口名称
// 根据路口ID获取路口名称
String
crossId
=
crossAlarmPO
.
getCrossId
();
String
crossId
=
crossAlarmPO
.
getCrossId
();
TBaseCrossInfo
tBaseCrossInfo
=
tBaseCrossInfoMapper
.
selectByPrimaryKey
(
crossId
);
TBaseCrossInfo
tBaseCrossInfo
=
tBase
Base
CrossInfoMapper
.
selectByPrimaryKey
(
crossId
);
crossAlarmOutVO
.
setCrossName
(
tBaseCrossInfo
.
getName
());
crossAlarmOutVO
.
setCrossName
(
tBaseCrossInfo
.
getName
());
// 从例如POINT(116.29959807 39.95929275)中获取经纬度
// 从例如POINT(116.29959807 39.95929275)中获取经纬度
String
location
=
tBaseCrossInfo
.
getLocation
();
String
location
=
tBaseCrossInfo
.
getLocation
();
...
@@ -398,13 +398,13 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -398,13 +398,13 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
@Override
@Override
public
List
<
CrossDeviceStatusInfoOutVO
>
crossDeviceStatusInfo
()
{
public
List
<
CrossDeviceStatusInfoOutVO
>
crossDeviceStatusInfo
()
{
List
<
CrossDeviceStatusInfoOutVO
>
results
=
tBaseCrossInfoMapper
.
listCrossDeviceStatusInfo
();
List
<
CrossDeviceStatusInfoOutVO
>
results
=
tBase
Base
CrossInfoMapper
.
listCrossDeviceStatusInfo
();
return
results
;
return
results
;
}
}
@Override
@Override
public
CrossInfoPO
selectCrossInfoById
(
String
signalId
)
{
public
CrossInfoPO
selectCrossInfoById
(
String
signalId
)
{
return
tBaseCrossInfoMapper
.
selectById
(
signalId
);
return
tBase
Base
CrossInfoMapper
.
selectById
(
signalId
);
}
}
@Override
@Override
...
@@ -427,7 +427,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -427,7 +427,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
List
<
TBaseAreaCross
>
tBaseAreaCrosses
=
tBaseAreaCrossMapper
.
selectList
(
crossQuery
);
List
<
TBaseAreaCross
>
tBaseAreaCrosses
=
tBaseAreaCrossMapper
.
selectList
(
crossQuery
);
// 查询路口信息
// 查询路口信息
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<>());
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBase
Base
CrossInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<>());
// 将路口和辖区转化为辖区实体
// 将路口和辖区转化为辖区实体
getJurisdictionAreaTreeVO
(
resultList
,
tBaseAreaInfos
,
tBaseAreaCrosses
,
tBaseCrossInfos
);
getJurisdictionAreaTreeVO
(
resultList
,
tBaseAreaInfos
,
tBaseAreaCrosses
,
tBaseCrossInfos
);
...
@@ -531,7 +531,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -531,7 +531,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
Map
<
Integer
,
List
<
TBaseAreaCross
>>
areaIdMap
=
entityList
.
stream
().
collect
(
Collectors
.
groupingBy
(
TBaseAreaCross:
:
getAreaId
));
Map
<
Integer
,
List
<
TBaseAreaCross
>>
areaIdMap
=
entityList
.
stream
().
collect
(
Collectors
.
groupingBy
(
TBaseAreaCross:
:
getAreaId
));
// 路口编号获取路口名称和经纬度
// 路口编号获取路口名称和经纬度
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<>());
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBase
Base
CrossInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<>());
Map
<
String
,
String
>
crossIdNameMap
=
tBaseCrossInfos
.
stream
().
collect
(
Collectors
.
toMap
(
TBaseCrossInfo:
:
getId
,
TBaseCrossInfo:
:
getName
));
Map
<
String
,
String
>
crossIdNameMap
=
tBaseCrossInfos
.
stream
().
collect
(
Collectors
.
toMap
(
TBaseCrossInfo:
:
getId
,
TBaseCrossInfo:
:
getName
));
Map
<
String
,
String
>
crossIdLocationMap
=
tBaseCrossInfos
.
stream
().
collect
(
Collectors
.
toMap
(
TBaseCrossInfo:
:
getId
,
TBaseCrossInfo:
:
getLocation
));
Map
<
String
,
String
>
crossIdLocationMap
=
tBaseCrossInfos
.
stream
().
collect
(
Collectors
.
toMap
(
TBaseCrossInfo:
:
getId
,
TBaseCrossInfo:
:
getLocation
));
...
@@ -639,7 +639,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
...
@@ -639,7 +639,7 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
List
<
TCrossControlHist
>
tCrossControlHists
=
controlHistMapper
.
selectRecentList
();
List
<
TCrossControlHist
>
tCrossControlHists
=
controlHistMapper
.
selectRecentList
();
LambdaQueryWrapper
<
TBaseCrossInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TBaseCrossInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
TBaseCrossInfo:
:
getIsSignal
,
"1"
);
wrapper
.
eq
(
TBaseCrossInfo:
:
getIsSignal
,
"1"
);
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBaseCrossInfoMapper
.
selectList
(
wrapper
);
List
<
TBaseCrossInfo
>
tBaseCrossInfos
=
tBase
Base
CrossInfoMapper
.
selectList
(
wrapper
);
if
(!
CollectionUtils
.
isEmpty
(
tCrossControlHists
))
{
if
(!
CollectionUtils
.
isEmpty
(
tCrossControlHists
))
{
if
(
Objects
.
nonNull
(
operationMode
))
{
if
(
Objects
.
nonNull
(
operationMode
))
{
if
(
operationMode
==
1
)
{
//中心优化
if
(
operationMode
==
1
)
{
//中心优化
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/SpecialServiceServiceImpl.java
View file @
cbf99bc6
...
@@ -3,7 +3,7 @@ package net.wanji.web.service.impl;
...
@@ -3,7 +3,7 @@ package net.wanji.web.service.impl;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
com.google.gson.GsonBuilder
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.
Base
CrossInfoMapper
;
import
net.wanji.web.common.enums.CrossPhasePlanTurnTypeEnum
;
import
net.wanji.web.common.enums.CrossPhasePlanTurnTypeEnum
;
import
net.wanji.web.common.enums.CrossDirEnum
;
import
net.wanji.web.common.enums.CrossDirEnum
;
import
net.wanji.web.common.enums.SpecialServiceCrossTurnEnum
;
import
net.wanji.web.common.enums.SpecialServiceCrossTurnEnum
;
...
@@ -37,7 +37,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -37,7 +37,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
CustomRidInfoMapper
customRidInfoMapper
;
CustomRidInfoMapper
customRidInfoMapper
;
@Autowired
@Autowired
CrossInfoMapper
t
BaseCrossInfoMapper
;
BaseCrossInfoMapper
tBase
BaseCrossInfoMapper
;
@Autowired
@Autowired
CrossDirTurnMapper
crossDirTurnMapper
;
CrossDirTurnMapper
crossDirTurnMapper
;
...
@@ -152,7 +152,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
...
@@ -152,7 +152,7 @@ public class SpecialServiceServiceImpl implements SpecialServiceService {
Integer
sort
=
specialServiceCrossPO
.
getSort
();
Integer
sort
=
specialServiceCrossPO
.
getSort
();
crossListOutVO
.
setSort
(
sort
);
crossListOutVO
.
setSort
(
sort
);
crossListOutVO
.
setStatus
(
specialServiceCrossPO
.
getStatus
());
crossListOutVO
.
setStatus
(
specialServiceCrossPO
.
getStatus
());
TBaseCrossInfo
tBaseCrossInfo
=
tBaseCrossInfoMapper
.
selectByPrimaryKey
(
specialServiceCrossPO
.
getCrossId
());
TBaseCrossInfo
tBaseCrossInfo
=
tBase
Base
CrossInfoMapper
.
selectByPrimaryKey
(
specialServiceCrossPO
.
getCrossId
());
// 经纬度
// 经纬度
String
location
=
tBaseCrossInfo
.
getLocation
();
String
location
=
tBaseCrossInfo
.
getLocation
();
double
[]
lonLat
=
CrossUtil
.
getLonLat
(
location
);
double
[]
lonLat
=
CrossUtil
.
getLonLat
(
location
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/CrossConfigServiceImpl.java
View file @
cbf99bc6
...
@@ -4,11 +4,12 @@ import cn.hutool.core.collection.CollectionUtil;
...
@@ -4,11 +4,12 @@ import cn.hutool.core.collection.CollectionUtil;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.enums.LightsAddressEnum
;
import
net.wanji.common.enums.LightsAddressEnum
;
import
net.wanji.databus.dao.mapper.BaseCrossLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLaneLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLaneLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLightsMapper
;
import
net.wanji.databus.dao.mapper.Cross
Phase
LightsMapper
;
import
net.wanji.databus.dao.mapper.LaneInfoMapper
;
import
net.wanji.databus.dao.mapper.LaneInfoMapper
;
import
net.wanji.databus.po.BaseCrossLightsPO
;
import
net.wanji.databus.po.CrossLaneLightsPO
;
import
net.wanji.databus.po.CrossLaneLightsPO
;
import
net.wanji.databus.po.CrossLightsPO
;
import
net.wanji.databus.po.LaneInfoPO
;
import
net.wanji.databus.po.LaneInfoPO
;
import
net.wanji.web.common.enums.CrossLisghtsLaneDirEnum
;
import
net.wanji.web.common.enums.CrossLisghtsLaneDirEnum
;
import
net.wanji.web.common.exception.LightLaneConflictException
;
import
net.wanji.web.common.exception.LightLaneConflictException
;
...
@@ -18,7 +19,6 @@ import net.wanji.web.dto.LaneListElement;
...
@@ -18,7 +19,6 @@ import net.wanji.web.dto.LaneListElement;
import
net.wanji.web.dto.LedConfigListElement
;
import
net.wanji.web.dto.LedConfigListElement
;
import
net.wanji.web.dto.SaveLaneInfoDTO
;
import
net.wanji.web.dto.SaveLaneInfoDTO
;
import
net.wanji.web.mapper.scheme.CrossDirInfoMapper
;
import
net.wanji.web.mapper.scheme.CrossDirInfoMapper
;
import
net.wanji.web.mapper.scheme.CrossPhaseLightsMapper
;
import
net.wanji.web.mapper.scheme.LaneSegmentMapper
;
import
net.wanji.web.mapper.scheme.LaneSegmentMapper
;
import
net.wanji.web.po.scheme.CrossDirInfoPO
;
import
net.wanji.web.po.scheme.CrossDirInfoPO
;
import
net.wanji.web.service.scheme.CrossConfigService
;
import
net.wanji.web.service.scheme.CrossConfigService
;
...
@@ -38,7 +38,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -38,7 +38,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
private
final
LaneInfoMapper
laneInfoMapper
;
private
final
LaneInfoMapper
laneInfoMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
private
final
LaneSegmentMapper
laneSegmentMapper
;
private
final
LaneSegmentMapper
laneSegmentMapper
;
private
final
CrossLightsMapper
c
rossLightsMapper
;
private
final
BaseCrossLightsMapper
baseC
rossLightsMapper
;
// 机动车灯数据库类型与前端类型对应关系
// 机动车灯数据库类型与前端类型对应关系
private
static
final
Map
<
Integer
,
Integer
>
MOTOR_VEH_MAP
=
new
HashMap
<>(
5
);
private
static
final
Map
<
Integer
,
Integer
>
MOTOR_VEH_MAP
=
new
HashMap
<>(
5
);
...
@@ -63,13 +63,13 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -63,13 +63,13 @@ public class CrossConfigServiceImpl implements CrossConfigService {
public
CrossConfigServiceImpl
(
CrossDirInfoMapper
crossDirInfoMapper
,
LaneInfoMapper
laneInfoMapper
,
public
CrossConfigServiceImpl
(
CrossDirInfoMapper
crossDirInfoMapper
,
LaneInfoMapper
laneInfoMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
,
LaneSegmentMapper
laneSegmentMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
,
LaneSegmentMapper
laneSegmentMapper
,
CrossLightsMapper
c
rossLightsMapper
,
BaseCrossLightsMapper
baseC
rossLightsMapper
,
CrossPhaseLightsMapper
crossPhaseLightsMapper
)
{
CrossPhaseLightsMapper
crossPhaseLightsMapper
)
{
this
.
crossDirInfoMapper
=
crossDirInfoMapper
;
this
.
crossDirInfoMapper
=
crossDirInfoMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
this
.
laneSegmentMapper
=
laneSegmentMapper
;
this
.
laneSegmentMapper
=
laneSegmentMapper
;
this
.
crossLightsMapper
=
c
rossLightsMapper
;
this
.
baseCrossLightsMapper
=
baseC
rossLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
}
}
...
@@ -115,8 +115,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -115,8 +115,8 @@ public class CrossConfigServiceImpl implements CrossConfigService {
// 根据路口ID和灯组代码获取灯组ID
// 根据路口ID和灯组代码获取灯组ID
String
ledNum
=
laneListElement
.
getLedNum
();
String
ledNum
=
laneListElement
.
getLedNum
();
if
(
ledNum
!=
null
)
{
if
(
ledNum
!=
null
)
{
CrossLightsPO
crossLightsPO
=
c
rossLightsMapper
.
selectByCrossIdAndLedNum
(
crossId
,
ledNum
);
BaseCrossLightsPO
baseCrossLightsPO
=
baseC
rossLightsMapper
.
selectByCrossIdAndLedNum
(
crossId
,
ledNum
);
Integer
lightsId
=
c
rossLightsPO
.
getId
();
Integer
lightsId
=
baseC
rossLightsPO
.
getId
();
crossLaneLightsPO
.
setLightsId
(
lightsId
);
crossLaneLightsPO
.
setLightsId
(
lightsId
);
// 用于判断灯组号是否都配置完成
// 用于判断灯组号是否都配置完成
lightCodeSet
.
remove
(
ledNum
);
lightCodeSet
.
remove
(
ledNum
);
...
@@ -131,47 +131,47 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -131,47 +131,47 @@ public class CrossConfigServiceImpl implements CrossConfigService {
private
void
handleLightsData
(
SaveLaneInfoDTO
saveLaneInfoDTO
,
List
<
LedConfigListElement
>
ledConfigList
,
private
void
handleLightsData
(
SaveLaneInfoDTO
saveLaneInfoDTO
,
List
<
LedConfigListElement
>
ledConfigList
,
Set
<
String
>
lightCodeSet
)
{
Set
<
String
>
lightCodeSet
)
{
// 保存旧的灯组代码-灯组对象映射关系
// 保存旧的灯组代码-灯组对象映射关系
Map
<
String
,
CrossLightsPO
>
oldLightsMap
=
new
HashMap
<>();
Map
<
String
,
Base
CrossLightsPO
>
oldLightsMap
=
new
HashMap
<>();
List
<
CrossLightsPO
>
oldPOList
=
c
rossLightsMapper
.
selectByCrossId
(
saveLaneInfoDTO
.
getCrossId
());
List
<
BaseCrossLightsPO
>
oldPOList
=
baseC
rossLightsMapper
.
selectByCrossId
(
saveLaneInfoDTO
.
getCrossId
());
if
(
oldPOList
!=
null
)
{
if
(
oldPOList
!=
null
)
{
for
(
CrossLightsPO
oldPO
:
oldPOList
)
{
for
(
Base
CrossLightsPO
oldPO
:
oldPOList
)
{
oldLightsMap
.
put
(
oldPO
.
getLightsNo
(),
oldPO
);
oldLightsMap
.
put
(
oldPO
.
getLightsNo
(),
oldPO
);
}
}
}
}
String
crossId
=
saveLaneInfoDTO
.
getCrossId
();
String
crossId
=
saveLaneInfoDTO
.
getCrossId
();
List
<
CrossLightsPO
>
c
rossLightsPOList
=
new
ArrayList
<>();
List
<
BaseCrossLightsPO
>
baseC
rossLightsPOList
=
new
ArrayList
<>();
for
(
LedConfigListElement
ledConfigListElement
:
ledConfigList
)
{
for
(
LedConfigListElement
ledConfigListElement
:
ledConfigList
)
{
String
lightCode
=
ledConfigListElement
.
getCode
();
String
lightCode
=
ledConfigListElement
.
getCode
();
lightCodeSet
.
add
(
lightCode
);
lightCodeSet
.
add
(
lightCode
);
CrossLightsPO
crossLightsPO
=
new
CrossLightsPO
();
BaseCrossLightsPO
baseCrossLightsPO
=
new
Base
CrossLightsPO
();
c
rossLightsPO
.
setLightsNo
(
lightCode
);
baseC
rossLightsPO
.
setLightsNo
(
lightCode
);
// 灯组类型
// 灯组类型
setType
(
ledConfigListElement
,
c
rossLightsPO
);
setType
(
ledConfigListElement
,
baseC
rossLightsPO
);
// 灯组放行方向
// 灯组放行方向
String
address
=
ledConfigListElement
.
getAddress
();
String
address
=
ledConfigListElement
.
getAddress
();
Integer
addressCode
=
LightsAddressEnum
.
getCodeByMsg
(
address
);
Integer
addressCode
=
LightsAddressEnum
.
getCodeByMsg
(
address
);
if
(
addressCode
<
10
)
{
// 非行人灯
if
(
addressCode
<
10
)
{
// 非行人灯
// 将放行方向改为灯组方向
// 将放行方向改为灯组方向
Integer
lightsDir
=
CrossLisghtsLaneDirEnum
.
getLaneDirByLightsDir
(
addressCode
);
Integer
lightsDir
=
CrossLisghtsLaneDirEnum
.
getLaneDirByLightsDir
(
addressCode
);
c
rossLightsPO
.
setDir
(
lightsDir
);
baseC
rossLightsPO
.
setDir
(
lightsDir
);
}
else
{
// 行人灯
}
else
{
// 行人灯
String
firstDigit
=
address
.
toString
().
substring
(
0
,
1
);
String
firstDigit
=
address
.
toString
().
substring
(
0
,
1
);
c
rossLightsPO
.
setDir
(
Integer
.
parseInt
(
firstDigit
));
baseC
rossLightsPO
.
setDir
(
Integer
.
parseInt
(
firstDigit
));
// 如果是行人灯,则不需要配置车道
// 如果是行人灯,则不需要配置车道
lightCodeSet
.
remove
(
lightCode
);
lightCodeSet
.
remove
(
lightCode
);
}
}
c
rossLightsPO
.
setSort
(
ledConfigListElement
.
getOrder
());
baseC
rossLightsPO
.
setSort
(
ledConfigListElement
.
getOrder
());
c
rossLightsPO
.
setCrossId
(
crossId
);
baseC
rossLightsPO
.
setCrossId
(
crossId
);
crossLightsPOList
.
add
(
c
rossLightsPO
);
baseCrossLightsPOList
.
add
(
baseC
rossLightsPO
);
}
}
c
rossLightsMapper
.
deleteByCrossId
(
crossId
);
baseC
rossLightsMapper
.
deleteByCrossId
(
crossId
);
crossLightsMapper
.
insertBatch
(
c
rossLightsPOList
);
baseCrossLightsMapper
.
insertBatch
(
baseC
rossLightsPOList
);
// 对比旧的灯组信息,如没有发生变化,则更新灯组-相位关系表中的灯组ID
// 对比旧的灯组信息,如没有发生变化,则更新灯组-相位关系表中的灯组ID
for
(
CrossLightsPO
newPO
:
c
rossLightsPOList
)
{
for
(
BaseCrossLightsPO
newPO
:
baseC
rossLightsPOList
)
{
String
newNumber
=
newPO
.
getLightsNo
();
String
newNumber
=
newPO
.
getLightsNo
();
CrossLightsPO
oldPO
=
oldLightsMap
.
get
(
newNumber
);
Base
CrossLightsPO
oldPO
=
oldLightsMap
.
get
(
newNumber
);
if
(
oldPO
!=
null
)
{
if
(
oldPO
!=
null
)
{
if
(
checkIsSame
(
oldPO
,
newPO
))
{
if
(
checkIsSame
(
oldPO
,
newPO
))
{
crossPhaseLightsMapper
.
updateLightsId
(
oldPO
.
getId
(),
newPO
.
getId
());
crossPhaseLightsMapper
.
updateLightsId
(
oldPO
.
getId
(),
newPO
.
getId
());
...
@@ -180,61 +180,61 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -180,61 +180,61 @@ public class CrossConfigServiceImpl implements CrossConfigService {
}
}
}
}
private
boolean
checkIsSame
(
CrossLightsPO
oldPO
,
CrossLightsPO
newPO
)
{
private
boolean
checkIsSame
(
BaseCrossLightsPO
oldPO
,
Base
CrossLightsPO
newPO
)
{
return
(
Objects
.
equals
(
oldPO
.
getDir
(),
newPO
.
getDir
())
return
(
Objects
.
equals
(
oldPO
.
getDir
(),
newPO
.
getDir
())
&&
Objects
.
equals
(
oldPO
.
getType
(),
newPO
.
getType
()));
&&
Objects
.
equals
(
oldPO
.
getType
(),
newPO
.
getType
()));
}
}
private
void
setType
(
LedConfigListElement
ledConfigListElement
,
CrossLightsPO
c
rossLightsPO
)
{
private
void
setType
(
LedConfigListElement
ledConfigListElement
,
BaseCrossLightsPO
baseC
rossLightsPO
)
{
Integer
type
=
ledConfigListElement
.
getType
();
Integer
type
=
ledConfigListElement
.
getType
();
Integer
signalType
=
ledConfigListElement
.
getSignalType
();
Integer
signalType
=
ledConfigListElement
.
getSignalType
();
String
address
=
ledConfigListElement
.
getAddress
();
String
address
=
ledConfigListElement
.
getAddress
();
if
(
type
==
1
)
{
// 机动车灯
if
(
type
==
1
)
{
// 机动车灯
if
(
signalType
==
1
)
{
if
(
signalType
==
1
)
{
// 圆饼灯
// 圆饼灯
c
rossLightsPO
.
setType
(
1
);
baseC
rossLightsPO
.
setType
(
1
);
}
else
if
(
signalType
==
3
)
{
}
else
if
(
signalType
==
3
)
{
// 左转灯
// 左转灯
c
rossLightsPO
.
setType
(
2
);
baseC
rossLightsPO
.
setType
(
2
);
}
else
if
(
signalType
==
4
)
{
}
else
if
(
signalType
==
4
)
{
// 直行灯
// 直行灯
c
rossLightsPO
.
setType
(
3
);
baseC
rossLightsPO
.
setType
(
3
);
}
else
if
(
signalType
==
5
)
{
}
else
if
(
signalType
==
5
)
{
// 右转灯
// 右转灯
c
rossLightsPO
.
setType
(
4
);
baseC
rossLightsPO
.
setType
(
4
);
}
else
if
(
signalType
==
6
)
{
}
else
if
(
signalType
==
6
)
{
// 掉头灯
// 掉头灯
c
rossLightsPO
.
setType
(
5
);
baseC
rossLightsPO
.
setType
(
5
);
}
}
}
else
if
(
type
==
2
)
{
// 非机动车灯
}
else
if
(
type
==
2
)
{
// 非机动车灯
if
(
signalType
==
2
)
{
if
(
signalType
==
2
)
{
// 无转向的非机动车灯
// 无转向的非机动车灯
c
rossLightsPO
.
setType
(
10
);
baseC
rossLightsPO
.
setType
(
10
);
}
else
if
(
signalType
==
3
)
{
}
else
if
(
signalType
==
3
)
{
// 左转非机动车灯
// 左转非机动车灯
c
rossLightsPO
.
setType
(
11
);
baseC
rossLightsPO
.
setType
(
11
);
}
else
if
(
signalType
==
4
)
{
}
else
if
(
signalType
==
4
)
{
// 直行非机动车灯
// 直行非机动车灯
c
rossLightsPO
.
setType
(
12
);
baseC
rossLightsPO
.
setType
(
12
);
}
else
if
(
signalType
==
5
)
{
}
else
if
(
signalType
==
5
)
{
// 右转非机动车灯
// 右转非机动车灯
c
rossLightsPO
.
setType
(
13
);
baseC
rossLightsPO
.
setType
(
13
);
}
else
if
(
signalType
==
6
)
{
}
else
if
(
signalType
==
6
)
{
// 掉头非机动车灯
// 掉头非机动车灯
c
rossLightsPO
.
setType
(
14
);
baseC
rossLightsPO
.
setType
(
14
);
}
}
}
else
if
(
type
==
3
)
{
// 公交专用
}
else
if
(
type
==
3
)
{
// 公交专用
if
(
signalType
==
7
)
{
if
(
signalType
==
7
)
{
c
rossLightsPO
.
setType
(
30
);
baseC
rossLightsPO
.
setType
(
30
);
}
}
}
else
if
(
type
==
4
)
{
// 行人
}
else
if
(
type
==
4
)
{
// 行人
Integer
addressCode
=
LightsAddressEnum
.
getCodeByMsg
(
address
);
Integer
addressCode
=
LightsAddressEnum
.
getCodeByMsg
(
address
);
if
(
addressCode
>=
10
&&
addressCode
<=
99
)
{
// 两位数为一次过街
if
(
addressCode
>=
10
&&
addressCode
<=
99
)
{
// 两位数为一次过街
c
rossLightsPO
.
setType
(
20
);
baseC
rossLightsPO
.
setType
(
20
);
}
else
if
(
addressCode
>=
100
&&
addressCode
%
10
==
1
)
{
// 三位数为二次过街,个位是1表示出口
}
else
if
(
addressCode
>=
100
&&
addressCode
%
10
==
1
)
{
// 三位数为二次过街,个位是1表示出口
c
rossLightsPO
.
setType
(
22
);
baseC
rossLightsPO
.
setType
(
22
);
}
else
if
(
addressCode
>=
100
&&
addressCode
%
10
==
2
)
{
// 三位数为二次过街,个位是2表示进口
}
else
if
(
addressCode
>=
100
&&
addressCode
%
10
==
2
)
{
// 三位数为二次过街,个位是2表示进口
c
rossLightsPO
.
setType
(
21
);
baseC
rossLightsPO
.
setType
(
21
);
}
}
}
}
}
}
...
@@ -308,15 +308,15 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -308,15 +308,15 @@ public class CrossConfigServiceImpl implements CrossConfigService {
saveLaneInfoDTO
.
setLedConfigList
(
new
ArrayList
<>());
saveLaneInfoDTO
.
setLedConfigList
(
new
ArrayList
<>());
List
<
LedConfigListElement
>
ledConfigList
=
saveLaneInfoDTO
.
getLedConfigList
();
List
<
LedConfigListElement
>
ledConfigList
=
saveLaneInfoDTO
.
getLedConfigList
();
// 获取灯组数据
// 获取灯组数据
List
<
CrossLightsPO
>
crossLightsPOList
=
c
rossLightsMapper
.
selectByCrossId
(
crossId
);
List
<
BaseCrossLightsPO
>
baseCrossLightsPOList
=
baseC
rossLightsMapper
.
selectByCrossId
(
crossId
);
// 赋值给ledConfigList
// 赋值给ledConfigList
for
(
CrossLightsPO
crossLightsPO
:
c
rossLightsPOList
)
{
for
(
BaseCrossLightsPO
baseCrossLightsPO
:
baseC
rossLightsPOList
)
{
LedConfigListElement
ledConfigListElement
=
new
LedConfigListElement
();
LedConfigListElement
ledConfigListElement
=
new
LedConfigListElement
();
ledConfigListElement
.
setId
(
c
rossLightsPO
.
getId
());
ledConfigListElement
.
setId
(
baseC
rossLightsPO
.
getId
());
ledConfigListElement
.
setOrder
(
c
rossLightsPO
.
getSort
());
ledConfigListElement
.
setOrder
(
baseC
rossLightsPO
.
getSort
());
ledConfigListElement
.
setCode
(
c
rossLightsPO
.
getLightsNo
());
ledConfigListElement
.
setCode
(
baseC
rossLightsPO
.
getLightsNo
());
// 处理type
// 处理type
Integer
type
=
c
rossLightsPO
.
getType
();
Integer
type
=
baseC
rossLightsPO
.
getType
();
if
(
type
>
0
&&
type
<
10
)
{
// 机动车灯
if
(
type
>
0
&&
type
<
10
)
{
// 机动车灯
ledConfigListElement
.
setType
(
1
);
ledConfigListElement
.
setType
(
1
);
Integer
signalType
=
MOTOR_VEH_MAP
.
get
(
type
);
Integer
signalType
=
MOTOR_VEH_MAP
.
get
(
type
);
...
@@ -333,7 +333,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -333,7 +333,7 @@ public class CrossConfigServiceImpl implements CrossConfigService {
ledConfigListElement
.
setSignalType
(
7
);
ledConfigListElement
.
setSignalType
(
7
);
}
}
// 灯组放行方向 转化为灯组方向
// 灯组放行方向 转化为灯组方向
Integer
dir
=
c
rossLightsPO
.
getDir
();
Integer
dir
=
baseC
rossLightsPO
.
getDir
();
if
(
type
<
20
||
type
>=
30
)
{
// 非行人灯
if
(
type
<
20
||
type
>=
30
)
{
// 非行人灯
Integer
laneDir
=
CrossLisghtsLaneDirEnum
.
getLightsDirByLaneDir
(
dir
);
Integer
laneDir
=
CrossLisghtsLaneDirEnum
.
getLightsDirByLaneDir
(
dir
);
String
address
=
LightsAddressEnum
.
getMsgByCode
(
laneDir
);
String
address
=
LightsAddressEnum
.
getMsgByCode
(
laneDir
);
...
@@ -397,10 +397,10 @@ public class CrossConfigServiceImpl implements CrossConfigService {
...
@@ -397,10 +397,10 @@ public class CrossConfigServiceImpl implements CrossConfigService {
}
}
dirListElement
.
setLaneList
(
laneListElementList
);
dirListElement
.
setLaneList
(
laneListElementList
);
// 构造行人过街数据
// 构造行人过街数据
List
<
CrossLightsPO
>
crossLightsPOList
=
c
rossLightsMapper
.
selectByCrossIdAndDir
(
crossId
,
key
);
List
<
BaseCrossLightsPO
>
baseCrossLightsPOList
=
baseC
rossLightsMapper
.
selectByCrossIdAndDir
(
crossId
,
key
);
for
(
CrossLightsPO
crossLightsPO
:
c
rossLightsPOList
)
{
for
(
BaseCrossLightsPO
baseCrossLightsPO
:
baseC
rossLightsPOList
)
{
Integer
type
=
c
rossLightsPO
.
getType
();
Integer
type
=
baseC
rossLightsPO
.
getType
();
String
lightsNo
=
c
rossLightsPO
.
getLightsNo
();
String
lightsNo
=
baseC
rossLightsPO
.
getLightsNo
();
if
(
type
==
20
)
{
// 一次过街
if
(
type
==
20
)
{
// 一次过街
dirListElement
.
setPersonCrossType
(
"oneCross"
);
dirListElement
.
setPersonCrossType
(
"oneCross"
);
dirListElement
.
setOneCross
(
lightsNo
);
dirListElement
.
setOneCross
(
lightsNo
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/RunningPlanServiceImpl.java
View file @
cbf99bc6
...
@@ -2,17 +2,13 @@ package net.wanji.web.service.scheme.impl;
...
@@ -2,17 +2,13 @@ package net.wanji.web.service.scheme.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.databus.dao.entity.CrossPlanPO
;
import
net.wanji.databus.dao.entity.CrossSchemePO
;
import
net.wanji.databus.dao.entity.CrossSectionPO
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.mapper.scheme.CrossPlanMapper
;
import
net.wanji.web.mapper.scheme.*
;
import
net.wanji.web.mapper.scheme.CrossSchedulesMapper
;
import
net.wanji.web.mapper.scheme.CrossSchedulesPlanMapper
;
import
net.wanji.web.mapper.scheme.CrossSchemeMapper
;
import
net.wanji.web.mapper.scheme.CrossSectionMapper
;
import
net.wanji.web.po.scheme.CrossPlanPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPO
;
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.CrossSectionPO
;
import
net.wanji.web.service.scheme.RunningPlanService
;
import
net.wanji.web.service.scheme.RunningPlanService
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -34,19 +30,19 @@ import java.util.stream.Collectors;
...
@@ -34,19 +30,19 @@ import java.util.stream.Collectors;
public
class
RunningPlanServiceImpl
implements
RunningPlanService
{
public
class
RunningPlanServiceImpl
implements
RunningPlanService
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
private
final
CrossPlanMapper
c
rossPlanMapper
;
private
final
BaseCrossPlanMapper
BaseC
rossPlanMapper
;
private
final
CrossSchemeMapper
c
rossSchemeMapper
;
private
final
BaseCrossSchemeMapper
baseC
rossSchemeMapper
;
private
final
CrossSectionMapper
c
rossSectionMapper
;
private
final
BaseCrossSectionMapper
baseC
rossSectionMapper
;
private
final
CrossSchedulesMapper
c
rossSchedulesMapper
;
private
final
BaseCrossSchedulesMapper
baseC
rossSchedulesMapper
;
private
final
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
;
private
final
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
;
public
RunningPlanServiceImpl
(
CrossPlanMapper
crossPlanMapper
,
CrossSchemeMapper
c
rossSchemeMapper
,
public
RunningPlanServiceImpl
(
BaseCrossPlanMapper
BaseCrossPlanMapper
,
BaseCrossSchemeMapper
baseC
rossSchemeMapper
,
CrossSectionMapper
crossSectionMapper
,
CrossSchedulesMapper
c
rossSchedulesMapper
,
BaseCrossSectionMapper
baseCrossSectionMapper
,
BaseCrossSchedulesMapper
baseC
rossSchedulesMapper
,
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
)
{
CrossSchedulesPlanMapper
crossSchedulesPlanMapper
)
{
this
.
crossPlanMapper
=
c
rossPlanMapper
;
this
.
BaseCrossPlanMapper
=
BaseC
rossPlanMapper
;
this
.
crossSchemeMapper
=
c
rossSchemeMapper
;
this
.
baseCrossSchemeMapper
=
baseC
rossSchemeMapper
;
this
.
crossSectionMapper
=
c
rossSectionMapper
;
this
.
baseCrossSectionMapper
=
baseC
rossSectionMapper
;
this
.
crossSchedulesMapper
=
c
rossSchedulesMapper
;
this
.
baseCrossSchedulesMapper
=
baseC
rossSchedulesMapper
;
this
.
crossSchedulesPlanMapper
=
crossSchedulesPlanMapper
;
this
.
crossSchedulesPlanMapper
=
crossSchedulesPlanMapper
;
}
}
...
@@ -55,9 +51,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -55,9 +51,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
public
void
saveRunningPlan
(
RunningPlanDTO
runningPlanDTO
)
throws
ParseException
{
public
void
saveRunningPlan
(
RunningPlanDTO
runningPlanDTO
)
throws
ParseException
{
String
crossId
=
runningPlanDTO
.
getCrossId
();
String
crossId
=
runningPlanDTO
.
getCrossId
();
// 清空之前计划
// 清空之前计划
c
rossPlanMapper
.
deleteByCrossId
(
crossId
);
BaseC
rossPlanMapper
.
deleteByCrossId
(
crossId
);
c
rossSectionMapper
.
deleteByCrossId
(
crossId
);
baseC
rossSectionMapper
.
deleteByCrossId
(
crossId
);
c
rossSchedulesMapper
.
deleteByCrossId
(
crossId
);
baseC
rossSchedulesMapper
.
deleteByCrossId
(
crossId
);
crossSchedulesPlanMapper
.
deleteByCrossId
(
crossId
);
crossSchedulesPlanMapper
.
deleteByCrossId
(
crossId
);
// 保存计划数据
// 保存计划数据
saveCrossPlan
(
runningPlanDTO
,
crossId
);
saveCrossPlan
(
runningPlanDTO
,
crossId
);
...
@@ -82,7 +78,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -82,7 +78,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
buildSchedulesPlanList
(
String
crossId
)
{
private
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
buildSchedulesPlanList
(
String
crossId
)
{
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
new
ArrayList
<>();
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
new
ArrayList
<>();
List
<
CrossSchedulesPO
>
crossSchedulesPOList
=
c
rossSchedulesMapper
.
selectByCrossId
(
crossId
);
List
<
CrossSchedulesPO
>
crossSchedulesPOList
=
baseC
rossSchedulesMapper
.
selectByCrossId
(
crossId
);
for
(
CrossSchedulesPO
crossSchedulesPO
:
crossSchedulesPOList
)
{
for
(
CrossSchedulesPO
crossSchedulesPO
:
crossSchedulesPOList
)
{
String
scheduleNo
=
crossSchedulesPO
.
getScheduleNo
();
String
scheduleNo
=
crossSchedulesPO
.
getScheduleNo
();
String
name
=
crossSchedulesPO
.
getName
();
String
name
=
crossSchedulesPO
.
getName
();
...
@@ -103,7 +99,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -103,7 +99,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private
List
<
RunningPlanDTO
.
ExecListElement
>
buildExecList
(
String
crossId
,
String
scheduleNo
)
{
private
List
<
RunningPlanDTO
.
ExecListElement
>
buildExecList
(
String
crossId
,
String
scheduleNo
)
{
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
new
ArrayList
<>();
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
new
ArrayList
<>();
// 获取调度ID
// 获取调度ID
CrossSchedulesPO
schedulesPO
=
c
rossSchedulesMapper
.
selectByCrossIdAndScheduleNo
(
crossId
,
scheduleNo
);
CrossSchedulesPO
schedulesPO
=
baseC
rossSchedulesMapper
.
selectByCrossIdAndScheduleNo
(
crossId
,
scheduleNo
);
Integer
schedulesId
=
schedulesPO
.
getId
();
Integer
schedulesId
=
schedulesPO
.
getId
();
// 根据路口ID、调度ID和计划ID查询调度计划关系
// 根据路口ID、调度ID和计划ID查询调度计划关系
List
<
CrossSchedulesPlanPO
>
crossSchedulesPlanPOList
=
List
<
CrossSchedulesPlanPO
>
crossSchedulesPlanPOList
=
...
@@ -127,7 +123,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -127,7 +123,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
}
}
execListElement
.
setWeek
(
week
);
execListElement
.
setWeek
(
week
);
execListElement
.
setSpecialDateList
(
specialDateList
);
execListElement
.
setSpecialDateList
(
specialDateList
);
CrossPlanPO
crossPlanPO
=
c
rossPlanMapper
.
selectById
(
planId
);
CrossPlanPO
crossPlanPO
=
BaseC
rossPlanMapper
.
selectById
(
planId
);
execListElement
.
setPlanName
(
crossPlanPO
.
getName
());
execListElement
.
setPlanName
(
crossPlanPO
.
getName
());
execList
.
add
(
execListElement
);
execList
.
add
(
execListElement
);
}
}
...
@@ -136,9 +132,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -136,9 +132,9 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private
List
<
RunningPlanDTO
.
DailyPlanListElement
>
buildDailyPlanList
(
String
crossId
)
{
private
List
<
RunningPlanDTO
.
DailyPlanListElement
>
buildDailyPlanList
(
String
crossId
)
{
List
<
RunningPlanDTO
.
DailyPlanListElement
>
dailyPlanList
=
new
ArrayList
<>();
List
<
RunningPlanDTO
.
DailyPlanListElement
>
dailyPlanList
=
new
ArrayList
<>();
dailyPlanList
=
c
rossPlanMapper
.
selectDailyPlanList
(
crossId
);
dailyPlanList
=
BaseC
rossPlanMapper
.
selectDailyPlanList
(
crossId
);
if
(
CollectionUtil
.
isEmpty
(
dailyPlanList
))
{
if
(
CollectionUtil
.
isEmpty
(
dailyPlanList
))
{
List
<
CrossPlanPO
>
crossPlanPOList
=
c
rossPlanMapper
.
selectByCrossId
(
crossId
);
List
<
CrossPlanPO
>
crossPlanPOList
=
BaseC
rossPlanMapper
.
selectByCrossId
(
crossId
);
if
(
CollectionUtil
.
isNotEmpty
(
crossPlanPOList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
crossPlanPOList
))
{
for
(
CrossPlanPO
crossPlanPO
:
crossPlanPOList
)
{
for
(
CrossPlanPO
crossPlanPO
:
crossPlanPOList
)
{
RunningPlanDTO
.
DailyPlanListElement
dailyPlan
=
new
RunningPlanDTO
.
DailyPlanListElement
();
RunningPlanDTO
.
DailyPlanListElement
dailyPlan
=
new
RunningPlanDTO
.
DailyPlanListElement
();
...
@@ -173,14 +169,14 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -173,14 +169,14 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossSchedulesPO
.
setName
(
schedulesPlan
.
getName
());
crossSchedulesPO
.
setName
(
schedulesPlan
.
getName
());
crossSchedulesPO
.
setStatus
(
0
);
// 新增调度状态为未执行
crossSchedulesPO
.
setStatus
(
0
);
// 新增调度状态为未执行
crossSchedulesPO
.
setCrossId
(
crossId
);
crossSchedulesPO
.
setCrossId
(
crossId
);
c
rossSchedulesMapper
.
insertOne
(
crossSchedulesPO
);
baseC
rossSchedulesMapper
.
insertOne
(
crossSchedulesPO
);
Integer
crossSchedulesId
=
crossSchedulesPO
.
getId
();
Integer
crossSchedulesId
=
crossSchedulesPO
.
getId
();
// 遍历执行的日计划列表
// 遍历执行的日计划列表
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
schedulesPlan
.
getExecList
();
List
<
RunningPlanDTO
.
ExecListElement
>
execList
=
schedulesPlan
.
getExecList
();
for
(
RunningPlanDTO
.
ExecListElement
execListElement
:
execList
)
{
for
(
RunningPlanDTO
.
ExecListElement
execListElement
:
execList
)
{
// 根据路口ID和计划名获取计划ID
// 根据路口ID和计划名获取计划ID
String
planName
=
execListElement
.
getPlanName
();
String
planName
=
execListElement
.
getPlanName
();
CrossPlanPO
crossPlanPO
=
c
rossPlanMapper
.
selectByCrossIdAndName
(
crossId
,
planName
);
CrossPlanPO
crossPlanPO
=
BaseC
rossPlanMapper
.
selectByCrossIdAndName
(
crossId
,
planName
);
if
(
crossPlanPO
!=
null
)
{
if
(
crossPlanPO
!=
null
)
{
Integer
planId
=
crossPlanPO
.
getId
();
Integer
planId
=
crossPlanPO
.
getId
();
// 更新调度计划关系表
// 更新调度计划关系表
...
@@ -235,13 +231,13 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -235,13 +231,13 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossPlanPO
.
setPlanNo
(
planNo
);
crossPlanPO
.
setPlanNo
(
planNo
);
crossPlanPO
.
setName
(
dailyPlan
.
getName
());
crossPlanPO
.
setName
(
dailyPlan
.
getName
());
crossPlanPO
.
setCrossId
(
crossId
);
crossPlanPO
.
setCrossId
(
crossId
);
c
rossPlanMapper
.
insertOne
(
crossPlanPO
);
BaseC
rossPlanMapper
.
insertOne
(
crossPlanPO
);
Integer
crossPlanId
=
crossPlanPO
.
getId
();
Integer
crossPlanId
=
crossPlanPO
.
getId
();
List
<
RunningPlanDTO
.
TimeListElement
>
timeList
=
dailyPlan
.
getTimeList
();
List
<
RunningPlanDTO
.
TimeListElement
>
timeList
=
dailyPlan
.
getTimeList
();
for
(
RunningPlanDTO
.
TimeListElement
time
:
timeList
)
{
for
(
RunningPlanDTO
.
TimeListElement
time
:
timeList
)
{
// 根据路口ID和方案名获取方案ID
// 根据路口ID和方案名获取方案ID
String
schemeName
=
time
.
getSchemeName
();
String
schemeName
=
time
.
getSchemeName
();
CrossSchemePO
crossSchemePO
=
c
rossSchemeMapper
.
selectByCrossIdAndSchemeName
(
crossId
,
schemeName
);
CrossSchemePO
crossSchemePO
=
baseC
rossSchemeMapper
.
selectByCrossIdAndSchemeName
(
crossId
,
schemeName
);
Integer
schemeId
=
crossSchemePO
.
getId
();
Integer
schemeId
=
crossSchemePO
.
getId
();
// 更新时段表
// 更新时段表
updateCrossSection
(
crossId
,
crossPlanId
,
schemeId
,
time
);
updateCrossSection
(
crossId
,
crossPlanId
,
schemeId
,
time
);
...
@@ -263,7 +259,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
...
@@ -263,7 +259,7 @@ public class RunningPlanServiceImpl implements RunningPlanService {
crossSectionPO
.
setCrossId
(
crossId
);
crossSectionPO
.
setCrossId
(
crossId
);
crossSectionPO
.
setPlanId
(
crossPlanId
);
crossSectionPO
.
setPlanId
(
crossPlanId
);
crossSectionPO
.
setControlMode
(
1
);
// todo 暂时只有定周期
crossSectionPO
.
setControlMode
(
1
);
// todo 暂时只有定周期
crossSectionPO
.
setSc
h
emeId
(
schemeId
);
crossSectionPO
.
setScemeId
(
schemeId
);
c
rossSectionMapper
.
insertOne
(
crossSectionPO
);
baseC
rossSectionMapper
.
insertOne
(
crossSectionPO
);
}
}
}
}
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/SchemeConfigServiceImpl.java
View file @
cbf99bc6
...
@@ -3,40 +3,32 @@ package net.wanji.web.service.scheme.impl;
...
@@ -3,40 +3,32 @@ package net.wanji.web.service.scheme.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.databus.dao.entity.CrossPhaseLightsPO
;
import
net.wanji.databus.dao.entity.CrossPhasePO
;
import
net.wanji.databus.dao.entity.CrossSchemePO
;
import
net.wanji.databus.dao.mapper.BaseCrossLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLaneLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLaneLightsMapper
;
import
net.wanji.databus.dao.mapper.CrossLightsMapper
;
import
net.wanji.databus.dao.mapper.Cross
Phase
LightsMapper
;
import
net.wanji.databus.dao.mapper.LaneInfoMapper
;
import
net.wanji.databus.dao.mapper.LaneInfoMapper
;
import
net.wanji.databus.po.BaseCrossLightsPO
;
import
net.wanji.databus.po.CrossLaneLightsPO
;
import
net.wanji.databus.po.CrossLaneLightsPO
;
import
net.wanji.databus.po.CrossLightsPO
;
import
net.wanji.databus.po.LaneInfoPO
;
import
net.wanji.databus.po.LaneInfoPO
;
import
net.wanji.web.common.constant.ControlModeConst
;
import
net.wanji.web.common.constant.ControlModeConst
;
import
net.wanji.web.common.exception.PhaseNoNotUniqueException
;
import
net.wanji.web.common.exception.PhaseNoNotUniqueException
;
import
net.wanji.web.dto.LaneIdDTO
;
import
net.wanji.web.dto.LaneIdDTO
;
import
net.wanji.web.dto.LightIdDTO
;
import
net.wanji.web.dto.LightIdDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
import
net.wanji.web.mapper.scheme.BaseCrossPhaseMapper
;
import
net.wanji.web.mapper.scheme.CrossAccompanyPhaseMapper
;
import
net.wanji.web.mapper.scheme.CrossAccompanyPhaseMapper
;
import
net.wanji.web.mapper.scheme.CrossPhaseLightsMapper
;
import
net.wanji.web.mapper.scheme.BaseCrossSchemeMapper
;
import
net.wanji.web.mapper.scheme.CrossPhaseMapper
;
import
net.wanji.web.mapper.scheme.CrossSchemeMapper
;
import
net.wanji.web.po.scheme.CrossAccompanyPhasePO
;
import
net.wanji.web.po.scheme.CrossAccompanyPhasePO
;
import
net.wanji.web.po.scheme.CrossPhaseLightsPO
;
import
net.wanji.web.po.scheme.CrossPhasePO
;
import
net.wanji.web.po.scheme.CrossSchemePO
;
import
net.wanji.web.service.scheme.SchemeConfigService
;
import
net.wanji.web.service.scheme.SchemeConfigService
;
import
net.wanji.web.vo.scheme.LaneIdsVO
;
import
net.wanji.web.vo.scheme.LaneIdsVO
;
import
net.wanji.web.vo.scheme.LightIdVO
;
import
net.wanji.web.vo.scheme.LightIdVO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Comparator
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.TreeSet
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -45,23 +37,23 @@ import java.util.stream.Collectors;
...
@@ -45,23 +37,23 @@ import java.util.stream.Collectors;
*/
*/
@Service
@Service
public
class
SchemeConfigServiceImpl
implements
SchemeConfigService
{
public
class
SchemeConfigServiceImpl
implements
SchemeConfigService
{
private
final
CrossSchemeMapper
c
rossSchemeMapper
;
private
final
BaseCrossSchemeMapper
baseC
rossSchemeMapper
;
private
final
CrossPhaseMapper
crossPhaseMapper
;
private
final
Base
CrossPhaseMapper
crossPhaseMapper
;
private
final
LaneInfoMapper
laneInfoMapper
;
private
final
LaneInfoMapper
laneInfoMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
private
final
CrossLightsMapper
c
rossLightsMapper
;
private
final
BaseCrossLightsMapper
baseC
rossLightsMapper
;
private
final
CrossAccompanyPhaseMapper
crossAccompanyPhaseMapper
;
private
final
CrossAccompanyPhaseMapper
crossAccompanyPhaseMapper
;
public
SchemeConfigServiceImpl
(
CrossSchemeMapper
crossSchemeMapper
,
CrossPhaseMapper
c
rossPhaseMapper
,
public
SchemeConfigServiceImpl
(
BaseCrossSchemeMapper
baseCrossSchemeMapper
,
BaseCrossPhaseMapper
baseC
rossPhaseMapper
,
LaneInfoMapper
laneInfoMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
,
LaneInfoMapper
laneInfoMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
,
CrossPhaseLightsMapper
crossPhaseLightsMapper
,
CrossLightsMapper
c
rossLightsMapper
,
CrossAccompanyPhaseMapper
crossAccompanyPhaseMapper
)
{
CrossPhaseLightsMapper
crossPhaseLightsMapper
,
BaseCrossLightsMapper
baseC
rossLightsMapper
,
CrossAccompanyPhaseMapper
crossAccompanyPhaseMapper
)
{
this
.
crossSchemeMapper
=
c
rossSchemeMapper
;
this
.
baseCrossSchemeMapper
=
baseC
rossSchemeMapper
;
this
.
crossPhaseMapper
=
c
rossPhaseMapper
;
this
.
crossPhaseMapper
=
baseC
rossPhaseMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
crossPhaseLightsMapper
=
crossPhaseLightsMapper
;
this
.
crossLightsMapper
=
c
rossLightsMapper
;
this
.
baseCrossLightsMapper
=
baseC
rossLightsMapper
;
this
.
crossAccompanyPhaseMapper
=
crossAccompanyPhaseMapper
;
this
.
crossAccompanyPhaseMapper
=
crossAccompanyPhaseMapper
;
}
}
...
@@ -96,7 +88,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -96,7 +88,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
laneIdsVO
.
setLanes
(
new
ArrayList
<>());
laneIdsVO
.
setLanes
(
new
ArrayList
<>());
// 获取方向
// 获取方向
CrossLightsPO
crossLightsPO
=
c
rossLightsMapper
.
selectById
(
lightId
);
BaseCrossLightsPO
crossLightsPO
=
baseC
rossLightsMapper
.
selectById
(
lightId
);
Integer
dir
=
crossLightsPO
.
getDir
();
Integer
dir
=
crossLightsPO
.
getDir
();
laneIdsVO
.
setDir
(
dir
);
laneIdsVO
.
setDir
(
dir
);
// 行人灯类型
// 行人灯类型
...
@@ -141,7 +133,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -141,7 +133,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
*/
private
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
buildPhaseSchemeList
(
String
crossId
)
{
private
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
buildPhaseSchemeList
(
String
crossId
)
{
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
new
ArrayList
<>();
List
<
CrossSchemePO
>
crossSchemePOList
=
c
rossSchemeMapper
.
selectByCrossId
(
crossId
);
List
<
CrossSchemePO
>
crossSchemePOList
=
baseC
rossSchemeMapper
.
selectByCrossId
(
crossId
);
for
(
CrossSchemePO
crossSchemePO
:
crossSchemePOList
)
{
for
(
CrossSchemePO
crossSchemePO
:
crossSchemePOList
)
{
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
=
new
SaveSchemeConfigDTO
.
PhaseScheme
();
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
=
new
SaveSchemeConfigDTO
.
PhaseScheme
();
phaseScheme
.
setSchemeNo
(
crossSchemePO
.
getSchemeNo
());
phaseScheme
.
setSchemeNo
(
crossSchemePO
.
getSchemeNo
());
...
@@ -160,7 +152,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -160,7 +152,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
phaseScheme
.
setStatus
(
crossSchemePO
.
getStatus
());
phaseScheme
.
setStatus
(
crossSchemePO
.
getStatus
());
// 构造环列表
// 构造环列表
String
schemeNo
=
phaseScheme
.
getSchemeNo
();
String
schemeNo
=
phaseScheme
.
getSchemeNo
();
Integer
schemeId
=
c
rossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
Integer
schemeId
=
baseC
rossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
List
<
SaveSchemeConfigDTO
.
RingListElement
>
ringList
=
buildRingList
(
crossId
,
schemeId
);
List
<
SaveSchemeConfigDTO
.
RingListElement
>
ringList
=
buildRingList
(
crossId
,
schemeId
);
phaseScheme
.
setRingList
(
ringList
);
phaseScheme
.
setRingList
(
ringList
);
// 构造特殊控制列表
// 构造特殊控制列表
...
@@ -348,11 +340,13 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -348,11 +340,13 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
*/
private
List
<
SaveSchemeConfigDTO
.
DirListElement
>
buildDirList
(
String
crossId
,
Integer
phaseId
)
{
private
List
<
SaveSchemeConfigDTO
.
DirListElement
>
buildDirList
(
String
crossId
,
Integer
phaseId
)
{
List
<
SaveSchemeConfigDTO
.
DirListElement
>
dirList
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
DirListElement
>
dirList
=
new
ArrayList
<>();
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
=
crossPhaseLightsMapper
.
selectByPhaseId
(
phaseId
);
CrossPhaseLightsPO
entity
=
new
CrossPhaseLightsPO
();
entity
.
setPhaseId
(
phaseId
);
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
=
crossPhaseLightsMapper
.
selectByEntity
(
entity
);
Set
<
Integer
>
dirSet
=
new
HashSet
<>();
Set
<
Integer
>
dirSet
=
new
HashSet
<>();
for
(
CrossPhaseLightsPO
crossPhaseLightsPO
:
crossPhaseLightsPOList
)
{
for
(
CrossPhaseLightsPO
crossPhaseLightsPO
:
crossPhaseLightsPOList
)
{
Integer
lightsId
=
crossPhaseLightsPO
.
getLightsId
();
Integer
lightsId
=
crossPhaseLightsPO
.
getLightsId
();
CrossLightsPO
crossLightsPO
=
c
rossLightsMapper
.
selectById
(
lightsId
);
BaseCrossLightsPO
crossLightsPO
=
baseC
rossLightsMapper
.
selectById
(
lightsId
);
if
(
crossLightsPO
!=
null
)
{
if
(
crossLightsPO
!=
null
)
{
Integer
dir
=
crossLightsPO
.
getDir
();
Integer
dir
=
crossLightsPO
.
getDir
();
dirSet
.
add
(
dir
);
dirSet
.
add
(
dir
);
...
@@ -364,8 +358,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -364,8 +358,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
// Integer laneDir = CrossLisghtsLaneDirEnum.getLaneDirByLightsDir(dir);
// Integer laneDir = CrossLisghtsLaneDirEnum.getLaneDirByLightsDir(dir);
dirListElement
.
setDir
(
dir
);
dirListElement
.
setDir
(
dir
);
// 是否有行人相位
// 是否有行人相位
List
<
CrossLightsPO
>
crossLightsPOList
=
c
rossLightsMapper
.
selectByCrossIdAndDir
(
crossId
,
dir
);
List
<
BaseCrossLightsPO
>
crossLightsPOList
=
baseC
rossLightsMapper
.
selectByCrossIdAndDir
(
crossId
,
dir
);
for
(
CrossLightsPO
crossLightsPO
:
crossLightsPOList
)
{
for
(
Base
CrossLightsPO
crossLightsPO
:
crossLightsPOList
)
{
Integer
type
=
crossLightsPO
.
getType
();
Integer
type
=
crossLightsPO
.
getType
();
if
(
type
>=
20
&&
type
<
30
)
{
if
(
type
>=
20
&&
type
<
30
)
{
Integer
lightsId
=
crossLightsPO
.
getId
();
Integer
lightsId
=
crossLightsPO
.
getId
();
...
@@ -394,12 +388,14 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -394,12 +388,14 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
*/
*/
private
List
<
SaveSchemeConfigDTO
.
LaneListElement
>
buildLaneList
(
Integer
dir
,
Integer
phaseId
)
{
private
List
<
SaveSchemeConfigDTO
.
LaneListElement
>
buildLaneList
(
Integer
dir
,
Integer
phaseId
)
{
List
<
SaveSchemeConfigDTO
.
LaneListElement
>
laneList
=
new
ArrayList
<>();
List
<
SaveSchemeConfigDTO
.
LaneListElement
>
laneList
=
new
ArrayList
<>();
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
=
crossPhaseLightsMapper
.
selectByPhaseId
(
phaseId
);
CrossPhaseLightsPO
entity
=
new
CrossPhaseLightsPO
();
entity
.
setPhaseId
(
phaseId
);
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
=
crossPhaseLightsMapper
.
selectByEntity
(
entity
);
List
<
Integer
>
lightsIds
=
crossPhaseLightsPOList
.
stream
()
List
<
Integer
>
lightsIds
=
crossPhaseLightsPOList
.
stream
()
.
map
(
CrossPhaseLightsPO:
:
getLightsId
)
.
map
(
CrossPhaseLightsPO:
:
getLightsId
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
List
<
CrossLightsPO
>
crossLightsPOList
=
c
rossLightsMapper
.
selectByLightsIdsAndDir
(
lightsIds
,
dir
);
List
<
BaseCrossLightsPO
>
crossLightsPOList
=
baseC
rossLightsMapper
.
selectByLightsIdsAndDir
(
lightsIds
,
dir
);
for
(
CrossLightsPO
crossLightsPO
:
crossLightsPOList
)
{
for
(
Base
CrossLightsPO
crossLightsPO
:
crossLightsPOList
)
{
Integer
type
=
crossLightsPO
.
getType
();
Integer
type
=
crossLightsPO
.
getType
();
if
(
type
<
20
||
type
>=
30
)
{
// 非行人灯
if
(
type
<
20
||
type
>=
30
)
{
// 非行人灯
Integer
lightsId
=
crossLightsPO
.
getId
();
Integer
lightsId
=
crossLightsPO
.
getId
();
...
@@ -429,8 +425,12 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -429,8 +425,12 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
}
}
private
boolean
hasLightsId
(
Integer
lightsId
,
Integer
phaseId
,
String
crossId
)
{
private
boolean
hasLightsId
(
Integer
lightsId
,
Integer
phaseId
,
String
crossId
)
{
Integer
id
=
crossPhaseLightsMapper
.
selectIdByThreeIds
(
lightsId
,
phaseId
,
crossId
);
CrossPhaseLightsPO
entity
=
new
CrossPhaseLightsPO
();
return
!
ObjectUtil
.
isEmpty
(
id
);
entity
.
setPhaseId
(
phaseId
);
entity
.
setCrossId
(
crossId
);
entity
.
setLightsId
(
lightsId
);
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
=
crossPhaseLightsMapper
.
selectByEntity
(
entity
);
return
!
CollectionUtil
.
isEmpty
(
crossPhaseLightsPOList
);
}
}
private
void
handleRingTime
(
SaveSchemeConfigDTO
saveSchemeConfigDTO
)
{
private
void
handleRingTime
(
SaveSchemeConfigDTO
saveSchemeConfigDTO
)
{
...
@@ -447,11 +447,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -447,11 +447,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
for
(
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
:
phaseSchemeList
)
{
for
(
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
:
phaseSchemeList
)
{
String
schemeNo
=
phaseScheme
.
getSchemeNo
();
String
schemeNo
=
phaseScheme
.
getSchemeNo
();
Integer
schemeId
=
c
rossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
Integer
schemeId
=
baseC
rossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
String
coordPhaseNo
=
phaseScheme
.
getCoordPhaseNo
();
String
coordPhaseNo
=
phaseScheme
.
getCoordPhaseNo
();
Integer
phaseId
=
crossPhaseMapper
.
selectIdByCrossIdAndCoordPhaseNo
(
crossId
,
schemeId
,
coordPhaseNo
);
Integer
phaseId
=
crossPhaseMapper
.
selectIdByCrossIdAndCoordPhaseNo
(
crossId
,
schemeId
,
coordPhaseNo
);
if
(
phaseId
!=
null
)
{
if
(
phaseId
!=
null
)
{
c
rossSchemeMapper
.
updateCoordPhase
(
crossId
,
schemeNo
,
phaseId
);
baseC
rossSchemeMapper
.
updateCoordPhase
(
crossId
,
schemeNo
,
phaseId
);
}
}
}
}
}
}
...
@@ -468,7 +468,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -468,7 +468,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
Set
<
String
>
phaseNoSet
=
new
HashSet
<>();
Set
<
String
>
phaseNoSet
=
new
HashSet
<>();
String
schemeNo
=
phaseScheme
.
getSchemeNo
();
String
schemeNo
=
phaseScheme
.
getSchemeNo
();
// 获取方案ID
// 获取方案ID
Integer
schemeId
=
c
rossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
Integer
schemeId
=
baseC
rossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
List
<
SaveSchemeConfigDTO
.
RingListElement
>
ringList
=
phaseScheme
.
getRingList
();
List
<
SaveSchemeConfigDTO
.
RingListElement
>
ringList
=
phaseScheme
.
getRingList
();
// 用于维护伴随相位
// 用于维护伴随相位
Map
<
String
,
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseNoMap
=
new
HashMap
<>();
Map
<
String
,
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseNoMap
=
new
HashMap
<>();
...
@@ -649,8 +649,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -649,8 +649,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
// 更新行人相位-灯组关系
// 更新行人相位-灯组关系
Integer
hasPersonPhase
=
dirListElement
.
getHasPersonPhase
();
Integer
hasPersonPhase
=
dirListElement
.
getHasPersonPhase
();
if
(
hasPersonPhase
==
1
)
{
if
(
hasPersonPhase
==
1
)
{
List
<
CrossLightsPO
>
crossLightsPOList
=
c
rossLightsMapper
.
selectByCrossIdAndDir
(
crossId
,
dir
);
List
<
BaseCrossLightsPO
>
crossLightsPOList
=
baseC
rossLightsMapper
.
selectByCrossIdAndDir
(
crossId
,
dir
);
for
(
CrossLightsPO
crossLightsPO
:
crossLightsPOList
)
{
for
(
Base
CrossLightsPO
crossLightsPO
:
crossLightsPOList
)
{
Integer
type
=
crossLightsPO
.
getType
();
Integer
type
=
crossLightsPO
.
getType
();
if
(
type
>=
20
&&
type
<
30
)
{
// 行人灯
if
(
type
>=
20
&&
type
<
30
)
{
// 行人灯
Integer
lightId
=
crossLightsPO
.
getId
();
Integer
lightId
=
crossLightsPO
.
getId
();
...
@@ -685,7 +685,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -685,7 +685,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
String
crossId
=
saveSchemeConfigDTO
.
getCrossId
();
String
crossId
=
saveSchemeConfigDTO
.
getCrossId
();
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
// 删除数据库里有,但是DTO里没有的方案ID对应的记录
// 删除数据库里有,但是DTO里没有的方案ID对应的记录
Set
<
Integer
>
existedIds
=
c
rossSchemeMapper
.
selectIdsByCrossId
(
crossId
);
Set
<
Integer
>
existedIds
=
baseC
rossSchemeMapper
.
selectIdsByCrossId
(
crossId
);
if
(
CollectionUtil
.
isNotEmpty
(
existedIds
))
{
if
(
CollectionUtil
.
isNotEmpty
(
existedIds
))
{
Set
<
Integer
>
dtoIds
=
phaseSchemeList
.
stream
()
Set
<
Integer
>
dtoIds
=
phaseSchemeList
.
stream
()
.
map
(
SaveSchemeConfigDTO
.
PhaseScheme
::
getSchemeId
)
.
map
(
SaveSchemeConfigDTO
.
PhaseScheme
::
getSchemeId
)
...
@@ -693,7 +693,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -693,7 +693,7 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
if
(
CollectionUtil
.
isNotEmpty
(
dtoIds
))
{
if
(
CollectionUtil
.
isNotEmpty
(
dtoIds
))
{
existedIds
.
removeAll
(
dtoIds
);
existedIds
.
removeAll
(
dtoIds
);
if
(
CollectionUtil
.
isNotEmpty
(
existedIds
))
{
if
(
CollectionUtil
.
isNotEmpty
(
existedIds
))
{
c
rossSchemeMapper
.
deleteByIds
(
existedIds
);
baseC
rossSchemeMapper
.
deleteByIds
(
existedIds
);
}
}
}
}
}
}
...
@@ -717,11 +717,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
...
@@ -717,11 +717,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
Integer
schemeId
=
phaseScheme
.
getSchemeId
();
Integer
schemeId
=
phaseScheme
.
getSchemeId
();
if
(
ObjectUtil
.
isEmpty
(
schemeId
))
{
if
(
ObjectUtil
.
isEmpty
(
schemeId
))
{
// 没有方案ID视为新增
// 没有方案ID视为新增
c
rossSchemeMapper
.
insertOne
(
crossSchemePO
);
baseC
rossSchemeMapper
.
insertOne
(
crossSchemePO
);
}
else
{
}
else
{
// 有方案ID视为修改
// 有方案ID视为修改
crossSchemePO
.
setId
(
schemeId
);
crossSchemePO
.
setId
(
schemeId
);
c
rossSchemeMapper
.
update
(
crossSchemePO
);
baseC
rossSchemeMapper
.
update
(
crossSchemePO
);
}
}
}
}
}
}
...
...
signal-control-service/src/main/java/net/wanji/web/task/SignalStatusTask.java
View file @
cbf99bc6
...
@@ -5,7 +5,7 @@ import lombok.RequiredArgsConstructor;
...
@@ -5,7 +5,7 @@ import lombok.RequiredArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.
Base
CrossInfoMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.vo.SignalStatusVO
;
import
net.wanji.databus.vo.SignalStatusVO
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.feign.service.UtcFeignClients
;
...
@@ -36,7 +36,7 @@ public class SignalStatusTask {
...
@@ -36,7 +36,7 @@ public class SignalStatusTask {
private
final
TDeviceStatusMapper
tDeviceStatusMapper
;
private
final
TDeviceStatusMapper
tDeviceStatusMapper
;
private
final
ControlHistMapper
controlHistMapper
;
private
final
ControlHistMapper
controlHistMapper
;
private
final
TDeviceStatusLogMapper
tDeviceStatusLogMapper
;
private
final
TDeviceStatusLogMapper
tDeviceStatusLogMapper
;
private
final
CrossInfoMapper
c
rossInfoMapper
;
private
final
BaseCrossInfoMapper
baseC
rossInfoMapper
;
@Scheduled
(
fixedRate
=
1
*
30
*
1000
)
@Scheduled
(
fixedRate
=
1
*
30
*
1000
)
@Transactional
@Transactional
...
@@ -54,7 +54,7 @@ public class SignalStatusTask {
...
@@ -54,7 +54,7 @@ public class SignalStatusTask {
// 信号机状态信息
// 信号机状态信息
List
<
CrossInfoPO
>
crossInfoPOList
=
new
ArrayList
<>();
List
<
CrossInfoPO
>
crossInfoPOList
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
crossIdList
))
{
if
(!
CollectionUtils
.
isEmpty
(
crossIdList
))
{
crossInfoPOList
=
c
rossInfoMapper
.
selectByCrossIds
(
crossIdList
);
crossInfoPOList
=
baseC
rossInfoMapper
.
selectByCrossIds
(
crossIdList
);
}
}
List
<
CrossInfoPO
>
finalCrossInfoPOList
=
crossInfoPOList
;
List
<
CrossInfoPO
>
finalCrossInfoPOList
=
crossInfoPOList
;
content
.
forEach
(
signalStatusVO
->
{
content
.
forEach
(
signalStatusVO
->
{
...
...
signal-control-service/src/main/java/net/wanji/web/vo/SchemePhaseLightsVO.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
vo
;
package
net
.
wanji
.
web
.
vo
;
import
lombok.Data
;
import
lombok.Data
;
import
net.wanji.databus.
po.Cross
LightsPO
;
import
net.wanji.databus.
dao.entity.CrossPhase
LightsPO
;
import
net.wanji.
web.po.scheme.CrossPhaseLights
PO
;
import
net.wanji.
databus.dao.entity.CrossPhase
PO
;
import
net.wanji.
web.po.scheme.CrossPhas
ePO
;
import
net.wanji.
databus.dao.entity.CrossSchem
ePO
;
import
net.wanji.
web.po.scheme.CrossScheme
PO
;
import
net.wanji.
databus.po.BaseCrossLights
PO
;
import
java.util.List
;
import
java.util.List
;
...
@@ -12,6 +12,6 @@ import java.util.List;
...
@@ -12,6 +12,6 @@ import java.util.List;
public
class
SchemePhaseLightsVO
{
public
class
SchemePhaseLightsVO
{
private
List
<
CrossSchemePO
>
crossSchemeList
;
private
List
<
CrossSchemePO
>
crossSchemeList
;
private
List
<
CrossPhasePO
>
crossPhaseList
;
private
List
<
CrossPhasePO
>
crossPhaseList
;
private
List
<
CrossLightsPO
>
crossLightsList
;
private
List
<
Base
CrossLightsPO
>
crossLightsList
;
private
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
;
private
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
;
}
}
\ No newline at end of file
signal-control-service/src/main/resources/mapper/scheme/CrossPhaseMapper.xml
→
signal-control-service/src/main/resources/mapper/scheme/
Base
CrossPhaseMapper.xml
View file @
cbf99bc6
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossPhaseMapper"
>
<mapper
namespace=
"net.wanji.web.mapper.scheme.
Base
CrossPhaseMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.
web.po.scheme
.CrossPhasePO"
id=
"BaseResultMap"
>
<resultMap
type=
"net.wanji.
databus.dao.entity
.CrossPhasePO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"phaseNo"
column=
"phase_no"
/>
<result
property=
"phaseNo"
column=
"phase_no"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"name"
column=
"name"
/>
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
id,phase_no,name,sort,cross_id,plan_id,ring_no,group_no,phase_type,control_mode,phase_time,green_time,green_flash_time,yellow_flash_time,red_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time
id,phase_no,name,sort,cross_id,plan_id,ring_no,group_no,phase_type,control_mode,phase_time,green_time,green_flash_time,yellow_flash_time,red_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time
</sql>
</sql>
<select
id=
"listCrossPhasePO"
resultMap=
"BaseResultMap"
parameterType=
"net.wanji.
web.po.scheme
.CrossPhasePO"
>
<select
id=
"listCrossPhasePO"
resultMap=
"BaseResultMap"
parameterType=
"net.wanji.
databus.dao.entity
.CrossPhasePO"
>
select
select
<include
refid=
"Base_Column_List"
></include>
<include
refid=
"Base_Column_List"
></include>
from t_base_cross_phase
from t_base_cross_phase
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossPlanMapper.xml
→
signal-control-service/src/main/resources/mapper/scheme/
Base
CrossPlanMapper.xml
View file @
cbf99bc6
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossPlanMapper"
>
<mapper
namespace=
"net.wanji.web.mapper.scheme.
Base
CrossPlanMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.
web.po.scheme
.CrossPlanPO"
id=
"BaseResultMap"
>
<resultMap
type=
"net.wanji.
databus.dao.entity
.CrossPlanPO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"planNo"
column=
"plan_no"
/>
<result
property=
"planNo"
column=
"plan_no"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"name"
column=
"name"
/>
...
@@ -13,8 +13,9 @@
...
@@ -13,8 +13,9 @@
</resultMap>
</resultMap>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_base_cross_plan(plan_no,name,cross_id)
insert into t_base_cross_plan(plan_no, name, cross_id)
values (#{planNo},#{name},#{crossId})
values (#{planNo}, #{name}, #{crossId});
</insert>
</insert>
<delete
id=
"deleteByCrossId"
>
<delete
id=
"deleteByCrossId"
>
...
@@ -55,14 +56,14 @@
...
@@ -55,14 +56,14 @@
WHERE t1.cross_id = #{crossId}
WHERE t1.cross_id = #{crossId}
</select>
</select>
<select
id=
"selectById"
resultType=
"net.wanji.
web.po.scheme
.CrossPlanPO"
>
<select
id=
"selectById"
resultType=
"net.wanji.
databus.dao.entity
.CrossPlanPO"
>
select
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan
from t_base_cross_plan
where id = #{planId}
where id = #{planId}
</select>
</select>
<select
id=
"selectByCrossId"
resultType=
"net.wanji.
web.po.scheme
.CrossPlanPO"
>
<select
id=
"selectByCrossId"
resultType=
"net.wanji.
databus.dao.entity
.CrossPlanPO"
>
select
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan
from t_base_cross_plan
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossSchedulesMapper.xml
→
signal-control-service/src/main/resources/mapper/scheme/
Base
CrossSchedulesMapper.xml
View file @
cbf99bc6
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossSchedulesMapper"
>
<mapper
namespace=
"net.wanji.web.mapper.scheme.
Base
CrossSchedulesMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.web.po.scheme.CrossSchedulesPO"
id=
"BaseResultMap"
>
<resultMap
type=
"net.wanji.web.po.scheme.CrossSchedulesPO"
id=
"BaseResultMap"
>
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossSchemeMapper.xml
→
signal-control-service/src/main/resources/mapper/scheme/
Base
CrossSchemeMapper.xml
View file @
cbf99bc6
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossSchemeMapper"
>
<mapper
namespace=
"net.wanji.web.mapper.scheme.
Base
CrossSchemeMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.
web.po.scheme
.CrossSchemePO"
id=
"BaseResultMap"
>
<resultMap
type=
"net.wanji.
databus.dao.entity
.CrossSchemePO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"schemeNo"
column=
"scheme_no"
/>
<result
property=
"schemeNo"
column=
"scheme_no"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"name"
column=
"name"
/>
...
@@ -107,7 +107,7 @@
...
@@ -107,7 +107,7 @@
where cross_id = #{crossId} and name = #{schemeName}
where cross_id = #{crossId} and name = #{schemeName}
</select>
</select>
<select
id=
"selectById"
resultType=
"net.wanji.
web.po.scheme
.CrossSchemePO"
>
<select
id=
"selectById"
resultType=
"net.wanji.
databus.dao.entity
.CrossSchemePO"
>
select
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
from t_base_cross_scheme
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossSectionMapper.xml
→
signal-control-service/src/main/resources/mapper/scheme/
Base
CrossSectionMapper.xml
View file @
cbf99bc6
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossSectionMapper"
>
<mapper
namespace=
"net.wanji.web.mapper.scheme.
Base
CrossSectionMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.
web.po.scheme
.CrossSectionPO"
id=
"BaseResultMap"
>
<resultMap
type=
"net.wanji.
databus.dao.entity
.CrossSectionPO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"id"
column=
"id"
/>
<result
property=
"sectionNo"
column=
"section_no"
/>
<result
property=
"sectionNo"
column=
"section_no"
/>
<result
property=
"startTime"
column=
"start_time"
/>
<result
property=
"startTime"
column=
"start_time"
/>
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
WHERE cross_id = #{crossId}
WHERE cross_id = #{crossId}
</delete>
</delete>
<select
id=
"listCrossSectionPO"
parameterType=
"net.wanji.
web.po.scheme
.CrossSectionPO"
resultMap=
"BaseResultMap"
>
<select
id=
"listCrossSectionPO"
parameterType=
"net.wanji.
databus.dao.entity
.CrossSectionPO"
resultMap=
"BaseResultMap"
>
select
select
<include
refid=
"Base_Column_list"
/>
<include
refid=
"Base_Column_list"
/>
from t_base_cross_section
from t_base_cross_section
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossPhaseLightsMapper.xml
deleted
100644 → 0
View file @
82fafd8c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossPhaseLightsMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.web.po.scheme.CrossPhaseLightsPO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"lightsId"
column=
"lights_id"
/>
<result
property=
"phaseId"
column=
"phase_id"
/>
<result
property=
"crossId"
column=
"cross_id"
/>
<result
property=
"gmtCreate"
column=
"gmt_create"
/>
<result
property=
"gmtModified"
column=
"gmt_modified"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, lights_id, phase_id, cross_id, gmt_create, gmt_modified
</sql>
<select
id=
"listCrossPhaseLightsPO"
resultMap=
"BaseResultMap"
parameterType=
"net.wanji.web.po.scheme.CrossPhaseLightsPO"
>
select
<include
refid=
"Base_Column_List"
></include>
from t_base_cross_phase_lights
<where>
<if
test=
"entity.crossId != null and entity.crossId != ''"
>
cross_id = #{entity.crossId}
</if>
<if
test=
"entity.phaseId != null and entity.phaseId != ''"
>
phase_id = #{entity.phaseId}
</if>
</where>
</select>
<insert
id=
"insertBatch"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_base_cross_phase_lights(lights_id,phase_id,cross_id)
values
<foreach
collection=
"entities"
item=
"entity"
separator=
","
>
(#{entity.lightsId},#{entity.phaseId},#{entity.crossId})
</foreach>
</insert>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_base_cross_phase_lights(lights_id,phase_id,cross_id)
values (#{lightsId},#{phaseId},#{crossId})
</insert>
<update
id=
"updateLightsId"
>
update t_base_cross_phase_lights
set lights_id = #{newId}
where lights_id = #{oldId}
</update>
<delete
id=
"deleteByCrossId"
>
delete from t_base_cross_phase_lights
where cross_id = #{crossId}
</delete>
<select
id=
"selectByPhaseId"
resultMap=
"BaseResultMap"
>
select
id,lights_id,phase_id,cross_id,gmt_create,gmt_modified
from t_base_cross_phase_lights
where phase_id = #{phaseId}
</select>
<select
id=
"selectByLightsId"
resultMap=
"BaseResultMap"
>
select
id,lights_id,phase_id,cross_id,gmt_create,gmt_modified
from t_base_cross_phase_lights
where lights_id = #{lightsId}
</select>
<select
id=
"selectIdByThreeIds"
resultType=
"java.lang.Integer"
>
SELECT id from t_base_cross_phase_lights
WHERE cross_id = #{crossId} and lights_id = #{lightsId} and phase_id = #{phaseId}
</select>
</mapper>
signal-control-service/src/main/java/net/wanji/web/po/scheme
/CrossPhasePO.java
→
wj-databus/src/main/java/net/wanji/databus/dao/entity
/CrossPhasePO.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
po
.
scheme
;
package
net
.
wanji
.
databus
.
dao
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
...
signal-control-service/src/main/java/net/wanji/web/po/scheme
/CrossSchemePO.java
→
wj-databus/src/main/java/net/wanji/databus/dao/entity
/CrossSchemePO.java
View file @
cbf99bc6
package
net
.
wanji
.
web
.
po
.
scheme
;
package
net
.
wanji
.
databus
.
dao
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
...
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