Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hh_ccs
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
贺阳
hh_ccs
Commits
c78a8299
提交
c78a8299
authored
1月 24, 2025
作者:
贺阳
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、关联托盘按钮的优化和功能优化
2、添加异常信息功能优化 3、翻译
上级
2705567e
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
800 行增加
和
175 行删除
+800
-175
__manifest__.py
ccs_base/__manifest__.py
+2
-0
data.xml
ccs_base/data/data.xml
+8
-0
zh_CN.po
ccs_base/i18n/zh_CN.po
+487
-28
cc_bill_loading.py
ccs_base/models/cc_bill_loading.py
+31
-12
cc_exception_info.py
ccs_base/models/cc_exception_info.py
+2
-2
cc_last_mile_provider.py
ccs_base/models/cc_last_mile_provider.py
+2
-5
ir.model.access.csv
ccs_base/security/ir.model.access.csv
+1
-0
tree_button.js
ccs_base/static/src/js/tree_button.js
+0
-24
link_pallet.js
ccs_base/static/src/mixins/link_pallet.js
+13
-17
list.js
ccs_base/static/src/views/list.js
+21
-8
cc_big_package_view.xml
ccs_base/views/cc_big_package_view.xml
+39
-11
cc_exception_info_views.xml
ccs_base/views/cc_exception_info_views.xml
+3
-1
cc_ship_package_view.xml
ccs_base/views/cc_ship_package_view.xml
+15
-12
__init__.py
ccs_base/wizard/__init__.py
+1
-0
add_exception_info_wizard.py
ccs_base/wizard/add_exception_info_wizard.py
+47
-17
add_exception_info_wizard_views.xml
ccs_base/wizard/add_exception_info_wizard_views.xml
+7
-4
associate_pallet_wizard.py
ccs_base/wizard/associate_pallet_wizard.py
+39
-9
associate_pallet_wizard_views.xml
ccs_base/wizard/associate_pallet_wizard_views.xml
+5
-4
email_template.xml
ccs_base/wizard/email_template.xml
+77
-21
没有找到文件。
ccs_base/__manifest__.py
浏览文件 @
c78a8299
...
...
@@ -20,6 +20,8 @@
'wizard/batch_input_ship_package_statu_wizard.xml'
,
'wizard/export_bl_big_package_xlsx_wizard.xml'
,
'wizard/associate_pallet_wizard_views.xml'
,
'wizard/add_exception_info_wizard_views.xml'
,
'wizard/email_template.xml'
,
'data/data.xml'
,
'data/sequence.xml'
,
'views/menu_view.xml'
,
...
...
ccs_base/data/data.xml
浏览文件 @
c78a8299
...
...
@@ -14,5 +14,12 @@
<field
name=
"key"
>
parcel_export_num
</field>
<field
name=
"value"
>
50000
</field>
</record>
<!-- 默认发件邮箱-->
<record
id=
"default_email_from"
model=
"ir.config_parameter"
>
<field
name=
"key"
>
default_email_from
</field>
<field
name=
"value"
>
847896395@qq.com
</field>
</record>
</data>
</odoo>
\ No newline at end of file
ccs_base/i18n/zh_CN.po
浏览文件 @
c78a8299
...
...
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 202
4-09-19 08:22
+0000\n"
"PO-Revision-Date: 202
4-09-19 16:3
0+0800\n"
"POT-Creation-Date: 202
5-01-24 07:48
+0000\n"
"PO-Revision-Date: 202
5-01-24 15:5
0+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: zh_CN\n"
...
...
@@ -17,6 +17,109 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/associate_pallet_wizard.py:0
#, python-format
msgid ""
"%s at %s changed the pallet number from %s to %s, and the pallet usage date "
"from %s to %s"
msgstr "%s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#, python-format
msgid ""
"%s at %s manipulated abnormal information, the reason for the abnormality "
"is: %s, %s %s email"
msgstr "%s %s 操作了异常信息,异常原因:%s,%s%s邮件"
#. module: ccs_base
#: model:mail.template,body_html:ccs_base.email_template_exception_notification_en
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px;\">\n"
" Dear all\n"
" <br>\n"
" <!-- 检查 big_package_ids 是否有值 -->\n"
" <t t-if=\"object.big_package_ids\">\n"
" <t t-foreach=\"object.big_package_ids\" t-"
"as=\"big_package_id\">\n"
" <div>Package:\n"
" <t t-esc=\"big_package_id.big_package_no or "
"''\"></t>\n"
" </div>\n"
" </t>\n"
" </t>\n"
" <!-- 检查 ship_package_ids 是否有值 -->\n"
" <t t-if=\"object.ship_package_ids\">\n"
" <t t-foreach=\"object.ship_package_ids\" t-"
"as=\"ship_package_id\">\n"
" <div>Package:\n"
" <t t-esc=\"ship_package_id."
"logistic_order_no or ''\"></t>\n"
" </div>\n"
" </t>\n"
" </t>\n"
" <div>Please know that there is an exception and the "
"cause of the exception is\n"
" <t t-if=\"object.exception_ids\">\n"
" <t t-esc=\"'/'.join([ex.reason for ex in object."
"exception_ids])\"></t>\n"
" </t>\n"
" <t t-if=\"not object.exception_ids\">\n"
" No Exception\n"
" </t>\n"
" </div>\n"
" </p>\n"
" </div>\n"
"\n"
" "
msgstr ""
#. module: ccs_base
#: model:mail.template,body_html:ccs_base.email_template_exception_notification
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px;\">\n"
" 您好\n"
" <br>\n"
" <!-- 检查 big_package_ids 是否有值 -->\n"
" <t t-if=\"object.big_package_ids\">\n"
" <t t-foreach=\"object.big_package_ids\" t-"
"as=\"big_package_id\">\n"
" <div>包裹:\n"
" <t t-esc=\"big_package_id.big_package_no or "
"''\"></t>\n"
" </div>\n"
" </t>\n"
" </t>\n"
" <!-- 检查 ship_package_ids 是否有值 -->\n"
" <t t-if=\"object.ship_package_ids\">\n"
" <t t-foreach=\"object.ship_package_ids\" t-"
"as=\"ship_package_id\">\n"
" <div>包裹:\n"
" <t t-esc=\"ship_package_id."
"logistic_order_no or ''\"></t>\n"
" </div>\n"
" </t>\n"
" </t>\n"
" <div>出现异常,异常原因:\n"
" <t t-if=\"object.exception_ids\">\n"
" <t t-esc=\"'/'.join([ex.reason for ex in object."
"exception_ids])\"></t>,请知晓。\n"
" </t>\n"
" <t t-if=\"not object.exception_ids\">\n"
" 无异常,请知晓。\n"
" </t>\n"
" </div>\n"
" </p>\n"
" </div>\n"
"\n"
" "
msgstr ""
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
msgid "<span class=\"o_stat_text\">Big Packages</span>"
...
...
@@ -63,30 +166,51 @@ msgid "ADD 3"
msgstr "地址3"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__abbreviation
msgid "Abbreviation"
msgstr "简称"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_needaction
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_needaction
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_needaction
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_needaction
msgid "Action Needed"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__action_type
msgid "Action Type"
msgstr "动作类型"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__active
msgid "Active"
msgstr "有效性"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_ids
msgid "Activities"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_exception_decoration
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_exception_decoration
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_state
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_state
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_state
msgid "Activity State"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_type_icon
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_type_icon
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_type_icon
msgid "Activity Type Icon"
...
...
@@ -188,8 +312,40 @@ msgid "Actual Weight"
msgstr "实际重量"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_add_exception_info_wizard
msgid "Add Exception Information"
msgstr "添加异常信息"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#: 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_ship_package_view
#, python-format
msgid "Add Package Exception Information"
msgstr "添加包裹异常信息"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_add_exception_info_wizard
msgid "Add Package Exception Information Wizard"
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
msgid "Associate Pallet"
msgstr "关联托盘"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_associate_pallet_wizard
msgid "Associate Pallet Wizard"
msgstr "关联托盘向导"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_attachment_count
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_attachment_count
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_attachment_count
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_attachment_count
msgid "Attachment Count"
msgstr "附件总数"
...
...
@@ -233,6 +389,17 @@ msgstr "提货单附件"
msgid "Base Info"
msgstr "基本信息"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__is_batch
msgid "Batch"
msgstr "批量"
#. module: ccs_base
#: model:ir.actions.server,name:ccs_base.big_package_add_exception_info_server_action
#: model:ir.actions.server,name:ccs_base.ship_package_add_exception_info_server_action
msgid "Batch Add Package Exception Information"
msgstr "批量添加异常信息"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_batch_input_ship_package_status_wizard
msgid "Batch Update the status of the small package"
...
...
@@ -273,6 +440,11 @@ msgstr "大包号"
msgid "Big Package No."
msgstr "大包号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__big_package_numbers
msgid "Big Package Numbers"
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
...
...
@@ -282,6 +454,7 @@ msgid "Big Package Qty"
msgstr "大包数"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__big_package_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__big_package_ids
msgid "Big Packages"
msgstr "大包"
...
...
@@ -332,6 +505,11 @@ msgstr "提单号"
msgid "Billing Weight"
msgstr "提单重量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__bl_count
msgid "Bl count"
msgstr "已选提单"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_progress__handover_type__broker_delivery
msgid "Broker Delivery"
...
...
@@ -352,11 +530,6 @@ msgstr "买方所在地区"
msgid "By Node"
msgstr "节点"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__bl_count
msgid "Bl count"
msgstr "已选提单"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__batch_input_ship_package_status_wizard__select_type__tracking_no
msgid "By TrackingNo"
...
...
@@ -478,6 +651,12 @@ msgstr "区县"
msgid "COUNTY(EN)"
msgstr "区县(EN)"
#. module: ccs_base
#: 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
msgid "Cancel"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__cancel_reason
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__cancel_reason
...
...
@@ -506,10 +685,19 @@ msgstr "清关重量"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_big_package__tally_state__checked_goods
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_node__tally_state__checked_goods
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
msgid "Checked goods"
msgstr "已理货"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#: model:ir.model.fields.selection,name:ccs_base.selection__add_exception_info_wizard__email_language__zh_cn
#, python-format
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
...
...
@@ -549,6 +737,17 @@ msgstr "公司"
msgid "Company Code"
msgstr "公司编码"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_res_config_settings
msgid "Config Settings"
msgstr "配置设置"
#. module: ccs_base
#: 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
msgid "Confirm"
msgstr "确认"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__is_ok
msgid "Confirm Date is ok."
...
...
@@ -568,12 +767,21 @@ msgid "Container No"
msgstr "集装箱编号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__name
msgid "Courier Name"
msgstr "快递名称"
#. 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_input_ship_package_status_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__create_uid
...
...
@@ -581,16 +789,21 @@ msgstr "集装箱编号"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_common_common__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__create_uid
msgid "Created by"
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_input_ship_package_status_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__create_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__create_date
...
...
@@ -598,6 +811,7 @@ msgstr "创建人"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__create_date
#: model:ir.model.fields,field_description:ccs_base.field_common_common__create_date
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard__create_date
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__create_date
msgid "Created on"
msgstr "创建时间"
...
...
@@ -704,12 +918,16 @@ msgid "Description"
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_input_ship_package_status_wizard__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__display_name
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__display_name
...
...
@@ -717,6 +935,7 @@ msgstr "节点描述"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__display_name
#: model:ir.model.fields,field_description:ccs_base.field_common_common__display_name
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard__display_name
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__display_name
msgid "Display Name"
msgstr "显示名称"
...
...
@@ -751,11 +970,23 @@ msgstr "预计到达时间"
msgid "ETD"
msgstr "预计离开时间"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__email_language
msgid "Email Language"
msgstr "邮件语言"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_mail_thread
msgid "Email Thread"
msgstr "邮件会话"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#, python-format
msgid "Email template not found."
msgstr "邮件模版没有找到。"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_bl_view
msgid "End Port"
...
...
@@ -768,17 +999,48 @@ msgstr "目的地港口"
msgid "End Port Code"
msgstr "目的地港口代码"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#: model:ir.model.fields.selection,name:ccs_base.selection__add_exception_info_wizard__email_language__en_us
#, python-format
msgid "English"
msgstr "英文"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__exception_code
msgid "Exception Code"
msgstr "异常编码"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__exception_desc
msgid "Exception Description"
msgstr "异常描述"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__exception_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__exception_info_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__exception_info_ids
msgid "Exception Information"
msgstr "异常信息"
#. module: ccs_base
#: model:mail.template,name:ccs_base.email_template_exception_notification_en
msgid "Exception Notification"
msgstr "异常邮件通知"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_batch_input_ship_package_status_wizard__node_exception_reason_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__reason
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__node_exception_reason_id
msgid "Exception Reason"
msgstr "异常原因"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__responsible_email
msgid "Exception Responsible Email"
msgstr "异常接收负责人邮箱"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__exception_type
msgid "Exception Type"
...
...
@@ -797,23 +1059,15 @@ msgstr "排除的追踪号"
msgid "Export HSCode"
msgstr "出口HSCode"
#. module: ccs_base
#: model:ir.actions.server,name:ccs_base.export_order_big_package_xls_server
msgid "Export customs declaration data"
msgstr "导出报关数据"
#. module: ccs_base
#: model:ir.actions.server,name:ccs_base.export_flight_png_server
msgid "Export customs clearance bill of lading file"
msgstr "导出清关提单文件"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#, python-format
#: model:ir.actions.server,name:ccs_base.batch_input_ship_package_status_server
msgid "Update the status of the small package"
msgstr "更新小包状态"
#: model:ir.actions.server,name:ccs_base.export_order_big_package_xls_server
msgid "Export customs declaration data"
msgstr "导出报关数据"
#. module: ccs_base
#. odoo-python
...
...
@@ -830,6 +1084,7 @@ msgid "File"
msgstr "文件"
#. module: ccs_base
#: 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
...
...
@@ -838,18 +1093,23 @@ msgid "File Name"
msgstr "文件名"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_follower_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_follower_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_follower_ids
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_follower_ids
msgid "Followers"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_partner_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_partner_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_partner_ids
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__activity_type_icon
#: model:ir.model.fields,help:ccs_base.field_cc_bl__activity_type_icon
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
...
...
@@ -936,24 +1196,36 @@ msgstr "分组方式"
msgid "HEIGHT"
msgstr "高度"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_big_package__tally_state__handover_completed
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_node__tally_state__handover_completed
msgid "Handover Completed"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__handover_type
msgid "Handover Type"
msgstr "交接类型"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__has_message
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__has_message
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__has_message
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__has_message
msgid "Has Message"
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_input_ship_package_status_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_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
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__id
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__id
...
...
@@ -961,6 +1233,7 @@ msgstr ""
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__id
#: model:ir.model.fields,field_description:ccs_base.field_common_common__id
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard__id
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__id
msgid "ID"
msgstr ""
...
...
@@ -980,26 +1253,32 @@ msgid "ITEM QUANTITY"
msgstr "商品数量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_exception_icon
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_exception_icon
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_exception_icon
msgid "Icon"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__activity_exception_icon
#: model:ir.model.fields,help:ccs_base.field_cc_bl__activity_exception_icon
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__message_needaction
#: model:ir.model.fields,help:ccs_base.field_cc_bl__message_needaction
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__message_needaction
#: model:ir.model.fields,help:ccs_base.field_order_state_change_rule__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__message_has_error
#: model:ir.model.fields,help:ccs_base.field_cc_bl__message_has_error
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__message_has_error
#: model:ir.model.fields,help:ccs_base.field_order_state_change_rule__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
...
...
@@ -1011,6 +1290,11 @@ msgstr ""
msgid "Import HSCode"
msgstr "进口HSCode"
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_fetchmail_server
msgid "Incoming Mail Server"
msgstr "收件服务器"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_ship_package__receiver_type__individual
msgid "Individual"
...
...
@@ -1084,8 +1368,10 @@ msgid "Is Done Node"
msgstr "是完成节点"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_is_follower
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_is_follower
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_is_follower
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_is_follower
msgid "Is Follower"
msgstr ""
...
...
@@ -1141,12 +1427,30 @@ msgid "Last Mile PickUp"
msgstr ""
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_cc_last_mile_provider
#: model_terms:ir.ui.view,arch_db:ccs_base.view_last_mile_provider_form
#: model_terms:ir.ui.view,arch_db:ccs_base.view_last_mile_provider_search
#: model_terms:ir.ui.view,arch_db:ccs_base.view_last_mile_provider_tree
msgid "Last Mile Provider"
msgstr "尾程服务商"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_last_mile_provider
#: model:ir.ui.menu,name:ccs_base.menu_last_mile_provider
msgid "Last Mile Providers"
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_input_ship_package_status_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_node____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason____last_update
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good____last_update
...
...
@@ -1154,6 +1458,7 @@ msgstr ""
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package____last_update
#: model:ir.model.fields,field_description:ccs_base.field_common_common____last_update
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard____last_update
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule____last_update
msgid "Last Modified on"
msgstr "最后修改时间"
...
...
@@ -1163,12 +1468,16 @@ msgid "Last Process Time"
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_input_ship_package_status_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__write_uid
...
...
@@ -1176,16 +1485,21 @@ msgstr "最近操作时间"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_common_common__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__write_uid
msgid "Last Updated by"
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_input_ship_package_status_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_clearance_file__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_customers_declaration_order_line__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_exception_info__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_node_exception_reason__write_date
#: model:ir.model.fields,field_description:ccs_base.field_cc_package_good__write_date
...
...
@@ -1193,6 +1507,7 @@ msgstr "最后更新人"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__write_date
#: model:ir.model.fields,field_description:ccs_base.field_common_common__write_date
#: model:ir.model.fields,field_description:ccs_base.field_export_bl_big_package_xlsx_wizard__write_date
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__write_date
msgid "Last Updated on"
msgstr "最后更新时间"
...
...
@@ -1204,6 +1519,16 @@ msgstr "最后更新时间"
msgid "Link"
msgstr "链接"
#. module: ccs_base
#. odoo-javascript
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#: code:addons/ccs_base/static/src/views/list.xml:0
#: model_terms:ir.ui.view,arch_db:ccs_base.form_cc_big_package_view
#, python-format
msgid "Link Pallet"
msgstr "关联托盘"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_progress__loading_type
msgid "Loading Type"
...
...
@@ -1223,8 +1548,10 @@ msgid "Loose"
msgstr "散货"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_main_attachment_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_main_attachment_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_main_attachment_id
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_main_attachment_id
msgid "Main Attachment"
msgstr "主附件"
...
...
@@ -1234,18 +1561,38 @@ msgid "Master Data"
msgstr "主数据"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__matching_value
msgid "Matching Value"
msgstr "尾程快递匹配值"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_has_error
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_has_error
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_has_error
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_ids
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_ids
msgid "Messages"
msgstr ""
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_associate_pallet_wizard
msgid "Multiple can be entered, one large package number per line"
msgstr "可输入多个,每行输入一个大包号"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.view_exception_info_form
msgid "Multiple entries can be made, one email per line"
msgstr "可输入多个,每行输入一个邮箱"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__my_activity_date_deadline
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__my_activity_date_deadline
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__my_activity_date_deadline
msgid "My Activity Deadline"
...
...
@@ -1289,18 +1636,21 @@ msgid "Name EN"
msgstr "英文名称"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_date_deadline
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_date_deadline
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_summary
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_summary
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_type_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_type_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_type_id
msgid "Next Activity Type"
...
...
@@ -1375,6 +1725,13 @@ msgstr "节点类型"
msgid "Normal"
msgstr "正常"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#, python-format
msgid "Not Sent"
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_ship_package_view
...
...
@@ -1382,26 +1739,34 @@ msgid "Not Show Cancelled"
msgstr "不显示已取消的"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_needaction_counter
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_needaction_counter
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_needaction_counter
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__message_has_error_counter
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__message_has_error_counter
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__message_has_error_counter
#: model:ir.model.fields,field_description:ccs_base.field_order_state_change_rule__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__message_needaction_counter
#: model:ir.model.fields,help:ccs_base.field_cc_bl__message_needaction_counter
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__message_needaction_counter
msgid "Number of messages which requires an action"
#: model:ir.model.fields,help:ccs_base.field_order_state_change_rule__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__message_has_error_counter
#: model:ir.model.fields,help:ccs_base.field_cc_bl__message_has_error_counter
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__message_has_error_counter
#: model:ir.model.fields,help:ccs_base.field_order_state_change_rule__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
...
...
@@ -1460,6 +1825,16 @@ msgstr "产品链接"
msgid "Package"
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
msgid "Package Exception Information"
msgstr "包裹异常信息"
#. module: ccs_base
#: model:ir.actions.act_window,name:ccs_base.action_cc_package_good
#: model:ir.model,name:ccs_base.model_cc_package_good
...
...
@@ -1493,6 +1868,17 @@ msgstr "包裹销售国家代码"
msgid "Packages Qty"
msgstr "小包数"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__pallet_number
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__pallet_number
msgid "Pallet Number"
msgstr "托盘号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__pallet_usage_date
msgid "Pallet Usage Date"
msgstr "托盘使用日期"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/batch_input_ship_package_statu_wizard.py:0
...
...
@@ -1505,7 +1891,7 @@ msgstr "请选择异常原因!"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__process_time
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_input_ship_package_wizard
msgid "Process Time"
msgstr "
操作
时间"
msgstr "
推送
时间"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
...
...
@@ -1724,6 +2110,7 @@ msgid "Receiver VAT"
msgstr "收件人税号"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__activity_user_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__activity_user_id
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__activity_user_id
msgid "Responsible User"
...
...
@@ -1835,6 +2222,11 @@ msgstr "包裹销售国家代码"
msgid "SellerObligation"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__send_email
msgid "Send Email Notification"
msgstr "发送邮件通知"
#. module: ccs_base
#: 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
...
...
@@ -1910,6 +2302,13 @@ msgstr "发货人省份"
msgid "Sender VAT"
msgstr "发货人税号"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/add_exception_info_wizard.py:0
#, python-format
msgid "Sent"
msgstr "已发送"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_package_good__item_tax_status__sentinel
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_ship_package__tax_mark__sentinel
...
...
@@ -1955,6 +2354,7 @@ msgid "Ship Package Qty"
msgstr "小包数"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_add_exception_info_wizard__ship_package_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__ship_package_ids
#: model:ir.model.fields,field_description:ccs_base.field_cc_bl__ship_package_ids
msgid "Ship Packages"
...
...
@@ -2003,6 +2403,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_ship_package__activity_state
msgid ""
...
...
@@ -2062,6 +2463,7 @@ msgstr "已理货大包数量"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_big_package__tally_state
#: model:ir.model.fields,field_description:ccs_base.field_cc_node__tally_state
msgid "Tally Status"
msgstr "理货状态"
...
...
@@ -2075,6 +2477,11 @@ msgstr "理货时间"
msgid "Tally User"
msgstr "理货人"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_last_mile_provider__tape_color_value
msgid "Tape Color Value"
msgstr "胶带色值"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__tax_mark
msgid "Tax Mark"
...
...
@@ -2093,6 +2500,11 @@ msgstr "商品交税情况"
msgid "The Bill of Loading No. must be unique."
msgstr "提单号必须唯一。"
#. module: ccs_base
#: model:ir.model.constraint,message:ccs_base.constraint_cc_exception_info_exception_code_uniq
msgid "The Exception Code must be unique."
msgstr "异常编码必须唯一。"
#. module: ccs_base
#: model:ir.model.constraint,message:ccs_base.constraint_cc_package_good_item_id_uniq
msgid "The Item ID must be unique."
...
...
@@ -2133,12 +2545,17 @@ msgstr "节点 [%s] 序号小于现有节点序号。"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/
batch_input_ship_package_statu
_wizard.py:0
#: code:addons/ccs_base/wizard/
associate_pallet
_wizard.py:0
#, python-format
msgid ""
"The operation time cannot be greater than the current time and cannot be "
"less than the latest operation time!"
msgstr "操作时间不能大于当前时间,也不能小于最近的操作时间!"
msgid "The pallet number can only be entered as a number!"
msgstr "托盘号只能输入数字!"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/wizard/associate_pallet_wizard.py:0
#, python-format
msgid "The usage date cannot be later than the current date!"
msgstr "使用日期不能大于当前日期!"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_bl_view
...
...
@@ -2231,6 +2648,7 @@ msgid "Truck Port"
msgstr "卡转目的口岸"
#. module: ccs_base
#: model:ir.model.fields,help:ccs_base.field_cc_big_package__activity_exception_decoration
#: model:ir.model.fields,help:ccs_base.field_cc_bl__activity_exception_decoration
#: model:ir.model.fields,help:ccs_base.field_cc_ship_package__activity_exception_decoration
msgid "Type of the exception activity on record."
...
...
@@ -2243,6 +2661,7 @@ msgstr "单价"
#. module: ccs_base
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_big_package__tally_state__unprocessed_goods
#: model:ir.model.fields.selection,name:ccs_base.selection__cc_node__tally_state__unprocessed_goods
#: model_terms:ir.ui.view,arch_db:ccs_base.search_cc_big_package_view
msgid "Unprocessed goods"
msgstr "未理货"
...
...
@@ -2280,11 +2699,18 @@ msgstr "更新包裹进度"
#. module: ccs_base
#. odoo-python
#: code:addons/ccs_base/models/cc_bill_loading.py:0
#: code:addons/ccs_base/wizard/batch_input_ship_package_statu_wizard.py:0
#: model:ir.actions.server,name:ccs_base.batch_input_ship_package_status_server
#, python-format
msgid "Update the status of the small package"
msgstr "更新小包状态"
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_associate_pallet_wizard__usage_date
msgid "Usage Date"
msgstr ""
#. module: ccs_base
#: 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
...
...
@@ -2355,14 +2781,14 @@ msgstr "【大包】 还没有!点击左上角的“创建”按钮,沙发
msgid ""
"[CC Node] Not yet! Click the Create button in the top left corner and the "
"sofa is yours!"
msgstr "
[清关节点]
还没有!点击左上角的“创建”按钮,沙发就是你的了!"
msgstr "
【清关节点】
还没有!点击左上角的“创建”按钮,沙发就是你的了!"
#. module: ccs_base
#: model_terms:ir.actions.act_window,help:ccs_base.action_cc_progress
msgid ""
"[CC Progress] Not yet! Click the Create button in the top left corner and "
"the sofa is yours!"
msgstr "
[清关进度]
还没有!点击左上角的“创建”按钮,沙发就是你的了!"
msgstr "
【清关进度】
还没有!点击左上角的“创建”按钮,沙发就是你的了!"
#. module: ccs_base
#: model_terms:ir.actions.act_window,help:ccs_base.action_cc_is_clearance_company
...
...
@@ -2383,7 +2809,7 @@ msgstr "【清关文件】 还没有!点击左上角的“创建”按钮,
msgid ""
"[Customers] Not yet! Click the Create button in the top left corner and the "
"sofa is yours!"
msgstr "
[客户]
还没有!点击左上角的“创建”按钮,沙发就是你的了!"
msgstr "
【客户】
还没有!点击左上角的“创建”按钮,沙发就是你的了!"
#. module: ccs_base
#: model_terms:ir.actions.act_window,help:ccs_base.action_cc_package_good
...
...
@@ -2404,6 +2830,19 @@ msgstr "【小包】 还没有!点击左上角的“创建”按钮,沙发
msgid "base_info"
msgstr "基本信息"
#. module: ccs_base
#: model:mail.template,subject:ccs_base.email_template_exception_notification_en
msgid ""
"{{ ('Big Package Exception' if object.action_type == 'big package' else "
"'Ship Package Exception') }}"
msgstr ""
#. module: ccs_base
#: model:mail.template,subject:ccs_base.email_template_exception_notification
msgid ""
"{{ ('大包异常' if object.action_type == 'big package' else '小包异常') }}"
msgstr ""
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_common_common
msgid "公用基础类"
...
...
@@ -2415,3 +2854,23 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:ccs_base.view_export_bl_big_package_xlsx_wizard
msgid "导出报关文件"
msgstr ""
#. module: ccs_base
#: model:mail.template,name:ccs_base.email_template_exception_notification
msgid "异常信息邮件"
msgstr ""
#. module: ccs_base
#: model:ir.model,name:ccs_base.model_order_state_change_rule
msgid "提单状态变更规则"
msgstr ""
#. module: ccs_base
#: model:ir.model.fields,field_description:ccs_base.field_res_config_settings__before_min
msgid "清关时间取值(早于清关结束)"
msgstr ""
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.res_config_settings_view_form_auto_push
msgid "自动推送配置"
msgstr ""
ccs_base/models/cc_bill_loading.py
浏览文件 @
c78a8299
...
...
@@ -19,6 +19,7 @@ _logger = logging.getLogger(__name__)
class
CcBigPackage
(
models
.
Model
):
# 模型名称
_name
=
'cc.big.package'
_inherit
=
[
'mail.thread'
,
'mail.activity.mixin'
]
# 模型描述
_description
=
'Big Package'
_rec_name
=
'big_package_no'
...
...
@@ -67,6 +68,16 @@ class CcBigPackage(models.Model):
exception_info_ids
=
fields
.
Many2many
(
'cc.exception.info'
,
'bigpackage_exception_info_rel'
,
string
=
'Exception Information'
)
def
update_pallet_info
(
self
,
pallet_number
,
pallet_usage_date
):
"""
修改托盘信息
:param pallet_number:
:param pallet_usage_date:
:return:
"""
self
.
pallet_usage_date
=
pallet_usage_date
self
.
pallet_number
=
pallet_number
# 创建显示包裹的action
def
action_show_ship_package
(
self
):
# 返回一个action,显示包裹
...
...
@@ -90,17 +101,22 @@ class CcBigPackage(models.Model):
}
def
action_link_pallet
(
self
):
"""
点击关联托盘,弹出向导
"""
return
{
'name'
:
_
(
'Link Pallet'
),
'type'
:
'ir.actions.act_window'
,
'view
_mode'
:
'form'
,
'view
s'
:
[[
False
,
"form"
]]
,
'res_model'
:
'associate.pallet.wizard'
,
'target'
:
'new'
,
'context'
:
{
'active_id'
:
self
.
id
}
'context'
:
{
},
}
# if there ere no records selected, then select all draft expenses for the user
expenses
=
self
.
env
[
'hr.expense'
]
.
search
(
[(
'state'
,
'='
,
'draft'
),
(
'sheet_id'
,
'='
,
False
),
(
'employee_id'
,
'='
,
self
.
env
.
user
.
employee_id
.
id
)])
if
not
expenses
:
raise
UserError
(
_
(
'You have no expense to report'
))
else
:
return
expenses
.
action_submit_expenses
()
def
action_cc_big_package
(
self
):
"""
...
...
@@ -125,15 +141,17 @@ class CcBigPackage(models.Model):
'view_mode'
:
'form'
,
'res_model'
:
'add.exception.info.wizard'
,
'target'
:
'new'
,
'context'
:
{
'active_id'
:
self
.
id
,
'default_action_type'
:
'big package'
}
'context'
:
{
'active_id'
:
self
.
ids
,
'active_name'
:
self
[
0
]
.
_name
,
'default_big_package_ids'
:
self
.
ids
,
'default_action_type'
:
'big package'
}
}
# 创建一个商品的业务对象,用来管理包裹的商品信息.商品信息包括所属包裹、SKU标识ID、商品中文名称、商品英文名称、出口HSCode,进口HSCode,重量、数量,数量单位,申报单价,运费, COD金额, VAT税率, 商品VAT,原产国, 类型:赠品,商品总价,商品链接,商品交税情况(包含:TTSTaxed: 已税
# Sentinel: 未税
# LSPTaxed: 未税
# SellerObligatio
# n: 未税)
# 创建一个商品的业务对象,用来管理包裹的商品信息.商品信息包括所属包裹、SKU标识ID、商品中文名称、商品英文名称、出口HSCode,进口HSCode,重量、数量,数量单位,申报单价,运费, COD金额, VAT税率, 商品VAT,原产国, 类型:赠品,商品总价,商品链接,商品交税情况(包含:TTSTaxed: 已税
# Sentinel: 未税
# LSPTaxed: 未税
# SellerObligatio
# n: 未税)
class
CcPackageGood
(
models
.
Model
):
# 模型名称
_name
=
'cc.package.good'
...
...
@@ -445,7 +463,8 @@ class CcShipPackage(models.Model):
'view_mode'
:
'form'
,
'res_model'
:
'add.exception.info.wizard'
,
'target'
:
'new'
,
'context'
:
{
'active_id'
:
self
.
id
,
'default_action_type'
:
'ship package'
}
'context'
:
{
'active_id'
:
self
.
ids
,
'active_name'
:
self
[
0
]
.
_name
,
'default_ship_package_ids'
:
self
.
ids
,
'default_action_type'
:
'ship package'
}
}
# 翻译
...
...
ccs_base/models/cc_exception_info.py
浏览文件 @
c78a8299
...
...
@@ -15,8 +15,8 @@ class CCExceptionInfo(models.Model):
return
obj
exception_code
=
fields
.
Char
(
string
=
'Exception Code'
,
default
=
'/'
,
required
=
True
)
# 异常编码*
reason
=
fields
.
Text
(
string
=
'Reason'
,
required
=
True
,
translate
=
True
)
# 异常原因
responsible_email
=
fields
.
Text
(
string
=
'Responsible Email'
)
# 异常接收负责人邮箱(可输入多个)
reason
=
fields
.
Text
(
string
=
'
Exception
Reason'
,
required
=
True
,
translate
=
True
)
# 异常原因
responsible_email
=
fields
.
Text
(
string
=
'
Exception
Responsible Email'
)
# 异常接收负责人邮箱(可输入多个)
# 异常编码增加唯一约束
_sql_constraints
=
[(
'exception_code_uniq'
,
'unique(exception_code)'
,
'The Exception Code must be unique.'
)]
ccs_base/models/cc_last_mile_provider.py
浏览文件 @
c78a8299
from
odoo
import
models
,
fields
class
CCLastMileProvider
(
models
.
Model
):
_name
=
'cc.last.mile.provider'
_description
=
'Last Mile Provider'
...
...
@@ -7,8 +8,5 @@ class CCLastMileProvider(models.Model):
name
=
fields
.
Char
(
string
=
'Courier Name'
,
required
=
True
)
# 快递名称
abbreviation
=
fields
.
Char
(
string
=
'Abbreviation'
,
required
=
True
)
# 简称
tape_color_value
=
fields
.
Char
(
string
=
'Tape Color Value'
)
# 胶带色值
active
=
fields
.
Boolean
(
default
=
True
)
# 有效☑️
active
=
fields
.
Boolean
(
'Active'
,
default
=
True
)
# 有效☑️
matching_value
=
fields
.
Float
(
string
=
'Matching Value'
)
# 尾程快递匹配值
def
__str__
(
self
):
return
f
"LastMileProvider(courier_name={self.courier_name}, abbreviation={self.abbreviation}, tape_color_value={self.tape_color_value}, is_valid={self.is_valid}, matching_value={self.matching_value})"
\ No newline at end of file
ccs_base/security/ir.model.access.csv
浏览文件 @
c78a8299
...
...
@@ -2,6 +2,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
batch_input_ship_package_status_wizard_group_user,batch_input_ship_package_status_wizard_group_user,ccs_base.model_batch_input_ship_package_status_wizard,base.group_user,1,1,1,1
export_bl_big_package_xlsx_wizard_group_user,export_bl_big_package_xlsx_wizard_group_user,ccs_base.model_export_bl_big_package_xlsx_wizard,base.group_user,1,1,1,1
associate_pallet_wizard_group_user,associate_pallet_wizard_group_user,ccs_base.model_associate_pallet_wizard,base.group_user,1,1,1,1
add_exception_info_wizard_group_user,add_exception_info_wizard_group_user,ccs_base.model_add_exception_info_wizard,base.group_user,1,1,1,1
...
...
ccs_base/static/src/js/tree_button.js
deleted
100644 → 0
浏览文件 @
2705567e
odoo
.
define
(
'ccs_base.order_link_pallet'
,
function
(
require
)
{
"use strict"
;
var
ListController
=
require
(
'web.ListController'
);
ListController
.
include
({
renderButtons
:
function
(
$node
)
{
this
.
_super
.
apply
(
this
,
arguments
);
if
(
this
.
$buttons
)
{
this
.
$buttons
.
on
(
'click'
,
'.o_list_order_link_pallet'
,
this
.
order_link_pallet
.
bind
(
this
));
}
},
order_link_pallet
:
function
()
{
var
self
=
this
;
self
.
do_action
({
type
:
'ir.actions.act_window'
,
name
:
_
(
'Link Pallet'
),
target
:
'new'
,
res_model
:
'associate.pallet.wizard'
,
views
:
[[
false
,
'form'
]],
context
:
{},
});
}
});
});
ccs_base/static/src/mixins/link_pallet.js
浏览文件 @
c78a8299
...
...
@@ -13,28 +13,24 @@ export const BigPackageLinkPallet = {
this
.
http
=
useService
(
'http'
);
this
.
fileInput
=
useRef
(
'fileInput'
);
this
.
root
=
useRef
(
"root"
);
this
.
isBigPackage
=
this
.
model
.
rootParams
.
resModel
===
"cc.big.package"
;
this
.
is_link
=
this
.
user
.
hasGroup
(
"ccs_base.group_clearance_of_customs_manager"
);
// this.isBigPackage = this.model.rootParams.resModel === "cc.big.package";
// this.is_link = this.user.hasGroup("ccs_base.group_clearance_of_customs_manager");
// console.log('ccs isBigPackage:' + this.isBigPackage)
// console.log('ccs is_link:' + this.is_link)
},
displayLink
()
{
// 是大包的对象以及有清关清理的权限才显示按钮
return
this
.
isBigPackage
&&
this
.
is_link
;
},
// displayLink() {
// console.log('ccs flag:' + this.isBigPackage && this.is_link)
// // 是大包的对象以及有清关清理的权限才显示按钮
// return this.isBigPackage && this.is_link;
// },
async
onLinkPalletClick
()
{
// 点击按钮弹出关联托盘的向导
await
this
.
actionService
.
doAction
({
'name'
:
_
(
'Link Pallet'
),
'type'
:
'ir.actions.act_window'
,
'view_mode'
:
'form'
,
'res_model'
:
'associate.pallet.wizard'
,
'target'
:
'new'
,
});
console
.
log
(
'111111111'
)
// const action = await this.orm.call('cc.big.package', 'action_link_pallet', [""]);
// console.log('action:'+action)
// this.actionService.doAction(action);
const
records
=
this
.
model
.
root
.
selection
;
const
recordIds
=
records
.
map
((
a
)
=>
a
.
resId
);
const
action
=
await
this
.
orm
.
call
(
'cc.big.package'
,
'action_link_pallet'
,
[
recordIds
]);
this
.
actionService
.
doAction
(
action
);
},
};
ccs_base/static/src/views/list.js
浏览文件 @
c78a8299
/** @odoo-module */
import
{
BigPackageLinkPallet
}
from
'../mixins/link_pallet'
;
import
{
BigPackageLinkPallet
}
from
'../mixins/link_pallet'
;
import
{
registry
}
from
'@web/core/registry'
;
import
{
patch
}
from
'@web/core/utils/patch'
;
import
{
useService
}
from
'@web/core/utils/hooks'
;
import
{
listView
}
from
"@web/views/list/list_view"
;
import
{
registry
}
from
'@web/core/registry'
;
import
{
patch
}
from
'@web/core/utils/patch'
;
import
{
useService
}
from
'@web/core/utils/hooks'
;
import
{
listView
}
from
"@web/views/list/list_view"
;
import
{
ListController
}
from
"@web/views/list/list_controller"
;
import
{
ListRenderer
}
from
"@web/views/list/list_renderer"
;
import
{
ListController
}
from
"@web/views/list/list_controller"
;
const
{
onWillStart
}
=
owl
;
const
{
onWillStart
}
=
owl
;
export
class
BigPackageListController
extends
ListController
{
setup
()
{
...
...
@@ -19,8 +18,22 @@ export class BigPackageListController extends ListController {
this
.
actionService
=
useService
(
'action'
);
this
.
rpc
=
useService
(
"rpc"
);
this
.
user
=
useService
(
"user"
);
this
.
isBigPackage
=
this
.
model
.
rootParams
.
resModel
===
"cc.big.package"
;
console
.
log
(
'ccs isBigPackage:'
+
this
.
isBigPackage
)
onWillStart
(
async
()
=>
{
this
.
is_link
=
await
this
.
user
.
hasGroup
(
"ccs_base.group_clearance_of_customs_manager"
);
console
.
log
(
'ccs is_link:'
+
this
.
is_link
)
});
}
displayLink
()
{
console
.
log
(
'ccs flag:'
+
this
.
isBigPackage
&&
this
.
is_link
)
// 是大包的对象以及有清关清理的权限才显示按钮
return
this
.
isBigPackage
&&
this
.
is_link
;
}
}
patch
(
BigPackageListController
.
prototype
,
'big_package_list_controller_link_pallet'
,
BigPackageLinkPallet
);
registry
.
category
(
'views'
).
add
(
'cc_big_package_tree'
,
{
...
...
ccs_base/views/cc_big_package_view.xml
浏览文件 @
c78a8299
...
...
@@ -12,6 +12,8 @@
<field
name=
"ship_package_qty"
string=
"Packages Qty"
/>
<field
name=
"goods_qty"
string=
"Goods Qty"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"pallet_number"
/>
<field
name=
"pallet_usage_date"
/>
<field
name=
"tally_user_id"
optional=
"show"
/>
<field
name=
"tally_time"
optional=
"show"
/>
<field
name=
"tally_state"
optional=
"show"
/>
...
...
@@ -25,7 +27,12 @@
<field
name=
"arch"
type=
"xml"
>
<form
string=
"Big Package"
>
<header>
<!-- <button name="action_link_pallet" type="object"-->
<!-- string="Link Pallet"-->
<!-- groups="ccs_base.group_clearance_of_customs_manager"/><!– 关联托盘 –>-->
<button
name=
"action_package_exception_info"
type=
"object"
string=
"Add Package Exception Information"
groups=
"ccs_base.group_clearance_of_customs_manager"
/>
<!-- 添加包裹异常信息 -->
</header>
<sheet>
<div
class=
"oe_button_box"
name=
"button_box"
>
...
...
@@ -55,7 +62,9 @@
<field
name=
"big_package_no"
string=
"Big Package No."
/>
<field
name=
"bl_id"
string=
"Bill of Loading"
/>
<field
name=
"next_provider_name"
string=
"Next Provider Name"
/>
<field
name=
"exception_info_ids"
widget=
"many2many_tags"
/>
<field
name=
"pallet_number"
readonly=
"1"
/>
<field
name=
"pallet_usage_date"
readonly=
"1"
/>
<field
name=
"exception_info_ids"
readonly=
"1"
widget=
"many2many_tags"
/>
<field
name=
"is_cancel"
string=
"Cancelled"
/>
<field
name=
"tally_state"
readonly=
"1"
/>
<field
name=
"tally_user_id"
readonly=
"1"
options=
"{'no_create':True}"
/>
...
...
@@ -67,6 +76,11 @@
</group>
</group>
</sheet>
<div
class=
"oe_chatter"
>
<field
name=
"message_follower_ids"
/>
<field
name=
"activity_ids"
/>
<field
name=
"message_ids"
options=
"{'post_refresh': 'recipients'}"
/>
</div>
</form>
</field>
</record>
...
...
@@ -116,15 +130,28 @@
<menuitem
parent=
""
sequence=
"13"
name=
"Big Package"
id=
"menu_cc_big_package"
action=
"action_cc_big_package"
/>
<!-- <record id="action_cc_big_package_server" model="ir.actions.server">-->
<!-- <field name="name">全部航班</field>-->
<!-- <field name="model_id" ref="model_cc_big_package"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">-->
<!-- action = model.action_cc_big_package()-->
<!-- </field>-->
<!-- </record>-->
<record
id=
"big_package_add_exception_info_server_action"
model=
"ir.actions.server"
>
<field
name=
"name"
>
Batch Add Package Exception Information
</field>
<field
name=
"model_id"
ref=
"model_cc_big_package"
/>
<field
name=
"binding_model_id"
ref=
"model_cc_big_package"
/>
<field
name=
"state"
>
code
</field>
<field
name=
"binding_view_types"
>
list
</field>
<field
name=
"groups_id"
eval=
"[(4, ref('ccs_base.group_clearance_of_customs_manager'))]"
/>
<field
name=
"code"
>
if records:
action = records.action_package_exception_info()
</field>
</record>
<!-- <record id="action_cc_big_package_server" model="ir.actions.server">-->
<!-- <field name="name">全部航班</field>-->
<!-- <field name="model_id" ref="model_cc_big_package"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">-->
<!-- action = model.action_cc_big_package()-->
<!-- </field>-->
<!-- </record>-->
<!-- <menuitem id="menu_cc_big_package" name="Big Package" action="action_cc_big_package_server" sequence="13"/>-->
<!-- <menuitem id="menu_cc_big_package" name="Big Package" action="action_cc_big_package_server" sequence="13"/>-->
</odoo>
\ No newline at end of file
ccs_base/views/cc_exception_info_views.xml
浏览文件 @
c78a8299
...
...
@@ -8,7 +8,9 @@
<group>
<field
name=
"exception_code"
readonly=
"1"
/>
<!-- 异常编码 -->
<field
name=
"reason"
/>
<!-- 异常原因 -->
<field
name=
"responsible_email"
/>
<!-- 异常接收负责人邮箱 -->
<field
name=
"responsible_email"
placeholder=
"Multiple entries can be made, one email per line"
/>
<!-- 异常接收负责人邮箱 可输入多个,一行一个邮箱 -->
</group>
</sheet>
</form>
...
...
ccs_base/views/cc_ship_package_view.xml
浏览文件 @
c78a8299
...
...
@@ -81,7 +81,7 @@
<header>
<button
name=
"action_package_exception_info"
type=
"object"
string=
"Add Package Exception Information"
groups=
"ccs_base.group_clearance_of_customs_manager"
/>
<!--
关联托盘
-->
groups=
"ccs_base.group_clearance_of_customs_manager"
/>
<!--
添加包裹异常信息
-->
<field
name=
"state"
string=
"Progress Status"
widget=
"statusbar"
/>
</header>
...
...
@@ -98,7 +98,7 @@
<field
name=
"big_package_id"
string=
"Big Package"
/>
<field
name=
"bl_id"
string=
"Bill of Loading"
/>
<field
name=
"next_provider_name"
string=
"Next Provider Name"
/>
<field
name=
"exception_info_ids"
widget=
"many2many_tags"
/>
<field
name=
"exception_info_ids"
readonly=
"1"
widget=
"many2many_tags"
/>
<field
name=
"process_time"
readonly=
"1"
/>
</group>
...
...
@@ -310,15 +310,17 @@
<menuitem
parent=
""
sequence=
"10"
name=
"Ship Package"
id=
"menu_cc_ship_package"
action=
"action_cc_ship_package"
/>
<!-- <record id="bl_line_translate_server_action" model="ir.actions.server">-->
<!-- <field name="name">Translate</field>-->
<!-- <field name="model_id" ref="model_cc.ship.package"/>-->
<!-- <field name="binding_model_id" ref="model_cc.ship.package"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">-->
<!-- if records:-->
<!-- action = records.action_bl_line_translate()-->
<!-- </field>-->
<!-- </record>-->
<record
id=
"ship_package_add_exception_info_server_action"
model=
"ir.actions.server"
>
<field
name=
"name"
>
Batch Add Package Exception Information
</field>
<field
name=
"model_id"
ref=
"model_cc_ship_package"
/>
<field
name=
"binding_model_id"
ref=
"model_cc_ship_package"
/>
<field
name=
"state"
>
code
</field>
<field
name=
"binding_view_types"
>
list
</field>
<field
name=
"groups_id"
eval=
"[(4, ref('ccs_base.group_clearance_of_customs_manager'))]"
/>
<field
name=
"code"
>
if records:
action = records.action_package_exception_info()
</field>
</record>
</odoo>
\ No newline at end of file
ccs_base/wizard/__init__.py
浏览文件 @
c78a8299
...
...
@@ -3,4 +3,5 @@
from
.
import
batch_input_ship_package_statu_wizard
from
.
import
export_bl_big_package_xlsx_wizard
from
.
import
associate_pallet_wizard
from
.
import
add_exception_info_wizard
ccs_base/wizard/add_exception_info_wizard.py
浏览文件 @
c78a8299
from
odoo
import
models
,
fields
,
api
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import
logging
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
UserError
...
...
@@ -12,16 +16,27 @@ class AddExceptionInfoWizard(models.TransientModel):
order_id
=
[
self
.
_context
.
get
(
'active_id'
)]
return
self
.
env
[
self
.
_context
.
get
(
'active_name'
)]
.
browse
(
order_id
)
def
get_language
(
self
):
"""
当前用户语言进行默认
:return:
"""
lang
=
self
.
env
.
user
.
lang
logging
.
info
(
'lang:
%
s'
%
lang
)
return
lang
action_type
=
fields
.
Char
(
string
=
'Action Type'
,
hemp
=
'ship package/big package'
)
exception_ids
=
fields
.
Many2many
(
'exception.info'
,
'big_package_add_exception_rel'
,
string
=
'Exception Information'
,
big_package_ids
=
fields
.
Many2many
(
'cc.big.package'
,
'exception_wizard_big_package_rel'
,
string
=
'Big Packages'
)
ship_package_ids
=
fields
.
Many2many
(
'cc.ship.package'
,
'exception_wizard_ship_package_rel'
,
string
=
'Ship Packages'
)
exception_ids
=
fields
.
Many2many
(
'cc.exception.info'
,
'big_package_add_exception_info_rel'
,
string
=
'Exception Information'
,
required
=
True
)
# 异常信息(多选)
send_email
=
fields
.
Boolean
(
string
=
'Send Email Notification'
,
default
=
False
)
# 发送邮件通知
email_language
=
fields
.
Selection
([
(
'zh'
,
'Chinese'
),
(
'en'
,
'English'
)
],
string
=
'Email Language'
,
default
=
'zh'
)
# 邮件语言
(
'zh
_CN
'
,
'Chinese'
),
(
'en
_US
'
,
'English'
)
],
string
=
'Email Language'
,
default
=
get_language
)
# 邮件语言
@api.multi
def
confirm
(
self
):
for
record
in
self
:
# 更新小包的异常信息
...
...
@@ -29,25 +44,40 @@ class AddExceptionInfoWizard(models.TransientModel):
package_objs
=
self
.
get_order
()
for
package
in
package_objs
:
package
.
exception_info_ids
=
[(
6
,
0
,
exception_objs
.
ids
)]
# 回写小包的异常信息
# 回写sns %s %s 操作了异常信息,异常原因:%s,%s发送%s邮件
body
=
_
(
'
%
s at
%
s manipulated abnormal information, the reason for the abnormality is:
%
s,
%
s
%
s email'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
'/'
.
join
([
exception
.
reason
for
exception
in
exception_objs
]),
_
(
'Sent'
)
if
record
.
send_email
else
_
(
'Not Sent'
),
(
_
(
'Chinese'
)
if
record
.
email_language
==
'zh_CN'
else
_
(
'English'
))
if
record
.
send_email
else
''
)
package
.
message_post
(
body
=
body
)
# 发送邮件通知
if
record
.
send_email
:
self
.
send_email_notification
(
package
)
self
.
send_email_notification
(
record
,
package_objs
,
exception_objs
)
def
send_email_notification
(
self
,
package
,
exception_objs
):
def
send_email_notification
(
self
,
wizard_obj
,
package_objs
,
exception_objs
):
"""
发送对应语言的邮件
'/'.join([exception.reason for exception in exception_objs])
发送对应语言的邮件
"""
if
self
.
email_language
==
'zh'
:
template_id
=
self
.
env
.
ref
(
'
your_modul
e.email_template_exception_notification'
)
if
self
.
email_language
==
'zh
_CN
'
:
template_id
=
self
.
env
.
ref
(
'
ccs_bas
e.email_template_exception_notification'
)
else
:
template_id
=
self
.
env
.
ref
(
'your_module.email_template_exception_notification_en'
)
# Assuming you have an English template
'ccs_base.email_template_exception_notification_en'
)
# Assuming you have an English template
if
template_id
:
template_id
.
send_mail
(
package
.
id
,
force_send
=
True
,
email_arr
=
[]
for
r
in
exception_objs
:
if
r
.
responsible_email
:
email_arr
+=
r
.
responsible_email
.
split
(
'
\n
'
)
email_to
=
','
.
join
(
set
(
email_arr
))
# 取 异常信息里的邮箱
logging
.
info
(
'email_to:
%
s'
%
email_to
)
default_email_from
=
self
.
env
[
"ir.config_parameter"
]
.
sudo
()
.
get_param
(
"default_email_from"
)
template_id
.
send_mail
(
wizard_obj
.
id
,
force_send
=
True
,
email_values
=
{
'email_
to'
:
''
,
'email_
from'
:
''
'email_
from'
:
default_email_from
,
'email_
to'
:
email_to
})
else
:
raise
UserError
(
"Email template not found."
)
raise
UserError
(
_
(
"Email template not found."
)
)
ccs_base/wizard/add_exception_info_wizard_views.xml
浏览文件 @
c78a8299
...
...
@@ -6,13 +6,16 @@
<form
string=
"Add Exception Information"
>
<sheet>
<group>
<field
name=
"exception_ids"
widget=
"many2many_tags"
/>
<!-- 异常信息 -->
<field
name=
"send_email"
/>
<!-- 实付发送邮件通知 -->
<field
name=
"email_language"
/>
<!-- 邮件语言 -->
<field
name=
"big_package_ids"
widget=
"many2many_tags"
readonly=
"1"
invisible=
"1"
/>
<field
name=
"ship_package_ids"
widget=
"many2many_tags"
readonly=
"1"
invisible=
"1"
/>
<field
name=
"exception_ids"
widget=
"many2many_tags"
required=
"1"
/>
<!-- 异常信息 -->
<field
name=
"send_email"
/>
<!-- 发送邮件通知 -->
<field
name=
"email_language"
attrs=
"{'required':[('send_email','=',True)]}"
/>
<!-- 邮件语言 -->
</group>
<footer>
<button
string=
"Confirm"
type=
"object"
name=
"confirm"
class=
"btn-primary"
/>
<button
string=
"C
ancel"
class=
"btn-secondary
"
special=
"cancel"
/>
<button
string=
"C
lose
"
special=
"cancel"
/>
</footer>
</sheet>
</form>
...
...
ccs_base/wizard/associate_pallet_wizard.py
浏览文件 @
c78a8299
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from
datetime
import
date
from
odoo
import
models
,
fields
,
api
from
odoo
import
models
,
fields
,
api
,
_
from
odoo.exceptions
import
Warning
,
ValidationError
class
AssociatePalletWizard
(
models
.
TransientModel
):
_name
=
'associate.pallet.wizard'
_description
=
'Associate Pallet Wizard'
usage_date
=
fields
.
Date
(
string
=
'Usage Date'
,
default
=
date
.
today
)
# 使用日期
pallet_number
=
fields
.
Char
(
string
=
'Pallet Number'
,
required
=
True
)
# 托盘号
def
get_pallet_number
(
self
):
"""
生成托盘号 从001开始,如果
:return: 新的托盘号
"""
try
:
# 获取当前日期
current_date
=
fields
.
Date
.
today
()
# 查找大包中最新的托盘号
latest_pallet
=
self
.
env
[
'cc.big.package'
]
.
search
([(
'pallet_usage_date'
,
'='
,
str
(
current_date
))],
order
=
'pallet_number desc'
,
limit
=
1
)
# 生成新的托盘号
if
latest_pallet
:
new_pallet_number
=
int
(
latest_pallet
.
pallet_number
)
+
1
else
:
new_pallet_number
=
1
# 如果没有找到,默认从1开始
return
str
(
new_pallet_number
)
.
zfill
(
3
)
# 返回格式化的托盘号
except
Exception
as
e
:
raise
ValidationError
(
str
(
e
))
usage_date
=
fields
.
Date
(
string
=
'Usage Date'
,
default
=
fields
.
Date
.
today
)
# 使用日期
pallet_number
=
fields
.
Char
(
string
=
'Pallet Number'
,
required
=
True
,
default
=
get_pallet_number
)
# 托盘号
big_package_numbers
=
fields
.
Text
(
string
=
'Big Package Numbers'
)
# 大包号(可输入多个)
def
confirm
(
self
):
for
record
in
self
:
if
not
record
.
pallet_number
.
isdigit
():
raise
ValidationError
(
_
(
'The pallet number can only be entered as a number!'
))
# 托盘号只能输入数字!
if
record
.
usage_date
>
fields
.
Date
.
today
():
raise
ValidationError
(
_
(
'The usage date cannot be later than the current date!'
))
# 使用日期不能大于当前日期!
# 处理大包号
big_package_ids
=
record
.
big_package_numbers
.
splitlines
()
for
package_number
in
big_package_ids
:
package
=
self
.
env
[
'
big.package'
]
.
search
([(
'number
'
,
'='
,
package_number
)],
limit
=
1
)
package
=
self
.
env
[
'
cc.big.package'
]
.
search
([(
'big_package_no
'
,
'='
,
package_number
)],
limit
=
1
)
if
package
:
#
更新
托盘号和使用日期
#
回写大包的
托盘号和使用日期
old_pallet_number
=
package
.
pallet_number
old_usage_date
=
package
.
usage_date
package
.
pallet_number
=
record
.
pallet_number
package
.
usage_date
=
record
.
usage_date
body
=
'
%
s
%
s更改了托盘号,由
%
s变更为
%
s,托盘使用日期
%
s变更为
%
s'
%
(
old_usage_date
=
package
.
pallet_usage_date
package
.
update_pallet_info
(
record
.
pallet_number
,
record
.
usage_date
)
# %s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s
if
old_pallet_number
:
body
=
_
(
'
%
s at
%
s changed the pallet number from
%
s to
%
s, and the pallet usage date from
%
s to
%
s'
)
%
(
self
.
env
.
user
.
name
,
fields
.
Datetime
.
now
(),
old_pallet_number
,
record
.
pallet_number
,
old_usage_date
,
record
.
usage_date
)
...
...
ccs_base/wizard/associate_pallet_wizard_views.xml
浏览文件 @
c78a8299
...
...
@@ -6,13 +6,14 @@
<form
string=
"Associate Pallet"
>
<sheet>
<group>
<field
name=
"usage_date"
/>
<!-- 使用日期 -->
<field
name=
"pallet_number"
/>
<!-- 托盘号 -->
<field
name=
"big_package_numbers"
/>
<!-- 大包号 -->
<field
name=
"usage_date"
required=
"1"
/>
<!-- 使用日期 -->
<field
name=
"pallet_number"
required=
"1"
/>
<!-- 托盘号 -->
<field
name=
"big_package_numbers"
required=
"1"
placeholder=
"Multiple can be entered, one large package number per line"
/>
<!-- 大包号 可输入多个,一行一个大包号 -->
</group>
<footer>
<button
string=
"Confirm"
type=
"object"
name=
"confirm"
class=
"btn-primary"
/>
<button
string=
"C
ancel"
class=
"btn-secondary
"
special=
"cancel"
/>
<button
string=
"C
lose
"
special=
"cancel"
/>
</footer>
</sheet>
</form>
...
...
ccs_base/wizard/email_template.xml
浏览文件 @
c78a8299
<odoo>
<record
id=
"email_template_exception_notification"
model=
"mail.template"
>
<field
name=
"name"
>
Exception Notification
</field>
<field
name=
"model_id"
ref=
"model_exception_info"
/>
<field
name=
"email_from"
>
${(object.user_id.email or '')|safe}
</field>
<field
name=
"subject"
>
大包(或小包)异常
</field>
<field
name=
"body_html"
>
<![CDATA[
<p>
Dear all,
</p>
<p>
包裹:${object.big_package_numbers}(取大包号或小包物流订单号)
</p>
<p>
出现异常,异常原因:${object.reason}(若有多个,以/进行区分)
</p>
<p>
请知晓。
</p>
<p>
Best regards,
</p>
<p>
Your Team
</p>
]]>
<field
name=
"name"
>
异常信息邮件
</field>
<field
name=
"model_id"
ref=
"model_add_exception_info_wizard"
/>
<field
name=
"subject"
>
{{ ('大包异常' if object.action_type == 'big package' else '小包异常') }}
</field>
<field
name=
"body_html"
type=
"html"
>
<div
style=
"margin: 0px; padding: 0px;"
>
<p
style=
"margin: 0px; padding: 0px;"
>
您好
<br/>
<!-- 检查 big_package_ids 是否有值 -->
<t
t-if=
"object.big_package_ids"
>
<t
t-foreach=
"object.big_package_ids"
t-as=
"big_package_id"
>
<div>
包裹:
<t
t-esc=
"big_package_id.big_package_no or ''"
/>
</div>
</t>
</t>
<!-- 检查 ship_package_ids 是否有值 -->
<t
t-if=
"object.ship_package_ids"
>
<t
t-foreach=
"object.ship_package_ids"
t-as=
"ship_package_id"
>
<div>
包裹:
<t
t-esc=
"ship_package_id.logistic_order_no or ''"
/>
</div>
</t>
</t>
<div>
出现异常,异常原因:
<t
t-if=
"object.exception_ids"
>
<t
t-esc=
"'/'.join([ex.reason for ex in object.exception_ids])"
/>
,请知晓。
</t>
<t
t-if=
"not object.exception_ids"
>
无异常,请知晓。
</t>
</div>
</p>
</div>
</field>
<field
name=
"body_html_en"
>
<![CDATA[
<p>
Dear all,
</p>
<p>
Package: ${object.big_package_numbers} (取大包号或小包物流订单号)
</p>
<p>
Please know that there is an exception and the cause of the exception is: ${object.reason} (若有多个,以/进行区分).
</p>
<p>
Best regards,
</p>
<p>
Your Team
</p>
]]>
</record>
<record
id=
"email_template_exception_notification_en"
model=
"mail.template"
>
<field
name=
"name"
>
Exception Notification
</field>
<field
name=
"model_id"
ref=
"model_add_exception_info_wizard"
/>
<field
name=
"subject"
>
{{ ('Big Package Exception' if object.action_type == 'big package' else 'Ship Package Exception') }}
</field>
<field
name=
"body_html"
type=
"html"
>
<div
style=
"margin: 0px; padding: 0px;"
>
<p
style=
"margin: 0px; padding: 0px;"
>
Dear all
<br/>
<!-- 检查 big_package_ids 是否有值 -->
<t
t-if=
"object.big_package_ids"
>
<t
t-foreach=
"object.big_package_ids"
t-as=
"big_package_id"
>
<div>
Package:
<t
t-esc=
"big_package_id.big_package_no or ''"
/>
</div>
</t>
</t>
<!-- 检查 ship_package_ids 是否有值 -->
<t
t-if=
"object.ship_package_ids"
>
<t
t-foreach=
"object.ship_package_ids"
t-as=
"ship_package_id"
>
<div>
Package:
<t
t-esc=
"ship_package_id.logistic_order_no or ''"
/>
</div>
</t>
</t>
<div>
Please know that there is an exception and the cause of the exception is
<t
t-if=
"object.exception_ids"
>
<t
t-esc=
"'/'.join([ex.reason for ex in object.exception_ids])"
/>
</t>
<t
t-if=
"not object.exception_ids"
>
No Exception
</t>
</div>
</p>
</div>
</field>
</record>
</odoo>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论