Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
integrated-scheduling-v3
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
张晓彤
integrated-scheduling-v3
Commits
e857342b
Commit
e857342b
authored
Oct 13, 2023
by
虢奥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
特殊穿越装载区
parent
9875a3db
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
22 deletions
+44
-22
config.json
config.json
+3
-2
group.py
core/group.py
+0
-0
tables.py
tables.py
+1
-1
test.db
test.db
+0
-0
area_analysis.py
util/area_analysis.py
+40
-19
No files found.
config.json
View file @
e857342b
{
{
"para"
:
{
"para"
:
{
"log_path"
:
"/
usr/local/fleet-log/dispatch
"
,
"log_path"
:
"/
Users/guoao/Desktop/Log
"
,
"empty_speed"
:
15
,
"empty_speed"
:
15
,
"heavy_speed"
:
15
,
"heavy_speed"
:
15
,
"dump_target_mass"
:
5000
,
"dump_target_mass"
:
5000
,
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
"password"
:
"Huituo@123"
"password"
:
"Huituo@123"
},
},
"gothrough"
:
{
"gothrough"
:
{
"closer_area_name"
:
"1025装载区0
1
"
,
"closer_area_name"
:
"1025装载区0
2
"
,
"further_area_name"
:
"1025装载区-03"
"further_area_name"
:
"1025装载区-03"
}
}
}
}
\ No newline at end of file
core/group.py
View file @
e857342b
This diff is collapsed.
Click to expand it.
tables.py
View file @
e857342b
...
@@ -22,7 +22,7 @@ json_file = os.path.join(relative_path, "config.json")
...
@@ -22,7 +22,7 @@ json_file = os.path.join(relative_path, "config.json")
# json_file = "config.json"
# json_file = "config.json"
with
open
(
json_file
,
encoding
=
'UTF-8'
)
as
f
:
with
open
(
json_file
,
encoding
=
'UTF-8'
)
as
f
:
load_vale
=
json
.
load
(
f
,
encoding
=
'UTF-8'
)
load_vale
=
json
.
load
(
f
)
postgre_config
=
load_vale
[
"postgresql"
]
postgre_config
=
load_vale
[
"postgresql"
]
...
...
test.db
View file @
e857342b
No preview for this file type
util/area_analysis.py
View file @
e857342b
...
@@ -49,6 +49,8 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
...
@@ -49,6 +49,8 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
logger
.
info
(
"arrival_truck_list"
)
logger
.
info
(
"arrival_truck_list"
)
logger
.
info
(
arrival_truck_list
)
logger
.
info
(
arrival_truck_list
)
logger
.
info
(
f
"输入的closer_lane_set{closer_lane_set}"
)
closer_lane_set_nearest
=
[
closer_lane_set
[
-
1
]]
# 统计不同状态车辆数量
# 统计不同状态车辆数量
goto_closer_area_num
=
0
goto_closer_area_num
=
0
goto_further_area_num
=
0
goto_further_area_num
=
0
...
@@ -61,7 +63,7 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
...
@@ -61,7 +63,7 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
# 前往远端装载区车辆数加1
# 前往远端装载区车辆数加1
goto_further_area_num
+=
1
goto_further_area_num
+=
1
# 车辆未经过近端装载区
# 车辆未经过近端装载区
elif
truck_lane_id
in
closer_lane_set
:
elif
truck_lane_id
in
closer_lane_set
_nearest
:
# 前往近端或近端装载区车辆数加1
# 前往近端或近端装载区车辆数加1
goto_closer_area_num
+=
1
goto_closer_area_num
+=
1
else
:
else
:
...
@@ -79,33 +81,46 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
...
@@ -79,33 +81,46 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
logger
.
info
(
before_cross_num
)
logger
.
info
(
before_cross_num
)
# # 近端挖机空闲
# if closer_excavator_state == 0 and goto_closer_area_num == 0:
# logger.info("近端挖机空闲, 调度车辆前往近端装载区")
# target_excavator = DispatchInfo.load_excavator_dict[closer_area_id]
# # truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[closer_area_id])
# # 远端挖机空闲
# elif further_excavator_state == 0 and goto_further_area_num == 0:
# logger.info("远端挖机空闲, 调度车辆前往远端装载区")
# target_excavator = DispatchInfo.load_excavator_dict[further_area_id]
# # truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[further_area_id])
# # 两挖机均不空闲
# else:
# # goto_further_area_num -= 1
# logger.info("goto_further_area_num-goto_closer_area_num")
# logger.info(goto_further_area_num)
# logger.info(goto_closer_area_num)
# # 默认当前请调车辆与近端装载点前没有车辆,因此前往近端装载区的车辆仅其本身
# # goto_closer_area_num = 1
# # 在远处排队等待的车辆更少
# if goto_closer_area_num + before_cross_num > goto_further_area_num:
# logger.info("远端挖机排队时间短, 调度车辆前往")
# target_excavator = DispatchInfo.load_excavator_dict[further_area_id]
# # truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[further_area_id])
# else:
# logger.info("近端挖机排队时间短, 调度车辆前往")
# target_excavator = DispatchInfo.load_excavator_dict[closer_area_id]
# # truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[closer_area_id])
# 近端挖机空闲
# 近端挖机空闲
if
closer_excavator_state
==
0
and
goto_closer_area_num
==
0
:
if
closer_excavator_state
==
0
and
goto_closer_area_num
==
0
:
logger
.
info
(
"近端挖机空闲, 调度车辆前往近端装载区"
)
logger
.
info
(
"近端挖机空闲, 调度车辆前往近端装载区"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
closer_area_id
]
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
closer_area_id
]
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[closer_area_id])
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[closer_area_id])
# 远端挖机空闲
# 远端挖机空闲
elif
further_excavator_state
==
0
and
goto_further_area_num
==
0
:
logger
.
info
(
"远端挖机空闲, 调度车辆前往远端装载区"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
further_area_id
]
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[further_area_id])
# 两挖机均不空闲
else
:
else
:
# goto_further_area_num -= 1
logger
.
info
(
"近端挖机占用, 调度车辆前往远端装载区"
)
logger
.
info
(
"goto_further_area_num-goto_closer_area_num"
)
logger
.
info
(
goto_further_area_num
)
logger
.
info
(
goto_closer_area_num
)
# 默认当前请调车辆与近端装载点前没有车辆,因此前往近端装载区的车辆仅其本身
# goto_closer_area_num = 1
# 在远处排队等待的车辆更少
if
goto_closer_area_num
+
before_cross_num
>
goto_further_area_num
:
logger
.
info
(
"远端挖机排队时间短, 调度车辆前往"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
further_area_id
]
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
further_area_id
]
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[further_area_id])
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[further_area_id])
else
:
logger
.
info
(
"近端挖机排队时间短, 调度车辆前往"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
closer_area_id
]
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[closer_area_id])
return
target_excavator
return
target_excavator
...
@@ -250,6 +265,10 @@ def truck_dispatch_to_redis(truck_id, group_id, excavator_id):
...
@@ -250,6 +265,10 @@ def truck_dispatch_to_redis(truck_id, group_id, excavator_id):
item
=
(
session_mysql
.
query
(
DispatchSetting
)
.
filter_by
(
group_id
=
group_id
,
isdeleted
=
0
,
)
.
first
())
item
=
(
session_mysql
.
query
(
DispatchSetting
)
.
filter_by
(
group_id
=
group_id
,
isdeleted
=
0
,
)
.
first
())
logger
.
error
(
es
)
logger
.
error
(
es
)
logger
.
info
(
f
"{type(truck_id)}"
)
logger
.
info
(
f
"{type(item.truck_id)}"
)
if
str
(
truck_id
)
!=
str
(
item
.
truck_id
):
logger
.
info
(
"无重复派车计划,重新生成中"
)
# 其余调度信息写入
# 其余调度信息写入
try
:
try
:
# record["dispatchId"] = item.id
# record["dispatchId"] = item.id
...
@@ -270,6 +289,8 @@ def truck_dispatch_to_redis(truck_id, group_id, excavator_id):
...
@@ -270,6 +289,8 @@ def truck_dispatch_to_redis(truck_id, group_id, excavator_id):
logger
.
error
(
es
)
logger
.
error
(
es
)
finally
:
finally
:
redis5
.
set
(
truck_id
,
str
(
json
.
dumps
(
record
)))
redis5
.
set
(
truck_id
,
str
(
json
.
dumps
(
record
)))
else
:
logger
.
info
(
"调度计划相同,无需变更"
)
def
get_lanes_between_entrances
(
closer_node_id
,
further_node_id
):
def
get_lanes_between_entrances
(
closer_node_id
,
further_node_id
):
...
...
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