Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
007e8bae
提交
007e8bae
authored
3月 06, 2025
作者:
伍姿英
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'release/V2.5.1'
上级
2d49a026
44d2fe95
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
38 行增加
和
63 行删除
+38
-63
export_bl_and_package_xlsx.py
ccs_base/controllers/export_bl_and_package_xlsx.py
+2
-2
cc_bill_loading.py
ccs_base/models/cc_bill_loading.py
+2
-18
order_controller.py
ccs_connect_tiktok/controllers/order_controller.py
+12
-20
ao_tt_api_log.py
ccs_connect_tiktok/models/ao_tt_api_log.py
+0
-3
cc_bill_loading.py
ccs_connect_tiktok/models/cc_bill_loading.py
+0
-0
tt_api.py
ccs_connect_tiktok/models/tt_api.py
+0
-1
batch_input_ship_package_statu_wizard.py
...ct_tiktok/wizard/batch_input_ship_package_statu_wizard.py
+3
-5
config.py
consumers/config.py
+11
-8
mail_push.py
consumers/mail_push.py
+8
-6
没有找到文件。
ccs_base/controllers/export_bl_and_package_xlsx.py
浏览文件 @
007e8bae
...
...
@@ -60,7 +60,7 @@ class ExportBlAndPackageXlsx(http.Controller):
sheet1
.
write
(
good_index
,
26
,
good_item
.
item_name_en
or
''
)
# ITEM DESCRIPTION
sheet1
.
write
(
good_index
,
27
,
good_item
.
export_hs_code
or
''
)
# ITEM HS CODE
sheet1
.
write
(
good_index
,
28
,
good_item
.
quantity
)
# ITEM QUANTITY
sheet1
.
write
(
good_index
,
29
,
good_item
.
quantity_unit
or
''
)
# UNIT
VALUE
sheet1
.
write
(
good_index
,
29
,
good_item
.
quantity_unit
or
''
)
# UNIT
S
sheet1
.
write
(
good_index
,
30
,
good_item
.
item_total_price
)
# TOTAL VALUE
sheet1
.
write
(
good_index
,
31
,
good_item
.
item_vat
or
''
)
# VAT
sheet1
.
write
(
good_index
,
32
,
''
)
# SKU NUMBER
...
...
@@ -112,7 +112,7 @@ class ExportBlAndPackageXlsx(http.Controller):
sheet1
.
write
(
index
,
26
,
u'ITEM DESCRIPTION'
,
font_style
)
# ITEM DESCRIPTION
sheet1
.
write
(
index
,
27
,
u'ITEM HS CODE'
,
font_style
)
# ITEM HS CODE
sheet1
.
write
(
index
,
28
,
u'ITEM QUANTITY'
,
font_style
)
# ITEM QUANTITY
sheet1
.
write
(
index
,
29
,
u'UNIT
VALUE'
,
font_style
)
# UNIT VALUE
sheet1
.
write
(
index
,
29
,
u'UNIT
S'
,
font_style
)
# UNITS
sheet1
.
write
(
index
,
30
,
u'TOTAL VALUE'
,
font_style
)
# TOTAL VALUE
sheet1
.
write
(
index
,
31
,
u'VAT'
,
font_style
)
# VAT
sheet1
.
write
(
index
,
32
,
u'ONLINE SELLING PLACE'
,
font_style
)
# ONLINE SELLING PLACE
...
...
ccs_base/models/cc_bill_loading.py
浏览文件 @
007e8bae
# 导入odoo
import
ast
import
base64
# 导入日志
import
logging
from
datetime
import
timedelta
import
pytz
import
re
import
xlrd
from
datetime
import
timedelta
,
datetime
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
UserError
from
pygtrans
import
Translate
# 获取日志
_logger
=
logging
.
getLogger
(
__name__
)
...
...
@@ -1068,18 +1064,6 @@ class CcBL(models.Model):
# print(wizard_obj.get_order())
wizard_obj
.
submit
()
def
try_callback_track
(
self
,
max_retries
=
3
,
ship_package_ids
=
[]):
""" 封装的重试逻辑 """
for
i
in
range
(
max_retries
):
if
not
ship_package_ids
:
is_ok
=
self
.
callback_track
()
else
:
is_ok
=
self
.
package_callback_func
(
ship_package_ids
)
if
is_ok
:
return
True
logging
.
warning
(
f
"Attempt {i + 1}/{max_retries} failed. Retrying..."
)
return
False
# 增加一个清关进度的业务对象,继承自models.Model, 用于管理业务数据.业务数据包括提单号、清关节点(业务对象)、进度日期、进度描述、更新人
class
CcProgress
(
models
.
Model
):
...
...
ccs_connect_tiktok/controllers/order_controller.py
浏览文件 @
007e8bae
# -*- coding: utf-8 -*-
import
aiohttp
import
asyncio
import
certifi
import
json
import
logging
import
math
import
random
import
re
import
ssl
import
threading
from
datetime
import
datetime
,
timedelta
from
odoo
import
http
,
fields
,
exceptions
,
_
from
odoo
import
http
,
exceptions
# from odoo.addons.queue_job import job
from
odoo.http
import
request
...
...
@@ -170,21 +162,21 @@ class OrderController(http.Controller):
tally_time
=
package_item
.
get
(
'tally_time'
)
if
(
action_type
==
'tally'
and
package_item
.
get
(
'tally_state'
)
==
'checked_goods'
)
or
(
action_type
==
'handover'
and
package_item
.
get
(
'tally_state'
)
==
'handover_completed'
):
'tally_state'
)
==
'handover_completed'
):
if
package_type
==
'ship'
:
ship_packages
.
append
({
'id'
:
package_obj
.
id
,
'id'
:
[
package_obj
.
id
]
,
'tally_time'
:
tally_time
})
else
:
for
package
in
package_obj
:
ship_packages
+=
[{
'id'
:
ship_package
.
id
,
'tally_time'
:
tally_time
}
for
ship_package
in
package
.
ship_package_ids
if
(
action_type
==
'tally'
and
package
.
tally_state
==
'unprocessed_goods'
)
or
(
action_type
==
'handover'
and
package
.
tally_state
in
(
'unprocessed_goods'
,
'checked_goods'
))]
# 小包
if
(
action_type
==
'tally'
and
package
.
tally_state
==
'unprocessed_goods'
)
or
(
action_type
==
'handover'
and
package
.
tally_state
in
(
'unprocessed_goods'
,
'checked_goods'
)):
ship_packages
.
append
({
'id'
:
package
.
ship_package_ids
.
ids
,
'tally_time'
:
tally_time
})
# 小包
package_obj
.
update_big_package_info
(
action_type
=
action_type
,
tally_state
=
package_item
.
get
(
'tally_state'
),
tally_user_id
=
package_item
.
get
(
...
...
ccs_connect_tiktok/models/ao_tt_api_log.py
浏览文件 @
007e8bae
# -*- coding: utf-8 -*-
# Part of SmartGo. See LICENSE file for full copyright and licensing details.
from
datetime
import
datetime
import
logging
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
ValidationError
,
Warning
import
logging
...
...
ccs_connect_tiktok/models/cc_bill_loading.py
浏览文件 @
007e8bae
差异被折叠。
点击展开。
ccs_connect_tiktok/models/tt_api.py
浏览文件 @
007e8bae
...
...
@@ -40,7 +40,6 @@ class TT(models.Model):
param_json_str
=
json
.
dumps
(
param_json
,
ensure_ascii
=
False
)
# print(param_json_str)
sign
=
self
.
make_sign
(
app_key
,
app_secret
,
version
,
timestamp
,
param_json_str
)
print
(
f
"sign={sign}"
)
# 输出生成的签名值
return
sign
...
...
ccs_connect_tiktok/wizard/batch_input_ship_package_statu_wizard.py
浏览文件 @
007e8bae
...
...
@@ -157,13 +157,11 @@ class BatchInputShipPackageStatusWizard(models.TransientModel):
bl_obj
.
message_post
(
body
=
_
(
'[
%
s]
%
sUpdate to[
%
s]
%
s'
)
%
(
self
.
current_status
.
tk_code
or
''
,
self
.
current_status
.
name
or
''
,
self
.
update_status
.
tk_code
or
''
,
self
.
update_status
.
name
or
''
),
author_id
=
public_user
.
id
,
email_from
=
public_user
.
display_name
)
email_from
=
public_user
.
display_name
)
else
:
bl_obj
.
message_post
(
body
=
_
(
'[
%
s]
%
sUpdate to[
%
s]
%
s'
)
%
(
self
.
current_status
.
tk_code
or
''
,
self
.
current_status
.
name
or
''
,
self
.
update_status
.
tk_code
or
''
,
self
.
update_status
.
name
or
''
))
# 如果提单有小包变成了清关开始,提单状态变为清关中
if
bl_obj
.
state
==
'draft'
and
bl_obj
.
ship_package_ids
.
filtered
(
lambda
line
:
line
.
state
.
tk_code
==
'cb_imcustoms_start'
):
bl_obj
.
ccing_func
()
# 如果提单有小包变成了清关开始,提单状态变为清关中;如果提单所有小包的清关节点变成“是完成节点”,则该提单状态变成已完成
bl_obj
.
change_state_by_ship_package
()
return
obj
consumers/config.py
浏览文件 @
007e8bae
...
...
@@ -28,16 +28,19 @@ redis_options = dict(
# )
# product
# db_ip = "172.1
8.183.214
"
# db_port = "
91
69"
# db_name = "
air_order
"
# db_user = "
admin
"
# db_password = "
YHB1408ups
"
# db_ip = "172.1
04.182.220
"
# db_port = "
82
69"
# db_name = "
ccs
"
# db_user = "
YJ@yizuo.com
"
# db_password = "
yizuo123
"
#
# redis_options = dict(
# host='
172.18.183.214
',
# host='
some-redis
',
# port=32768,
# password='top123',
#
#
password='top123',
# decode_responses=True,
# db=
3
# db=
2
# )
pda_db_user
=
"pda"
pda_db_password
=
"2025"
consumers/mail_push.py
浏览文件 @
007e8bae
# coding=utf-8
import
json
import
logging
import
odoorpc
import
redis
import
requests
import
time
from
datetime
import
datetime
from
requests.adapters
import
HTTPAdapter
import
config
...
...
@@ -25,6 +22,9 @@ class Order_dispose(object):
# rpc连接
self
.
odoo_db
=
odoorpc
.
ODOO
(
config
.
db_ip
,
port
=
config
.
db_port
)
self
.
odoo_db
.
login
(
config
.
db_name
,
config
.
db_user
,
config
.
db_password
)
# pda用户
self
.
pda_odoo_db
=
odoorpc
.
ODOO
(
config
.
db_ip
,
port
=
config
.
db_port
)
self
.
pda_odoo_db
.
login
(
config
.
db_name
,
config
.
pda_db_user
,
config
.
pda_db_password
)
def
order_data
(
self
,
data
):
res_data
=
[]
...
...
@@ -33,7 +33,10 @@ class Order_dispose(object):
logging
.
info
(
'mail_push_data:
%
s'
,
data
)
ship_packages
=
eval
(
data
[
'ship_packages'
])
if
data
.
get
(
'ship_packages'
)
else
[]
# 小包
action_type
=
data
.
get
(
'action_type'
)
# 类型
utc_time
=
data
.
get
(
'utc_time'
)
bl_obj
=
self
.
odoo_db
.
env
[
'cc.bl'
]
if
action_type
and
not
utc_time
:
bl_obj
=
self
.
pda_odoo_db
.
env
[
'cc.bl'
]
bl_record
=
bl_obj
.
browse
(
data
[
'id'
])
# utc_time = datetime.strptime(data['utc_time'], "%Y-%m-%d %H:%M:%S")
utc_time
=
data
.
get
(
'utc_time'
)
...
...
@@ -57,5 +60,4 @@ try:
logging
.
error
(
e
)
continue
except
Exception
as
e
:
logging
.
error
(
"登录失败"
)
logging
.
error
(
e
)
logging
.
error
(
"登录失败:
%
s"
%
e
)
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论