提交 3f74d1ca authored 作者: 贺阳's avatar 贺阳

菜单权限优化以及托盘关联时需要根据下一服务商过滤

上级 bac8a3fc
...@@ -41,12 +41,12 @@ class CCLastMileProvider(models.Model): ...@@ -41,12 +41,12 @@ class CCLastMileProvider(models.Model):
matching_value = fields.Text(string='Matching Value') # 尾程服务商匹配值 matching_value = fields.Text(string='Matching Value') # 尾程服务商匹配值
placement_area = fields.Char('Placement Area') # 摆放区域,英文 placement_area = fields.Char('Placement Area') # 摆放区域,英文
def match_provider(self, provider_name): def match_provider(self, provider_name,record_obj=None):
"""Check if the provider name exists in matching values and return the record.""" """Check if the provider name exists in matching values and return the record."""
# 将输入的 provider_name 转换为小写 # 将输入的 provider_name 转换为小写
provider_name_lower = provider_name.lower() provider_name_lower = provider_name.lower()
# 查询所有匹配的记录 # 查询所有匹配的记录
matching_records = self.sudo().search([]) matching_records = self.sudo().search([]) if not record_obj else record_obj
# 检查是否有记录的 matching_value 包含 provider_name(不区分大小写) # 检查是否有记录的 matching_value 包含 provider_name(不区分大小写)
for record in matching_records: for record in matching_records:
if record.matching_value: if record.matching_value:
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
parent="menu_ccs_base_main"/> parent="menu_ccs_base_main"/>
<menuitem sequence="25" name="History Data" id="menu_cc_history_data" <menuitem sequence="25" name="History Data" id="menu_cc_history_data"
groups="ccs_base.group_clearance_of_customs_manager" groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"
/> />
<menuitem parent="menu_cc_history_data" sequence="1" name="History Big Package" id="menu_cc_history_big_package" <menuitem parent="menu_cc_history_data" sequence="1" name="History Big Package" id="menu_cc_history_big_package"
...@@ -81,19 +81,20 @@ ...@@ -81,19 +81,20 @@
id="menu_cc_history_ship_package" action="action_cc_history_ship_package"/> id="menu_cc_history_ship_package" action="action_cc_history_ship_package"/>
<menuitem parent="menu_cc_history_data" id="menu_history_flight_tt_api_log" name="TIKTOK推送日志" sequence="7" <menuitem parent="menu_cc_history_data" id="menu_history_flight_tt_api_log" name="TIKTOK推送日志" sequence="7"
action="action_history_tt_api_log"/> action="action_history_tt_api_log"
groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
<menuitem parent="" sequence="10" name="Bill of Loading" id="menu_cc_bl" action="action_cc_bl" <menuitem parent="" sequence="10" name="Bill of Loading" id="menu_cc_bl" action="action_cc_bl"
groups="ccs_base.group_clearance_of_customs_user"/> groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
<menuitem parent="" sequence="13" name="Big Package" id="menu_cc_big_package" action="action_cc_big_package" <menuitem parent="" sequence="13" name="Big Package" id="menu_cc_big_package" action="action_cc_big_package"
groups="ccs_base.group_clearance_of_customs_user"/> groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
<menuitem parent="" sequence="16" name="Package Goods" id="menu_cc_package_good" action="action_cc_package_good" <menuitem parent="" sequence="16" name="Package Goods" id="menu_cc_package_good" action="action_cc_package_good"
groups="ccs_base.group_clearance_of_customs_user"/> groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
<menuitem parent="" sequence="15" name="Ship Package" id="menu_cc_ship_package" action="action_cc_ship_package" <menuitem parent="" sequence="15" name="Ship Package" id="menu_cc_ship_package" action="action_cc_ship_package"
groups="ccs_base.group_clearance_of_customs_user"/> groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
</data> </data>
......
...@@ -64,14 +64,14 @@ class AssociatePalletWizard(models.TransientModel): ...@@ -64,14 +64,14 @@ class AssociatePalletWizard(models.TransientModel):
new_pallet_number = record.pallet_number # 修改的托盘号 new_pallet_number = record.pallet_number # 修改的托盘号
old_usage_date = package.pallet_usage_date old_usage_date = package.pallet_usage_date
# 同一提单,同一托盘号,使用日期必须一致 # 同一提单,同一托盘号,使用日期必须一致
related_packages = package.bl_id.big_package_ids.filtered( # related_packages = package.bl_id.big_package_ids.filtered(
lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包 # lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包
warning_package_arr = [related_package.big_package_no for related_package in related_packages if # warning_package_arr = [related_package.big_package_no for related_package in related_packages if
related_package.pallet_usage_date != record.usage_date] # related_package.pallet_usage_date != record.usage_date]
if warning_package_arr: # if warning_package_arr:
raise ValidationError( # raise ValidationError(
_('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % ( # _('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % (
'\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致 # '\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致
package.update_pallet_info(new_pallet_number, record.usage_date) package.update_pallet_info(new_pallet_number, record.usage_date)
if old_pallet_number: if old_pallet_number:
# %s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s # %s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
'views/cc_bl_view.xml', 'views/cc_bl_view.xml',
'views/pda_scan_record_views.xml', 'views/pda_scan_record_views.xml',
'views/bl_patrol_views.xml', 'views/bl_patrol_views.xml',
'views/menu_view.xml',
], ],
'demo': [ 'demo': [
......
...@@ -476,15 +476,6 @@ msgstr "同步时间" ...@@ -476,15 +476,6 @@ msgstr "同步时间"
msgid "TIKTOK接口配置" msgid "TIKTOK接口配置"
msgstr "" msgstr ""
#. module: ccs_connect_tiktok
#: model:ir.actions.act_window,name:ccs_connect_tiktok.action_ao_tt_api_log
#: model:ir.ui.menu,name:ccs_connect_tiktok.menu_ao_flight_tt_api_log
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.form_ao_tt_api_log_view
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.search_ao_tt_api_log_view
#: model_terms:ir.ui.view,arch_db:ccs_connect_tiktok.tree_ao_tt_api_log_view
msgid "TIKTOK推送日志"
msgstr ""
#. module: ccs_connect_tiktok #. module: ccs_connect_tiktok
#: model:ir.model.fields,field_description:ccs_connect_tiktok.field_cc_node__tk_code #: model:ir.model.fields,field_description:ccs_connect_tiktok.field_cc_node__tk_code
#: model:ir.model.fields,field_description:ccs_connect_tiktok.field_cc_ship_package__tk_code #: model:ir.model.fields,field_description:ccs_connect_tiktok.field_cc_ship_package__tk_code
......
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_group_user_ao_tt_api,access_group_user_ao_tt_api,ccs_connect_tiktok.model_ao_tt_api,base.group_user,1,0,0,0 access_group_user_ao_tt_api,access_group_user_ao_tt_api,ccs_connect_tiktok.model_ao_tt_api,base.group_user,1,0,0,0
access_ao_tt_api_log,ao_tt_api_log,model_ao_tt_api_log,base.group_system,1,1,1,1
access_cc_ship_package_sync_log_base.group_user,cc_ship_package_sync_log base.group_user,ccs_connect_tiktok.model_cc_ship_package_sync_log,base.group_user,1,0,0,0 access_cc_ship_package_sync_log_base.group_user,cc_ship_package_sync_log base.group_user,ccs_connect_tiktok.model_cc_ship_package_sync_log,base.group_user,1,0,0,0
access_cc_ship_package_sync_log_base.group_erp_manager,cc_ship_package_sync_log base.group_erp_manager,ccs_connect_tiktok.model_cc_ship_package_sync_log,base.group_erp_manager,1,1,1,1 access_cc_ship_package_sync_log_base.group_erp_manager,cc_ship_package_sync_log base.group_erp_manager,ccs_connect_tiktok.model_cc_ship_package_sync_log,base.group_erp_manager,1,1,1,1
...@@ -10,7 +9,12 @@ access_cc_ship_package_sync_log_ccs_base.group_clearance_of_customs_user,cc_ship ...@@ -10,7 +9,12 @@ access_cc_ship_package_sync_log_ccs_base.group_clearance_of_customs_user,cc_ship
access_cc_bl_sync_log_base.group_user,cc_bl_sync_log base.group_user,ccs_connect_tiktok.model_cc_bl_sync_log,base.group_user,1,0,0,0 access_cc_bl_sync_log_base.group_user,cc_bl_sync_log base.group_user,ccs_connect_tiktok.model_cc_bl_sync_log,base.group_user,1,0,0,0
access_cc_bl_sync_log_base.group_erp_manager,cc_bl_sync_log base.group_erp_manager,ccs_connect_tiktok.model_cc_bl_sync_log,base.group_erp_manager,1,1,1,1 access_cc_bl_sync_log_base.group_erp_manager,cc_bl_sync_log base.group_erp_manager,ccs_connect_tiktok.model_cc_bl_sync_log,base.group_erp_manager,1,1,1,1
access_cc_bl_sync_log_ccs_base.group_clearance_of_customs_manager,cc_bl_sync_log ccs_base.group_clearance_of_customs_manager,ccs_connect_tiktok.model_cc_bl_sync_log,ccs_base.group_clearance_of_customs_manager,1,0,0,0 access_cc_bl_sync_log_ccs_base.group_clearance_of_customs_manager,cc_bl_sync_log ccs_base.group_clearance_of_customs_manager,ccs_connect_tiktok.model_cc_bl_sync_log,ccs_base.group_clearance_of_customs_manager,1,0,0,0
access_cc_bl_sync_log_ccs_base.group_clearance_of_customs_user,cc_bl_sync_log ccs_base.group_clearance_of_customs_user,ccs_connect_tiktok.model_cc_bl_sync_log,ccs_base.group_clearance_of_customs_user,1,0,0,0 access_cc_bl_sync_log_ccs_base.group_clearance_of_customs_user,cc_bl_sync_log ccs_base.group_clearance_of_customs_user,model_cc_bl_sync_log,ccs_base.group_clearance_of_customs_user,1,0,0,0
access_ao_tt_api_log_user,access_ao_tt_api_log_user,model_ao_tt_api_log,base.group_user,1,0,0,0
access_ao_tt_api_log,ao_tt_api_log,model_ao_tt_api_log,base.group_system,1,1,1,1
access_pda_scan_record_user,pda.scan.record.user,model_pda_scan_record,base.group_user,1,1,1,0 access_pda_scan_record_user,pda.scan.record.user,model_pda_scan_record,base.group_user,1,1,1,0
access_pda_scan_record_manager,pda.scan.record.manager,model_pda_scan_record,base.group_system,1,1,1,1 access_pda_scan_record_manager,pda.scan.record.manager,model_pda_scan_record,base.group_system,1,1,1,1
......
...@@ -97,11 +97,5 @@ ...@@ -97,11 +97,5 @@
<field name="domain">[]</field> <field name="domain">[]</field>
<field name="context">{'search_default_last_30d':1}</field> <field name="context">{'search_default_last_30d':1}</field>
</record> </record>
<menuitem
id="menu_ao_flight_tt_api_log"
name="TIKTOK推送日志" groups="ccs_base.group_clearance_of_customs_user"
sequence="21" action="action_ao_tt_api_log"/>
</data> </data>
</odoo> </odoo>
\ No newline at end of file
...@@ -97,10 +97,5 @@ ...@@ -97,10 +97,5 @@
</field> </field>
</record> </record>
<!-- 菜单项 -->
<menuitem id="menu_bl_patrol"
name="提单巡查"
action="action_bl_patrol"
sequence="22" groups="ccs_base.group_clearance_of_customs_user"/>
</data> </data>
</odoo> </odoo>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<menuitem
id="menu_tt_api_log"
name="TIKTOK推送日志" parent=""
groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"
sequence="21" action="action_ao_tt_api_log"/>
<!-- 菜单项 -->
<menuitem id="menu_bl_patrol"
name="提单巡查"
action="action_bl_patrol"
sequence="22"
groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
<!-- 菜单项 -->
<menuitem id="menu_pda_scan_record"
name="PDA Scan Record"
action="action_pda_scan_record"
sequence="21"
groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
</data>
</odoo>
\ No newline at end of file
...@@ -80,10 +80,4 @@ ...@@ -80,10 +80,4 @@
</p> </p>
</field> </field>
</record> </record>
<!-- 菜单项 -->
<menuitem id="menu_pda_scan_record"
name="PDA Scan Record"
action="action_pda_scan_record"
sequence="21" groups="ccs_base.group_clearance_of_customs_user"/>
</odoo> </odoo>
\ No newline at end of file
...@@ -6,8 +6,8 @@ msgid "" ...@@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 16.0\n" "Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-09 07:22+0000\n" "POT-Creation-Date: 2025-09-12 03:26+0000\n"
"PO-Revision-Date: 2025-09-09 15:29+0800\n" "PO-Revision-Date: 2025-09-12 11:31+0800\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: zh_CN\n" "Language: zh_CN\n"
...@@ -17,6 +17,70 @@ msgstr "" ...@@ -17,6 +17,70 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n" "X-Generator: Poedit 3.5\n"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/wizard/associate_pallet_wizard.py:0
#, python-format
msgid "%s The package does not exist, please check the input information!"
msgstr ""
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#, python-format
msgid "%s at %s associated %d packages to pallet %s"
msgstr "%s 在 %s 将 %d 个大包关联到托盘 %s"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#, python-format
msgid "%s at %s associated tray %s, with a tray usage date of %s"
msgstr "%s %s关联了托盘%s,托盘使用日期为%s"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.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_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_needaction
msgid "Action Needed"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_ids
msgid "Activities"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_state
msgid "Activity State"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_type_icon
msgid "Activity Type Icon"
msgstr ""
#. module: ccs_pallet
#: model:ir.model,name:ccs_pallet.model_associate_pallet_wizard
msgid "Associate Pallet Wizard"
msgstr "关联托盘向导"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form
...@@ -46,12 +110,25 @@ msgstr "批量创建托盘向导" ...@@ -46,12 +110,25 @@ msgstr "批量创建托盘向导"
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.actions.act_window,name:ccs_pallet.action_cc_pallet_batch_create #: model:ir.actions.act_window,name:ccs_pallet.action_cc_pallet_batch_create
#: model:ir.ui.menu,name:ccs_pallet.menu_cc_pallet_batch_create
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_batch_wizard_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_batch_wizard_form
#, python-format #, python-format
msgid "Batch Create Pallets" msgid "Batch Create Pallets"
msgstr "批量创建托盘" msgstr "批量创建托盘"
#. module: ccs_pallet
#: model:ir.model,name:ccs_pallet.model_cc_big_package
msgid "Big Package"
msgstr "大包"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#, python-format
msgid ""
"Big Package No :%s ,The same bill of lading, same pallet number, and usage "
"date must be consistent!"
msgstr "大包号:%s ,同一提单、同一托盘号的使用日期必须一致!"
#. module: ccs_pallet #. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_batch_wizard_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_batch_wizard_form
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_print_wizard_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_print_wizard_form
...@@ -81,9 +158,16 @@ msgid "Confirm and Print" ...@@ -81,9 +158,16 @@ msgid "Confirm and Print"
msgstr "确认并打印" msgstr "确认并打印"
#. module: ccs_pallet #. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_batch_wizard_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form
msgid "Create Information" #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
msgstr "创建信息" msgid "Create By"
msgstr "创建人"
#. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
msgid "Create Date"
msgstr "创建时间"
#. module: ccs_pallet #. module: ccs_pallet
#: model_terms:ir.actions.act_window,help:ccs_pallet.action_cc_pallet #: model_terms:ir.actions.act_window,help:ccs_pallet.action_cc_pallet
...@@ -105,13 +189,26 @@ msgstr "创建数量" ...@@ -105,13 +189,26 @@ msgstr "创建数量"
msgid "Create quantity must be greater than 0" msgid "Create quantity must be greater than 0"
msgstr "创建数量必须大于0" msgstr "创建数量必须大于0"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__create_uid
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__create_uid
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard__create_uid
msgid "Created by"
msgstr "创建人"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__create_date
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__create_date
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard__create_date
msgid "Created on"
msgstr "创建时间"
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0 #: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__partner_id #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__partner_id
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__partner_id #: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__partner_id
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
#, python-format #, python-format
msgid "Customer" msgid "Customer"
msgstr "客户" msgstr "客户"
...@@ -120,7 +217,6 @@ msgstr "客户" ...@@ -120,7 +217,6 @@ msgstr "客户"
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__delivery_plate_number #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__delivery_plate_number
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#, python-format #, python-format
msgid "Delivery Plate Number" msgid "Delivery Plate Number"
msgstr "托盘交付车牌号" msgstr "托盘交付车牌号"
...@@ -129,34 +225,172 @@ msgstr "托盘交付车牌号" ...@@ -129,34 +225,172 @@ msgstr "托盘交付车牌号"
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__delivery_time #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__delivery_time
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#, python-format #, python-format
msgid "Delivery Time" msgid "Delivery Time"
msgstr "托盘交货时间" msgstr "托盘交货时间"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__display_name
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__display_name
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard__display_name
msgid "Display Name"
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0 #: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__express_company_id #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__express_company_id
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__express_company_id #: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__express_company_id
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
#, python-format #, python-format
msgid "Express Company" msgid "Express Company"
msgstr "托盘归属快递" msgstr "托盘归属快递"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_follower_ids
msgid "Followers"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
msgid "Group By" msgid "Group By"
msgstr "分组" msgstr "分组"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__has_message
msgid "Has Message"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__id
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__id
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard__id
msgid "ID"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_exception_icon
msgid "Icon"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet____last_update
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard____last_update
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard____last_update
msgid "Last Modified on"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__write_uid
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__write_uid
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard__write_uid
msgid "Last Updated by"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__write_date
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_batch_wizard__write_date
#: model:ir.model.fields,field_description:ccs_pallet.field_pallet_print_wizard__write_date
msgid "Last Updated on"
msgstr ""
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/models/cc_big_package.py:0
#, python-format
msgid "Link Pallet"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_ids
msgid "Messages"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__package_count #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__package_count
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#, python-format #, python-format
msgid "Package Count" msgid "Package Count"
msgstr "托盘装载大包数" msgstr "托盘装载大包数"
...@@ -177,6 +411,9 @@ msgstr "托盘装载大包" ...@@ -177,6 +411,9 @@ msgstr "托盘装载大包"
#. module: ccs_pallet #. module: ccs_pallet
#: model:ir.model,name:ccs_pallet.model_cc_pallet #: model:ir.model,name:ccs_pallet.model_cc_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_associate_pallet_wizard__pallet_id
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_big_package__pallet_id
#: model:ir.ui.menu,name:ccs_pallet.menu_cc_pallet
msgid "Pallet" msgid "Pallet"
msgstr "托盘" msgstr "托盘"
...@@ -201,7 +438,6 @@ msgstr "托盘标签打印" ...@@ -201,7 +438,6 @@ msgstr "托盘标签打印"
#. module: ccs_pallet #. module: ccs_pallet
#: model:ir.actions.act_window,name:ccs_pallet.action_cc_pallet #: model:ir.actions.act_window,name:ccs_pallet.action_cc_pallet
#: model:ir.ui.menu,name:ccs_pallet.menu_cc_pallet
#: model:ir.ui.menu,name:ccs_pallet.menu_cc_pallet_root #: model:ir.ui.menu,name:ccs_pallet.menu_cc_pallet_root
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
...@@ -211,14 +447,12 @@ msgstr "托盘管理" ...@@ -211,14 +447,12 @@ msgstr "托盘管理"
#. module: ccs_pallet #. module: ccs_pallet
#: model:res.groups,name:ccs_pallet.group_pallet_manager #: model:res.groups,name:ccs_pallet.group_pallet_manager
msgid "Pallet Manager" msgid "Pallet Manager"
msgstr "托盘管理" msgstr "图片管理"
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__name #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__name
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
#, python-format #, python-format
msgid "Pallet Number" msgid "Pallet Number"
msgstr "托盘号" msgstr "托盘号"
...@@ -254,6 +488,14 @@ msgstr "搜索" ...@@ -254,6 +488,14 @@ msgstr "搜索"
msgid "Pallet Start Number" msgid "Pallet Start Number"
msgstr "托盘创建开始编号" msgstr "托盘创建开始编号"
#. module: ccs_pallet
#: model_terms:ir.actions.act_window,help:ccs_pallet.action_cc_pallet
msgid ""
"Pallet management system for managing pallets in the warehouse, including "
"pallet number generation,\n"
" status tracking and label printing."
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0 #: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0
...@@ -269,6 +511,11 @@ msgstr "托盘号 %s 已存在,请检查系统数据" ...@@ -269,6 +511,11 @@ msgstr "托盘号 %s 已存在,请检查系统数据"
msgid "Pallet number format: YYYYMM + 4 digits" msgid "Pallet number format: YYYYMM + 4 digits"
msgstr "托盘号格式:年月+4位数" msgstr "托盘号格式:年月+4位数"
#. module: ccs_pallet
#: model:ir.model,name:ccs_pallet.model_report_ccs_pallet_report_palletlabel
msgid "Pallet report"
msgstr "托盘报表"
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/wizard/pallet_print_wizard.py:0 #: code:addons/ccs_pallet/wizard/pallet_print_wizard.py:0
...@@ -278,9 +525,11 @@ msgid "Pallets" ...@@ -278,9 +525,11 @@ msgid "Pallets"
msgstr "托盘" msgstr "托盘"
#. module: ccs_pallet #. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search #. odoo-python
msgid "Plate Number" #: code:addons/ccs_pallet/wizard/associate_pallet_wizard.py:0
msgstr "托盘号" #, python-format
msgid "Please select a pallet!"
msgstr "请选择托盘!"
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
...@@ -290,6 +539,7 @@ msgid "Please select pallets to print" ...@@ -290,6 +539,7 @@ msgid "Please select pallets to print"
msgstr "请选择托盘进行打印" msgstr "请选择托盘进行打印"
#. module: ccs_pallet #. module: ccs_pallet
#: model:ir.actions.server,name:ccs_pallet.action_print_labels_pallet_server
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form
msgid "Print Labels" msgid "Print Labels"
msgstr "打印标签" msgstr "打印标签"
...@@ -305,7 +555,6 @@ msgstr "打印标签" ...@@ -305,7 +555,6 @@ msgstr "打印标签"
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__print_state #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__print_state
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
#, python-format #, python-format
msgid "Print State" msgid "Print State"
...@@ -320,11 +569,15 @@ msgstr "打印状态" ...@@ -320,11 +569,15 @@ msgstr "打印状态"
msgid "Printed" msgid "Printed"
msgstr "已打印" msgstr "已打印"
#. module: ccs_pallet
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__sorting_time #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__sorting_time
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#, python-format #, python-format
msgid "Sorting Time" msgid "Sorting Time"
msgstr "托盘理货时间" msgstr "托盘理货时间"
...@@ -341,6 +594,36 @@ msgstr "开始编码已被占用,关闭窗口,重新创建" ...@@ -341,6 +594,36 @@ msgstr "开始编码已被占用,关闭窗口,重新创建"
msgid "Status Information" msgid "Status Information"
msgstr "状态信息" msgstr "状态信息"
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/wizard/associate_pallet_wizard.py:0
#, python-format
msgid ""
"The next level service provider of the package 【%s】 is not the same as "
"the next level service provider of the pallet!"
msgstr "大包号【%s】的下一级服务商必须与托盘的下一级服务商一致"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/wizard/associate_pallet_wizard.py:0
#, python-format
msgid "The usage date cannot be later than the current date!"
msgstr "使用日期不能大于当前日期!"
#. module: ccs_pallet
#: model:ir.model.fields,help:ccs_pallet.field_cc_pallet__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr ""
#. module: ccs_pallet #. module: ccs_pallet
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
...@@ -363,7 +646,6 @@ msgstr "未使用" ...@@ -363,7 +646,6 @@ msgstr "未使用"
#. odoo-python #. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0 #: code:addons/ccs_pallet/models/cc_pallet.py:0
#: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__usage_state #: model:ir.model.fields,field_description:ccs_pallet.field_cc_pallet__usage_state
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_list
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search #: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
#, python-format #, python-format
msgid "Usage State" msgid "Usage State"
...@@ -382,17 +664,3 @@ msgstr "已使用" ...@@ -382,17 +664,3 @@ msgstr "已使用"
#: model:ir.actions.report,name:ccs_pallet.action_pallet_label_report #: model:ir.actions.report,name:ccs_pallet.action_pallet_label_report
msgid "托盘标签" msgid "托盘标签"
msgstr "" msgstr ""
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/wizard/associate_pallet_wizard.py:0
#, python-format
msgid "Please select a pallet!"
msgstr "请选择托盘!"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/wizard/associate_pallet_wizard.py:0
#, python-format
msgid "%s at %s associated %d packages to pallet %s"
msgstr "%s 在 %s 将 %d 个大包关联到托盘 %s"
...@@ -124,14 +124,14 @@ class CcPallet(models.Model): ...@@ -124,14 +124,14 @@ class CcPallet(models.Model):
old_usage_date = package.pallet_usage_date old_usage_date = package.pallet_usage_date
# 同一提单,同一托盘号,使用日期必须一致 # 同一提单,同一托盘号,使用日期必须一致
related_packages = package.bl_id.big_package_ids.filtered( # related_packages = package.bl_id.big_package_ids.filtered(
lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包 # lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包
warning_package_arr = [related_package.big_package_no for related_package in related_packages if # warning_package_arr = [related_package.big_package_no for related_package in related_packages if
str(related_package.pallet_usage_date) != usage_date] # str(related_package.pallet_usage_date) != usage_date]
if warning_package_arr: # if warning_package_arr:
raise ValidationError( # raise ValidationError(
_('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % ( # _('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % (
'\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致 # '\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致
# 更新大包的托盘信息 # 更新大包的托盘信息
package.update_pallet_info(new_pallet_number, usage_date, pallet.id) package.update_pallet_info(new_pallet_number, usage_date, pallet.id)
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<!-- 菜单项 --> <!-- 菜单项 -->
<menuitem id="menu_cc_pallet_root" name="Pallet Management" sequence="18" <menuitem id="menu_cc_pallet_root" name="Pallet Management" sequence="18"
groups="ccs_pallet.group_pallet_manager"/> groups="ccs_pallet.group_pallet_manager,ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
<menuitem id="menu_cc_pallet" <menuitem id="menu_cc_pallet"
name="Pallet" name="Pallet"
......
...@@ -33,7 +33,17 @@ class AssociatePalletWizard(models.TransientModel): ...@@ -33,7 +33,17 @@ class AssociatePalletWizard(models.TransientModel):
if fail_package: if fail_package:
raise ValidationError(_('%s The package does not exist, please check the input information!') % ( raise ValidationError(_('%s The package does not exist, please check the input information!') % (
'\n'.join(fail_package))) # 不存在该大包,请检查输入信息 '\n'.join(fail_package))) # 不存在该大包,请检查输入信息
if success_package: if success_package:
#所有的大包的下一级服务商必须和托盘的下一级服务商一致
error_package = []
for package in success_package:
provider = self.env['cc.last.mile.provider'].sudo().with_context({'lang': self.env.user.lang}).match_provider(
package.next_provider_name,record_obj=record.pallet_id.express_company_id)
if not provider:
error_package.append(package.big_package_no)
if error_package:
raise ValidationError(_('The next level service provider of the package 【%s】 is not the same as the next level service provider of the pallet!') % (
'、'.join(error_package)))#大包号[xxx]的下一级服务商必须与托盘的下一级服务商一致
# 更新托盘的使用状态(理货时间和交货时间会自动通过计算字段更新) # 更新托盘的使用状态(理货时间和交货时间会自动通过计算字段更新)
record.pallet_id.update_usage_state(success_package, record.usage_date) record.pallet_id.update_usage_state(success_package, record.usage_date)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论