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
d55f7de6
Commit
d55f7de6
authored
Oct 26, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 诊断优化,当前方案调整时间修改
parent
85c4f39b
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
59 additions
and
15 deletions
+59
-15
DiagnoController.java
.../main/java/net/wanji/opt/controller/DiagnoController.java
+4
-3
CrossSchemeOptLogMapper.java
...ava/net/wanji/opt/dao/mapper/CrossSchemeOptLogMapper.java
+2
-0
DiagnoService.java
...ce/src/main/java/net/wanji/opt/service/DiagnoService.java
+2
-1
DiagnoServiceImpl.java
...in/java/net/wanji/opt/service/impl/DiagnoServiceImpl.java
+12
-11
CrossSchemeOptLogMapper.xml
...ice/src/main/resources/mapper/CrossSchemeOptLogMapper.xml
+8
-0
CrossIdAndSchemeIdBO.java
.../main/java/net/wanji/databus/bo/CrossIdAndSchemeIdBO.java
+22
-0
BaseCrossSchemeMapper.java
...a/net/wanji/databus/dao/mapper/BaseCrossSchemeMapper.java
+2
-0
BaseCrossSchemeMapper.xml
...tabus/src/main/resources/mapper/BaseCrossSchemeMapper.xml
+7
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controller/DiagnoController.java
View file @
d55f7de6
...
@@ -5,9 +5,10 @@ import io.swagger.annotations.ApiOperation;
...
@@ -5,9 +5,10 @@ import io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.bo.CrossIdAndSchemeIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.opt.dto.CrossIdAndDirDTO
;
import
net.wanji.opt.dto.CrossIdAndDirDTO
;
import
net.wanji.opt.dto.CrossIdAndSchemeIdDTO
;
import
net.wanji.opt.dto.CrossIdAndSchemeIdDTO
;
import
net.wanji.opt.dto.SaveLaneInfoDTO
;
import
net.wanji.opt.dto.SaveLaneInfoDTO
;
...
@@ -74,8 +75,8 @@ public class DiagnoController {
...
@@ -74,8 +75,8 @@ public class DiagnoController {
@ApiResponses
({
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SchemeOptVO
.
class
),
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SchemeOptVO
.
class
),
})
})
public
JsonViewObject
querySchemeOpt
(
@RequestBody
@Valid
CrossId
BO
crossIdBO
)
{
public
JsonViewObject
querySchemeOpt
(
@RequestBody
@Valid
CrossId
AndSchemeIdBO
bo
)
{
SchemeOptVO
schemeOptVO
=
diagnoService
.
querySchemeOpt
(
crossIdBO
);
SchemeOptVO
schemeOptVO
=
diagnoService
.
querySchemeOpt
(
bo
);
return
JsonViewObject
.
newInstance
().
success
(
schemeOptVO
);
return
JsonViewObject
.
newInstance
().
success
(
schemeOptVO
);
}
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/CrossSchemeOptLogMapper.java
View file @
d55f7de6
...
@@ -30,4 +30,6 @@ public interface CrossSchemeOptLogMapper {
...
@@ -30,4 +30,6 @@ public interface CrossSchemeOptLogMapper {
* @return
* @return
*/
*/
CrossSchemeOptLogPO
selectOptStartEntity
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"optReason"
)
String
optReason
,
@Param
(
"optStartTime"
)
long
optStartTime
);
CrossSchemeOptLogPO
selectOptStartEntity
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"optReason"
)
String
optReason
,
@Param
(
"optStartTime"
)
long
optStartTime
);
List
<
CrossSchemeOptLogPO
>
selectMaxByCrossIdAndSchemeId
(
String
crossId
,
Integer
schemeId
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/DiagnoService.java
View file @
d55f7de6
package
net
.
wanji
.
opt
.
service
;
package
net
.
wanji
.
opt
.
service
;
import
net.wanji.databus.bo.CrossIdAndSchemeIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.opt.dto.CrossIdAndDirDTO
;
import
net.wanji.opt.dto.CrossIdAndDirDTO
;
import
net.wanji.opt.dto.CrossIdAndSchemeIdDTO
;
import
net.wanji.opt.dto.CrossIdAndSchemeIdDTO
;
...
@@ -21,7 +22,7 @@ public interface DiagnoService {
...
@@ -21,7 +22,7 @@ public interface DiagnoService {
List
<
CrossIdAndLocationVO
>
queryNeighborCross
(
CrossIdBO
crossIdBO
);
List
<
CrossIdAndLocationVO
>
queryNeighborCross
(
CrossIdBO
crossIdBO
);
SchemeOptVO
querySchemeOpt
(
CrossId
BO
crossIdBO
);
SchemeOptVO
querySchemeOpt
(
CrossId
AndSchemeIdBO
bo
);
List
<
SchemeOptVO
.
PhaseOptTime
>
queryOptTime
(
CrossIdAndSchemeIdDTO
crossIdAndSchemeIdDTO
);
List
<
SchemeOptVO
.
PhaseOptTime
>
queryOptTime
(
CrossIdAndSchemeIdDTO
crossIdAndSchemeIdDTO
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/DiagnoServiceImpl.java
View file @
d55f7de6
...
@@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo;
...
@@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
com.google.gson.GsonBuilder
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.databus.bo.CrossIdAndSchemeIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.common.enums.LightsAddressEnum
;
import
net.wanji.common.enums.LightsAddressEnum
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.common.utils.tool.CrossUtil
;
...
@@ -166,12 +167,14 @@ public class DiagnoServiceImpl implements DiagnoService {
...
@@ -166,12 +167,14 @@ public class DiagnoServiceImpl implements DiagnoService {
}
}
@Override
@Override
public
SchemeOptVO
querySchemeOpt
(
CrossIdBO
crossIdBO
)
{
public
SchemeOptVO
querySchemeOpt
(
CrossIdAndSchemeIdBO
bo
)
{
String
crossId
=
crossIdBO
.
getCrossId
();
String
crossId
=
bo
.
getCrossId
();
Integer
schemeId
=
bo
.
getSchemeId
();
SchemeOptVO
schemeOptVO
=
new
SchemeOptVO
();
SchemeOptVO
schemeOptVO
=
new
SchemeOptVO
();
schemeOptVO
.
setCrossId
(
crossId
);
schemeOptVO
.
setCrossId
(
crossId
);
schemeOptVO
.
setSchemeId
(
schemeId
);
// 选择数据批次时间最大的记录
// 选择数据批次时间最大的记录
List
<
CrossSchemeOptLogPO
>
maxList
=
crossSchemeOptLogMapper
.
selectMaxByCrossId
(
cross
Id
);
List
<
CrossSchemeOptLogPO
>
maxList
=
crossSchemeOptLogMapper
.
selectMaxByCrossId
AndSchemeId
(
crossId
,
scheme
Id
);
if
(
CollectionUtil
.
isNotEmpty
(
maxList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
maxList
))
{
// 根据相位去重
// 根据相位去重
TreeSet
<
CrossSchemeOptLogPO
>
collect
=
maxList
.
stream
()
TreeSet
<
CrossSchemeOptLogPO
>
collect
=
maxList
.
stream
()
...
@@ -180,18 +183,17 @@ public class DiagnoServiceImpl implements DiagnoService {
...
@@ -180,18 +183,17 @@ public class DiagnoServiceImpl implements DiagnoService {
CrossSchemeOptLogPO
crossSchemeOptLogPO
=
maxList
.
get
(
0
);
CrossSchemeOptLogPO
crossSchemeOptLogPO
=
maxList
.
get
(
0
);
String
optType
=
crossSchemeOptLogPO
.
getOptType
();
String
optType
=
crossSchemeOptLogPO
.
getOptType
();
schemeOptVO
.
setOptType
(
Integer
.
parseInt
(
optType
));
schemeOptVO
.
setOptType
(
Integer
.
parseInt
(
optType
));
Integer
schemeNo
=
crossSchemeOptLogPO
.
getSchemeId
();
BaseCrossSchemePO
baseCrossSchemePO
=
baseCrossSchemeMapper
.
selectByCrossIdAndSchemeId
(
crossId
,
schemeId
);
BaseCrossSchemePO
baseCrossSchemePO
=
baseCrossSchemeMapper
.
selectByCrossIdAndSchemeNo
(
crossId
,
schemeNo
);
if
(
baseCrossSchemePO
!=
null
)
{
if
(
baseCrossSchemePO
!=
null
)
{
schemeOptVO
.
setCycle
(
baseCrossSchemePO
.
getCycle
());
schemeOptVO
.
setCycle
(
baseCrossSchemePO
.
getCycle
());
schemeOptVO
.
setSchemeId
(
baseCrossSchemePO
.
getId
());
schemeOptVO
.
setOffset
(
crossSchemeOptLogPO
.
getOffset
());
schemeOptVO
.
setOffset
(
crossSchemeOptLogPO
.
getOffset
());
}
}
// 构造调整时间列表
// 构造调整时间列表
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
=
buildPhaseOptTimeList
(
collect
,
scheme
No
,
crossId
);
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
=
buildPhaseOptTimeList
(
collect
,
scheme
Id
,
crossId
);
schemeOptVO
.
setPhaseOptTimeList
(
phaseOptTimeList
);
schemeOptVO
.
setPhaseOptTimeList
(
phaseOptTimeList
);
}
else
{
}
else
{
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
=
new
ArrayList
<>();
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
=
new
ArrayList
<>();
initPhaseOptTimeList
(
schemeId
,
phaseOptTimeList
,
crossId
);
schemeOptVO
.
setPhaseOptTimeList
(
phaseOptTimeList
);
schemeOptVO
.
setPhaseOptTimeList
(
phaseOptTimeList
);
}
}
return
schemeOptVO
;
return
schemeOptVO
;
...
@@ -631,10 +633,10 @@ public class DiagnoServiceImpl implements DiagnoService {
...
@@ -631,10 +633,10 @@ public class DiagnoServiceImpl implements DiagnoService {
}
}
private
List
<
SchemeOptVO
.
PhaseOptTime
>
buildPhaseOptTimeList
(
private
List
<
SchemeOptVO
.
PhaseOptTime
>
buildPhaseOptTimeList
(
Collection
<
CrossSchemeOptLogPO
>
crossSchemeOptLogPOList
,
Integer
scheme
No
,
String
crossId
)
{
Collection
<
CrossSchemeOptLogPO
>
crossSchemeOptLogPOList
,
Integer
scheme
Id
,
String
crossId
)
{
// 初始化列表
// 初始化列表
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
=
new
ArrayList
<>();
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
=
new
ArrayList
<>();
initPhaseOptTimeList
(
scheme
No
,
phaseOptTimeList
,
crossId
);
initPhaseOptTimeList
(
scheme
Id
,
phaseOptTimeList
,
crossId
);
for
(
CrossSchemeOptLogPO
crossSchemeOptLogPO
:
crossSchemeOptLogPOList
)
{
for
(
CrossSchemeOptLogPO
crossSchemeOptLogPO
:
crossSchemeOptLogPOList
)
{
for
(
SchemeOptVO
.
PhaseOptTime
phaseOptTime
:
phaseOptTimeList
)
{
for
(
SchemeOptVO
.
PhaseOptTime
phaseOptTime
:
phaseOptTimeList
)
{
String
phaseNo1
=
crossSchemeOptLogPO
.
getPhaseNo
();
String
phaseNo1
=
crossSchemeOptLogPO
.
getPhaseNo
();
...
@@ -651,8 +653,7 @@ public class DiagnoServiceImpl implements DiagnoService {
...
@@ -651,8 +653,7 @@ public class DiagnoServiceImpl implements DiagnoService {
return
phaseOptTimeList
;
return
phaseOptTimeList
;
}
}
private
void
initPhaseOptTimeList
(
Integer
schemeNo
,
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
,
String
crossId
)
{
private
void
initPhaseOptTimeList
(
Integer
schemeId
,
List
<
SchemeOptVO
.
PhaseOptTime
>
phaseOptTimeList
,
String
crossId
)
{
Integer
schemeId
=
baseCrossSchemeMapper
.
selectIdByCrossIdAndSchemeNo
(
crossId
,
schemeNo
.
toString
());
CrossPhasePO
phasePO
=
new
CrossPhasePO
();
CrossPhasePO
phasePO
=
new
CrossPhasePO
();
phasePO
.
setCrossId
(
crossId
);
phasePO
.
setCrossId
(
crossId
);
phasePO
.
setPlanId
(
schemeId
);
phasePO
.
setPlanId
(
schemeId
);
...
...
signal-optimize-service/src/main/resources/mapper/CrossSchemeOptLogMapper.xml
View file @
d55f7de6
...
@@ -62,6 +62,14 @@
...
@@ -62,6 +62,14 @@
limit 1
limit 1
</select>
</select>
<select
id=
"selectMaxByCrossIdAndSchemeId"
resultType=
"net.wanji.opt.po.base.CrossSchemeOptLogPO"
>
select
<include
refid=
"Base_Column_List"
/>
from t_base_cross_scheme_opt_log
where cross_id = #{crossId} and scheme_id = #{schemeId}
and data_batch_time=(SELECT MAX(ABS(data_batch_time)) FROM t_base_cross_scheme_opt_log WHERE cross_id = #{crossId});
</select>
<insert
id=
"insertOne"
parameterType=
"net.wanji.opt.po.base.CrossSchemeOptLogPO"
>
<insert
id=
"insertOne"
parameterType=
"net.wanji.opt.po.base.CrossSchemeOptLogPO"
>
insert into t_base_cross_scheme_opt_log (cross_id, scheme_id, dir_type, turn_type, offset, ring_no, phase_no,
insert into t_base_cross_scheme_opt_log (cross_id, scheme_id, dir_type, turn_type, offset, ring_no, phase_no,
phase_order_id, ori_green_time, opt_time, opt_type, opt_reason,
phase_order_id, ori_green_time, opt_time, opt_type, opt_reason,
...
...
wj-databus/src/main/java/net/wanji/databus/bo/CrossIdAndSchemeIdBO.java
0 → 100644
View file @
d55f7de6
package
net
.
wanji
.
databus
.
bo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* 方案管理-路口配置-获取路口方向列表输入参数
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
public
class
CrossIdAndSchemeIdBO
{
@ApiModelProperty
(
value
=
"路口ID"
,
required
=
true
)
@NotNull
(
message
=
"路口ID不可为空"
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"方案ID"
,
required
=
true
)
private
Integer
schemeId
;
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/BaseCrossSchemeMapper.java
View file @
d55f7de6
...
@@ -56,4 +56,6 @@ public interface BaseCrossSchemeMapper {
...
@@ -56,4 +56,6 @@ public interface BaseCrossSchemeMapper {
List
<
BaseCrossSchemePO
>
selectByCrossIdAndPartialSchemeName
(
String
crossId
,
String
schemeName
);
List
<
BaseCrossSchemePO
>
selectByCrossIdAndPartialSchemeName
(
String
crossId
,
String
schemeName
);
List
<
BaseCrossSchemePO
>
selectAll
();
List
<
BaseCrossSchemePO
>
selectAll
();
BaseCrossSchemePO
selectByCrossIdAndSchemeId
(
String
crossId
,
Integer
schemeId
);
}
}
wj-databus/src/main/resources/mapper/BaseCrossSchemeMapper.xml
View file @
d55f7de6
...
@@ -178,4 +178,11 @@
...
@@ -178,4 +178,11 @@
from t_base_cross_scheme
from t_base_cross_scheme
</select>
</select>
<select
id=
"selectByCrossIdAndSchemeId"
resultType=
"net.wanji.databus.dao.entity.BaseCrossSchemePO"
>
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,status,gmt_create,gmt_modified
from t_base_cross_scheme
where cross_id = #{crossId} and id = #{schemeId}
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment