Commit 73d461b0 authored by z5335534 Ao Guo's avatar z5335534 Ao Guo

修复部分异常

parent d151bae2
{
"para": {
"log_path": "/usr/local/fleet-log/dispatch",
"log_path": "/Users/guoao/Desktop/work_log/Logs",
"empty_speed": 17,
"heavy_speed": 17,
"dump_target_mass": 5000,
......@@ -8,23 +8,23 @@
},
"mysql": {
"host": "192.168.9.152",
"host": "172.16.0.103",
"port": "3306",
"user": "root",
"password": "Huituo@123",
"database": "waytous"
"database": "ht_zhunneng_0913"
},
"postgresql": {
"host": "192.168.9.152",
"host": "172.16.0.103",
"port": "5432",
"user": "postgres",
"password": "Huituo@123",
"database": "shenbao_2021520"
"database": "gis_zhunneng_0913"
},
"redis": {
"host": "192.168.9.152",
"host": "172.16.0.103",
"password": "Huituo@123"
}
}
......@@ -263,6 +263,7 @@ class DispatchSubmission:
:param dispatch_plan_dict: (Dict)
:return: None
"""
aa = dispatch_plan_dict
for truck_id, dispatch_plan in dispatch_plan_dict.items():
self.logger.info(f'======================================= 调度车辆 =======================================')
self.logger.info(f'矿车编号 {get_value("truck_uuid_to_name_dict")[truck_id]} {truck_id}')
......
......@@ -187,6 +187,7 @@ class Group:
assert issubclass(solver, AlgorithmBase)
s = solver(self, self.truck, self.pre_sch) # algorithm init
aa = self.truck_set
for i in list(self.truck_set):
truck_trip = self.truck.get_truck_current_trip()[self.truck_uuid_index_dict[i]]
truck_task = self.truck.get_truck_current_task()[i]
......@@ -194,7 +195,7 @@ class Group:
self.truck_info_list[i] = truck_info
# 全智能模式
if self.group_mode == 1:
if truck_task in [-2, 3, 4]:
if truck_task in [-2, 2,3, 4]:
try:
next_excavator_value = s.solve(truck_info)
......@@ -212,7 +213,7 @@ class Group:
self.logger.error("重载车辆全智能模式-计算异常")
self.logger.error(es)
if truck_task in [0, 1]:
if truck_task in [0, 1, 5]:
try:
bb = truck_task
......@@ -227,7 +228,7 @@ class Group:
self.logger.error(es)
# 空车智能模式
elif self.group_mode == 2:
if truck_task in [-2, 3, 4]:
if truck_task in [-2, 2,3, 4]:
try:
next_excavator_value = s.solve(truck_info)
......@@ -243,7 +244,7 @@ class Group:
except Exception as es:
self.logger.error("重载车辆空车智能模式-计算异常")
self.logger.error(es)
if truck_task in [0, 1]:
if truck_task in [0, 1, 5]:
try:
truck_dispatch[i] = DispatchInfo.get_truck_match(i)
except Exception as es:
......@@ -276,7 +277,7 @@ class Group:
# # b = truck_info._trip
# # c = truck_info._task
# # d = truck_info._group_id
# if truck_task in [-2, 3, 4]:
# if truck_task in [-2, 2,3, 4]:
#
# next_excavator_value = s.solve(truck_info)
# # next_excavator_value = s.solve(i, truck_task, truck_trip)
......@@ -289,7 +290,7 @@ class Group:
# next_unload_area_id = self.unload_area_uuid_index_dict.inverse[truck_trip[-1]]
# truck_dispatch[i] = [next_excavator_id, next_unload_area_id]
#
# if truck_task in [0, 1]:
# if truck_task in [0, 1, 5]:
# bb = truck_task
# next_unload_area_value = s.solve(truck_info)
# min_index = np.argmin(next_unload_area_value)
......@@ -305,7 +306,7 @@ class Group:
# truck_trip = self.truck.get_truck_current_trip()[self.truck_uuid_index_dict[i]]
# truck_task = self.truck.get_truck_current_task()[i]
# truck_info = CurrentTruck(i, self.group_id, truck_trip, truck_task)
# if truck_task in [-2, 3, 4]:
# if truck_task in [-2, 2,3, 4]:
# next_excavator_value = s.solve(truck_info)
# # min_index = next_excavator_list.index(min(next_excavator_list))
# min_index = np.argmin(next_excavator_value)
......@@ -315,7 +316,7 @@ class Group:
# else:
# next_unload_area_id = self.unload_area_uuid_index_dict.inverse[truck_trip[-1]]
# truck_dispatch[i] = [next_excavator_id, next_unload_area_id]
# if truck_task in [0, 1]:
# if truck_task in [0, 1, 5]:
# truck_dispatch[i] = DispatchInfo.get_truck_match(i)
# # 定铲派车
# elif self.group_mode == 3:
......
......@@ -261,14 +261,20 @@ class TruckInfo(WalkManage):
# 初始化矿卡行程, -1代表备停区
self.truck_current_trip = np.full((self.dynamic_truck_num, 2), -1)
ab = self.dynamic_truck_num
for i in range(self.dynamic_truck_num):
try:
session_mysql.commit()
truck_id = self.truck_index_to_uuid_dict[i]
task = self.truck_current_task[self.truck_index_to_uuid_dict[i]]
# print("truck_task:", truck_id, task)
# item = (
# session_mysql.query(EquipmentPair)
# .filter_by(truck_id=truck_id, isdeleted=0)
# .first()
# )
item = (
session_mysql.query(EquipmentPair)
session_mysql.query(DispatchSetting)
.filter_by(truck_id=truck_id, isdeleted=0)
.first()
)
......@@ -285,12 +291,18 @@ class TruckInfo(WalkManage):
try:
load_area_uuid_to_index_dict = get_value("load_area_uuid_to_index_dict")
unload_area_uuid_to_index_dict = get_value("unload_area_uuid_to_index_dict")
aa = task
tt = truck_id
# 若矿卡状态为空运
if task in [0, 1, 2]: # 矿卡空载或仍未出装载区
# last_unload_time = self.relative_last_unload_time[
# self.truck_index_to_uuid_dict[i]
# ]
bb = self.relative_last_unload_time
last_unload_time = self.relative_last_unload_time[
self.truck_index_to_uuid_dict[i]
truck_id
]
if item.dump_id in DeviceMap.dump_uuid_to_unload_area_uuid_dict:
start_area_id = self.dump_uuid_to_unload_area_uuid_dict[item.dump_id]
start_area_index = unload_area_uuid_to_index_dict[start_area_id]
......@@ -390,11 +402,17 @@ class TruckInfo(WalkManage):
aa = self.truck_index_to_uuid_dict
bb = self.truck_current_task
task = self.truck_current_task[self.truck_index_to_uuid_dict[i]]
# item = (
# session_mysql.query(EquipmentPair)
# .filter_by(truck_id=truck_id, isdeleted=0)
# .first()
# )
item = (
session_mysql.query(EquipmentPair)
session_mysql.query(DispatchSetting)
.filter_by(truck_id=truck_id, isdeleted=0)
.first()
)
if task in empty_task_set + heavy_task_set and item is None: # 矿卡处于正常工作状态, 但查询不到派车计划
raise Exception(f"矿卡 {truck_id} 配对关系异常")
except Exception as es:
......@@ -675,8 +693,10 @@ class TruckInfo(WalkManage):
def truck_reset(self, dump, excavator):
# 更新矿卡数量
self.dynamic_truck_num = get_value("dynamic_truck_num")
# 更新矿卡集合
self.dynamic_truck_set = get_value("dynamic_truck_set")
aa = self.dynamic_truck_set
# 矿卡挖机绑定关系
self.truck_excavator_bind = {}
# 矿卡卸点绑定关系
......
......@@ -280,8 +280,8 @@ def update_dynamic_truck():
session_mysql.query(DispatchSetting).filter_by(isdeleted=0).all()
)
for item in query:
if item.truck_id is not None and item.truck_id not in dynamic_truck_list:
dynamic_truck_list.append(item.truck_id)
# if item.truck_id is not None and item.truck_id not in dynamic_truck_list:
dynamic_truck_list.append(item.truck_id)
except Exception as es:
logger.error(es)
......
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