Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
82dc502b
提交
82dc502b
authored
8月 27, 2025
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
按节点编码分组,根据同步时间降序,得到对应的同步日志对象,然后再根据节点编码的顺序排序
上级
647974dd
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
37 行增加
和
4 行删除
+37
-4
bl_patrol.py
ccs_connect_tiktok/models/bl_patrol.py
+37
-4
没有找到文件。
ccs_connect_tiktok/models/bl_patrol.py
浏览文件 @
82dc502b
...
@@ -140,8 +140,26 @@ class BlPatrol(models.Model):
...
@@ -140,8 +140,26 @@ class BlPatrol(models.Model):
# 获取该提单下所有小包的同步日志
# 获取该提单下所有小包的同步日志
ship_packages
=
bl
.
ship_package_ids
ship_packages
=
bl
.
ship_package_ids
for
package
in
ship_packages
:
for
package
in
ship_packages
:
sync_logs
=
package
.
sync_log_ids
# 小包日志
# 按节点编码分组,根据同步时间降序,得到对应的同步日志对象,然后再根据节点编码的顺序排序,得到同步日志对象数组
# 检查多条日志的倒叙问题 - 只检查小包节点,不检查关务节点
logs_by_process
=
{}
for
log
in
package
.
sync_log_ids
:
if
log
.
process_code
not
in
logs_by_process
:
logs_by_process
[
log
.
process_code
]
=
log
else
:
# 如果已有该节点的日志,比较sync_time,保留最新的
if
log
.
sync_time
and
log
.
sync_time
>
logs_by_process
[
log
.
process_code
]
.
sync_time
:
logs_by_process
[
log
.
process_code
]
=
log
# 方法1: 根据节点的seq进行排序(推荐)
sync_logs
=
[]
bl_nodes
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
)],
order
=
'seq'
)
if
bl_nodes
:
for
node
in
bl_nodes
:
if
node
.
is_default
:
continue
if
node
.
tk_code
in
logs_by_process
:
sync_logs
.
append
(
logs_by_process
[
node
.
tk_code
])
sync_logs
=
[
log
for
log
in
sync_logs
if
log
is
not
None
]
#根据key排序获取logs
if
len
(
sync_logs
)
>=
2
:
if
len
(
sync_logs
)
>=
2
:
for
i
in
range
(
1
,
len
(
sync_logs
)):
for
i
in
range
(
1
,
len
(
sync_logs
)):
current_log
=
sync_logs
[
i
]
# 当前日志
current_log
=
sync_logs
[
i
]
# 当前日志
...
@@ -266,10 +284,25 @@ class BlPatrol(models.Model):
...
@@ -266,10 +284,25 @@ class BlPatrol(models.Model):
检查提单关务节点问题
检查提单关务节点问题
"""
"""
issues
=
[]
issues
=
[]
sync_logs
=
bl
.
bl_sync_log_ids
# 提单日志
# 按节点编码分组,根据同步时间降序,得到对应的同步日志对象
logs_by_bl_process
=
{}
for
log
in
bl
.
bl_sync_log_ids
:
if
log
.
process_code
not
in
logs_by_bl_process
:
logs_by_bl_process
[
log
.
process_code
]
=
log
else
:
# 如果已有该节点的日志,比较sync_time,保留最新的
if
log
.
sync_time
and
log
.
sync_time
>
logs_by_bl_process
[
log
.
process_code
]
.
sync_time
:
logs_by_bl_process
[
log
.
process_code
]
=
log
# 根据节点的seq进行排序
sync_logs
=
[]
# 获取所有提单节点,按业务顺序排序
bl_nodes
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'bl'
)],
order
=
'seq'
)
if
bl_nodes
:
for
node
in
bl_nodes
:
if
node
.
tk_code
in
logs_by_bl_process
.
keys
():
sync_logs
.
append
(
logs_by_bl_process
[
node
.
tk_code
])
# 检查倒叙问题
# 检查倒叙问题
if
len
(
sync_logs
)
>=
2
:
if
len
(
sync_logs
)
>=
2
:
_logger
.
info
(
f
"=== 提单 {bl.bl_no} 倒序检查调试 ==="
)
# 获取所有提单节点,按业务顺序排序
# 获取所有提单节点,按业务顺序排序
bl_nodes
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'bl'
)],
order
=
'seq'
)
bl_nodes
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'bl'
)],
order
=
'seq'
)
if
bl_nodes
:
if
bl_nodes
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论