Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
da12e248
提交
da12e248
authored
9月 06, 2024
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、增加登录接口,查询提单及大包接口3、更新大包理货
上级
c1cb5f50
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
297 行增加
和
27 行删除
+297
-27
zh_CN.po
ccs_base/i18n/zh_CN.po
+52
-5
cc_bill_loading.py
ccs_base/models/cc_bill_loading.py
+44
-16
cc_big_package_view.xml
ccs_base/views/cc_big_package_view.xml
+12
-3
cc_bl_view.xml
ccs_base/views/cc_bl_view.xml
+7
-0
__init__.py
ccs_connect_tiktok/controllers/__init__.py
+1
-0
order_controller.py
ccs_connect_tiktok/controllers/order_controller.py
+131
-0
zh_CN.po
ccs_connect_tiktok/i18n/zh_CN.po
+2
-2
cc_bill_loading.py
ccs_connect_tiktok/models/cc_bill_loading.py
+47
-0
cc_bl_view.xml
ccs_connect_tiktok/views/cc_bl_view.xml
+1
-1
没有找到文件。
ccs_base/i18n/zh_CN.po
浏览文件 @
da12e248
...
@@ -6,11 +6,11 @@ msgid ""
...
@@ -6,11 +6,11 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-0
4 09:32
+0000\n"
"POT-Creation-Date: 2024-09-0
6 02:11
+0000\n"
"PO-Revision-Date: 2024-09-0
4 17:32
+0800\n"
"PO-Revision-Date: 2024-09-0
6 10:14
+0800\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language-Team: \n"
"Language: zh
_CN
\n"
"Language: zh\n"
"MIME-Version: 1.0\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Transfer-Encoding: 8bit\n"
...
@@ -34,6 +34,11 @@ msgstr "<span class=\"o_stat_text\">货物</span>"
...
@@ -34,6 +34,11 @@ msgstr "<span class=\"o_stat_text\">货物</span>"
msgid "<span class=\"o_stat_text\">Ship Packages</span>"
msgid "<span class=\"o_stat_text\">Ship Packages</span>"
msgstr "<span class=\"o_stat_text\">小包</span>"
msgstr "<span class=\"o_stat_text\">小包</span>"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
msgid "<span class=\"o_stat_text\">Tally Big Packages</span>"
msgstr "<span class=\"o_stat_text\">已理货大包</span>"
#. module: ccs_base
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_input_ship_package_status_wizard__exclude_tracking_no
#: model:ir.model.fields,help:ccs_base.field_batch_input_ship_package_status_wizard__exclude_tracking_no
#: model:ir.model.fields,help:ccs_base.field_batch_input_ship_package_status_wizard__select_tracking_no
#: model:ir.model.fields,help:ccs_base.field_batch_input_ship_package_status_wizard__select_tracking_no
...
@@ -234,6 +239,8 @@ msgid "Batch Update the status of the small package"
...
@@ -234,6 +239,8 @@ msgid "Batch Update the status of the small package"
msgstr "批量更新小包状态向导"
msgstr "批量更新小包状态向导"
#. module: ccs_base
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#: model:ir.actions.act_window,name:ccs_base.action_cc_big_package
#: model:ir.actions.act_window,name:ccs_base.action_cc_big_package
#: model:ir.model,name:ccs_base.model_cc_big_package
#: model:ir.model,name:ccs_base.model_cc_big_package
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__big_package_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__big_package_id
...
@@ -246,6 +253,7 @@ msgstr "批量更新小包状态向导"
...
@@ -246,6 +253,7 @@ msgstr "批量更新小包状态向导"
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#, python-format
msgid "Big Package"
msgid "Big Package"
msgstr "大包"
msgstr "大包"
...
@@ -491,6 +499,12 @@ msgstr "取消"
...
@@ -491,6 +499,12 @@ msgstr "取消"
msgid "Chargable Weight"
msgid "Chargable Weight"
msgstr "清关重量"
msgstr "清关重量"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_big_package__tally_state__checked_goods
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
msgid "Checked goods"
msgstr "已理货"
#. module: ccs_base
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_is_clearance_company
#: model:ir.actions.act_window,name:ccs_base.action_cc_is_clearance_company
#: model:ir.ui.menu,name:ccs_base.menu_cc_clearance_company
#: model:ir.ui.menu,name:ccs_base.menu_cc_clearance_company
...
@@ -679,7 +693,7 @@ msgstr "申报类型"
...
@@ -679,7 +693,7 @@ msgstr "申报类型"
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__desc
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__desc
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__desc
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__desc
msgid "Description"
msgid "Description"
msgstr "描述"
msgstr "
节点
描述"
#. module: ccs_base
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__display_name
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__display_name
...
@@ -1220,7 +1234,7 @@ msgstr "否"
...
@@ -1220,7 +1234,7 @@ msgstr "否"
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__name
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__name
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__name
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__name
msgid "Name"
msgid "Name"
msgstr "名称"
msgstr "
节点
名称"
#. module: ccs_base
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_name_cn
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_name_cn
...
@@ -1972,6 +1986,33 @@ msgstr ""
...
@@ -1972,6 +1986,33 @@ msgstr ""
msgid "TYPE"
msgid "TYPE"
msgstr "类型"
msgstr "类型"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#, python-format
msgid "Tally Big Package"
msgstr "已理货大包"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__tally_big_package_qty
msgid "Tally Big Package Qty"
msgstr "已理货大包数量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__tally_state
msgid "Tally Status"
msgstr "理货状态"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__tally_time
msgid "Tally Time"
msgstr "理货时间"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__tally_user_id
msgid "Tally User"
msgstr "理货人"
#. module: ccs_base
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__tax_mark
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__tax_mark
msgid "Tax Mark"
msgid "Tax Mark"
...
@@ -2129,6 +2170,12 @@ msgstr ""
...
@@ -2129,6 +2170,12 @@ msgstr ""
msgid "UNIT VALUE"
msgid "UNIT VALUE"
msgstr "单价"
msgstr "单价"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_big_package__tally_state__unprocessed_goods
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
msgid "Unprocessed goods"
msgstr "未理货"
#. module: ccs_base
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__update_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__update_date
msgid "Update Date"
msgid "Update Date"
...
...
ccs_base/models/cc_bill_loading.py
浏览文件 @
da12e248
...
@@ -27,9 +27,9 @@ class CcBigPackage(models.Model):
...
@@ -27,9 +27,9 @@ class CcBigPackage(models.Model):
# 定义模型字段
# 定义模型字段
# 所属提单
# 所属提单
bl_id
=
fields
.
Many2one
(
'cc.bl'
,
string
=
'Bill of Loading'
)
bl_id
=
fields
.
Many2one
(
'cc.bl'
,
string
=
'Bill of Loading'
,
index
=
True
)
# 大包号
# 大包号
big_package_no
=
fields
.
Char
(
string
=
'Big Package No.'
)
big_package_no
=
fields
.
Char
(
string
=
'Big Package No.'
,
index
=
True
)
# 下一阶段服务商名称
# 下一阶段服务商名称
next_provider_name
=
fields
.
Char
(
string
=
'Next Provider Name'
)
next_provider_name
=
fields
.
Char
(
string
=
'Next Provider Name'
)
# 包裹明细
# 包裹明细
...
@@ -54,6 +54,10 @@ class CcBigPackage(models.Model):
...
@@ -54,6 +54,10 @@ class CcBigPackage(models.Model):
# 增加is_cancel字段, 用于标识大包是否取消, 来自提单的is_cancel字段
# 增加is_cancel字段, 用于标识大包是否取消, 来自提单的is_cancel字段
is_cancel
=
fields
.
Boolean
(
string
=
'Is Cancel'
,
related
=
'bl_id.is_cancel'
,
store
=
True
)
is_cancel
=
fields
.
Boolean
(
string
=
'Is Cancel'
,
related
=
'bl_id.is_cancel'
,
store
=
True
)
tally_state
=
fields
.
Selection
([(
'unprocessed_goods'
,
'Unprocessed goods'
),
(
'checked_goods'
,
'Checked goods'
)],
default
=
'unprocessed_goods'
,
string
=
'Tally Status'
,
index
=
True
)
# 理货状态 未理货/已理货
tally_user_id
=
fields
.
Many2one
(
'res.users'
,
'Tally User'
,
index
=
True
)
# 理货人
tally_time
=
fields
.
Datetime
(
'Tally Time'
)
# 理货时间
# 创建显示包裹的action
# 创建显示包裹的action
def
action_show_ship_package
(
self
):
def
action_show_ship_package
(
self
):
...
@@ -92,7 +96,7 @@ class CcPackageGood(models.Model):
...
@@ -92,7 +96,7 @@ class CcPackageGood(models.Model):
# 定义模型字段
# 定义模型字段
# 所属包裹
# 所属包裹
bl_line_id
=
fields
.
Many2one
(
'cc.ship.package'
,
string
=
'Ship Package'
)
bl_line_id
=
fields
.
Many2one
(
'cc.ship.package'
,
string
=
'Ship Package'
,
index
=
True
)
# 所属大包
# 所属大包
big_package_id
=
fields
.
Many2one
(
'cc.big.package'
,
related
=
'bl_line_id.big_package_id'
,
string
=
'Big Package'
,
big_package_id
=
fields
.
Many2one
(
'cc.big.package'
,
related
=
'bl_line_id.big_package_id'
,
string
=
'Big Package'
,
store
=
True
)
store
=
True
)
...
@@ -105,13 +109,13 @@ class CcPackageGood(models.Model):
...
@@ -105,13 +109,13 @@ class CcPackageGood(models.Model):
(
'item_id_uniq'
,
'unique(item_id)'
,
'The Item ID must be unique.'
)
(
'item_id_uniq'
,
'unique(item_id)'
,
'The Item ID must be unique.'
)
]
]
item_id
=
fields
.
Char
(
string
=
'Item ID'
)
item_id
=
fields
.
Char
(
string
=
'Item ID'
,
index
=
True
)
# SKU标识ID
# SKU标识ID
sku_id
=
fields
.
Char
(
string
=
'SKU ID'
)
sku_id
=
fields
.
Char
(
string
=
'SKU ID'
,
index
=
True
)
# 商品中文名称
# 商品中文名称
item_name_cn
=
fields
.
Char
(
string
=
'Name CN'
)
item_name_cn
=
fields
.
Char
(
string
=
'Name CN'
,
index
=
True
)
# 商品英文名称
# 商品英文名称
item_name_en
=
fields
.
Char
(
string
=
'Name EN'
)
item_name_en
=
fields
.
Char
(
string
=
'Name EN'
,
index
=
True
)
# 出口HSCode
# 出口HSCode
export_hs_code
=
fields
.
Char
(
string
=
'Export HSCode'
)
export_hs_code
=
fields
.
Char
(
string
=
'Export HSCode'
)
# 进口HSCode
# 进口HSCode
...
@@ -183,14 +187,14 @@ class CcShipPackage(models.Model):
...
@@ -183,14 +187,14 @@ class CcShipPackage(models.Model):
_inherit
=
[
'mail.thread'
,
'mail.activity.mixin'
]
_inherit
=
[
'mail.thread'
,
'mail.activity.mixin'
]
_order
=
'bl_id, big_package_id,tracking_no'
_order
=
'bl_id, big_package_id,tracking_no'
customer_id
=
fields
.
Many2one
(
'res.partner'
,
string
=
'From Customer'
)
customer_id
=
fields
.
Many2one
(
'res.partner'
,
string
=
'From Customer'
,
index
=
True
)
# 定义模型字段
# 定义模型字段
# 提单号
# 提单号
bl_id
=
fields
.
Many2one
(
'cc.bl'
,
string
=
'Bill of Loading'
,
index
=
True
)
bl_id
=
fields
.
Many2one
(
'cc.bl'
,
string
=
'Bill of Loading'
,
index
=
True
)
# 大包号
# 大包号
big_package_id
=
fields
.
Many2one
(
'cc.big.package'
,
string
=
'Big Package'
)
big_package_id
=
fields
.
Many2one
(
'cc.big.package'
,
string
=
'Big Package'
,
index
=
True
)
# 物流订单号
# 物流订单号
logistic_order_no
=
fields
.
Char
(
string
=
'Logistic Order No'
,
index
=
True
)
logistic_order_no
=
fields
.
Char
(
string
=
'Logistic Order No'
,
index
=
True
)
...
@@ -213,7 +217,7 @@ class CcShipPackage(models.Model):
...
@@ -213,7 +217,7 @@ class CcShipPackage(models.Model):
# 交易单号
# 交易单号
trade_no
=
fields
.
Char
(
string
=
'Trade No'
)
trade_no
=
fields
.
Char
(
string
=
'Trade No'
)
# 大包号
# 大包号
big_package_no
=
fields
.
Char
(
string
=
'Big Package No'
)
big_package_no
=
fields
.
Char
(
string
=
'Big Package No'
,
index
=
True
)
# 海运/铁路的集装箱号
# 海运/铁路的集装箱号
container_no
=
fields
.
Char
(
string
=
'Container No'
)
container_no
=
fields
.
Char
(
string
=
'Container No'
)
# 包裹售卖国家编码
# 包裹售卖国家编码
...
@@ -274,7 +278,7 @@ class CcShipPackage(models.Model):
...
@@ -274,7 +278,7 @@ class CcShipPackage(models.Model):
# 货币
# 货币
currency
=
fields
.
Char
(
string
=
'Currency'
)
currency
=
fields
.
Char
(
string
=
'Currency'
)
# 币种对象
# 币种对象
currency_id
=
fields
.
Many2one
(
'res.currency'
,
string
=
'Currency'
)
currency_id
=
fields
.
Many2one
(
'res.currency'
,
string
=
'Currency'
,
index
=
True
)
# 申报价格
# 申报价格
total_value
=
fields
.
Float
(
string
=
'Total Value'
)
total_value
=
fields
.
Float
(
string
=
'Total Value'
)
...
@@ -286,7 +290,7 @@ class CcShipPackage(models.Model):
...
@@ -286,7 +290,7 @@ class CcShipPackage(models.Model):
tax_mark
=
fields
.
Selection
(
tax_mark
=
fields
.
Selection
(
[(
'TTSTaxed'
,
'TTSTaxed'
),
(
'Sentinel'
,
'Sentinel'
),
(
'LSPTaxed'
,
'LSPTaxed'
),
[(
'TTSTaxed'
,
'TTSTaxed'
),
(
'Sentinel'
,
'Sentinel'
),
(
'LSPTaxed'
,
'LSPTaxed'
),
(
'SellerObligation'
,
'SellerObligation'
)],
(
'SellerObligation'
,
'SellerObligation'
)],
string
=
'Tax Mark'
)
string
=
'Tax Mark'
,
index
=
True
)
# 实际缴关税
# 实际缴关税
actual_tax
=
fields
.
Float
(
string
=
'Actual Tax'
)
actual_tax
=
fields
.
Float
(
string
=
'Actual Tax'
)
...
@@ -298,7 +302,7 @@ class CcShipPackage(models.Model):
...
@@ -298,7 +302,7 @@ class CcShipPackage(models.Model):
# 实际缴关税币种
# 实际缴关税币种
actual_tax_currency
=
fields
.
Char
(
string
=
'Actual Tax Currency'
)
actual_tax_currency
=
fields
.
Char
(
string
=
'Actual Tax Currency'
)
# 币种
# 币种
actual_currency_id
=
fields
.
Many2one
(
'res.currency'
,
string
=
'Currency'
)
actual_currency_id
=
fields
.
Many2one
(
'res.currency'
,
string
=
'Currency'
,
index
=
True
)
# 实际缴关税时间
# 实际缴关税时间
actual_tax_date
=
fields
.
Char
(
string
=
'Actual Tax Date'
)
actual_tax_date
=
fields
.
Char
(
string
=
'Actual Tax Date'
)
...
@@ -318,7 +322,8 @@ class CcShipPackage(models.Model):
...
@@ -318,7 +322,8 @@ class CcShipPackage(models.Model):
string
=
'Invoice Attachments'
)
string
=
'Invoice Attachments'
)
# 进度状态, 包括已提货、 小包查验、海关放行、小包出库、小包入库、清关失败,包裹交接
# 进度状态, 包括已提货、 小包查验、海关放行、小包出库、小包入库、清关失败,包裹交接
state
=
fields
.
Many2one
(
'cc.node'
,
string
=
'Progress state'
,
domain
=
"[('node_type', '=', 'package')]"
,
tracking
=
True
,
state
=
fields
.
Many2one
(
'cc.node'
,
string
=
'Progress state'
,
domain
=
"[('node_type', '=', 'package')]"
,
index
=
True
,
tracking
=
True
,
default
=
lambda
self
:
self
.
env
[
'cc.node'
]
.
search
(
default
=
lambda
self
:
self
.
env
[
'cc.node'
]
.
search
(
[(
'node_type'
,
'='
,
'package'
),
(
'is_default'
,
'='
,
True
)],
limit
=
1
))
[(
'node_type'
,
'='
,
'package'
),
(
'is_default'
,
'='
,
True
)],
limit
=
1
))
node_exception_reason_id
=
fields
.
Many2one
(
'cc.node.exception.reason'
,
'Exception Reason'
)
node_exception_reason_id
=
fields
.
Many2one
(
'cc.node.exception.reason'
,
'Exception Reason'
)
...
@@ -456,8 +461,17 @@ class CcBL(models.Model):
...
@@ -456,8 +461,17 @@ class CcBL(models.Model):
(
'bl_no_uniq'
,
'unique(bl_no)'
,
'The Bill of Loading No. must be unique.'
)
(
'bl_no_uniq'
,
'unique(bl_no)'
,
'The Bill of Loading No. must be unique.'
)
]
]
@api.depends
(
'big_package_ids'
,
'big_package_ids.tally_state'
)
def
cal_tally_big_package_qty
(
self
):
"""
已理货的大包数量
"""
for
item
in
self
:
item
.
tally_big_package_qty
=
len
(
item
.
big_package_ids
.
filtered
(
lambda
package
:
package
.
tally_state
==
'checked_goods'
))
# 提单号
# 提单号
bl_no
=
fields
.
Char
(
string
=
'B/L No'
)
bl_no
=
fields
.
Char
(
string
=
'B/L No'
,
index
=
True
)
# 关务提单号
# 关务提单号
customs_bl_no
=
fields
.
Char
(
string
=
'Customs B/L No'
)
customs_bl_no
=
fields
.
Char
(
string
=
'Customs B/L No'
)
# 贸易方式
# 贸易方式
...
@@ -466,6 +480,10 @@ class CcBL(models.Model):
...
@@ -466,6 +480,10 @@ class CcBL(models.Model):
declare_type
=
fields
.
Char
(
string
=
'Declare Type'
)
declare_type
=
fields
.
Char
(
string
=
'Declare Type'
)
# 大包数量
# 大包数量
big_package_qty
=
fields
.
Integer
(
string
=
'Big Package Qty'
)
big_package_qty
=
fields
.
Integer
(
string
=
'Big Package Qty'
)
# 理货大包数量
tally_big_package_qty
=
fields
.
Integer
(
string
=
'Tally Big Package Qty'
,
compute
=
'cal_tally_big_package_qty'
,
store
=
True
)
# 大包售卖国家
# 大包售卖国家
big_package_sell_country
=
fields
.
Char
(
string
=
'Sell Country'
)
big_package_sell_country
=
fields
.
Char
(
string
=
'Sell Country'
)
...
@@ -795,13 +813,23 @@ class CcBL(models.Model):
...
@@ -795,13 +813,23 @@ class CcBL(models.Model):
def
action_show_big_package
(
self
):
def
action_show_big_package
(
self
):
# 返回一个action,显示大包
# 返回一个action,显示大包
return
{
return
{
'name'
:
'Big Package'
,
'name'
:
_
(
'Big Package'
)
,
'type'
:
'ir.actions.act_window'
,
'type'
:
'ir.actions.act_window'
,
'res_model'
:
'cc.big.package'
,
'res_model'
:
'cc.big.package'
,
'view_mode'
:
'tree,form'
,
'view_mode'
:
'tree,form'
,
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
)],
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
)],
}
}
def
action_show_big_package_tally
(
self
):
# 返回一个action,显示已理货的大包
return
{
'name'
:
_
(
'Tally Big Package'
),
'type'
:
'ir.actions.act_window'
,
'res_model'
:
'cc.big.package'
,
'view_mode'
:
'tree,form'
,
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
),
(
'tally_state'
,
'='
,
'checked_goods'
)],
}
# 创建显示包裹的action
# 创建显示包裹的action
def
action_show_ship_package
(
self
):
def
action_show_ship_package
(
self
):
# 返回一个action,显示包裹
# 返回一个action,显示包裹
...
...
ccs_base/views/cc_big_package_view.xml
浏览文件 @
da12e248
...
@@ -12,6 +12,9 @@
...
@@ -12,6 +12,9 @@
<field
name=
"ship_package_qty"
string=
"Packages Qty"
/>
<field
name=
"ship_package_qty"
string=
"Packages Qty"
/>
<field
name=
"goods_qty"
string=
"Goods Qty"
/>
<field
name=
"goods_qty"
string=
"Goods Qty"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"tally_user_id"
optional=
"show"
/>
<field
name=
"tally_time"
optional=
"show"
/>
<field
name=
"tally_state"
optional=
"show"
/>
</tree>
</tree>
</field>
</field>
</record>
</record>
...
@@ -41,7 +44,8 @@
...
@@ -41,7 +44,8 @@
</div>
</div>
</button>
</button>
</div>
</div>
<widget
name=
"web_ribbon"
bg_color=
"bg-warning"
title=
"Cancelled"
attrs=
"{'invisible': [('is_cancel', '=', False)]}"
/>
<widget
name=
"web_ribbon"
bg_color=
"bg-warning"
title=
"Cancelled"
attrs=
"{'invisible': [('is_cancel', '=', False)]}"
/>
<label
for=
"big_package_no"
/>
<label
for=
"big_package_no"
/>
<h1>
<h1>
<field
name=
"big_package_no"
readonly=
"True"
/>
<field
name=
"big_package_no"
readonly=
"True"
/>
...
@@ -52,6 +56,9 @@
...
@@ -52,6 +56,9 @@
<field
name=
"bl_id"
string=
"Bill of Loading"
/>
<field
name=
"bl_id"
string=
"Bill of Loading"
/>
<field
name=
"next_provider_name"
string=
"Next Provider Name"
/>
<field
name=
"next_provider_name"
string=
"Next Provider Name"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"tally_state"
readonly=
"1"
/>
<field
name=
"tally_user_id"
readonly=
"1"
options=
"{'no_create':True}"
/>
<field
name=
"tally_time"
readonly=
"1"
/>
</group>
</group>
<group>
<group>
<field
name=
"ship_package_qty"
string=
"Package Qty"
/>
<field
name=
"ship_package_qty"
string=
"Package Qty"
/>
...
@@ -76,9 +83,11 @@
...
@@ -76,9 +83,11 @@
<field
name=
"bl_id"
string=
"Bill of Loading"
/>
<field
name=
"bl_id"
string=
"Bill of Loading"
/>
<field
name=
"next_provider_name"
string=
"Next Provider Name"
/>
<field
name=
"next_provider_name"
string=
"Next Provider Name"
/>
<separator/>
<separator/>
<filter
string=
"Unprocessed goods"
name=
"filter_unprocessed_goods"
domain=
"[('tally_state', '=', 'unprocessed_goods')]"
/>
<filter
string=
"Checked goods"
name=
"filter_checked_goods"
domain=
"[('tally_state', '=', 'checked_goods')]"
/>
<separator/>
<separator/>
<group
expand=
"0"
string=
"Group By"
>
<group
expand=
"0"
string=
"Group By"
>
<filter
domain=
"[]"
name=
"groupby_bl_id"
string=
"Bill of Loading"
context=
"{'group_by': 'bl_id'}"
/>
<filter
domain=
"[]"
name=
"groupby_bl_id"
string=
"Bill of Loading"
context=
"{'group_by': 'bl_id'}"
/>
</group>
</group>
...
...
ccs_base/views/cc_bl_view.xml
浏览文件 @
da12e248
...
@@ -61,6 +61,13 @@
...
@@ -61,6 +61,13 @@
<span
class=
"o_stat_text"
>
Big Packages
</span>
<span
class=
"o_stat_text"
>
Big Packages
</span>
</div>
</div>
</button>
</button>
<button
name=
"action_show_big_package_tally"
type=
"object"
class=
"oe_stat_button"
icon=
"fa-cube"
>
<div
class=
"o_stat_info"
>
<field
name=
"tally_big_package_qty"
class=
"o_stat_value"
/>
<span
class=
"o_stat_text"
>
Tally Big Packages
</span>
</div>
</button>
<button
name=
"action_show_ship_package"
type=
"object"
<button
name=
"action_show_ship_package"
type=
"object"
class=
"oe_stat_button"
icon=
"fa-cubes"
>
class=
"oe_stat_button"
icon=
"fa-cubes"
>
<div
class=
"o_stat_info"
>
<div
class=
"o_stat_info"
>
...
...
ccs_connect_tiktok/controllers/__init__.py
浏览文件 @
da12e248
from
.
import
tt_controllers
from
.
import
tt_controllers
from
.
import
order_controller
ccs_connect_tiktok/controllers/order_controller.py
0 → 100644
浏览文件 @
da12e248
# -*- coding: utf-8 -*-
import
math
import
re
import
pandas
as
pd
from
odoo
import
http
,
fields
,
exceptions
from
odoo.http
import
request
import
logging
import
json
import
random
_logger
=
logging
.
getLogger
(
__name__
)
class
OrderController
(
http
.
Controller
):
"""
查询提单信息 以及大包 扫码
"""
@http.route
(
'/api/cc/login'
,
type
=
'json'
,
auth
=
'public'
,
csrf
=
False
)
def
api_cc_login
(
self
):
"""
登录接口
"""
res
=
{
'state'
:
201
,
'message'
:
''
}
kwargs
=
json
.
loads
(
request
.
httprequest
.
data
)
logging
.
info
(
'api_cc_login kwargs:
%
s'
%
kwargs
)
try
:
if
kwargs
.
get
(
'login'
)
and
kwargs
.
get
(
'password'
):
uid
=
request
.
session
.
authenticate
(
request
.
session
.
db
,
kwargs
[
'login'
],
kwargs
[
'password'
])
user
=
request
.
env
[
'res.users'
]
.
sudo
()
.
browse
(
uid
)
res
[
'user_info'
]
=
{
'id'
:
uid
,
# 用户id
'name'
:
user
.
name
# 用户名称
}
res
[
'state'
]
=
200
else
:
res
[
'state'
]
=
202
res
[
'message'
]
=
'登录名、密码不能为空'
except
exceptions
.
AccessDenied
as
e
:
if
e
.
args
==
exceptions
.
AccessDenied
()
.
args
:
res
[
'message'
]
=
"错误的登录名或密码"
else
:
res
[
'message'
]
=
e
.
args
[
0
]
logging
.
info
(
'api_cc_login error:
%
s'
%
res
)
return
res
@http.route
(
'/api/bl/info'
,
type
=
'json'
,
auth
=
'public'
,
methods
=
[
'GET'
,
'POST'
],
csrf
=
False
)
def
bl_info
(
self
):
"""
查看提单以及大包信息
:param kwargs:
:return:
"""
kwargs
=
json
.
loads
(
request
.
httprequest
.
data
)
res
=
{
'state'
:
201
,
'message'
:
''
}
try
:
logging
.
info
(
'bl_info kwargs:
%
s'
%
kwargs
)
if
kwargs
.
get
(
'bl_no'
):
bl_no
=
kwargs
[
'bl_no'
]
bl_obj
=
request
.
env
[
'cc.bl'
]
.
sudo
()
.
search
([(
'bl_no'
,
'='
,
bl_no
)])
# 提单
if
bl_obj
:
res
[
'bl_info'
]
=
bl_obj
.
search_bl_info
()
res
[
'state'
]
=
200
else
:
res
[
'state'
]
=
404
res
[
'message'
]
=
'提单不存在!'
else
:
res
[
'state'
]
=
202
res
[
'message'
]
=
'提单号不能为空!'
except
Exception
as
e
:
logging
.
info
(
'bl_info error:
%
s'
%
e
)
res
[
'message'
]
=
'系统解析错误!'
logging
.
info
(
'res:
%
s'
%
res
)
return
res
@http.route
(
'/api/update/big/package/tally/detail'
,
type
=
'json'
,
auth
=
'public'
,
methods
=
[
'GET'
,
'POST'
],
csrf
=
False
)
def
update_big_package_tally_detail
(
self
):
"""
修改理货信息
:param kwargs:
:return:
"""
kwargs
=
json
.
loads
(
request
.
httprequest
.
data
)
res
=
{
'state'
:
201
,
'message'
:
''
}
try
:
logging
.
info
(
'update_big_package_tally_detail kw:
%
s'
%
kwargs
)
if
kwargs
.
get
(
'bl_no'
)
and
kwargs
.
get
(
'big_package_arr'
):
bl_no
=
kwargs
[
'bl_no'
]
bl_obj
=
request
.
env
[
'cc.bl'
]
.
sudo
()
.
search
([(
'bl_no'
,
'='
,
bl_no
)])
# 提单
big_package_arr
=
kwargs
[
'big_package_arr'
]
if
bl_obj
:
# 该箱号的大包存在, 且状态为已扫, 则提示已扫;
# 该箱号的大包不存在, 则提示该箱号在系统中不存在;
tally_no_arr
=
[]
# 已理货大包号
error_no_arr
=
[]
# 不存在大包号
for
package_item
in
big_package_arr
:
big_package_no
=
package_item
.
get
(
'big_package_no'
)
# 大包号
tally_state
=
package_item
.
get
(
'tally_state'
)
# 理货状态
tally_user_id
=
package_item
.
get
(
'tally_user_id'
)
# 理货人
tally_time
=
package_item
.
get
(
'tally_time'
)
# 理货时间
big_package_obj
=
request
.
env
[
'cc.big.package'
]
.
sudo
()
.
search
(
[(
'big_package_no'
,
'='
,
big_package_no
)])
# 大包号
if
big_package_obj
:
if
big_package_obj
.
tally_state
==
'unprocessed_goods'
:
big_package_obj
.
update_big_package_info
(
tally_state
=
tally_state
,
tally_user_id
=
tally_user_id
,
tally_time
=
tally_time
)
# 修改理货信息
# else:
# tally_no_arr.append(big_package_no)
else
:
error_no_arr
.
append
(
big_package_no
)
if
len
(
error_no_arr
)
>
0
:
res
[
'message'
]
=
'大包号[
%
s]不存在!'
%
','
.
join
(
list
(
set
(
error_no_arr
)))
else
:
res
[
'state'
]
=
200
# if len(tally_no_arr) > 0:
# res['message'] = '大包号[%s]已理货,无需重新理货!' % ','.join(list(set(tally_no_arr)))
else
:
res
[
'message'
]
=
'提单[
%
s]不存在!'
%
bl_no
else
:
res
[
'message'
]
=
'提单号和大包数据不能为空'
except
Exception
as
e
:
logging
.
info
(
'update_big_package_tally_detail error:
%
s'
%
e
)
res
[
'message'
]
=
'系统解析错误'
return
res
ccs_connect_tiktok/i18n/zh_CN.po
浏览文件 @
da12e248
...
@@ -205,8 +205,8 @@ msgstr "同步日志"
...
@@ -205,8 +205,8 @@ msgstr "同步日志"
#. module: ccs_connect_tiktok
#. module: ccs_connect_tiktok
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.form_cc_bl_view_inherit
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.form_cc_bl_view_inherit
msgid "Sync
Package
Attachment"
msgid "Sync
CC
Attachment"
msgstr "同步
包裹
文件"
msgstr "同步
清关
文件"
#. module: ccs_connect_tiktok
#. module: ccs_connect_tiktok
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.form_cc_bl_view_inherit
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.form_cc_bl_view_inherit
...
...
ccs_connect_tiktok/models/cc_bill_loading.py
浏览文件 @
da12e248
...
@@ -238,3 +238,50 @@ class CcBl(models.Model):
...
@@ -238,3 +238,50 @@ class CcBl(models.Model):
'view_mode'
:
'tree,form'
,
'view_mode'
:
'tree,form'
,
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
),
(
'is_sync'
,
'='
,
False
)],
'domain'
:
[(
'bl_id'
,
'='
,
self
.
id
),
(
'is_sync'
,
'='
,
False
)],
}
}
def
search_bl_info
(
self
):
"""
查询提单信息
"""
vals
=
{
'bl_no'
:
self
.
bl_no
or
''
,
# 提单号
'scan_big_package_qty'
:
self
.
tally_big_package_qty
,
# 已扫大包数量
'big_package_arr'
:
[
big_package_item
.
search_big_package_info
()
for
big_package_item
in
self
.
big_package_ids
],
# 大包信息
}
return
vals
class
CcBigPackage
(
models
.
Model
):
# 模型名称
_inherit
=
'cc.big.package'
# 模型描述
_description
=
'Big Package'
def
search_big_package_info
(
self
):
"""
查询大包信息
"""
state_arr
=
{
'unprocessed_goods'
:
'未理货'
,
'checked_goods'
:
'已理货'
}
vals
=
{
'tally_state'
:
state_arr
[
self
.
tally_state
]
or
''
,
# 理货状态
'tally_user_id'
:
self
.
tally_user_id
.
id
or
''
,
# 理货人id
'tally_user_name'
:
self
.
tally_user_id
.
name
or
''
,
# 理货人名称
'tally_time'
:
self
.
tally_time
or
''
,
# 理货时间
'big_package_no'
:
self
.
big_package_no
or
''
# 大包号
}
return
vals
def
update_big_package_info
(
self
,
**
kwargs
):
"""
修改信息
"""
if
kwargs
.
get
(
'tally_state'
):
state_arr
=
{
'未理货'
:
'unprocessed_goods'
,
'已理货'
:
'checked_goods'
}
self
.
tally_state
=
state_arr
[
kwargs
[
'tally_state'
]]
if
kwargs
.
get
(
'tally_user_id'
):
self
.
tally_user_id
=
kwargs
[
'tally_user_id'
]
if
kwargs
.
get
(
'tally_time'
):
self
.
tally_time
=
kwargs
[
'tally_time'
]
ccs_connect_tiktok/views/cc_bl_view.xml
浏览文件 @
da12e248
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<!-- # header之间增加一个按钮,调用自定义的方法-->
<!-- # header之间增加一个按钮,调用自定义的方法-->
<header
position=
"inside"
>
<header
position=
"inside"
>
<button
name=
"callback_track"
string=
"Sync Package Status"
type=
"object"
/>
<button
name=
"callback_track"
string=
"Sync Package Status"
type=
"object"
/>
<button
name=
"batch_action_sync"
string=
"Sync
Package
Attachment"
type=
"object"
/>
<button
name=
"batch_action_sync"
string=
"Sync
CC
Attachment"
type=
"object"
/>
</header>
</header>
<button
name=
"action_show_ship_package"
position=
"replace"
>
<button
name=
"action_show_ship_package"
position=
"replace"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论