Commit adcd3e14 authored by 虢奥's avatar 虢奥

稳定版

parent 264cd01f
...@@ -1109,7 +1109,7 @@ class GoThroughDispatcher: ...@@ -1109,7 +1109,7 @@ class GoThroughDispatcher:
try: try:
further_area_backtrack_node_id = self.further_entrance_node_id further_area_backtrack_node_id = self.further_entrance_node_id
self.further_area_backtrack_lanes = [] self.further_area_backtrack_lanes = []
for i in range(20): for i in range(30):
# 查询回溯路段对象 # 查询回溯路段对象
item = session_postgre.query(Lane).filter_by(EndNodeId=further_area_backtrack_node_id).first() item = session_postgre.query(Lane).filter_by(EndNodeId=further_area_backtrack_node_id).first()
if item is None: if item is None:
......
...@@ -54,12 +54,14 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set ...@@ -54,12 +54,14 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
logger.info(f"输入的closer_lane_set{closer_lane_set}") logger.info(f"输入的closer_lane_set{closer_lane_set}")
closer_lane_set_nearest = [closer_lane_set[0]] closer_lane_set_nearest = [closer_lane_set[0]]
closer_lane_two = closer_lane_set[:2]
# 前往装载的车的数量 # 前往装载的车的数量
arrival_truck_num = len(arrival_truck_set) arrival_truck_num = len(arrival_truck_set)
# 统计不同状态车辆数量 # 统计不同状态车辆数量
goto_closer_area_num = 0 goto_closer_area_num = 0
goto_further_area_num = 0 goto_further_area_num = 0
before_cross_num = 0 before_cross_num = 0
lane_two_num = 0
for truck_id, reach_time in arrival_truck_list: for truck_id, reach_time in arrival_truck_list:
if truck_id in truck_locates_dict: if truck_id in truck_locates_dict:
truck_lane_id = truck_locates_dict[truck_id] truck_lane_id = truck_locates_dict[truck_id]
...@@ -68,7 +70,11 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set ...@@ -68,7 +70,11 @@ 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_nearest: if truck_lane_id in closer_lane_two:
# 在装载区外2个车道
lane_two_num += 1
# 车辆未经过近端装载区
if truck_lane_id in closer_lane_set_nearest:
# 前往近端或近端装载区车辆数加1 # 前往近端或近端装载区车辆数加1
goto_closer_area_num += 1 goto_closer_area_num += 1
else: else:
...@@ -118,16 +124,19 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set ...@@ -118,16 +124,19 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
gothrough_config_area = load_value["gothrough"] gothrough_config_area = load_value["gothrough"]
dispatch_factor = float(gothrough_config_area["factor"]) dispatch_factor = float(gothrough_config_area["factor"])
# 远端挖机空闲
if further_excavator_state == 0 and goto_further_area_num == 0:
logger.info(
f"穿越调度:远端挖机空闲, 调度车辆前往远端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}")
target_excavator = DispatchInfo.load_excavator_dict[further_area_id]
# 近端挖机空闲 # 近端挖机空闲
elif closer_excavator_state == 0 and goto_closer_area_num == 0: if closer_excavator_state == 0:
logger.info(f"穿越调度:近端挖机空闲, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}") logger.info(f"穿越调度:近端挖机空闲, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}")
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]) # 远端挖机空闲
# if further_excavator_state == 0 and goto_further_area_num == 0:
elif goto_further_area_num == 0:
logger.info(f"穿越调度:远端挖机空闲, 调度车辆前往远端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}")
target_excavator = DispatchInfo.load_excavator_dict[further_area_id]
# elif closer_excavator_state == 0 and lane_two_num <= 1:
# logger.info(f"穿越调度:近端挖机空闲, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}")
# target_excavator = DispatchInfo.load_excavator_dict[closer_area_id]
# 远端挖机已满载 # 远端挖机已满载
elif goto_further_area_num >= int(dispatch_factor*arrival_truck_num): elif goto_further_area_num >= int(dispatch_factor*arrival_truck_num):
logger.info(f"穿越调度:远端挖机满载, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}") logger.info(f"穿越调度:远端挖机满载, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment