Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
02028d58
提交
02028d58
authored
9月 10, 2025
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改托盘理货
上级
2d04ffe8
全部展开
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
39 行增加
和
42 行删除
+39
-42
order_controller.py
ccs_connect_tiktok/controllers/order_controller.py
+0
-0
cc_pallet.py
ccs_pallet/models/cc_pallet.py
+38
-3
associate_pallet_wizard.py
ccs_pallet/wizard/associate_pallet_wizard.py
+1
-39
没有找到文件。
ccs_connect_tiktok/controllers/order_controller.py
浏览文件 @
02028d58
差异被折叠。
点击展开。
ccs_pallet/models/cc_pallet.py
浏览文件 @
02028d58
...
...
@@ -7,7 +7,7 @@ from odoo import models, fields, api, _
# 获取日志
_logger
=
logging
.
getLogger
(
__name__
)
from
odoo.exceptions
import
ValidationError
class
CcPallet
(
models
.
Model
):
# 模型名称
...
...
@@ -104,12 +104,47 @@ class CcPallet(models.Model):
delivery_plate_number
=
fields
.
Char
(
string
=
_
(
'Delivery Plate Number'
))
# 当大包关联到托盘时,自动更新使用状态
@api.model
def
update_usage_state
(
self
):
def
update_usage_state
(
self
,
success_package
,
usage_date
):
"""更新托盘使用状态"""
for
pallet
in
self
:
if
pallet
.
package_ids
:
pallet
.
usage_state
=
'used'
# 关联大包到托盘
pallet
.
package_ids
=
[(
4
,
package_id
.
id
,
0
)
for
package_id
in
success_package
]
# 更新大包的托盘信息
for
package
in
success_package
:
old_pallet_number
=
package
.
pallet_number
new_pallet_number
=
pallet
.
name
# 使用托盘的编号
old_usage_date
=
package
.
pallet_usage_date
# 同一提单,同一托盘号,使用日期必须一致
related_packages
=
package
.
bl_id
.
big_package_ids
.
filtered
(
lambda
p
:
p
.
pallet_number
==
new_pallet_number
)
# 查找对应提单下相同托盘号的所有大包
warning_package_arr
=
[
related_package
.
big_package_no
for
related_package
in
related_packages
if
related_package
.
pallet_usage_date
!=
usage_date
]
if
warning_package_arr
:
raise
ValidationError
(
_
(
'Big Package No :
%
s ,The same bill of lading, same pallet number, and usage date must be consistent!'
)
%
(
'
\n
'
.
join
(
warning_package_arr
)))
# 大包号关联的同一提单,同一托盘号,使用日期必须一致
# 更新大包的托盘信息
package
.
update_pallet_info
(
new_pallet_number
,
usage_date
,
pallet
.
id
)
if
old_pallet_number
:
# %s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s
body
=
_
(
'
%
s at
%
s changed the pallet number from
%
s to
%
s, and the pallet usage date from
%
s to
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
old_pallet_number
,
new_pallet_number
,
old_usage_date
,
usage_date
)
else
:
# 某人某时关联了托盘xxx,托盘使用日期xxxx
body
=
_
(
'
%
s at
%
s associated tray
%
s, with a tray usage date of
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
new_pallet_number
,
usage_date
)
package
.
message_post
(
body
=
body
)
# 记录托盘关联日志
body
=
_
(
'
%
s at
%
s associated
%
d packages to pallet
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
len
(
success_package
),
pallet
.
name
)
pallet
.
message_post
(
body
=
body
)
else
:
pallet
.
usage_state
=
'unused'
...
...
ccs_pallet/wizard/associate_pallet_wizard.py
浏览文件 @
02028d58
...
...
@@ -36,44 +36,6 @@ class AssociatePalletWizard(models.TransientModel):
'
\n
'
.
join
(
fail_package
)))
# 不存在该大包,请检查输入信息
if
success_package
:
# 关联大包到托盘
record
.
pallet_id
.
package_ids
=
[(
4
,
package_id
.
id
,
0
)
for
package_id
in
success_package
]
# 更新大包的托盘信息
for
package
in
success_package
:
old_pallet_number
=
package
.
pallet_number
new_pallet_number
=
record
.
pallet_id
.
name
# 使用托盘的编号
old_usage_date
=
package
.
pallet_usage_date
# 同一提单,同一托盘号,使用日期必须一致
related_packages
=
package
.
bl_id
.
big_package_ids
.
filtered
(
lambda
p
:
p
.
pallet_number
==
new_pallet_number
)
# 查找对应提单下相同托盘号的所有大包
warning_package_arr
=
[
related_package
.
big_package_no
for
related_package
in
related_packages
if
related_package
.
pallet_usage_date
!=
record
.
usage_date
]
if
warning_package_arr
:
raise
ValidationError
(
_
(
'Big Package No :
%
s ,The same bill of lading, same pallet number, and usage date must be consistent!'
)
%
(
'
\n
'
.
join
(
warning_package_arr
)))
# 大包号关联的同一提单,同一托盘号,使用日期必须一致
package
.
update_pallet_info
(
new_pallet_number
,
record
.
usage_date
,
record
.
pallet_id
.
id
)
if
old_pallet_number
:
# %s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s
body
=
_
(
'
%
s at
%
s changed the pallet number from
%
s to
%
s, and the pallet usage date from
%
s to
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
old_pallet_number
,
new_pallet_number
,
old_usage_date
,
record
.
usage_date
)
else
:
# 某人某时关联了托盘xxx,托盘使用日期xxxx
body
=
_
(
'
%
s at
%
s associated tray
%
s, with a tray usage date of
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
new_pallet_number
,
record
.
usage_date
)
package
.
message_post
(
body
=
body
)
# 更新托盘的使用状态(理货时间和交货时间会自动通过计算字段更新)
record
.
pallet_id
.
update_usage_state
()
record
.
pallet_id
.
update_usage_state
(
success_package
)
# 记录托盘关联日志
body
=
_
(
'
%
s at
%
s associated
%
d packages to pallet
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
len
(
success_package
),
record
.
pallet_id
.
name
)
record
.
pallet_id
.
message_post
(
body
=
body
)
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论