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
cb4412e5
Commit
cb4412e5
authored
Jan 30, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案管理-运行计划,查询运行计划列表
parent
bc5e0695
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
129 additions
and
10 deletions
+129
-10
CrossPlanMapper.java
...ain/java/net/wanji/web/mapper/scheme/CrossPlanMapper.java
+7
-0
CrossSchedulesMapper.java
...ava/net/wanji/web/mapper/scheme/CrossSchedulesMapper.java
+7
-0
CrossSchedulesPlanMapper.java
...net/wanji/web/mapper/scheme/CrossSchedulesPlanMapper.java
+5
-0
RunningPlanServiceImpl.java
...wanji/web/service/scheme/impl/RunningPlanServiceImpl.java
+56
-10
CrossPlanMapper.xml
...vice/src/main/resources/mapper/scheme/CrossPlanMapper.xml
+33
-0
CrossSchedulesMapper.xml
...src/main/resources/mapper/scheme/CrossSchedulesMapper.xml
+14
-0
CrossSchedulesPlanMapper.xml
...main/resources/mapper/scheme/CrossSchedulesPlanMapper.xml
+7
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossPlanMapper.java
View file @
cb4412e5
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.po.scheme.CrossPlanPO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 计划基础信息;(t_base_cross_plan)表数据库访问层
*
...
...
@@ -19,4 +22,8 @@ public interface CrossPlanMapper {
CrossPlanPO
selectByCrossIdAndName
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"planName"
)
String
planName
);
List
<
RunningPlanDTO
.
DailyPlanListElement
>
selectDailyPlanList
(
@Param
(
"crossId"
)
String
crossId
);
CrossPlanPO
selectById
(
@Param
(
"planId"
)
Integer
planId
);
}
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossSchedulesMapper.java
View file @
cb4412e5
...
...
@@ -4,6 +4,8 @@ import net.wanji.web.po.scheme.CrossSchedulesPO;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 调度基础信息;(t_base_cross_schedules)表
*
...
...
@@ -16,4 +18,9 @@ public interface CrossSchedulesMapper {
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
insertOne
(
CrossSchedulesPO
crossSchedulesPO
);
List
<
CrossSchedulesPO
>
selectByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
CrossSchedulesPO
selectByCrossIdAndScheduleNo
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"scheduleNo"
)
String
scheduleNo
);
}
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossSchedulesPlanMapper.java
View file @
cb4412e5
...
...
@@ -4,6 +4,8 @@ import net.wanji.web.po.scheme.CrossSchedulesPlanPO;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 时间表信息(调度计划关系);(t_base_cross_schedules_plan)表
*
...
...
@@ -16,4 +18,7 @@ public interface CrossSchedulesPlanMapper {
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
insertOne
(
CrossSchedulesPlanPO
crossSchedulesPlanPO
);
List
<
CrossSchedulesPlanPO
>
selectByCrossIdAndSchedulesId
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"schedulesId"
)
Integer
schedulesId
);
}
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/RunningPlanServiceImpl.java
View file @
cb4412e5
...
...
@@ -14,6 +14,7 @@ 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
org.jetbrains.annotations.NotNull
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -68,15 +69,51 @@ public class RunningPlanServiceImpl implements RunningPlanService {
// 构造dailyPlanList
List
<
RunningPlanDTO
.
DailyPlanListElement
>
dailyPlanList
=
buildDailyPlanList
(
crossId
);
runningPlanDTO
.
setDailyPlanList
(
dailyPlanList
);
// 构造schedulesPlanList
// 构造week列表
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
buildSchedulesPlanList
(
crossId
);
runningPlanDTO
.
setSchedulesPlanList
(
schedulesPlanList
);
return
runningPlanDTO
;
}
private
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
buildSchedulesPlanList
(
String
crossId
)
{
List
<
RunningPlanDTO
.
SchedulesPlanListElement
>
schedulesPlanList
=
new
ArrayList
<>();
List
<
CrossSchedulesPO
>
crossSchedulesPOList
=
crossSchedulesMapper
.
selectByCrossId
(
crossId
);
for
(
CrossSchedulesPO
crossSchedulesPO
:
crossSchedulesPOList
)
{
String
scheduleNo
=
crossSchedulesPO
.
getScheduleNo
();
String
name
=
crossSchedulesPO
.
getName
();
// 获取调度ID
CrossSchedulesPO
schedulesPO
=
crossSchedulesMapper
.
selectByCrossIdAndScheduleNo
(
crossId
,
scheduleNo
);
Integer
schedulesId
=
schedulesPO
.
getId
();
// 根据路口ID和调度ID查询调度计划关系
List
<
CrossSchedulesPlanPO
>
crossSchedulesPlanPOList
=
crossSchedulesPlanMapper
.
selectByCrossIdAndSchedulesId
(
crossId
,
schedulesId
);
// 构造结果集
RunningPlanDTO
.
SchedulesPlanListElement
schedulesPlan
=
new
RunningPlanDTO
.
SchedulesPlanListElement
();
schedulesPlan
.
setScheduleNo
(
scheduleNo
);
schedulesPlan
.
setName
(
name
);
List
<
Integer
>
week
=
new
ArrayList
<>();
Integer
planId
=
0
;
for
(
CrossSchedulesPlanPO
crossSchedulesPlanPO
:
crossSchedulesPlanPOList
)
{
Integer
day
=
crossSchedulesPlanPO
.
getWeek
();
if
(
day
==
0
)
{
// 特殊日期
schedulesPlan
.
setSpecialDate
(
crossSchedulesPlanPO
.
getSpecialDate
());
}
else
{
week
.
add
(
day
);
}
planId
=
crossSchedulesPlanPO
.
getPlanId
();
}
schedulesPlan
.
setWeek
(
week
);
CrossPlanPO
crossPlanPO
=
crossPlanMapper
.
selectById
(
planId
);
schedulesPlan
.
setPlanName
(
crossPlanPO
.
getName
());
schedulesPlanList
.
add
(
schedulesPlan
);
}
return
schedulesPlanList
;
}
private
List
<
RunningPlanDTO
.
DailyPlanListElement
>
buildDailyPlanList
(
String
crossId
)
{
List
<
RunningPlanDTO
.
DailyPlanListElement
>
dailyPlanList
=
new
ArrayList
<>();
dailyPlanList
=
crossPlanMapper
.
selectDailyPlanList
(
crossId
);
return
dailyPlanList
;
}
...
...
@@ -103,19 +140,28 @@ public class RunningPlanServiceImpl implements RunningPlanService {
private
void
updateCrossSchedulesPlan
(
String
crossId
,
RunningPlanDTO
.
SchedulesPlanListElement
schedulesPlan
,
Integer
crossSchedulesId
,
Integer
planId
)
{
List
<
Integer
>
week
=
schedulesPlan
.
getWeek
();
CrossSchedulesPlanPO
crossSchedulesPlanPO
=
new
CrossSchedulesPlanPO
();
crossSchedulesPlanPO
.
setCrossId
(
crossId
);
crossSchedulesPlanPO
.
setSchedulesId
(
crossSchedulesId
);
crossSchedulesPlanPO
.
setPlanId
(
planId
);
if
(
week
==
null
||
week
.
size
()
==
0
)
{
if
(
week
==
null
||
week
.
size
()
==
0
)
{
// 特殊日期
CrossSchedulesPlanPO
crossSchedulesPlanPO
=
initData
(
crossId
,
crossSchedulesId
,
planId
);
crossSchedulesPlanPO
.
setSpecialDate
(
schedulesPlan
.
getSpecialDate
());
crossSchedulesPlanPO
.
setWeek
(
0
);
crossSchedulesPlanMapper
.
insertOne
(
crossSchedulesPlanPO
);
}
else
{
for
(
Integer
day
:
week
)
{
crossSchedulesPlanPO
.
setWeek
(
day
);
CrossSchedulesPlanPO
crossSchedulesPlanPO
=
initData
(
crossId
,
crossSchedulesId
,
planId
);
crossSchedulesPlanPO
.
setSpecialDate
(
new
Date
(
0
));
crossSchedulesPlanPO
.
setWeek
(
day
);
crossSchedulesPlanMapper
.
insertOne
(
crossSchedulesPlanPO
);
}
}
crossSchedulesPlanMapper
.
insertOne
(
crossSchedulesPlanPO
);
}
@NotNull
private
static
CrossSchedulesPlanPO
initData
(
String
crossId
,
Integer
crossSchedulesId
,
Integer
planId
)
{
CrossSchedulesPlanPO
crossSchedulesPlanPO
=
new
CrossSchedulesPlanPO
();
crossSchedulesPlanPO
.
setCrossId
(
crossId
);
crossSchedulesPlanPO
.
setSchedulesId
(
crossSchedulesId
);
crossSchedulesPlanPO
.
setPlanId
(
planId
);
return
crossSchedulesPlanPO
;
}
private
void
saveCrossPlan
(
RunningPlanDTO
runningPlanDTO
,
String
crossId
)
{
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossPlanMapper.xml
View file @
cb4412e5
...
...
@@ -29,5 +29,38 @@
where cross_id = #{crossId} and name = #{planName}
</select>
<!-- 查询dailyPlanList -->
<resultMap
id=
"dailyPlanList"
type=
"net.wanji.web.dto.RunningPlanDTO$DailyPlanListElement"
>
<id
column=
"planNo"
property=
"planNo"
/>
<result
column=
"name"
property=
"name"
/>
<collection
property=
"timeList"
ofType=
"net.wanji.web.dto.RunningPlanDTO$TimeListElement"
>
<result
column=
"startTime"
property=
"startTime"
/>
<result
column=
"endTime"
property=
"endTime"
/>
<result
column=
"schemeName"
property=
"schemeName"
/>
</collection>
</resultMap>
<select
id=
"selectDailyPlanList"
resultMap=
"dailyPlanList"
>
SELECT
t1.plan_no as planNo,
t1.name as name,
t2.start_time as startTime,
t2.end_time as endTime,
t3.name as schemeName
FROM t_base_cross_plan t1
JOIN t_base_cross_section t2
ON t1.cross_id = t2.cross_id AND t1.id = t2.plan_id
JOIN t_base_cross_scheme t3
ON t2.cross_id = t3.cross_id AND t2.scheme_id = t3.id
WHERE t1.cross_id = 'c7e7b1f352dd4acab4a60088eb391cca'
</select>
<select
id=
"selectById"
resultType=
"net.wanji.web.po.scheme.CrossPlanPO"
>
select
id,plan_no,name,cross_id,gmt_create,gmt_modified
from t_base_cross_plan
where id = #{planId}
</select>
</mapper>
signal-control-service/src/main/resources/mapper/scheme/CrossSchedulesMapper.xml
View file @
cb4412e5
...
...
@@ -23,5 +23,19 @@
WHERE cross_id = #{crossId}
</delete>
<select
id=
"selectByCrossId"
resultMap=
"BaseResultMap"
>
select
id,schedule_no,name,status,cross_id,gmt_create,gmt_modified
from t_base_cross_schedules
where cross_id = #{crossId}
</select>
<select
id=
"selectByCrossIdAndScheduleNo"
resultType=
"net.wanji.web.po.scheme.CrossSchedulesPO"
>
select
id,schedule_no,name,status,cross_id,gmt_create,gmt_modified
from t_base_cross_schedules
where cross_id = #{crossId} and schedule_no = #{scheduleNo}
</select>
</mapper>
signal-control-service/src/main/resources/mapper/scheme/CrossSchedulesPlanMapper.xml
View file @
cb4412e5
...
...
@@ -24,5 +24,12 @@
WHERE cross_id = #{crossId}
</delete>
<select
id=
"selectByCrossIdAndSchedulesId"
resultType=
"net.wanji.web.po.scheme.CrossSchedulesPlanPO"
>
select
id,cross_id,schedules_id,plan_id,week,special_date,gmt_create,gmt_modified
from t_base_cross_schedules_plan
where cross_id = #{crossId} and schedules_id = #{schedulesId}
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment