Commit f9d005e2 authored by 张晓彤's avatar 张晓彤

处理路网异常捕获

parent 33bb09f8
...@@ -10,7 +10,7 @@ from settings import * ...@@ -10,7 +10,7 @@ from settings import *
import pandas as pd import pandas as pd
from tables import DispatchMatch, DispatchEquipment from tables import DispatchMatch, DispatchEquipment
logger = get_logger("mqc.dispatchInfo") logger = get_logger("zxt.dispatchInfo")
class DispatchInfo: class DispatchInfo:
...@@ -110,7 +110,7 @@ class DispatchInfo: ...@@ -110,7 +110,7 @@ class DispatchInfo:
@author:maqc @author:maqc
@desc:分组与卸载区、挖机、矿卡的映射和反映射 @desc:分组与卸载区、挖机、矿卡的映射和反映射
""" """
logger = get_logger("mqc.update_device_group_structure") logger = get_logger("zxt.update_device_group_structure")
# update excavator_id <-> load_area_id # update excavator_id <-> load_area_id
try: try:
for item in session_mysql.query(DispatchSetting).all(): for item in session_mysql.query(DispatchSetting).all():
...@@ -198,7 +198,7 @@ class DispatchInfo: ...@@ -198,7 +198,7 @@ class DispatchInfo:
@desc:处理其它类型的数据 @desc:处理其它类型的数据
""" """
# update group_id->mode_code # update group_id->mode_code
logger = get_logger("mqc.update_group_mode") logger = get_logger("zxt.update_group_mode")
cls.group_mode = {} cls.group_mode = {}
try: try:
for item in session_mysql.query(DispatchGroup).all(): for item in session_mysql.query(DispatchGroup).all():
...@@ -236,35 +236,55 @@ class DispatchInfo: ...@@ -236,35 +236,55 @@ class DispatchInfo:
@author:maqc @author:maqc
@desc:更新路网距离,返回矩阵格式数据 @desc:更新路网距离,返回矩阵格式数据
""" """
logger = get_logger("mqc.update_route_distance") logger = get_logger("zxt.update_route_distance")
try: try:
groups = cls.group_excavator_dict.keys() groups = cls.group_excavator_dict.keys()
for item in groups: for item in groups:
try:
# 每个组的 excavator_id 及对应 load_area_id
excavator_ids = cls.group_excavator_dict[item]
load_areas = []
for excavator_id in excavator_ids:
load_areas.append(cls.excavator_load_dict[excavator_id])
# 每个组的unload_areas
unload_areas = cls.group_unload_area_dict[item]
except Exception as es:
logger.error("装卸载区统计异常")
logger.error(es)
try:
# unload->load distance
unload_load_distance = np.zeros((len(unload_areas), len(load_areas)))
for i in range(len(unload_areas)):
for j in range(len(load_areas)):
distance = int(session_postgre.query(WalkTime).filter_by(unload_area_id=unload_areas[i], load_area_id=load_areas[j]).first().to_load_distance)
unload_load_distance[i][j] = distance
cls.load_distance[item] = unload_load_distance
except Exception as es:
logger.error(f'{item} 分组装载路网异常')
cls.load_distance[item] = np.zeros((len(unload_areas), len(load_areas)), 10000)
logger.error(es)
try:
# load->unload distance
load_unload_distance = np.zeros((len(load_areas), len(unload_areas)))
for i in range(len(load_areas)):
for j in range(len(unload_areas)):
distance = int(session_postgre.query(WalkTime).filter_by(load_area_id=load_areas[i], unload_area_id=unload_areas[j]).first().to_unload_distance)
load_unload_distance[i][j] = distance
cls.unload_distance[item] = load_unload_distance
except Exception as es:
logger.error(f'{item} 分组卸载路网异常')
cls.unload_distance[item] = np.full((len(load_areas), len(unload_areas)), 10000)
# 每个组的 excavator_id 及对应 load_area_id logger.error(es)
excavator_ids = cls.group_excavator_dict[item]
load_areas = []
for excavator_id in excavator_ids:
load_areas.append(cls.excavator_load_dict[excavator_id])
# 每个组的unload_areas
unload_areas = cls.group_unload_area_dict[item]
# unload->load distance
unload_load_distance = np.zeros((len(unload_areas), len(load_areas)))
for i in range(len(unload_areas)):
for j in range(len(load_areas)):
distance = int(session_postgre.query(WalkTime).filter_by(unload_area_id=unload_areas[i], load_area_id=load_areas[j]).first().to_load_distance)
unload_load_distance[i][j] = distance
cls.load_distance[item] = unload_load_distance
# load->unload distance
load_unload_distance = np.zeros((len(load_areas), len(unload_areas)))
for i in range(len(load_areas)):
for j in range(len(unload_areas)):
distance = int(session_postgre.query(WalkTime).filter_by(load_area_id=load_areas[i], unload_area_id=unload_areas[j]).first().to_unload_distance)
load_unload_distance[i][j] = distance
cls.unload_distance[item] = load_unload_distance
except Exception as es: except Exception as es:
logger.error("路网距离更新异常-调度部分和路网部分不一致") logger.error("路网距离更新异常-调度部分和路网部分不一致")
......
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