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 个修改的文件
包含
34 行增加
和
59 行删除
+34
-59
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
+9
-17
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
+2
-4
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):
...
@@ -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
,
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
,
27
,
good_item
.
export_hs_code
or
''
)
# ITEM HS CODE
sheet1
.
write
(
good_index
,
28
,
good_item
.
quantity
)
# ITEM QUANTITY
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
,
30
,
good_item
.
item_total_price
)
# TOTAL VALUE
sheet1
.
write
(
good_index
,
31
,
good_item
.
item_vat
or
''
)
# VAT
sheet1
.
write
(
good_index
,
31
,
good_item
.
item_vat
or
''
)
# VAT
sheet1
.
write
(
good_index
,
32
,
''
)
# SKU NUMBER
sheet1
.
write
(
good_index
,
32
,
''
)
# SKU NUMBER
...
@@ -112,7 +112,7 @@ class ExportBlAndPackageXlsx(http.Controller):
...
@@ -112,7 +112,7 @@ class ExportBlAndPackageXlsx(http.Controller):
sheet1
.
write
(
index
,
26
,
u'ITEM DESCRIPTION'
,
font_style
)
# ITEM DESCRIPTION
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
,
27
,
u'ITEM HS CODE'
,
font_style
)
# ITEM HS CODE
sheet1
.
write
(
index
,
28
,
u'ITEM QUANTITY'
,
font_style
)
# ITEM QUANTITY
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
,
30
,
u'TOTAL VALUE'
,
font_style
)
# TOTAL VALUE
sheet1
.
write
(
index
,
31
,
u'VAT'
,
font_style
)
# VAT
sheet1
.
write
(
index
,
31
,
u'VAT'
,
font_style
)
# VAT
sheet1
.
write
(
index
,
32
,
u'ONLINE SELLING PLACE'
,
font_style
)
# ONLINE SELLING PLACE
sheet1
.
write
(
index
,
32
,
u'ONLINE SELLING PLACE'
,
font_style
)
# ONLINE SELLING PLACE
...
...
ccs_base/models/cc_bill_loading.py
浏览文件 @
007e8bae
# 导入odoo
# 导入odoo
import
ast
import
base64
# 导入日志
# 导入日志
import
logging
import
logging
from
datetime
import
timedelta
import
pytz
import
pytz
import
re
import
xlrd
from
datetime
import
timedelta
,
datetime
from
odoo
import
models
,
fields
,
api
,
_
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
UserError
from
odoo.exceptions
import
UserError
from
pygtrans
import
Translate
# 获取日志
# 获取日志
_logger
=
logging
.
getLogger
(
__name__
)
_logger
=
logging
.
getLogger
(
__name__
)
...
@@ -1068,18 +1064,6 @@ class CcBL(models.Model):
...
@@ -1068,18 +1064,6 @@ class CcBL(models.Model):
# print(wizard_obj.get_order())
# print(wizard_obj.get_order())
wizard_obj
.
submit
()
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, 用于管理业务数据.业务数据包括提单号、清关节点(业务对象)、进度日期、进度描述、更新人
# 增加一个清关进度的业务对象,继承自models.Model, 用于管理业务数据.业务数据包括提单号、清关节点(业务对象)、进度日期、进度描述、更新人
class
CcProgress
(
models
.
Model
):
class
CcProgress
(
models
.
Model
):
...
...
ccs_connect_tiktok/controllers/order_controller.py
浏览文件 @
007e8bae
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import
aiohttp
import
asyncio
import
certifi
import
json
import
json
import
logging
import
logging
import
math
import
random
from
odoo
import
http
,
exceptions
import
re
import
ssl
import
threading
from
datetime
import
datetime
,
timedelta
from
odoo
import
http
,
fields
,
exceptions
,
_
# from odoo.addons.queue_job import job
# from odoo.addons.queue_job import job
from
odoo.http
import
request
from
odoo.http
import
request
...
@@ -173,18 +165,18 @@ class OrderController(http.Controller):
...
@@ -173,18 +165,18 @@ class OrderController(http.Controller):
'tally_state'
)
==
'handover_completed'
):
'tally_state'
)
==
'handover_completed'
):
if
package_type
==
'ship'
:
if
package_type
==
'ship'
:
ship_packages
.
append
({
ship_packages
.
append
({
'id'
:
package_obj
.
id
,
'id'
:
[
package_obj
.
id
]
,
'tally_time'
:
tally_time
})
'tally_time'
:
tally_time
})
else
:
else
:
for
package
in
package_obj
:
for
package
in
package_obj
:
ship_packages
+=
[{
if
(
'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
==
'tally'
and
package
.
tally_state
==
'unprocessed_goods'
)
or
(
action_type
==
'handover'
and
package
.
tally_state
in
(
action_type
==
'handover'
and
package
.
tally_state
in
(
'unprocessed_goods'
,
'checked_goods'
))]
# 小包
'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
,
package_obj
.
update_big_package_info
(
action_type
=
action_type
,
tally_state
=
package_item
.
get
(
'tally_state'
),
tally_state
=
package_item
.
get
(
'tally_state'
),
tally_user_id
=
package_item
.
get
(
tally_user_id
=
package_item
.
get
(
...
...
ccs_connect_tiktok/models/ao_tt_api_log.py
浏览文件 @
007e8bae
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# Part of SmartGo. See LICENSE file for full copyright and licensing details.
# Part of SmartGo. See LICENSE file for full copyright and licensing details.
from
datetime
import
datetime
from
datetime
import
datetime
import
logging
from
odoo
import
models
,
fields
,
api
,
_
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
ValidationError
,
Warning
from
odoo.exceptions
import
ValidationError
,
Warning
import
logging
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):
...
@@ -40,7 +40,6 @@ class TT(models.Model):
param_json_str
=
json
.
dumps
(
param_json
,
ensure_ascii
=
False
)
param_json_str
=
json
.
dumps
(
param_json
,
ensure_ascii
=
False
)
# print(param_json_str)
# print(param_json_str)
sign
=
self
.
make_sign
(
app_key
,
app_secret
,
version
,
timestamp
,
param_json_str
)
sign
=
self
.
make_sign
(
app_key
,
app_secret
,
version
,
timestamp
,
param_json_str
)
print
(
f
"sign={sign}"
)
# 输出生成的签名值
return
sign
return
sign
...
...
ccs_connect_tiktok/wizard/batch_input_ship_package_statu_wizard.py
浏览文件 @
007e8bae
...
@@ -162,8 +162,6 @@ class BatchInputShipPackageStatusWizard(models.TransientModel):
...
@@ -162,8 +162,6 @@ class BatchInputShipPackageStatusWizard(models.TransientModel):
bl_obj
.
message_post
(
body
=
_
(
'[
%
s]
%
sUpdate to[
%
s]
%
s'
)
%
(
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
.
current_status
.
tk_code
or
''
,
self
.
current_status
.
name
or
''
,
self
.
update_status
.
tk_code
or
''
,
self
.
update_status
.
name
or
''
))
self
.
update_status
.
name
or
''
))
# 如果提单有小包变成了清关开始,提单状态变为清关中
# 如果提单有小包变成了清关开始,提单状态变为清关中;如果提单所有小包的清关节点变成“是完成节点”,则该提单状态变成已完成
if
bl_obj
.
state
==
'draft'
and
bl_obj
.
ship_package_ids
.
filtered
(
bl_obj
.
change_state_by_ship_package
()
lambda
line
:
line
.
state
.
tk_code
==
'cb_imcustoms_start'
):
bl_obj
.
ccing_func
()
return
obj
return
obj
consumers/config.py
浏览文件 @
007e8bae
...
@@ -28,16 +28,19 @@ redis_options = dict(
...
@@ -28,16 +28,19 @@ redis_options = dict(
# )
# )
# product
# product
# db_ip = "172.1
8.183.214
"
# db_ip = "172.1
04.182.220
"
# db_port = "
91
69"
# db_port = "
82
69"
# db_name = "
air_order
"
# db_name = "
ccs
"
# db_user = "
admin
"
# db_user = "
YJ@yizuo.com
"
# db_password = "
YHB1408ups
"
# db_password = "
yizuo123
"
#
#
# redis_options = dict(
# redis_options = dict(
# host='
172.18.183.214
',
# host='
some-redis
',
# port=32768,
# port=32768,
# password='top123',
#
#
password='top123',
# decode_responses=True,
# decode_responses=True,
# db=
3
# db=
2
# )
# )
pda_db_user
=
"pda"
pda_db_password
=
"2025"
consumers/mail_push.py
浏览文件 @
007e8bae
# coding=utf-8
# coding=utf-8
import
json
import
json
import
logging
import
logging
import
odoorpc
import
odoorpc
import
redis
import
redis
import
requests
import
time
from
datetime
import
datetime
from
requests.adapters
import
HTTPAdapter
import
config
import
config
...
@@ -25,6 +22,9 @@ class Order_dispose(object):
...
@@ -25,6 +22,9 @@ class Order_dispose(object):
# rpc连接
# rpc连接
self
.
odoo_db
=
odoorpc
.
ODOO
(
config
.
db_ip
,
port
=
config
.
db_port
)
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
)
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
):
def
order_data
(
self
,
data
):
res_data
=
[]
res_data
=
[]
...
@@ -33,7 +33,10 @@ class Order_dispose(object):
...
@@ -33,7 +33,10 @@ class Order_dispose(object):
logging
.
info
(
'mail_push_data:
%
s'
,
data
)
logging
.
info
(
'mail_push_data:
%
s'
,
data
)
ship_packages
=
eval
(
data
[
'ship_packages'
])
if
data
.
get
(
'ship_packages'
)
else
[]
# 小包
ship_packages
=
eval
(
data
[
'ship_packages'
])
if
data
.
get
(
'ship_packages'
)
else
[]
# 小包
action_type
=
data
.
get
(
'action_type'
)
# 类型
action_type
=
data
.
get
(
'action_type'
)
# 类型
utc_time
=
data
.
get
(
'utc_time'
)
bl_obj
=
self
.
odoo_db
.
env
[
'cc.bl'
]
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'
])
bl_record
=
bl_obj
.
browse
(
data
[
'id'
])
# utc_time = datetime.strptime(data['utc_time'], "%Y-%m-%d %H:%M:%S")
# utc_time = datetime.strptime(data['utc_time'], "%Y-%m-%d %H:%M:%S")
utc_time
=
data
.
get
(
'utc_time'
)
utc_time
=
data
.
get
(
'utc_time'
)
...
@@ -57,5 +60,4 @@ try:
...
@@ -57,5 +60,4 @@ try:
logging
.
error
(
e
)
logging
.
error
(
e
)
continue
continue
except
Exception
as
e
:
except
Exception
as
e
:
logging
.
error
(
"登录失败"
)
logging
.
error
(
"登录失败:
%
s"
%
e
)
logging
.
error
(
e
)
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论