Commit 348b6fa6 authored by Allvey's avatar Allvey

修复定铲派车解锁后无动态派车计划BUG

parent 64893550
...@@ -194,9 +194,9 @@ class ExcavatorInfo(WalkManage): ...@@ -194,9 +194,9 @@ class ExcavatorInfo(WalkManage):
logger.info(rule7) logger.info(rule7)
# 装载周期参数 # 装载周期参数
self.period_map_para_load() self.period_map_para_update()
self.period_walk_para_load() self.period_walk_para_update()
# 用于动态调度的挖机设备 # 用于动态调度的挖机设备
self.dynamic_excavator_set = set(update_autodisp_excavator()) self.dynamic_excavator_set = set(update_autodisp_excavator())
......
...@@ -416,8 +416,6 @@ class TruckInfo(WalkManage): ...@@ -416,8 +416,6 @@ class TruckInfo(WalkManage):
for truck_id in self.dynamic_truck_set: for truck_id in self.dynamic_truck_set:
truck_index = self.truck_uuid_to_index_dict[truck_id]
if truck_id in self.truck_dump_bind: if truck_id in self.truck_dump_bind:
unload_area_id = self.truck_dump_bind[truck_id] unload_area_id = self.truck_dump_bind[truck_id]
dump_material_id = session_postgre.query(DumpArea).filter_by(Id=unload_area_id).first().Material dump_material_id = session_postgre.query(DumpArea).filter_by(Id=unload_area_id).first().Material
...@@ -524,9 +522,9 @@ class TruckInfo(WalkManage): ...@@ -524,9 +522,9 @@ class TruckInfo(WalkManage):
logger.info("Para truck update!") logger.info("Para truck update!")
# 装载周期参数 # 装载周期参数
self.period_map_para_load() self.period_map_para_update()
self.period_walk_para_load() self.period_walk_para_update()
# # 更新全部矿卡设备集合 # # 更新全部矿卡设备集合
# truck_set = set(update_total_truck()) # truck_set = set(update_total_truck())
......
...@@ -97,6 +97,9 @@ global_dict["dynamic_dump_set"] = dynamic_dump_set ...@@ -97,6 +97,9 @@ global_dict["dynamic_dump_set"] = dynamic_dump_set
global_dict["dynamic_dump_num"] = dynamic_dump_num global_dict["dynamic_dump_num"] = dynamic_dump_num
def get_value(name):
return global_dict[name]
# 设备映射类, 存储除工作区以外的映射关系 # 设备映射类, 存储除工作区以外的映射关系
# 其余设备类继承该类 # 其余设备类继承该类
class DeviceMap: class DeviceMap:
...@@ -188,9 +191,10 @@ class DeviceMap: ...@@ -188,9 +191,10 @@ class DeviceMap:
"dump_index_to_unload_area_index_dict" "dump_index_to_unload_area_index_dict"
] ]
truck_map_dict = update_truck_uuid_index_map(dynamic_truck_set) truck_map_dict = update_truck_uuid_index_map(get_value("dynamic_truck_set"))
self.truck_uuid_to_index_dict = truck_map_dict["truck_uuid_to_index_dict"] self.truck_uuid_to_index_dict = truck_map_dict["truck_uuid_to_index_dict"]
self.truck_index_to_uuid_dict = truck_map_dict["truck_index_to_uuid_dict"] self.truck_index_to_uuid_dict = truck_map_dict["truck_index_to_uuid_dict"]
def period_map_para_load(self): def period_map_para_load(self):
...@@ -443,9 +447,15 @@ def period_para_update(): ...@@ -443,9 +447,15 @@ def period_para_update():
# 矿卡集合 # 矿卡集合
truck_set = set(update_total_truck()) truck_set = set(update_total_truck())
logger.info("truck_set")
logger.info(truck_set)
# 固定派车矿卡集合 # 固定派车矿卡集合
fixed_truck_set = set(update_fixdisp_truck()) fixed_truck_set = set(update_fixdisp_truck())
logger.info("fixed_truck_set")
logger.info(fixed_truck_set)
# 动态派车矿卡集合 # 动态派车矿卡集合
dynamic_truck_set = truck_set.difference(fixed_truck_set) dynamic_truck_set = truck_set.difference(fixed_truck_set)
...@@ -490,6 +500,3 @@ def period_para_update(): ...@@ -490,6 +500,3 @@ def period_para_update():
logger.info(walk_manage.dump_uuid_to_index_dict) logger.info(walk_manage.dump_uuid_to_index_dict)
logger.info("walk_manage.distance_park_to_excavator") logger.info("walk_manage.distance_park_to_excavator")
logger.info(walk_manage.distance_park_to_excavator) logger.info(walk_manage.distance_park_to_excavator)
def get_value(name):
return global_dict[name]
...@@ -745,7 +745,7 @@ class Dispatcher(WalkManage): ...@@ -745,7 +745,7 @@ class Dispatcher(WalkManage):
if task == -2: if task == -2:
temp[i] = temp[i] + M temp[i] = temp[i] + M
except Exception as es: except Exception as es:
logger.info("矿卡排序启动异常") logger.error("矿卡排序启动异常")
logger.error(es) logger.error(es)
index = np.argsort(temp.reshape(1, -1)) index = np.argsort(temp.reshape(1, -1))
...@@ -769,7 +769,7 @@ class Dispatcher(WalkManage): ...@@ -769,7 +769,7 @@ class Dispatcher(WalkManage):
Seq[truck_index][1] = target_eq_index Seq[truck_index][1] = target_eq_index
except Exception as es: except Exception as es:
logger.error(f'矿卡 {truck_uuid_to_name_dict[self.truck_index_to_uuid_dict[truck]]} 派车计划计算异常') logger.error(f'矿卡 {truck_uuid_to_name_dict[self.truck_index_to_uuid_dict[truck_index]]} 派车计划计算异常')
logger.error(es) logger.error(es)
try: try:
......
...@@ -27,9 +27,9 @@ import time ...@@ -27,9 +27,9 @@ import time
log_path = "/usr/local/fleet-log/dispatch" log_path = "/usr/local/fleet-log/dispatch"
# 创建日志目录 # 创建日志目录
if not os.path.exists(log_path): if not os.path.exists(log_path):
os.mkdir(log_path) os.mkdir(log_path)
# logging初始化工作 # logging初始化工作
logging.basicConfig() logging.basicConfig()
......
...@@ -174,7 +174,7 @@ def update_total_truck(): ...@@ -174,7 +174,7 @@ def update_total_truck():
try: try:
query = np.array( query = np.array(
session_mysql.query(Equipment) session_mysql.query(Equipment)
.filter_by(device_type=1, isdeleted=0, disabled=0) .filter_by(device_type=1, isdeleted=0)
.all() .all()
) )
...@@ -207,12 +207,25 @@ def update_fixdisp_truck(): ...@@ -207,12 +207,25 @@ def update_fixdisp_truck():
for item in query: for item in query:
fixed_truck_list.append(item.truck_id) fixed_truck_list.append(item.truck_id)
rule5 = session_mysql.query(DispatchRule).filter_by(id=5).first().disabled
if not rule5:
query = np.array(
session_mysql.query(Equipment)
.filter_by(device_type=1, isdeleted=0, disabled=1)
.all()
)
for item in query:
fixed_truck_list.append(item.id)
if len(fixed_truck_list) < 1: if len(fixed_truck_list) < 1:
raise Exception("无固定派车计划可用-固定派车矿卡集合读取异常") raise Exception("无固定派车计划可用-固定派车矿卡集合读取异常")
except Exception as es: except Exception as es:
logger.info("派车计划读取") logger.info("派车计划读取")
logger.error(es) logger.error(es)
return fixed_truck_list return set(fixed_truck_list)
def update_autodisp_excavator(): def update_autodisp_excavator():
......
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