Commit 6bfde678 authored by Allvey's avatar Allvey

派车计划不匹配情况优化

parent 197d83a2
...@@ -419,13 +419,13 @@ class GroupDispatcher: ...@@ -419,13 +419,13 @@ class GroupDispatcher:
for truck_id in list(self.group.group_trucks): for truck_id in list(self.group.group_trucks):
try:
# construct CurrentTruck obj. # construct CurrentTruck obj.
current_truck = self.truck_construct(truck_id) current_truck = self.truck_construct(truck_id)
self.logger.info( self.logger.info(
f'============================= 车辆调度开始 {current_truck.get_name()} =============================') f'============================= 车辆调度开始 {current_truck.get_name()} =============================')
try:
# 全智能模式 # 全智能模式
if self.group.group_mode == 1: if self.group.group_mode == 1:
self.logger.info("调度模式:全智能模式调度") self.logger.info("调度模式:全智能模式调度")
...@@ -449,14 +449,14 @@ class GroupDispatcher: ...@@ -449,14 +449,14 @@ class GroupDispatcher:
self.logger.info("调度模式:分流配比模式调度") self.logger.info("调度模式:分流配比模式调度")
self.ratio_mode(truck_id, truck_dispatch, current_truck.get_task()) self.ratio_mode(truck_id, truck_dispatch, current_truck.get_task())
self.logger.info(
f'============================= 车辆调度结束 {current_truck.get_name()} =============================')
except Exception as es: except Exception as es:
self.logger.error("调度调用异常") self.logger.error("调度调用异常")
self.logger.error(es) self.logger.error(es)
self.logger.info( self.logger.info(
f'============================= 车辆调度结束 {current_truck.get_name()} =============================')
self.logger.info(
f'================================== 分组调度结束 {self.group.group_name} ==================================') f'================================== 分组调度结束 {self.group.group_name} ==================================')
return truck_dispatch return truck_dispatch
...@@ -785,21 +785,35 @@ class GroupDispatcher: ...@@ -785,21 +785,35 @@ class GroupDispatcher:
current_truck_goto_excavator_id = None current_truck_goto_excavator_id = None
current_load_area_id = None current_load_area_id = None
else: else:
# if excavator_index not in self.group.excavator_info.excavator_index_to_uuid_dict: if excavator_index not in self.group.excavator_info.excavator_index_to_uuid_dict:
# # raise CoreException(111, f'excavator_index_to_uuid_dict 缺失 {excavator_index} 号挖机信息') self.logger.error(f'excavator_index_to_uuid_dict 缺失 {excavator_index} 号挖机信息')
# self.logger.error(f'excavator_index_to_uuid_dict 缺失 {excavator_index} 号挖机信息') current_truck_goto_excavator_id = None
else:
current_truck_goto_excavator_id = self.group.excavator_info.excavator_index_to_uuid_dict[ current_truck_goto_excavator_id = self.group.excavator_info.excavator_index_to_uuid_dict[
excavator_index] excavator_index]
if current_truck_goto_excavator_id is None or current_truck_goto_excavator_id not in \
DispatchInfo.excavator_load_dict:
self.logger.error(f'excavator_load_dict 缺失 {current_truck_goto_excavator_id} 挖机信息')
current_load_area_id = None
else:
current_load_area_id = DispatchInfo.excavator_load_dict[current_truck_goto_excavator_id] current_load_area_id = DispatchInfo.excavator_load_dict[current_truck_goto_excavator_id]
if dump_index == -1: if dump_index == -1:
current_truck_goto_dump_id = None current_truck_goto_dump_id = None
current_unload_area_id = None current_unload_area_id = None
else: else:
# if dump_index not in self.group.dump_info.dump_index_to_uuid_dict: if dump_index not in self.group.dump_info.dump_index_to_uuid_dict:
# # raise CoreException(111, f'dump_index_to_uuid_dict 缺失 {dump_index} 号卸点信息') self.logger.error(f'dump_index_to_uuid_dict 缺失 {dump_index} 号卸点信息')
# self.logger.error(f'dump_index_to_uuid_dict 缺失 {dump_index} 号卸点信息') current_truck_goto_dump_id = None
else:
current_truck_goto_dump_id = self.group.dump_info.dump_index_to_uuid_dict[dump_index] current_truck_goto_dump_id = self.group.dump_info.dump_index_to_uuid_dict[dump_index]
if current_truck_goto_dump_id is None or current_truck_goto_dump_id not in \
DispatchInfo.dump_unload_area_dict:
self.logger.error(f'dump_unload_area_dict 缺失 {current_truck_goto_dump_id} 卸点信息')
current_unload_area_id = None
else:
current_unload_area_id = DispatchInfo.dump_unload_area_dict[current_truck_goto_dump_id] current_unload_area_id = DispatchInfo.dump_unload_area_dict[current_truck_goto_dump_id]
# Construct a truck obj. and add it to group truck dictionary. # Construct a truck obj. and add it to group truck dictionary.
......
...@@ -99,6 +99,7 @@ class DispatchSubmission: ...@@ -99,6 +99,7 @@ class DispatchSubmission:
# 查询车辆相关派车计划 dispatch_seq[next_excavator_id, next_unload_area_id] # 查询车辆相关派车计划 dispatch_seq[next_excavator_id, next_unload_area_id]
if dispatch_seq[1] is None or (dispatch_seq[1] not in DispatchInfo.unload_area_dump_dict): if dispatch_seq[1] is None or (dispatch_seq[1] not in DispatchInfo.unload_area_dump_dict):
# 无法查询到目标卸载点 # 无法查询到目标卸载点
self.logger.error("无法找到目标卸点")
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())
else: else:
dump_id = DispatchInfo.unload_area_dump_dict[dispatch_seq[1]] dump_id = DispatchInfo.unload_area_dump_dict[dispatch_seq[1]]
...@@ -152,6 +153,7 @@ class DispatchSubmission: ...@@ -152,6 +153,7 @@ class DispatchSubmission:
# 查询车辆相关派车计划 dispatch_seq[next_excavator_id, next_unload_area_id] # 查询车辆相关派车计划 dispatch_seq[next_excavator_id, next_unload_area_id]
if dispatch_seq[0] is None: if dispatch_seq[0] is None:
# 无法查询到目标挖机 # 无法查询到目标挖机
self.logger.error("无法找到目标挖机")
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())
else: else:
excavator_id = dispatch_seq[0] excavator_id = dispatch_seq[0]
......
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