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

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

上级 bac8a3fc
......@@ -41,12 +41,12 @@ class CCLastMileProvider(models.Model):
matching_value = fields.Text(string='Matching Value') # 尾程服务商匹配值
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."""
# 将输入的 provider_name 转换为小写
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(不区分大小写)
for record in matching_records:
if record.matching_value:
......
......@@ -68,7 +68,7 @@
parent="menu_ccs_base_main"/>
<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"
......@@ -81,19 +81,20 @@
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"
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"
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"
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"
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"
groups="ccs_base.group_clearance_of_customs_user"/>
groups="ccs_base.group_clearance_of_customs_user,ccs_base.group_clearance_of_customs_manager"/>
</data>
......
......@@ -64,14 +64,14 @@ class AssociatePalletWizard(models.TransientModel):
new_pallet_number = record.pallet_number # 修改的托盘号
old_usage_date = package.pallet_usage_date
# 同一提单,同一托盘号,使用日期必须一致
related_packages = package.bl_id.big_package_ids.filtered(
lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包
warning_package_arr = [related_package.big_package_no for related_package in related_packages if
related_package.pallet_usage_date != record.usage_date]
if warning_package_arr:
raise ValidationError(
_('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % (
'\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致
# related_packages = package.bl_id.big_package_ids.filtered(
# lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包
# warning_package_arr = [related_package.big_package_no for related_package in related_packages if
# related_package.pallet_usage_date != record.usage_date]
# if warning_package_arr:
# raise ValidationError(
# _('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % (
# '\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致
package.update_pallet_info(new_pallet_number, record.usage_date)
if old_pallet_number:
# %s %s更改了托盘号,由%s变更为%s,托盘使用日期%s变更为%s
......
......@@ -33,6 +33,7 @@
'views/cc_bl_view.xml',
'views/pda_scan_record_views.xml',
'views/bl_patrol_views.xml',
'views/menu_view.xml',
],
'demo': [
......
......@@ -476,15 +476,6 @@ msgstr "同步时间"
msgid "TIKTOK接口配置"
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
#: 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
......
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_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_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
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_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_manager,pda.scan.record.manager,model_pda_scan_record,base.group_system,1,1,1,1
......
......@@ -97,11 +97,5 @@
<field name="domain">[]</field>
<field name="context">{'search_default_last_30d':1}</field>
</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>
</odoo>
\ No newline at end of file
......@@ -97,10 +97,5 @@
</field>
</record>
<!-- 菜单项 -->
<menuitem id="menu_bl_patrol"
name="提单巡查"
action="action_bl_patrol"
sequence="22" groups="ccs_base.group_clearance_of_customs_user"/>
</data>
</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 @@
</p>
</field>
</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>
\ No newline at end of file
......@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-09-09 07:22+0000\n"
"PO-Revision-Date: 2025-09-09 15:29+0800\n"
"POT-Creation-Date: 2025-09-12 03:26+0000\n"
"PO-Revision-Date: 2025-09-12 11:31+0800\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: zh_CN\n"
......@@ -17,6 +17,70 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\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
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_form
......@@ -46,12 +110,25 @@ msgstr "批量创建托盘向导"
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
#, python-format
msgid "Batch Create Pallets"
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
#: 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
......@@ -81,9 +158,16 @@ msgid "Confirm and Print"
msgstr "确认并打印"
#. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_pallet_batch_wizard_form
msgid "Create Information"
msgstr "创建信息"
#: 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 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
#: model_terms:ir.actions.act_window,help:ccs_pallet.action_cc_pallet
......@@ -105,13 +189,26 @@ msgstr "创建数量"
msgid "Create quantity must be greater than 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
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.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_pallet_batch_wizard__partner_id
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
#, python-format
msgid "Customer"
msgstr "客户"
......@@ -120,7 +217,6 @@ msgstr "客户"
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
msgid "Delivery Plate Number"
msgstr "托盘交付车牌号"
......@@ -129,34 +225,172 @@ msgstr "托盘交付车牌号"
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
msgid "Delivery Time"
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
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.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_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
#, python-format
msgid "Express Company"
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
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
msgid "Group By"
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
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
msgid "Package Count"
msgstr "托盘装载大包数"
......@@ -177,6 +411,9 @@ msgstr "托盘装载大包"
#. module: ccs_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"
msgstr "托盘"
......@@ -201,7 +438,6 @@ msgstr "托盘标签打印"
#. module: ccs_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_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
......@@ -211,14 +447,12 @@ msgstr "托盘管理"
#. module: ccs_pallet
#: model:res.groups,name:ccs_pallet.group_pallet_manager
msgid "Pallet Manager"
msgstr "托盘管理"
msgstr "图片管理"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
msgid "Pallet Number"
msgstr "托盘号"
......@@ -254,6 +488,14 @@ msgstr "搜索"
msgid "Pallet Start Number"
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
#. odoo-python
#: code:addons/ccs_pallet/wizard/pallet_batch_wizard.py:0
......@@ -269,6 +511,11 @@ msgstr "托盘号 %s 已存在,请检查系统数据"
msgid "Pallet number format: YYYYMM + 4 digits"
msgstr "托盘号格式:年月+4位数"
#. module: ccs_pallet
#: model:ir.model,name:ccs_pallet.model_report_ccs_pallet_report_palletlabel
msgid "Pallet report"
msgstr "托盘报表"
#. module: ccs_pallet
#. odoo-python
#: code:addons/ccs_pallet/wizard/pallet_print_wizard.py:0
......@@ -278,9 +525,11 @@ msgid "Pallets"
msgstr "托盘"
#. module: ccs_pallet
#: model_terms:ir.ui.view,arch_db:ccs_pallet.view_cc_pallet_search
msgid "Plate Number"
msgstr "托盘号"
#. 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
......@@ -290,6 +539,7 @@ msgid "Please select pallets to print"
msgstr "请选择托盘进行打印"
#. 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
msgid "Print Labels"
msgstr "打印标签"
......@@ -305,7 +555,6 @@ msgstr "打印标签"
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
#, python-format
msgid "Print State"
......@@ -320,11 +569,15 @@ msgstr "打印状态"
msgid "Printed"
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
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
msgid "Sorting Time"
msgstr "托盘理货时间"
......@@ -341,6 +594,36 @@ msgstr "开始编码已被占用,关闭窗口,重新创建"
msgid "Status Information"
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
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
......@@ -363,7 +646,6 @@ msgstr "未使用"
#. odoo-python
#: code:addons/ccs_pallet/models/cc_pallet.py:0
#: 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
#, python-format
msgid "Usage State"
......@@ -382,17 +664,3 @@ msgstr "已使用"
#: model:ir.actions.report,name:ccs_pallet.action_pallet_label_report
msgid "托盘标签"
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):
old_usage_date = package.pallet_usage_date
# 同一提单,同一托盘号,使用日期必须一致
related_packages = package.bl_id.big_package_ids.filtered(
lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包
warning_package_arr = [related_package.big_package_no for related_package in related_packages if
str(related_package.pallet_usage_date) != usage_date]
if warning_package_arr:
raise ValidationError(
_('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % (
'\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致
# related_packages = package.bl_id.big_package_ids.filtered(
# lambda p: p.pallet_number == new_pallet_number) # 查找对应提单下相同托盘号的所有大包
# warning_package_arr = [related_package.big_package_no for related_package in related_packages if
# str(related_package.pallet_usage_date) != usage_date]
# if warning_package_arr:
# raise ValidationError(
# _('Big Package No :%s ,The same bill of lading, same pallet number, and usage date must be consistent!') % (
# '\n'.join(warning_package_arr))) # 大包号关联的同一提单,同一托盘号,使用日期必须一致
# 更新大包的托盘信息
package.update_pallet_info(new_pallet_number, usage_date, pallet.id)
......
......@@ -5,7 +5,7 @@
<!-- 菜单项 -->
<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"
name="Pallet"
......
......@@ -33,7 +33,17 @@ class AssociatePalletWizard(models.TransientModel):
if fail_package:
raise ValidationError(_('%s The package does not exist, please check the input information!') % (
'\n'.join(fail_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)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论