Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
9e6a63bc
提交
9e6a63bc
authored
11月 03, 2025
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
提单有一个小包是清关开始状态,有同步日志,提单获取pod并推送,该小包产生了倒叙的数据
上级
d5ccac2a
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
46 行增加
和
3 行删除
+46
-3
batch_get_pod_info_wizard.py
ccs_base/wizard/batch_get_pod_info_wizard.py
+46
-3
batch_get_pod_info_wizard.py
ccs_connect_tiktok/wizard/batch_get_pod_info_wizard.py
+0
-0
没有找到文件。
ccs_base/wizard/batch_get_pod_info_wizard.py
浏览文件 @
9e6a63bc
...
...
@@ -1765,7 +1765,7 @@ class BatchGetPodInfoWizard(models.TransientModel):
def
get_detail_info
(
self
,
processed_files
):
"""
获取提单对应的节点以及时间
:param processed_files: 处理后的文件数组
:param processed_files: 处理后的文件数组
(应该已经包含valid_packages字段,只包含满足条件的小包)
:return: 提单对应的节点以及节点操作时间
"""
ship_packages
=
[]
...
...
@@ -1782,6 +1782,30 @@ class BatchGetPodInfoWizard(models.TransientModel):
if
not
pod_node
:
_logger
.
info
(
f
"未找到尾程POD节点匹配的节点,提单号: {bl.bl_no}"
)
continue
# 只使用满足条件的小包(经过验证的valid_packages)
valid_packages
=
file_info
.
get
(
'valid_packages'
,
[])
if
not
valid_packages
:
_logger
.
warning
(
f
"提单 {bl.bl_no} 没有满足条件的小包,跳过节点推送"
)
continue
# 从valid_packages中提取小包ID(记录集对象或列表)
if
hasattr
(
valid_packages
,
'ids'
):
# 如果是记录集对象,直接获取IDs
valid_package_ids
=
valid_packages
.
ids
elif
isinstance
(
valid_packages
,
list
):
# 如果是列表,提取每个对象的ID
valid_package_ids
=
[
p
.
id
for
p
in
valid_packages
if
hasattr
(
p
,
'id'
)]
else
:
_logger
.
warning
(
f
"提单 {bl.bl_no} valid_packages格式不正确: {type(valid_packages)}"
)
valid_package_ids
=
[]
_logger
.
info
(
f
"提单 {bl.bl_no} 满足条件的小包ID: {valid_package_ids} (共 {len(valid_package_ids)} 个)"
)
if
not
valid_package_ids
:
_logger
.
warning
(
f
"提单 {bl.bl_no} 满足条件的小包ID为空,跳过节点推送"
)
continue
# 从PDF文件提取红色框的时间
file_data
=
file_info
.
get
(
'file_data'
)
if
not
file_data
:
...
...
@@ -1795,10 +1819,10 @@ class BatchGetPodInfoWizard(models.TransientModel):
if
extracted_times
:
# 取最早的时间作为节点操作时间
earliest_time
=
min
(
extracted_times
)
_logger
.
info
(
f
"提取到最早时间: {earliest_time},将作为节点操作时间"
)
_logger
.
info
(
f
"提取到最早时间: {earliest_time},将作为节点操作时间
,满足条件的小包数量: {len(valid_package_ids)},小包ID: {valid_package_ids}
"
)
ship_packages
.
append
({
'bl_id'
:
bl
.
id
,
'id'
:
bl
.
ship_package_ids
.
ids
,
'id'
:
valid_package_ids
,
# 只包含满足条件的小包ID
'tally_time'
:
str
(
earliest_time
)
})
else
:
...
...
@@ -2318,6 +2342,18 @@ class BatchGetPodInfoWizard(models.TransientModel):
# OCR文本数据量小,可以直接存储
if
'ocr_texts'
in
file_info
:
data
[
'ocr_texts'
]
=
file_info
[
'ocr_texts'
]
# 保存valid_packages的ID列表(记录集对象无法直接序列化)
if
'valid_packages'
in
file_info
and
file_info
[
'valid_packages'
]:
valid_packages
=
file_info
[
'valid_packages'
]
# 如果是记录集对象,提取ID列表
if
hasattr
(
valid_packages
,
'ids'
):
data
[
'valid_package_ids'
]
=
valid_packages
.
ids
elif
isinstance
(
valid_packages
,
list
):
# 如果是列表,提取每个对象的ID
data
[
'valid_package_ids'
]
=
[
p
.
id
for
p
in
valid_packages
if
hasattr
(
p
,
'id'
)]
else
:
data
[
'valid_package_ids'
]
=
[]
_logger
.
info
(
f
"序列化时保存valid_packages: 提单 {bl.bl_no}, 满足条件的小包ID: {data['valid_package_ids']}"
)
serialized_data
.
append
(
data
)
return
json
.
dumps
(
serialized_data
,
ensure_ascii
=
False
)
...
...
@@ -2377,6 +2413,13 @@ class BatchGetPodInfoWizard(models.TransientModel):
# 如果有OCR文本,也恢复
if
'ocr_texts'
in
data
:
file_info
[
'ocr_texts'
]
=
data
[
'ocr_texts'
]
# 恢复valid_packages(从ID列表重建记录集对象)
if
'valid_package_ids'
in
data
and
data
[
'valid_package_ids'
]:
valid_package_ids
=
data
[
'valid_package_ids'
]
# 重建记录集对象
valid_packages
=
self
.
env
[
'cc.ship.package'
]
.
browse
(
valid_package_ids
)
file_info
[
'valid_packages'
]
=
valid_packages
_logger
.
info
(
f
"反序列化时恢复valid_packages: 提单 {bl.bl_no}, 满足条件的小包ID: {valid_package_ids}, 数量: {len(valid_packages)}"
)
processed_files
.
append
(
file_info
)
return
processed_files
except
Exception
as
e
:
...
...
ccs_connect_tiktok/wizard/batch_get_pod_info_wizard.py
浏览文件 @
9e6a63bc
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论