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):
# construct CurrentTruck obj. try:
current_truck = self.truck_construct(truck_id)
self.logger.info( # construct CurrentTruck obj.
f'============================= 车辆调度开始 {current_truck.get_name()} =============================') current_truck = self.truck_construct(truck_id)
try: self.logger.info(
f'============================= 车辆调度开始 {current_truck.get_name()} =============================')
# 全智能模式 # 全智能模式
if self.group.group_mode == 1: if self.group.group_mode == 1:
self.logger.info("调度模式:全智能模式调度") self.logger.info("调度模式:全智能模式调度")
...@@ -449,13 +449,13 @@ class GroupDispatcher: ...@@ -449,13 +449,13 @@ 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(
f'============================= 车辆调度结束 {current_truck.get_name()} =============================')
self.logger.info( self.logger.info(
f'================================== 分组调度结束 {self.group.group_name} ==================================') f'================================== 分组调度结束 {self.group.group_name} ==================================')
...@@ -785,22 +785,36 @@ class GroupDispatcher: ...@@ -785,22 +785,36 @@ 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
current_truck_goto_excavator_id = self.group.excavator_info.excavator_index_to_uuid_dict[ else:
excavator_index] current_truck_goto_excavator_id = self.group.excavator_info.excavator_index_to_uuid_dict[
current_load_area_id = DispatchInfo.excavator_load_dict[current_truck_goto_excavator_id] 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]
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
current_truck_goto_dump_id = self.group.dump_info.dump_index_to_uuid_dict[dump_index] else:
current_unload_area_id = DispatchInfo.dump_unload_area_dict[current_truck_goto_dump_id] 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]
# Construct a truck obj. and add it to group truck dictionary. # Construct a truck obj. and add it to group truck dictionary.
truck_info = CurrentTruck(truck_id, self.group.group_id, truck_trip, truck_task, truck_info = CurrentTruck(truck_id, self.group.group_id, truck_trip, truck_task,
......
...@@ -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