提交 6c94c62e authored 作者: 贺阳's avatar 贺阳

提单的动作(两种提单都需)新增:获取尾程快递POD【支持批量操作,权限与获取货站POD一致】

点击获取尾程快递POD,根据提单号向接口【curl -s -X POST 'http://172.104.52.150:7002/api/pod/pdfs' -H 'Content-Type: application/json' -d '{"bill_numbers":["436-10295434","436-10295423","436-10295574"]}'】取该提单号的尾程快递POD,若接口返回了数据,则显示该文件的预览,并在向导上方显示:上传到尾程交接POD(待大包数量和箱号):️【默认勾选】;同步给TK️【默认勾选,若提单类型为TEMU,则不显示该项,不同步】;若没有获取到文件则在向导上显示:xxxxx(提单号)没有获取到尾程快递POD文件。 根据选择将对应的文件同步到尾程快递POD附件内容,并同步给TK;
上级 bca1c12d
......@@ -26,6 +26,7 @@
'wizard/email_template.xml',
'wizard/bl_done_wizard_views.xml',
'wizard/batch_get_pod_info_wizard_views.xml',
'wizard/batch_get_lastmile_pod_info_wizard_views.xml',
'data/data.xml',
'data/timer.xml',
'data/sequence.xml',
......
......@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-17 02:03+0000\n"
"PO-Revision-Date: 2025-12-17 10:05+0800\n"
"POT-Creation-Date: 2025-12-17 03:51+0000\n"
"PO-Revision-Date: 2025-12-17 11:51+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: zh_CN\n"
......@@ -137,8 +137,7 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_update_transfer_bl_no_wizard
msgid ""
"<span class=\"label label-warning\">\n"
" If there is abnormal data, please download the error file, fix the data as prompted, and re-"
"import!\n"
" If there is abnormal data, please download the error file, fix the data as prompted, and re-import!\n"
" </span>"
msgstr ""
"<span class=\"label label-warning\">\n"
......@@ -180,8 +179,8 @@ msgstr "<span class=\"o_stat_text\">已理货大包</span>"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_update_transfer_bl_no_wizard
msgid ""
"<span style=\"color:red;font-size:15px;\">Tip: Please fill in the information strictly according to the template, otherwise the "
"system will not recognize it.\n"
"<span style=\"color:red;font-size:15px;\">Tip: Please fill in the information strictly according to the template, otherwise the system "
"will not recognize it.\n"
" </span>"
msgstr ""
"<span style=\"color:red;font-size:15px;\">提示:请务必按照模板填写信息,否则系统无法识别。\n"
......@@ -189,6 +188,7 @@ msgstr ""
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_create_and_get_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_lastmile_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_pod_info_wizard_form
msgid "<strong>Description:</strong>"
msgstr "<strong>说明:</strong>"
......@@ -198,9 +198,7 @@ msgstr "<strong>说明:</strong>"
msgid ""
"<strong>Get Cargo Terminal Pickup POD:</strong>\n"
" Generate a attachment information of the POD for picking up goods cargo station"
msgstr ""
"<strong>Get Cargo Terminal Pickup POD:</strong>\n"
" Generate a attachment information of the POD for picking up goods from TK cargo station"
msgstr "<strong>获取货运站提货POD:</strong>生成用于货站提货POD附件信息"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_create_and_get_pod_info_wizard_form
......@@ -225,6 +223,20 @@ msgid ""
" red boxes as node operation time"
msgstr "<strong>同步推送匹配节点:</strong>根据 POD 文件同步推送匹配的节点信息,提取时间作为节点运行时间"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_lastmile_pod_info_wizard_form
msgid ""
"<strong>Sync to TK:</strong>\n"
" Sync the attachment information to TK."
msgstr "<strong>同步至TK:</strong>将附件信息同步至TK。"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_lastmile_pod_info_wizard_form
msgid ""
"<strong>Upload to Last Mile POD:</strong>\n"
" Write fetched PDF to BL attachments with name \"Last Mile POD (pending big package count and box no.)\""
msgstr "<strong>上传到尾程交接POD(待大包数量和箱号):</strong>将获取的PDF写入提单附件,文件名为\"上传到尾程交接POD(待大包数量和箱号)\""
#. 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__select_tracking_no
......@@ -251,28 +263,28 @@ msgstr "地址3"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "API URL not configured"
msgstr "未配置 API URL"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "API request failed: %s"
msgstr "API 请求失败:%s"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "API returned empty response"
msgstr "API 返回空响应"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "API returned error: %s"
msgstr "API 返回错误:%s"
......@@ -346,22 +358,18 @@ msgstr ""
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_gst
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__actual_gst
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_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_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Actual GST"
msgstr "实际消费税"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__actual_gst_rate
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_gst_rate
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Actual GST Rate"
msgstr "实际消费税率"
......@@ -372,14 +380,11 @@ msgstr "实际消费税率"
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_tax
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__actual_tax
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_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_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Actual Tax"
msgstr "实际税收"
......@@ -389,14 +394,11 @@ msgstr "实际税收"
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_tax_currency
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__actual_tax_currency
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_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_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Actual Tax Currency"
msgstr "实际税收货币"
......@@ -415,8 +417,7 @@ msgstr "实际纳税日期"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__actual_tax_rate
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_tax_rate
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Actual Tax Rate"
msgstr "实际税率"
......@@ -439,22 +440,18 @@ msgstr "实际纳税时区"
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_vat
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__actual_vat
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_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_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Actual VAT"
msgstr "实际增值税"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__actual_vat_rate
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__actual_vat_rate
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Actual VAT Rate"
msgstr "实际增值税率"
......@@ -489,8 +486,7 @@ msgid "Api Customer"
msgstr "接口客户"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_associate_pallet
#: model_terms:ir.ui.view,arch_db:ccs_base.view_associate_pallet_wizard
#: model:ir.actions.act_window,name:ccs_base.action_associate_pallet model_terms:ir.ui.view,arch_db:ccs_base.view_associate_pallet_wizard
msgid "Associate Pallet"
msgstr "关联托盘"
......@@ -538,8 +534,7 @@ msgstr "提单列表"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_update_transfer_bl_no_wizard.py:0
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_no
#: code:addons/ccs_base/wizard/batch_update_transfer_bl_no_wizard.py:0 model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_no
#: model:ir.model.fields.selection,name:ccs_base.selection__export_bl_big_package_xlsx_wizard__file_name_type__bl_no
#, python-format
msgid "B/L No"
......@@ -613,17 +608,34 @@ msgstr "批量创建提单并获取货站提货POD信息"
msgid "Batch Download Last Mile POD"
msgstr "批量下载尾程快递POD"
#. module: ccs_base
#: model:ir.actions.server,name:ccs_base.bl_download_pod_server_action
msgid "Batch Download PickUp POD"
msgstr "批量下载货站提货POD"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0 model:ir.actions.server,name:ccs_base.bl_get_delivery_pod_info_server_action
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_lastmile_pod_info_wizard_form
#, python-format
msgid "Batch Get Last Mile POD Info"
msgstr "获取尾程快递POD"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: model:ir.actions.act_window,name:ccs_base.action_batch_get_pod_info_wizard
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0
#, python-format
msgid "Batch Get Last Mile POD Info Preview"
msgstr "批量获取尾程POD信息预览"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_batch_get_lastmile_pod_info_wizard
msgid "Batch Get Last Mile POD Info Wizard"
msgstr "批量获取尾程POD向导"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0 model:ir.actions.act_window,name:ccs_base.action_batch_get_pod_info_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_pod_info_wizard_form
#, python-format
msgid "Batch Get POD Info"
......@@ -646,11 +658,6 @@ msgstr "批量获取货站提货POD"
msgid "Batch Link Transfer B/L No"
msgstr "批量关联转单号"
#. module: ccs_base
#: model:ir.actions.server,name:ccs_base.bl_download_pod_server_action
msgid "Batch Download PickUp POD"
msgstr "批量下载货站提货POD"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_batch_update_transfer_bl_no_wizard
msgid "Batch Update Transfer B/L No Wizard"
......@@ -668,17 +675,14 @@ msgstr "批量更新小包状态向导"
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__big_package_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__big_package_id
#: 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_ship_package__big_package_id
#: model:ir.ui.menu,name:ccs_base.menu_cc_big_package model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__big_package_id model:ir.ui.menu,name:ccs_base.menu_cc_big_package
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_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_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_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_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#, python-format
......@@ -700,12 +704,10 @@ msgstr "大包号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__big_package_no
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_big_package__big_package_no
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_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_history_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_history_big_package_view
msgid "Big Package No."
msgstr "大包号"
......@@ -716,8 +718,8 @@ msgstr "大包号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__big_package_qty
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_total_big_qty
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_total_big_qty model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "Big Package Qty"
msgstr "大包数"
......@@ -755,17 +757,14 @@ msgstr "提单最后推送时间"
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_progress_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_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.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_progress_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_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_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_progress_view
......@@ -835,23 +834,20 @@ msgid "CC Attachments"
msgstr "清关文件"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_company_id
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_company_id model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "CC Company"
msgstr "清关公司"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_country_id
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_country_id model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "CC Country"
msgstr "清关国家"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_deadline
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_deadline model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "CC Deadline"
msgstr "清关截止日期"
......@@ -882,9 +878,8 @@ msgid "CC Node"
msgstr "清关进度节点"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_node_exception_reason
#: model:ir.model,name:ccs_base.model_cc_node_exception_reason model:ir.ui.menu,name:ccs_base.menu_cc_node_exception_reason
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_exception_reason_view
#: model:ir.actions.act_window,name:ccs_base.action_cc_node_exception_reason model:ir.model,name:ccs_base.model_cc_node_exception_reason
#: model:ir.ui.menu,name:ccs_base.menu_cc_node_exception_reason model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_exception_reason_view
msgid "CC Node Exception Reason"
msgstr "节点异常原因"
......@@ -913,8 +908,7 @@ msgid "CC info"
msgstr "清关信息"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__state__ccing
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__state__ccing model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "CCing"
msgstr "清关中"
......@@ -927,8 +921,7 @@ msgstr "城市"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__cod_amount
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__cod_amount
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "COD Amount"
msgstr "COD金额"
......@@ -955,8 +948,7 @@ msgstr "区县(EN)"
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cancel_reason
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__cancel_reason
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__cancel_reason
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
......@@ -970,10 +962,8 @@ msgstr "取消原因"
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_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_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_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_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Cancelled"
......@@ -1002,15 +992,13 @@ msgid "Chinese"
msgstr "中文"
#. module: ccs_base
#: 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.actions.act_window,name:ccs_base.action_cc_is_clearance_company model:ir.ui.menu,name:ccs_base.menu_cc_clearance_company
msgid "Clearance Company"
msgstr "清关公司"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_clearance_file model:ir.model,name:ccs_base.model_cc_clearance_file
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_clearance_file_view
msgid "Clearance File"
msgstr "清关文件"
......@@ -1027,8 +1015,7 @@ msgstr "清关文件"
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_input_ship_package_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_update_transfer_bl_no_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_bl_done_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_export_bl_big_package_xlsx_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_bl_done_wizard model_terms:ir.ui.view,arch_db:ccs_base.view_export_bl_big_package_xlsx_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_update_bl_status_wizard
msgid "Close"
msgstr "关闭"
......@@ -1045,8 +1032,7 @@ msgstr "公司"
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Company Code"
msgstr "公司编码"
......@@ -1064,8 +1050,8 @@ msgstr "配置设置"
#: model_terms:ir.ui.view,arch_db:ccs_base.view_add_exception_info_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_associate_pallet_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_create_and_get_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_bl_done_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_lastmile_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_pod_info_wizard_form model_terms:ir.ui.view,arch_db:ccs_base.view_bl_done_wizard
msgid "Confirm"
msgstr "确认"
......@@ -1083,8 +1069,7 @@ msgstr "联系人"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__container_no
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__container_no
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Container No"
msgstr "集装箱编号"
......@@ -1119,6 +1104,7 @@ msgstr "创建TEMU提单"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard__create_uid
......@@ -1150,6 +1136,7 @@ msgstr "创建人"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard__create_date
......@@ -1189,27 +1176,22 @@ msgstr "创建时间"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__currency
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__currency_id
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_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_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Currency"
msgstr "货币"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_progress
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_progress model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "Current CC Progress"
msgstr "当前清关进度"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_progress_date
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cc_progress_date model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "Current CC Progress Date"
msgstr "当前进度日期"
......@@ -1220,9 +1202,8 @@ msgstr "当前状态"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__partner_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__customer_id
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__customer_id model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "Customer"
msgstr "客户"
......@@ -1230,8 +1211,7 @@ msgstr "客户"
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__customer_ref
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__customer_ref
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__customer_ref
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Customer Ref"
msgstr "客户参考"
......@@ -1287,8 +1267,7 @@ msgstr "报关单明细行"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__declare_price
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__declare_price
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Declare Price"
msgstr "申报价格"
......@@ -1338,6 +1317,7 @@ msgstr "消费者地址"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__display_name
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__display_name
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__display_name
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__display_name
#: 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_update_transfer_bl_no_wizard__display_name
......@@ -1367,8 +1347,7 @@ msgid "Display Name"
msgstr "显示名称"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__state__done
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__state__done model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "Done"
msgstr "完成"
......@@ -1378,8 +1357,7 @@ msgid "Download Template"
msgstr "下载模版"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__state__draft
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__state__draft model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "Draft"
msgstr "未开始"
......@@ -1424,8 +1402,8 @@ msgid "End Port"
msgstr "目的地港口"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__end_port_code
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__end_port_code model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "End Port Code"
msgstr "目的地港口代码"
......@@ -1515,8 +1493,7 @@ msgstr "导出清关清单文件"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__export_hs_code
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__export_hs_code
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Export HSCode"
msgstr "出口HSCode"
......@@ -1540,15 +1517,14 @@ msgstr "导出报关文件"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "Failed to get PDF file from API: %s"
msgstr "从 API 获取 PDF 文件失败: %s"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__file
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
msgid "File"
msgstr "文件"
......@@ -1556,8 +1532,7 @@ msgstr "文件"
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard__file_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__attachment_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__file_name
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_clearance_file_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_clearance_file_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_clearance_file_view
msgid "File Name"
msgstr "文件名"
......@@ -1606,8 +1581,7 @@ msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__freight
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__freight
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Freight"
msgstr "运费"
......@@ -1617,16 +1591,14 @@ msgstr "运费"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__customer_id
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "From Customer"
msgstr "来自客户"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__gross_weight
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__gross_weight
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "GROSS WEIGHT"
msgstr "毛重"
......@@ -1636,6 +1608,11 @@ msgstr "毛重"
msgid "GROSS WEIGHT (KG)"
msgstr "毛重(公斤)"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__generate_successful_processed
msgid "Generate successful processed"
msgstr "生成处理成功的数据"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__get_last_mile_pod
msgid "Get PickUp POD"
......@@ -1652,8 +1629,7 @@ msgstr "赠品"
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_type
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Good Type"
msgstr "商品类型"
......@@ -1678,10 +1654,8 @@ msgid "Goods"
msgstr "商品信息"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_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_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_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_history_big_package_view
msgid "Goods Qty"
msgstr "商品数"
......@@ -1692,9 +1666,8 @@ msgstr "商品数"
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_sync_log_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_exception_reason_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_progress_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_exception_reason_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_progress_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
msgid "Group By"
msgstr "分组方式"
......@@ -1729,8 +1702,7 @@ msgid "Has Message"
msgstr ""
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_history_big_package
#: model:ir.ui.menu,name:ccs_base.menu_cc_history_big_package
#: model:ir.actions.act_window,name:ccs_base.action_cc_history_big_package model:ir.ui.menu,name:ccs_base.menu_cc_history_big_package
msgid "History Big Package"
msgstr "历史大包"
......@@ -1750,20 +1722,19 @@ msgid "History Package Goods"
msgstr "历史小包商品"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_history_ship_package
#: model:ir.ui.menu,name:ccs_base.menu_cc_history_ship_package
#: model:ir.actions.act_window,name:ccs_base.action_cc_history_ship_package model:ir.ui.menu,name:ccs_base.menu_cc_history_ship_package
msgid "History Ship Package"
msgstr "历史小包"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_bl_done_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__id model:ir.model.fields,field_description:ccs_base.field_cc_bl__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line__id
......@@ -1852,8 +1823,7 @@ msgstr "导入"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__import_hs_code
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__import_hs_code
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Import HSCode"
msgstr "进口HSCode"
......@@ -1873,8 +1843,7 @@ msgstr "个人"
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__internal_account_number
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__internal_account_number
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__internal_account_number
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Internal Account Number"
msgstr "内部帐号"
......@@ -1904,19 +1873,16 @@ msgstr "提单是否同步"
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__is_cancel
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__is_cancel
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__is_cancel
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__is_cancel
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__is_cancel model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_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_ship_package_view
msgid "Is Cancel"
msgstr "取消"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
msgid "Is Cancelled"
msgstr "取消"
......@@ -1988,8 +1954,7 @@ msgstr "是卡车转运"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__item_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_id
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Item ID"
msgstr "商品ID"
......@@ -2084,6 +2049,7 @@ msgstr "尾程服务商"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard____last_update
......@@ -2121,6 +2087,7 @@ msgstr "最近操作时间"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard__write_uid
......@@ -2152,6 +2119,7 @@ msgstr "最后更新人"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_batch_update_transfer_bl_no_wizard__write_date
......@@ -2200,8 +2168,7 @@ msgstr "上周小包"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__item_link
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_link
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Link"
msgstr "链接"
......@@ -2230,8 +2197,7 @@ msgstr "装载类型"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__logistic_order_no
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__logistic_order_no
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Logistic Order No"
msgstr "物流订单号"
......@@ -2337,8 +2303,7 @@ msgstr "节点名称"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__item_name_cn
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_name_cn
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Name CN"
msgstr "中文名称"
......@@ -2346,8 +2311,7 @@ msgstr "中文名称"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__item_name_en
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_name_en
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Name EN"
msgstr "英文名称"
......@@ -2397,11 +2361,9 @@ msgstr "下一阶段服务商"
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_big_package__next_provider_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__next_provider_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__next_provider_name
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
......@@ -2416,7 +2378,7 @@ msgstr "提单号"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "No PDF files found in API response"
msgstr "API调用成功,但没有PDF文件"
......@@ -2445,14 +2407,13 @@ msgid "Node Name"
msgstr "节点名称"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__seq
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__seq model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_view
msgid "Node Sequence"
msgstr "节点序号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__node_type
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__node_type model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_view
msgid "Node Type"
msgstr "节点类型"
......@@ -2468,8 +2429,7 @@ msgid "Not Finished Bill of Loading"
msgstr "未完成提单"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
msgid "Not Show Cancelled"
msgstr "不显示已取消的"
......@@ -2582,15 +2542,13 @@ msgstr "操作时间"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__origin_country
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__origin_country
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Origin Country"
msgstr "始发国"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
msgid "Other"
msgstr "其他信息"
......@@ -2601,11 +2559,13 @@ msgid "PDF File"
msgstr "PDF文件"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__pdf_file
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__pdf_file
msgid "PDF文件"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__pdf_filename
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__pdf_filename
msgid "PDF文件名称"
msgstr ""
......@@ -2640,8 +2600,7 @@ msgstr "小包"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_exception_info model:ir.model,name:ccs_base.model_cc_exception_info
#: model:ir.ui.menu,name:ccs_base.menu_exception_info model_terms:ir.ui.view,arch_db:ccs_base.view_exception_info_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_exception_info_search
#: model_terms:ir.ui.view,arch_db:ccs_base.view_exception_info_tree
#: model_terms:ir.ui.view,arch_db:ccs_base.view_exception_info_search model_terms:ir.ui.view,arch_db:ccs_base.view_exception_info_tree
msgid "Package Exception Information"
msgstr "包裹异常信息"
......@@ -2666,22 +2625,19 @@ msgstr "小包商品"
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__ship_package_qty
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_big_package__goods_qty
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_big_package__ship_package_qty
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_big_package_view
msgid "Package Qty"
msgstr "小包数"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__buyer_region
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__buyer_region
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Package Sell Country Code"
msgstr "包裹销售国家代码"
#. module: ccs_base
#: 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_history_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_history_big_package_view
msgid "Packages Qty"
msgstr "小包数"
......@@ -2761,7 +2717,7 @@ msgstr "请检查导入文件和内容是否正确,请根据模板文件导入
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#, python-format
msgid "Please configure %s file of the bill of loading first."
msgstr ""
msgstr "请先配置提单的 %s 文件。 "
#. module: ccs_base
#. odoo-python
......@@ -2798,6 +2754,7 @@ msgstr "请先上传需要更新的提单数据文件!"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_create_and_get_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_lastmile_pod_info_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_get_pod_info_wizard_form
msgid "Preview"
msgstr "预览"
......@@ -2859,8 +2816,7 @@ msgstr "进度状态"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__quantity
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__quantity
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Quantity"
msgstr "数量"
......@@ -2868,8 +2824,7 @@ msgstr "数量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__quantity_unit
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__quantity_unit
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Quantity Unit"
msgstr "数量单位"
......@@ -2952,56 +2907,49 @@ msgstr "提单总小包数"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_add_1
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_add_1
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver ADD 1"
msgstr "收件人地址1"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_add_2
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_add_2
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver ADD 2"
msgstr "收件人地址2"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_add_3
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_add_3
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver ADD 3"
msgstr "收件人地址3"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_city
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_city
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver CITY"
msgstr "收件人城市"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_county
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_county
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver COUNTY"
msgstr "收件人区县"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_county_translate
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_county_translate
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver COUNTY(EN)"
msgstr "收件人区县(EN)"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_email
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_email
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver EMAIL"
msgstr "收件人邮件"
......@@ -3014,24 +2962,21 @@ msgstr "收件人信息"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_name
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver NAME"
msgstr "收件人名称"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_phone
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_phone
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver PHONE"
msgstr "收件人电话"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_postcode
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_postcode
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver POSTCODE"
msgstr "收件人邮政编码"
......@@ -3039,16 +2984,14 @@ msgstr "收件人邮政编码"
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_type
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_type
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver TYPE"
msgstr "收件人类型"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__receiver_vat_no
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__receiver_vat_no
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Receiver VAT"
msgstr "收件人税号"
......@@ -3135,14 +3078,12 @@ msgstr "样品"
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_big_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
msgid "Search"
msgstr "模糊搜索"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_exception_reason_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_exception_reason_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_node_view
msgid "Search Node"
msgstr "查询节点"
......@@ -3189,40 +3130,35 @@ msgstr "发送邮件通知"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_add_1
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_add_1
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender ADD 1"
msgstr "发货人地址1"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_add_2
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_add_2
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender ADD 2"
msgstr "发货人地址2"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_add_3
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_add_3
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender ADD 3"
msgstr "发货人地址3"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_city
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_city
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender CITY"
msgstr "发货人城市"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_country
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_country
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender COUNTRY"
msgstr "发货人国家"
......@@ -3235,8 +3171,7 @@ msgstr "发货人信息"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_name
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender NAME"
msgstr "发货人名称"
......@@ -3244,32 +3179,28 @@ msgstr "发货人名称"
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_phone
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_phone
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender PHONE"
msgstr "发货人电话"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_postcode
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_postcode
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender POSTCODE"
msgstr "发件人邮政编码"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_state
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_state
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender State"
msgstr "发货人省份"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__sender_vat_no
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__sender_vat_no
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Sender VAT"
msgstr "发货人税号"
......@@ -3317,20 +3248,17 @@ msgstr "节点序号"
#: model:ir.model,name:ccs_base.model_cc_ship_package
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__bl_line_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_sync_log__package_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__bl_line_id
#: model:ir.ui.menu,name:ccs_base.menu_cc_ship_package model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_package_good_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__bl_line_id model:ir.ui.menu,name:ccs_base.menu_cc_ship_package
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_sync_log_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_history_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_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_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
#, python-format
msgid "Ship Package"
msgstr "小包"
......@@ -3361,11 +3289,23 @@ msgid "Shipping_fee"
msgstr "运费"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__show_error_message
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__show_error_message
msgid "Show Error Message"
msgstr "显示错误消息"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__show_sync_last_mile_pod
msgid "Show Sync Last Mile POD"
msgstr "显示同步尾程pod"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_lastmile_pod_info_wizard__generate_successful_processed
msgid "Show confirm button when there are successful processed files"
msgstr "显示确认按钮"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_lastmile_pod_info_wizard__show_error_message
#: model:ir.model.fields,help:ccs_base.field_batch_get_pod_info_wizard__show_error_message
msgid "Show error message"
msgstr "显示错误消息"
......@@ -3381,8 +3321,8 @@ msgid "Start Port"
msgstr "始发地港口"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__start_port_code
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__start_port_code model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "Start Port Code"
msgstr "始发地港口代码"
......@@ -3413,8 +3353,7 @@ msgid "Status"
msgstr "状态"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__activity_state
#: model:ir.model.fields,help:ccs_base.field_cc_bl__activity_state
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__activity_state model:ir.model.fields,help:ccs_base.field_cc_bl__activity_state
#: model:ir.model.fields,help:ccs_base.field_cc_history_big_package__activity_state
#: model:ir.model.fields,help:ccs_base.field_cc_history_ship_package__activity_state
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__activity_state
......@@ -3432,6 +3371,11 @@ msgstr ""
msgid "Submit"
msgstr "提交"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__sync_last_mile_pod
msgid "Sync Last Mile POD"
msgstr "同步尾程POD"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_history_ship_package_view
msgid "Sync Log"
......@@ -3486,8 +3430,7 @@ msgid "TEMU提单不支持获取货站提货POD信息,请点击批量创建提
msgstr ""
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_history_tt_api_log
#: model:ir.ui.menu,name:ccs_base.menu_history_flight_tt_api_log
#: model:ir.actions.act_window,name:ccs_base.action_history_tt_api_log model:ir.ui.menu,name:ccs_base.menu_history_flight_tt_api_log
#: model_terms:ir.ui.view,arch_db:ccs_base.form_history_tt_api_log_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_history_tt_api_log_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_history_tt_api_log_view
......@@ -3495,9 +3438,8 @@ msgid "TIKTOK推送日志"
msgstr ""
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_bl
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__bl_type__tk model:ir.ui.menu,name:ccs_base.menu_cc_bl
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.actions.act_window,name:ccs_base.action_cc_bl model:ir.model.fields.selection,name:ccs_base.selection__cc_bl__bl_type__tk
#: model:ir.ui.menu,name:ccs_base.menu_cc_bl model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "TK Bill of Loading"
msgstr "TK提单"
......@@ -3543,8 +3485,7 @@ msgid "TYPE"
msgstr "类型"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__is_pod_node
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__is_pod_node model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_node_view
msgid "Tail POD Node Match"
msgstr "尾程POD节点匹配"
......@@ -3594,8 +3535,7 @@ msgstr "税的状态"
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_tax_status
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_history_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Tax Status"
msgstr "商品交税情况"
......@@ -3677,9 +3617,7 @@ msgstr "所选操作时间超过 %s 小时,请重新确认操作时间"
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#, python-format
msgid ""
"The small package node or bill of lading node is not in the completed node, and the bill of lading cannot be changed to "
"completed!"
msgid "The small package node or bill of lading node is not in the completed node, and the bill of lading cannot be changed to completed!"
msgstr "小包节点或提单节点不在已完成节点,提单不能变为已完成!"
#. module: ccs_base
......@@ -3741,23 +3679,20 @@ msgid "Today's ship package"
msgstr "今日小包"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_total_amount
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_total_amount model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "Total Amount"
msgstr "提单总金额"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_total_qty
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__bl_total_qty model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
msgid "Total Goods Qty"
msgstr "提单总数量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__item_total_price
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__item_total_price
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Total Price"
msgstr "货物总价"
......@@ -3788,16 +3723,14 @@ msgstr "追踪号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__trade_no
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__trade_no
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Trade No"
msgstr "交易单号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__trade_type
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__trade_type model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_bl_view
msgid "Trade Type"
msgstr "交易类型"
......@@ -3837,14 +3770,12 @@ msgid "Transfer Bill of Loading No."
msgstr "转单号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__transport_tool_code
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__transport_tool_code model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
msgid "Transport Code"
msgstr "运输工具代码"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__transport_tool_name
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__transport_tool_name model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
msgid "Transport Name"
msgstr "运输工具名称"
......@@ -3892,8 +3823,8 @@ msgid "Unsync"
msgstr "未同步"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_batch_input_bl_status_wizard
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view model_terms:ir.ui.view,arch_db:ccs_base.view_update_bl_status_wizard
#: model:ir.actions.act_window,name:ccs_base.action_batch_input_bl_status_wizard model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
#: model_terms:ir.ui.view,arch_db:ccs_base.view_update_bl_status_wizard
msgid "Update Bill Of Loading Status"
msgstr "更新提单状态"
......@@ -3944,6 +3875,11 @@ msgstr "更新提单状态"
msgid "Update the status of the small package"
msgstr "更新小包状态"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__get_last_mile_pod
msgid "Upload Last Mile POD"
msgstr "上传到尾程交接POD(待大包数量和箱号)"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__usage_date
msgid "Usage Date"
......@@ -3952,8 +3888,7 @@ msgstr "使用日期"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__user_track_note
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__user_track_note
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "User Tracking Note"
msgstr "用户发货备注"
......@@ -3968,8 +3903,7 @@ msgstr "税号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__vat_rate
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__vat_rate
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "VAT Rate"
msgstr "VAT税率"
......@@ -3988,8 +3922,7 @@ msgstr "宽度"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_package_good__weight
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__weight
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_package_good_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_package_good_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_package_good_view
msgid "Weight"
msgstr "重量"
......@@ -3997,8 +3930,7 @@ msgstr "重量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_history_ship_package__weight_unit
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__weight_unit
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_ship_package_view model_terms:ir.ui.view,arch_db:ccs_base.search_cc_ship_package_view
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
msgid "Weight Unit"
msgstr "重量单位"
......@@ -4011,7 +3943,7 @@ msgstr "是否分大包导出"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_pod_info_wizard__get_last_mile_pod
msgid "Whether to get pickup POD information"
msgstr ""
msgstr "是否获取货站提货POD"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_pod_info_wizard__remove_specified_text
......@@ -4028,10 +3960,15 @@ msgstr "是否跳过OCR处理直接使用AI处理(用于测试AI)"
msgid "Whether to sync and push matched node information"
msgstr "是否同步推送匹配节点信息"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_lastmile_pod_info_wizard__sync_last_mile_pod
msgid "Whether to sync last mile POD information"
msgstr "是否同步尾程POD信息"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_pod_info_wizard__sync_last_mile_pod
msgid "Whether to sync pickup POD information"
msgstr "是否同步尾程POD信息"
msgstr "是否同步货站提货POD信息"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__export_bl_big_package_xlsx_wizard__select_type__yes
......@@ -4233,8 +4170,7 @@ msgid "原小包商品id"
msgstr ""
#. module: ccs_base
#: model:ir.actions.server,name:ccs_base.cron_update_history_data_ir_actions_server
#: model:ir.cron,cron_name:ccs_base.cron_update_history_data
#: model:ir.actions.server,name:ccs_base.cron_update_history_data_ir_actions_server model:ir.cron,cron_name:ccs_base.cron_update_history_data
msgid "同步历史数据"
msgstr ""
......@@ -4249,6 +4185,7 @@ msgid "失败原因"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_lastmile_pod_info_wizard__processed_files_data
#: model:ir.model.fields,help:ccs_base.field_batch_get_pod_info_wizard__processed_files_data
msgid "存储已处理的文件信息(JSON格式)"
msgstr ""
......@@ -4261,6 +4198,7 @@ msgid "导出报关文件"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_lastmile_pod_info_wizard__processed_files_data
#: model:ir.model.fields,field_description:ccs_base.field_batch_get_pod_info_wizard__processed_files_data
msgid "已处理的文件数据"
msgstr ""
......@@ -4317,6 +4255,7 @@ msgid "本周日志"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_batch_get_lastmile_pod_info_wizard__pdf_file
#: model:ir.model.fields,help:ccs_base.field_batch_get_pod_info_wizard__pdf_file
msgid "涂抹后的所有pdf文件合并为一个pdf文件"
msgstr ""
......@@ -4380,7 +4319,7 @@ msgstr ""
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#: code:addons/ccs_base/wizard/batch_get_lastmile_pod_info_wizard.py:0 code:addons/ccs_base/wizard/batch_get_pod_info_wizard.py:0
#, python-format
msgid "预览操作失败: %s"
msgstr ""
......@@ -1263,9 +1263,9 @@ class CcBL(models.Model):
'name': _('Batch Get Last Mile POD Info'),
'type': 'ir.actions.act_window',
'view_mode': 'form',
'res_model': 'batch.get.pod.info.wizard',
'context': {'active_id': self.ids, 'default_action_type': '获取尾程POD信息'},
'views': [[self.env.ref('ccs_base.view_batch_get_pod_info_wizard_form').id, "form"]],
'res_model': 'batch.get.lastmile.pod.info.wizard',
'context': {'active_id': self.ids},
'views': [[self.env.ref('ccs_base.view_batch_get_lastmile_pod_info_wizard_form').id, "form"]],
'target': 'new',
}
......
......@@ -8,6 +8,7 @@ batch_update_transfer_bl_no_wizard_group_user,batch_update_transfer_bl_no_wizard
bl_done_wizard_group_user,bl_done_wizard_group_user,ccs_base.model_bl_done_wizard,base.group_user,1,1,1,1
batch_get_pod_info_wizard_group_user,batch_get_pod_info_wizard_group_user,ccs_base.model_batch_get_pod_info_wizard,base.group_user,1,1,1,1
access_group_user_common_common,access_group_user_common_common,model_common_common,base.group_user,1,1,1,1
batch_get_lastmile_pod_info_wizard_group_user,batch_get_lastmile_pod_info_wizard_group_user,ccs_base.model_batch_get_lastmile_pod_info_wizard,base.group_user,1,1,1,1
access_cc_node_base.group_user,cc_node base.group_user,ccs_base.model_cc_node,base.group_user,1,0,0,0
......
......@@ -8,4 +8,6 @@ from . import update_bl_status_wizard
from . import batch_update_transfer_bl_no_wizard
from . import bl_done_wizard
from . import batch_get_pod_info_wizard
from . import batch_get_lastmile_pod_info_wizard
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import base64
import json
import logging
import time
from datetime import datetime, timedelta
import requests
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
_logger = logging.getLogger(__name__)
class BatchGetLastMilePodInfoWizard(models.TransientModel):
_name = 'batch.get.lastmile.pod.info.wizard'
_description = 'Batch Get Last Mile POD Info Wizard' # 批量获取尾程POD信息向导
def get_order(self):
"""
得到单据
:return:
"""
order_id = self._context.get('active_id')
if type(order_id) != list:
order_id = [self._context.get('active_id')]
return self.env['cc.bl'].browse(order_id)
get_last_mile_pod = fields.Boolean(
string='Upload Last Mile POD', # 上传到尾程交接POD(待大包数量和箱号)
default=True
)
sync_last_mile_pod = fields.Boolean(
string='Sync Last Mile POD',
default=True,
help='Whether to sync last mile POD information'
)
show_sync_last_mile_pod = fields.Boolean(
string='Show Sync Last Mile POD',
compute='_compute_show_sync_last_mile_pod',
store=False
)
generate_successful_processed = fields.Boolean(
string='Generate successful processed',
default=False,
help='Show confirm button when there are successful processed files'
)
show_error_message = fields.Text(
string='Show Error Message',
help='Show error message'
)
# PDF相关字段
pdf_file = fields.Binary(string='PDF文件', help='涂抹后的所有pdf文件合并为一个pdf文件')
pdf_filename = fields.Char(string='PDF文件名称')
processed_files_data = fields.Text(string='已处理的文件数据', help='存储已处理的文件信息(JSON格式)')
def _get_bill_numbers(self, bl_objs):
_logger.info(f"开始预览操作,提单数量: {len(bl_objs)}")
# 调用接口获取提单pdf文件
pdf_file_arr = self._get_pdf_file_arr(bl_objs)
# 处理PDF文件,匹配提单对象
processed_files = self._match_bl_by_file_name(pdf_file_arr, bl_objs)
# 把没有匹配到文件的进行提示
error_bl = []
matched_bl_ids = [f['bl'].id for f in processed_files if f.get('bl')]
for bl in bl_objs:
if bl.id not in matched_bl_ids:
error_bl.append(bl)
if error_bl:
logging.info('%s个提单没有获取到尾程快递POD文件' % len(error_bl))
if not self._context.get('is_skip_raise_error'):
self.show_error_message = '%s 没有获取到尾程快递POD文件' % (
', '.join([bl.bl_no for bl in error_bl]))
return processed_files
def action_preview(self):
"""
预览操作:获取PDF、合并PDF并显示
"""
self.show_error_message = False
try:
bl_objs = self.get_order() # 获取提单
# 处理PDF文件,匹配提单对象
processed_files = self._get_bill_numbers(bl_objs)
if processed_files:
self.processed_files_data = self._serialize_processed_files(processed_files)
successful_bl_data = []
for file_info in processed_files:
if file_info.get('bl_no'):
bl_no = file_info['bl_no']
successful_bl_data.append({
'bl_no': bl_no
})
self._merge_pdf_files(processed_files)
# 返回表单视图
return {
'type': 'ir.actions.act_window',
'name': _('Batch Get Last Mile POD Info Preview'),
'res_model': 'batch.get.lastmile.pod.info.wizard',
'view_mode': 'form',
'res_id': self.id,
'target': 'new',
'context': {'active_id': bl_objs.ids if bl_objs else False},
}
except Exception as e:
_logger.error(f"预览操作失败: {str(e)}")
self.show_error_message = _('预览操作失败: %s') % str(e)
return {
'type': 'ir.actions.act_window',
'name': _('Batch Get Last Mile POD Info Preview'),
'res_model': 'batch.get.lastmile.pod.info.wizard',
'view_mode': 'form',
'res_id': self.id,
'target': 'new',
'context': {'active_id': self._context.get('active_id', [])},
}
def confirm(self):
"""
Confirm operation # 确认操作
"""
# 计算整个过程的耗时
start_time = time.time()
self.show_error_message = False
bl_objs = self.get_order()
if self.get_last_mile_pod:
# 优先使用已处理的文件数据(预览时已处理)
processed_files = None
if self.processed_files_data:
processed_files = self._deserialize_processed_files(self.processed_files_data)
_logger.info(f"使用已处理的文件数据,共 {len(processed_files)} 个文件")
# 检查文件数据是否完整
valid_files = []
for file_info in processed_files:
if file_info.get('file_data'):
valid_files.append(file_info)
else:
_logger.warning(f"提单 {file_info.get('bl', {}).get('bl_no', 'Unknown')} 的文件数据为空")
processed_files = valid_files
_logger.info(f"有效文件数量: {len(processed_files)}")
# 直接根据processed_files中的processing_failed标志筛选成功处理的文件,无需从文本解析
successful_processed_files = []
if processed_files:
for file_info in processed_files:
# 检查是否有bl对象和有文件数据
if not file_info.get('bl'):
continue
file_data = file_info.get('file_data', '')
# 检查处理是否失败(通过processing_failed标记)
processing_failed = file_info.get('processing_failed', False)
# 如果有文件数据且未标记为失败,则认为处理成功
if file_data and not processing_failed:
successful_processed_files.append(file_info)
_logger.info(f"从{len(processed_files)}个文件中筛选出{len(successful_processed_files)}个成功处理的文件")
else:
_logger.warning("没有找到已处理的文件数据")
# 回写到附件信息
if successful_processed_files and (self.sync_last_mile_pod or self.get_last_mile_pod):
# 回写PDF文件到清关文件
self._write_pdf_file(successful_processed_files)
# 再同步和回写
if self.sync_last_mile_pod and successful_processed_files:
self._sync_last_mile_pod(successful_processed_files)
# 清理所有临时文件(包括数据库记录和物理文件),不能删,不然回写的时候没有文件了
self._cleanup_temp_attachments(bl_objs)
end_time = time.time()
_logger.info(f"批量获取POD信息操作完成,耗时: {end_time - start_time}秒")
if self.show_error_message and not self._context.get('is_skip_raise_error'):
return {
'type': 'ir.actions.act_window',
'res_model': 'batch.get.lastmile.pod.info.wizard',
'name': _('Batch Get Last Mile POD Info Preview'),
'view_mode': 'form',
'res_id': self.id,
'target': 'new',
'context': {'default_show_error_message': self.show_error_message,
'active_id': bl_objs.ids if bl_objs else False},
}
# 写一个方法调接口获取提单pdf文件
def _get_pdf_file_arr(self, bl_objs):
"""
从API获取PDF文件
"""
bill_numbers = [self.env['common.common'].sudo().process_match_str(bl.bl_no) for bl in bl_objs]
# 调用API获取PDF文件
api_url = self.env['ir.config_parameter'].sudo().get_param('last_mile_pod_api_url',
'http://172.104.52.150:7002')
if not api_url:
raise ValidationError(_('API URL not configured'))
# 构建请求数据
request_data = {
"bill_numbers": bill_numbers
}
try:
response = requests.post(
f"{api_url}/api/pod/pdfs",
headers={'Content-Type': 'application/json', 'Accept': 'application/json'},
json=request_data,
timeout=30
)
if response.status_code == 200:
result = response.json()
# 检查API响应结构
if not result:
raise ValidationError(_('API returned empty response'))
if not result.get('success'):
error_msg = result.get('message', 'Unknown error')
raise ValidationError(_('API returned error: %s') % error_msg)
# 处理结果数据
results = result.get('results', [])
if not results:
raise ValidationError(_('No PDF files found in API response'))
# 构建PDF文件数组
pdf_file_arr = []
for result_item in results:
if result_item.get('success'):
# 验证必要字段
bill_number = result_item.get('bill_number')
filename = result_item.get('filename')
base64_data = result_item.get('base64')
pdf_file_arr.append({
'bl_no': bill_number,
'file_name': filename,
'file_data': base64_data
})
return pdf_file_arr
else:
raise ValidationError(_('Failed to get PDF file from API: %s') % response.text)
except requests.exceptions.RequestException as e:
raise ValidationError(_('API request failed: %s') % str(e))
def _write_pdf_file(self, processed_files, fix_name='尾程交接POD(待大包数量和箱号)'):
"""
Write PDF file to clearance files # 回写PDF文件到清关文件
:param processed_files: 处理后的文件数组
:param fix_name:
"""
for file_info in processed_files:
if not file_info.get('bl'):
_logger.warning("跳过没有提单信息的文件")
continue
bl = file_info['bl']
file_name = file_info.get('file_name', '')
file_data = file_info.get('file_data', '')
if not file_data:
continue
# 如果有文件为空的就回写,否则就创建新的清关文件记录
clearance_file = self.env['cc.clearance.file'].search(
[('bl_id', '=', bl.id), ('file_name', '=', fix_name), ('file', '=', False)], limit=1)
if clearance_file:
clearance_file.write({
'attachment_name': file_name,
'file': file_data
})
_logger.info(f"更新清关文件记录: 提单 {bl.bl_no}")
else:
# 创建新的清关文件记录
clearance_file = self.env['cc.clearance.file'].create({
'bl_id': bl.id,
'file_name': fix_name,
'attachment_name': file_name,
'file': file_data
})
_logger.info(f"创建新的清关文件记录: 提单 {bl.bl_no}")
file_info['clearance_file'] = clearance_file
def _merge_pdf_files(self, processed_files):
"""
合并所有涂抹后的PDF文件为一个PDF并保存到pdf_file字段
使用临时文件方式减少内存占用
:param processed_files: 处理后的文件数组
"""
import fitz # PyMuPDF
from datetime import datetime
import tempfile
import os
import gc
temp_file_path = None
try:
# 过滤有效的PDF文件
valid_files = []
for file_info in processed_files:
if file_info.get('bl_no') and file_info.get('file_data'):
valid_files.append(file_info)
if not valid_files:
_logger.warning("没有有效的PDF文件可以合并")
return
# 如果只有一个PDF文件,直接使用,不需要合并
if len(valid_files) == 1:
file_info = valid_files[0]
bl = file_info['bl']
bl_no = bl.bl_no
file_data = file_info['file_data']
file_name = file_info.get('file_name', f"{bl_no}.pdf")
# 生成文件名(包含提单号和日期)
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
pdf_filename = f"POD文件_{bl_no}_{timestamp}.pdf"
# 直接保存到字段
self.write({
'pdf_file': file_data,
'pdf_filename': pdf_filename
})
_logger.info(f"单个PDF文件直接保存: {pdf_filename}")
return
# 多个PDF文件需要合并
_logger.info(f"开始合并 {len(valid_files)} 个PDF文件")
# 使用临时文件方式合并,避免内存占用过大
temp_file_path = tempfile.mktemp(suffix='.pdf')
merged_pdf = fitz.open()
bl_numbers = []
# 遍历所有处理后的PDF文件,分批处理以减少内存占用
batch_size = 5 # 每批处理5个PDF
for batch_start in range(0, len(valid_files), batch_size):
batch_files = valid_files[batch_start:batch_start + batch_size]
_logger.info(f"处理第 {batch_start // batch_size + 1} 批,共 {len(batch_files)} 个PDF")
for file_info in batch_files:
bl = file_info['bl']
bl_no = bl.bl_no
file_data = file_info['file_data']
bl_numbers.append(bl_no)
source_pdf = None
try:
# 将base64数据转换为二进制
pdf_binary = base64.b64decode(file_data)
# 打开PDF文档
source_pdf = fitz.open(stream=pdf_binary, filetype="pdf")
# 将源PDF的所有页面插入到合并的PDF中
merged_pdf.insert_pdf(source_pdf)
_logger.info(f"已添加提单 {bl_no} 的PDF到合并文档({len(source_pdf)} 页)")
except Exception as e:
_logger.error(f"合并提单 {bl_no} 的PDF失败: {str(e)}")
continue
finally:
# 立即释放资源
if source_pdf:
source_pdf.close()
gc.collect() # 强制垃圾回收
# 每批处理完后,保存到临时文件并释放内存
if batch_start + batch_size < len(valid_files):
# 保存当前合并结果到临时文件
merged_pdf.save(temp_file_path, garbage=4, deflate=True, clean=True)
merged_pdf.close()
# 重新打开临时文件继续合并
merged_pdf = fitz.open(temp_file_path)
gc.collect()
# 如果有页面,保存合并后的PDF
if len(merged_pdf) > 0:
# 使用临时文件保存,减少内存占用
if not temp_file_path:
temp_file_path = tempfile.mktemp(suffix='.pdf')
merged_pdf.save(temp_file_path, garbage=4, deflate=True, clean=True)
merged_pdf.close()
# 从临时文件读取并转换为base64
with open(temp_file_path, 'rb') as f:
pdf_data = f.read()
# 转换为base64
merged_pdf_base64 = base64.b64encode(pdf_data).decode('utf-8')
# 清理临时数据
del pdf_data
gc.collect()
# 生成文件名(包含提单号和日期)
bl_numbers_str = '_'.join(bl_numbers[:5]) # 最多显示5个提单号
if len(bl_numbers) > 5:
bl_numbers_str += f'_等{len(bl_numbers)}个'
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
pdf_filename = f"合并POD文件_{bl_numbers_str}_{timestamp}.pdf"
# 保存到字段
self.write({
'pdf_file': merged_pdf_base64,
'pdf_filename': pdf_filename
})
# 清理base64数据
del merged_pdf_base64
gc.collect()
_logger.info(f"成功合并 {len(bl_numbers)} 个PDF文件,文件名: {pdf_filename}")
else:
_logger.warning("没有有效的PDF文件可以合并")
except Exception as e:
_logger.error(f"合并PDF文件失败: {str(e)}")
finally:
# 清理临时文件
if temp_file_path and os.path.exists(temp_file_path):
try:
os.remove(temp_file_path)
_logger.info(f"已删除临时文件: {temp_file_path}")
except Exception as e:
_logger.warning(f"删除临时文件失败: {str(e)}")
def _match_bl_by_file_name(self, pdf_file_arr, bl_obj):
"""
Match BL by file name and return processed array # 根据文件名匹配提单并返回处理后的数组
:param pdf_file_arr: PDF文件数组 [{'bill_number':'', 'filename':'', 'file_data':''}]
:return: 处理后的数组 [{'bl': bl_obj, 'file_name': 'xxx.pdf', 'file_data': 'xxx', 'matched': True/False}]
"""
processed_files = []
for bl in bl_obj:
select_bl_no = self.env['common.common'].sudo().process_match_str(bl.bl_no)
for pdf_file in pdf_file_arr:
file_name = pdf_file.get('file_name') # 获取文件名
file_data = pdf_file.get('file_data') # 获取文件数据
bl_no = self.env['common.common'].sudo().process_match_str(pdf_file.get('bl_no')) # 获取提单号
if bl_no and select_bl_no == bl_no:
# 构建处理后的文件信息
processed_file = {
'bl': bl,
'file_name': file_name,
'file_data': file_data,
'bl_no': bl.bl_no,
'processing_failed': False,
}
processed_files.append(processed_file)
break
return processed_files
def _sync_last_mile_pod(self, processed_files):
"""
Sync last mile POD information
:param processed_files: 处理后的文件数组
"""
is_fail = [] # 同步失败
for file_info in processed_files:
if not file_info['bl']:
continue
bl = file_info['bl']
if bl.bl_type == 'temu':
continue
# 查找清关文件并执行同步
clearance_file = file_info.get('clearance_file')
if clearance_file:
try:
clearance_file.action_sync() # 同步尾程交接POD
except Exception as e:
logging.info('_sync_last_mile_pod:%s' % e)
is_fail = True
break
_logger.info(f"Successfully synced POD for BL {bl.bl_no}")
if is_fail:
raise ValidationError('本次同步失败,请重试!')
def get_date_sync_match_node(self, processed_files):
"""
Sync matched node based on POD file, extract time from red boxes # 根据POD文件同步匹配节点
:param processed_files: 处理后的文件数组
"""
ship_packages, pod_node_id = self.get_detail_info(processed_files)
self._sync_match_node(ship_packages, pod_node_id)
def get_detail_info(self, processed_files):
"""
获取提单对应的节点以及时间
:param processed_files: 处理后的文件数组(应该已经包含valid_packages字段,只包含满足条件的小包)
:return: 提单对应的节点以及节点操作时间
"""
ship_packages = []
# 查找对应的清关节点(勾选了POD节点匹配的节点)
pod_node = self.env['cc.node'].search([
('is_pod_node', '=', True),
('node_type', '=', 'package')
], limit=1)
for file_info in processed_files:
if not file_info.get('bl'):
continue
bl = file_info['bl']
if not pod_node:
continue
# 只使用满足条件的小包(经过验证的valid_packages)
valid_packages = file_info.get('valid_packages', [])
if not valid_packages:
_logger.warning(f"提单 {bl.bl_no} 没有满足条件的小包,跳过节点推送")
continue
# 从valid_packages中提取小包ID(记录集对象或列表)
if hasattr(valid_packages, 'ids'):
# 如果是记录集对象,直接获取IDs
valid_package_ids = valid_packages.ids
elif isinstance(valid_packages, list):
# 如果是列表,提取每个对象的ID
valid_package_ids = [p.id for p in valid_packages if hasattr(p, 'id')]
else:
_logger.warning(f"提单 {bl.bl_no} valid_packages格式不正确: {type(valid_packages)}")
valid_package_ids = []
_logger.info(f"提单 {bl.bl_no} 满足条件的小包ID: {valid_package_ids} (共 {len(valid_package_ids)} 个)")
if not valid_package_ids:
_logger.warning(f"提单 {bl.bl_no} 满足条件的小包ID为空,跳过节点推送")
continue
# 从PDF文件提取红色框的时间
file_data = file_info.get('file_data')
if not file_data:
logging.info(f"提单 {bl.bl_no} 没有文件数据")
continue
ship_packages.append({
'bl_id': bl.id,
'id': valid_package_ids, # 只包含满足条件的小包ID
'tally_time': str(file_info.get('tally_time'))
})
return ship_packages, pod_node.id
def _sync_match_node(self, ship_packages, pod_node_id):
"""
同步匹配节点
:param ship_packages: 提单对应的小包以及节点信息
:param pod_node_id: 尾程POD节点匹配的节点ID
"""
# 若该提单里已有对应的小包已有节点推送日志,则不再重新推送;
_logger.info(f"同步匹配节点,提单: {ship_packages}, 节点: {pod_node_id}")
if ship_packages:
bl_objs = self.env['cc.bl'].sudo().search(
[('id', 'in', [ship_package.get('bl_id') for ship_package in ship_packages])])
redis_conn = self.env['common.common'].sudo().get_redis()
if redis_conn and redis_conn != 'no' and pod_node_id:
redis_conn.lpush('mail_push_package_list', json.dumps(
{'ids': bl_objs.ids, 'ship_packages': str(ship_packages), 'action_type': 'push_match_node',
'user_login': self.env.user.login,
'pod_node_id': pod_node_id}))
def _cleanup_temp_attachments(self, bl_objs=None):
"""
清理与当前向导相关的临时附件,包括服务器和本地开发环境的物理文件
"""
try:
attachments = self.env['ir.attachment'].search([
('res_model', '=', bl_objs[0]._name),
('res_id', 'in', bl_objs.ids),
('name', 'like', 'temp_pod_%')
])
if attachments:
# 删除数据库记录
attachments.unlink()
except Exception as e:
_logger.error(f"清理临时附件失败: {str(e)}")
def _serialize_processed_files(self, processed_files):
"""
将processed_files序列化为JSON字符串,文件数据存储到临时附件中
:param processed_files: 处理后的文件数组
:return: JSON字符串(只包含引用信息,不包含文件数据)
"""
# 注意:不在这里清理临时附件,因为预览时需要保留附件数据
# 只有在确认操作完成后才清理临时附件
serialized_data = []
for file_info in processed_files:
if not file_info.get('bl'):
continue
bl = file_info['bl']
file_data = file_info.get('file_data', '')
file_name = file_info.get('file_name', f"{bl.bl_no}.pdf")
# 将文件数据存储到临时附件中
attachment_id = None
if file_data:
try:
attachment = self.env['ir.attachment'].create({
'name': f"temp_pod_{bl.bl_no}_{int(time.time())}.pdf",
'datas': file_data,
'type': 'binary',
'res_model': bl._name,
'res_id': bl.id,
})
attachment_id = attachment.id
_logger.info(f"已创建临时附件存储文件: {attachment.name}, ID: {attachment_id}")
except Exception as e:
_logger.error(f"创建临时附件失败: {str(e)}")
else:
_logger.warning(f"提单 {bl.bl_no} 的文件数据为空,无法创建附件")
data = {
'bl_id': bl.id,
'bl_no': bl.bl_no,
'file_name': file_name,
'attachment_id': attachment_id, # 存储附件ID而不是文件数据
}
# OCR文本数据量小,可以直接存储
if 'ocr_texts' in file_info:
data['ocr_texts'] = file_info['ocr_texts']
# 保存valid_packages的ID列表(记录集对象无法直接序列化)
if 'valid_packages' in file_info and file_info['valid_packages']:
valid_packages = file_info['valid_packages']
# 如果是记录集对象,提取ID列表
if hasattr(valid_packages, 'ids'):
data['valid_package_ids'] = valid_packages.ids
elif isinstance(valid_packages, list):
# 如果是列表,提取每个对象的ID
data['valid_package_ids'] = [p.id for p in valid_packages if hasattr(p, 'id')]
else:
data['valid_package_ids'] = []
_logger.info(
f"序列化时保存valid_packages: 提单 {bl.bl_no}, 满足条件的小包ID: {data['valid_package_ids']}")
serialized_data.append(data)
return json.dumps(serialized_data, ensure_ascii=False)
def _deserialize_processed_files(self, json_data):
"""
将JSON字符串反序列化为processed_files(从附件中读取文件数据)
:param json_data: JSON字符串
:return: 处理后的文件数组
"""
if not json_data:
return []
try:
serialized_data = json.loads(json_data)
processed_files = []
for data in serialized_data:
bl_id = data.get('bl_id')
attachment_id = data.get('attachment_id')
if bl_id:
bl = self.env['cc.bl'].browse(bl_id)
if bl.exists():
# 从附件中读取文件数据
file_data = ''
if attachment_id:
try:
attachment = self.env['ir.attachment'].browse(attachment_id)
if attachment.exists():
# attachment.datas 已经是 base64 编码的字符串
file_data = attachment.datas
_logger.info(
f"从附件读取文件: {attachment.name}, ID: {attachment_id}, 数据长度: {len(file_data) if file_data else 0}")
else:
_logger.warning(f"附件不存在: {attachment_id}")
except Exception as e:
_logger.error(f"读取附件失败: {str(e)}")
else:
_logger.warning(f"提单 {bl.bl_no} 没有附件ID,无法读取文件数据")
file_info = {
'bl': bl,
'bl_no': data.get('bl_no', ''),
'file_name': data.get('file_name', ''),
'file_data': file_data,
}
# 如果有OCR文本,也恢复
if 'ocr_texts' in data:
file_info['ocr_texts'] = data['ocr_texts']
# 恢复valid_packages(从ID列表重建记录集对象)
if 'valid_package_ids' in data and data['valid_package_ids']:
valid_package_ids = data['valid_package_ids']
# 重建记录集对象
valid_packages = self.env['cc.ship.package'].browse(valid_package_ids)
file_info['valid_packages'] = valid_packages
_logger.info(
f"反序列化时恢复valid_packages: 提单 {bl.bl_no}, 满足条件的小包ID: {valid_package_ids}, 数量: {len(valid_packages)}")
processed_files.append(file_info)
return processed_files
except Exception as e:
_logger.error(f"反序列化processed_files失败: {str(e)}")
return []
@api.model
def cron_cleanup_temp_attachments(self):
"""
定时清理向导生成的临时附件
每天早上8点执行,删除1天之前创建的temp_pod_开头的附件
"""
try:
# 计算1天前的时间(前一天23:59:59)
today = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
one_day_ago = today + timedelta(days=2) - timedelta(seconds=1) # 前一天23:59:59
_logger.info(f"开始执行定时清理临时附件任务,清理时间点: {one_day_ago.strftime('%Y-%m-%d %H:%M:%S')}")
# 构建SQL查询
sql_query = """
SELECT id, name, res_model, res_id, create_date, store_fname
FROM ir_attachment
WHERE res_model = 'batch.get.pod.info.wizard'
AND create_date < '%s'
ORDER BY create_date DESC
""" % (one_day_ago.strftime('%Y-%m-%d %H:%M:%S'))
# 执行SQL查询
self.env.cr.execute(sql_query)
sql_results = self.env.cr.fetchall()
# 将SQL结果转换为Odoo记录集
if sql_results:
attachment_ids = [result[0] for result in sql_results]
temp_attachments = self.env['ir.attachment'].sudo().browse(attachment_ids)
attachment_count = len(temp_attachments)
_logger.info(f"找到 {attachment_count} 个{one_day_ago.strftime('%Y-%m-%d')}之前创建的临时附件,开始清理")
# 删除物理文件
for attachment in temp_attachments:
try:
# 获取附件的物理文件路径
if hasattr(attachment, 'store_fname') and attachment.store_fname:
# Odoo 12+ 使用 store_fname
file_path = attachment.store_fname
elif hasattr(attachment, 'datas_fname') and attachment.datas_fname:
# 旧版本使用 datas_fname
file_path = attachment.datas_fname
else:
# 尝试从 name 字段构建路径
file_path = attachment.name
# 构建完整的文件路径
import os
from odoo.tools import config
# 获取 Odoo 数据目录
data_dir = config.filestore(self.env.cr.dbname)
if data_dir and file_path:
full_path = os.path.join(data_dir, file_path)
if os.path.exists(full_path):
os.remove(full_path)
except Exception as file_e:
_logger.warning(f"删除物理文件失败 {attachment.name}: {str(file_e)}")
# 删除数据库记录
temp_attachments.unlink()
except Exception as e:
_logger.error(f"定时清理临时附件失败: {str(e)}")
@api.depends()
def _compute_show_sync_last_mile_pod(self):
for wizard in self:
bls = wizard.get_order()
if not bls:
wizard.show_sync_last_mile_pod = False
continue
has_non_temu = any(bl.bl_type != 'temu' for bl in bls)
wizard.show_sync_last_mile_pod = has_non_temu
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- Batch Get Last Mile POD Info Wizard Form View 批量获取尾程POD信息向导表单视图 -->
<record id="view_batch_get_lastmile_pod_info_wizard_form" model="ir.ui.view">
<field name="name">batch.get.lastmile.pod.info.wizard.form</field>
<field name="model">batch.get.lastmile.pod.info.wizard</field>
<field name="arch" type="xml">
<form string="Batch Get Last Mile POD Info"> <!-- 批量获取尾程POD信息 -->
<sheet>
<group>
<group>
<field name="get_last_mile_pod" widget="boolean_toggle" attrs="{'invisible': [('pdf_file','=',False)]}"/>
<field name="sync_last_mile_pod" widget="boolean_toggle" attrs="{'invisible': ['|', ('pdf_file','=',False), ('show_sync_last_mile_pod','=',False)]}"/>
<field name="show_sync_last_mile_pod" invisible="1"/>
</group>
</group>
<group attrs="{'invisible': ['|', ('pdf_file', '=', False), ('show_error_message', '=', False)]}">
<field name="generate_successful_processed" widget="boolean_toggle"/>
</group>
<div class="alert alert-info" role="alert" attrs="{'invisible': [('pdf_file', '=', False)]}">
<strong>Description:</strong> <!-- 说明: -->
<ul>
<li>
<strong>Upload to Last Mile POD:</strong>
Write fetched PDF to BL attachments with name "Last Mile POD (pending big package count and box no.)"
</li>
<li attrs="{'invisible': [('show_sync_last_mile_pod','=',False)]}">
<strong>Sync to TK:</strong>
Sync the attachment information to TK.
</li>
</ul>
</div>
<div class="alert alert-danger" role="alert"
attrs="{'invisible': [('show_error_message', '=', False)]}">
<field name="show_error_message"/>
</div>
<div>
<field name="pdf_file" filename="pdf_filename" widget="pdf_viewer" readonly="1"
attrs="{'invisible': [('pdf_file', '=', False)]}"/>
</div>
<footer>
<!-- 预览按钮:处理PDF并显示合并后的文件 -->
<button string="Preview" type="object" name="action_preview" class="btn-primary"
attrs="{'invisible': [('pdf_file', '!=', False)]}"/>
<!-- 确认按钮:使用已处理的文件数据进行回写 -->
<!-- 勾了上传或同步尾程POD信息,才显示确认按钮 -->
<button string="Confirm" type="object" name="confirm" class="btn-primary"
attrs="{'invisible': ['|', ('pdf_file','=',False), '&amp;', ('get_last_mile_pod','=',False), ('sync_last_mile_pod','=',False)]}"/>
</footer>
</sheet>
</form>
</field>
</record>
</data>
</odoo>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论