Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
68d8153c
提交
68d8153c
authored
10月 10, 2025
作者:
刘擎阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.提交
上级
01cfca79
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
48 行增加
和
0 行删除
+48
-0
cc_bill_loading.py
ccs_base/models/cc_bill_loading.py
+21
-0
order_state_change_rule.py
ccs_base/models/order_state_change_rule.py
+27
-0
没有找到文件。
ccs_base/models/cc_bill_loading.py
浏览文件 @
68d8153c
...
...
@@ -799,6 +799,27 @@ class CcBL(models.Model):
wizard_obj
=
wizard_obj
.
with_context
(
dict
(
self
.
_context
,
active_id
=
self
.
id
))
wizard_obj
.
submit
()
def
check_push_clear_customs_start
(
self
,
utc_time
):
"""检查清关开始"""
push_node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
(
[(
'node_type'
,
'='
,
'package'
),
(
'tk_code'
,
'='
,
'cb_imcustoms_start'
)],
limit
=
1
)
node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
([(
'node_type'
,
'='
,
'package'
),
(
'seq'
,
'<'
,
push_node_obj
.
seq
)],
order
=
'seq desc'
,
limit
=
1
)
vals
=
{
'bl_id'
:
self
.
id
,
'bl_count'
:
1
,
'current_status'
:
node_obj
.
id
,
'update_status'
:
push_node_obj
.
id
,
'process_time'
:
utc_time
,
'is_ok'
:
True
}
wizard_obj
=
self
.
env
[
'batch.input.ship.package.status.wizard'
]
.
sudo
()
.
create
(
vals
)
wizard_obj
.
change_ship_package_ids
()
wizard_obj
=
wizard_obj
.
with_context
(
dict
(
self
.
_context
,
active_id
=
self
.
id
))
parcels
=
wizard_obj
.
get_process_package
()
return
parcels
def
push_clear_customs_end
(
self
,
utc_time
):
# 创建向导
push_node_obj
=
self
.
env
[
'cc.node'
]
.
sudo
()
.
search
(
...
...
ccs_base/models/order_state_change_rule.py
浏览文件 @
68d8153c
...
...
@@ -179,6 +179,7 @@ class OrderStateChangeRule(models.Model):
def
fetch_mail_dlv_attachment
(
self
,
**
kwargs
):
attachment_arr
=
kwargs
[
'attachment_arr'
]
mail_arr
=
[]
for
attachment_tuple
in
attachment_arr
:
try
:
attachment_name
,
attachment_data
=
attachment_tuple
...
...
@@ -205,11 +206,37 @@ class OrderStateChangeRule(models.Model):
if
redis_conn
==
'no'
:
raise
ValidationError
(
'未连接redis'
)
else
:
if
bl_obj
.
check_push_clear_customs_start
():
redis_conn
.
lpush
(
'mail_push_package_list'
,
json
.
dumps
(
{
'id'
:
bl_obj
.
id
,
'user_login'
:
users_obj
.
login
,
'utc_time'
:
utc_time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)}))
else
:
mail_arr
.
append
(
bl_obj
)
except
Exception
as
err
:
logging
.
error
(
'fetch_mail_dlv_attachment--error:
%
s'
%
str
(
err
))
if
mail_arr
:
order_no_arr
=
[
i
.
bl_no
for
i
in
mail_arr
]
content
=
"""
<p>您好:
以下提单接收到清关邮件,但为触发清关结束或清关开始节点的变动,请查看原因,并手动处理</p>
<p>{0}</p>
<p>请立即处理,避免推送超时!</p>"""
.
format
(
'
\n
'
.
join
(
order_no_arr
))
# 给客户配置的每个邮箱都发送邮件
patrol_sender_email
=
self
.
env
[
"ir.config_parameter"
]
.
sudo
()
.
get_param
(
'patrol_sender_email'
)
or
''
patrol_receiver_emails
=
self
.
env
[
"ir.config_parameter"
]
.
sudo
()
.
get_param
(
'patrol_receiver_emails'
)
or
''
mail
=
self
.
env
[
'mail.mail'
]
.
sudo
()
.
create
({
"email_from"
:
patrol_sender_email
,
'subject'
:
'清关节点邮件未触发提醒'
,
'body_html'
:
content
,
'email_to'
:
patrol_receiver_emails
# 'email_to': "1663490807@qq.com,820656583@qq.com"
})
mail
.
send
()
for
i
in
range
(
2
):
if
mail
.
failure_reason
:
logging
.
info
(
'邮件发送失败原因:
%
s'
%
mail
.
failure_reason
)
mail
.
write
({
'state'
:
'outgoing'
})
mail
.
send
()
def
find_final_email_text
(
self
,
email_body
):
"""匹配尾程pod邮件内容"""
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论