提交 68e36974 authored 作者: 贺阳's avatar 贺阳

提单倒挂处理重复的问题

上级 18514bc4
......@@ -696,6 +696,10 @@ class CcBl(models.Model):
if log.process_code == node.tk_code:
node_logs[i] = (node, log, log.operate_time)
break
# 用于记录已经报告过倒挂的节点,避免重复报告
reported_inversions = set()
# 遍历每个有日志的节点,与前面所有有日志的节点比较
for current_idx in sorted(node_logs.keys()):
current_node, current_log, current_time = node_logs[current_idx]
......@@ -707,15 +711,21 @@ class CcBl(models.Model):
# 检查时间顺序
if current_time and prev_time:
if current_time < prev_time:
try:
progress_name = current_log.progress_name or "空"
process_code = current_log.process_code or "空"
issues.append(
f"{bl.bl_no},出现{progress_name}({process_code})倒挂"
)
except Exception as e:
logging.warning(f"构建倒序问题描述失败: {str(e)}")
issues.append(f"{bl.bl_no},出现节点倒挂")
# 使用节点编码作为唯一标识,避免重复报告同一个节点的倒挂
inversion_key = current_log.process_code
if inversion_key not in reported_inversions:
try:
progress_name = current_log.progress_name or "空"
process_code = current_log.process_code or "空"
issues.append(
f"{bl.bl_no},出现{progress_name}({process_code})倒挂"
)
reported_inversions.add(inversion_key)
except Exception as e:
logging.warning(f"构建倒序问题描述失败: {str(e)}")
if "节点倒挂" not in reported_inversions:
issues.append(f"{bl.bl_no},出现节点倒挂")
reported_inversions.add("节点倒挂")
# 检查漏推问题
missing_issues = self._check_bl_missing_nodes(bl, sync_logs)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论