Accept Merge Request #2016: (feature/tool_standard_library_process -> develop)

Merge Request: sf-制造-表面工艺-菜单名称修改

Created By: @廖丹龙
Reviewed By: @胡尧
Approved By: @胡尧 
Accepted By: @廖丹龙
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2016
This commit is contained in:
廖丹龙
2025-04-18 16:46:38 +08:00
committed by Coding
8 changed files with 31 additions and 21 deletions

View File

@@ -5,7 +5,7 @@
<record model="ir.ui.view" id="mrs_production_process_parameter_tree">
<field name="model">sf.production.process.parameter</field>
<field name="arch" type="xml">
<tree string="表面工艺可选参数" create="0" delete="0">
<tree string="工艺可选参数" create="0" delete="0">
<field name="code"/>
<field name="name"/>
<field name="gain_way"/>
@@ -15,7 +15,7 @@
<record model="ir.ui.view" id="mrs_production_process_parameter_form">
<field name="model">sf.production.process.parameter</field>
<field name="arch" type="xml">
<form string="表面工艺可选参数" create="0" delete="0" >
<form string="工艺可选参数" create="0" delete="0" >
<sheet>
<div class="oe_title">
<h1>
@@ -104,7 +104,7 @@
<record model="ir.ui.view" id="sf_production_process_category_form">
<field name="model">sf.production.process.category</field>
<field name="arch" type="xml">
<form string="表面工艺类别" create="0" edit="0" delete="1">
<form string="工艺类别" create="0" edit="0" delete="1">
<sheet>
<div class="oe_title">
<h1>
@@ -120,7 +120,7 @@
</group>
</group>
<notebook>
<page string="表面工艺">
<page string="工艺">
<field name='production_process_ids' widget="ony2many">
<tree editable="bottom">
<field name="code" string="编码号" readonly="1" force_save="1"/>
@@ -139,7 +139,7 @@
<record model="ir.ui.view" id="sf_production_process_category_tree">
<field name="model">sf.production.process.category</field>
<field name="arch" type="xml">
<tree string="表面工艺类别" default_order="sequence, id" create="0" edit="0" delete="1">
<tree string="工艺类别" default_order="sequence, id" create="0" edit="0" delete="1">
<field name="sequence" widget="handle" string="序号" readonly="1"/>
<field name="code"/>
<field name="name" string="名称"/>
@@ -163,7 +163,7 @@
<record model="ir.ui.view" id="sf_production_process_tree">
<field name="model">sf.production.process</field>
<field name="arch" type="xml">
<tree string="表面工艺" create="0" edit="0" delete="0">
<tree string="工艺" create="0" edit="0" delete="0">
<field name="sequence" string="加工顺序" readonly="1"/>
<field name="code"/>
<field name="name" string="名称"/>
@@ -175,7 +175,7 @@
<record model="ir.ui.view" id="sf_production_process_form">
<field name="model">sf.production.process</field>
<field name="arch" type="xml">
<form string="表面工艺" create="0" delete="0">
<form string="工艺" create="0" delete="0">
<sheet>
<div class="oe_title">
<h1>
@@ -395,7 +395,7 @@
<field name="view_mode">tree,form</field>
</record>
<record id="sf_production_process" model="ir.actions.act_window">
<field name="name">表面工艺</field>
<field name="name">工艺</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.production.process</field>
<field name="view_mode">tree,form</field>
@@ -414,13 +414,13 @@
<!-- </record>-->
<record id="sf_production_process_category" model="ir.actions.act_window">
<field name="name">表面工艺类别</field>
<field name="name">工艺类别</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.production.process.category</field>
<field name="view_mode">tree,form</field>
</record>
<record id="mrs_production_process_parameter_action" model="ir.actions.act_window">
<field name="name">表面工艺可选参数</field>
<field name="name">工艺可选参数</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.production.process.parameter</field>
<field name="view_mode">tree,form</field>

View File

@@ -78,7 +78,7 @@
<menuitem
id="menu_sf_production_process"
name="表面工艺"
name="工艺"
parent="menu_sf_production_process_1"
sequence="2"
action="sf_production_process"
@@ -86,7 +86,7 @@
<menuitem
id="menu_sf_production_process_category"
name="表面工艺类别"
name="工艺类别"
parent="menu_sf_production_process_1"
sequence="1"
action="sf_production_process_category"
@@ -113,7 +113,7 @@
<menuitem
id="mrs_production_process_parameter_view"
name="表面工艺可选参数"
name="工艺可选参数"
parent="menu_sf_production_process_1"
sequence="2"
action="mrs_production_process_parameter_action"

View File

@@ -3,8 +3,8 @@
<record id="sequence_production_process_parameter" model="ir.sequence">
<field name="name">工艺可选参数编码序列</field>
<field name="code">sf.production.process.parameter</field>
<field name="prefix">WKSP</field>
<field name="padding">9</field>
<field name="padding">3</field>
<field name="number_increment">1</field>
</record>
</data>
</odoo>

View File

@@ -11,20 +11,23 @@ class SfProductionProcessParameter(models.Model):
@api.model
def create(self, vals):
if vals.get('code', '/') == '/' or vals.get('code', '/') is False:
vals['code'] = self.env['ir.sequence'].next_by_code('sf.production.process.parameter') or '/'
# if vals.get('code', '/') == '/' or vals.get('code', '/') is False:
# vals['code'] = '101'+self.routing_id.code +self.env['ir.sequence'].next_by_code('sf.production.process.parameter')
if not vals.get('process_id') and vals.get('routing_id'):
vals['gain_way'] = '外协'
routing_id = self.env['mrp.routing.workcenter'].browse(vals.get('routing_id'))
if routing_id.surface_technics_id:
vals['process_id'] = routing_id.surface_technics_id.id
if vals.get('code', '/') == '/' or vals.get('code', '/') is False:
vals['code'] = '101' + routing_id.code + self.env['ir.sequence'].next_by_code(
'sf.production.process.parameter')
obj = super(SfProductionProcessParameter, self).create(vals)
return obj
def create_service_product(self):
service_categ = self.env.ref(
'sf_dlm.product_category_surface_technics_sf').sudo()
product_name = f"{self.process_id.name}{self.name}"
product_name = f"{self.process_id.name}_{self.name}"
product_id = self.env['product.template'].search(
[("name", '=', product_name)])
if product_id:

View File

@@ -1067,7 +1067,8 @@ class ResProductMo(models.Model):
raise UserError('产品名称【%s】已存在' % item.name)
if item.categ_type == '表面工艺':
if len(self.search([('server_product_process_parameters_id', '=',
item.server_product_process_parameters_id.id)])) > 1:
item.server_product_process_parameters_id.id),('server_product_process_parameters_id', '!=',
False)])) > 1:
raise UserError('表面工艺参数为【%s】的产品已存在' % item.server_product_process_parameters_id.name)
if "create_product_product" not in self._context:
templates._create_variant_ids()

View File

@@ -21,6 +21,12 @@ class SfProductionProcessParameter(models.Model):
for record in self:
if len(record.outsourced_service_products) > 1:
raise ValidationError("工艺参数不能与多个产品关联")
@api.onchange('outsourced_service_products')
def _onchange_validate_partner_limit(self):
for record in self:
if len(record.outsourced_service_products) > 1:
raise ValidationError("工艺参数不能与多个产品关联")
@api.depends('outsourced_service_products')
def _compute_is_product_button(self):
for record in self:

View File

@@ -30,7 +30,7 @@
<field name="is_delete_button" invisible="1"/>
<field name="code" attrs="{'readonly': True}"/>
<field name="name"/>
<field name="outsourced_service_products" widget="many2many_tags"/>
<field name="outsourced_service_products" domain="[('detailed_type', '=', 'service'),('process_parameter', '=', False)]"/>
<!-- 按钮列 -->
<button name="action_create_service_product" string="创建服务产品" type="object"
class="btn-primary"

View File

@@ -19,7 +19,7 @@ class ProductCreationWizard(models.TransientModel):
service_categ = self.env.ref('sf_manufacturing.product_category_outsource_other_process').sudo()
default_values = {
'detailed_type': 'service',
'name': f"{self.process_parameter_id.process_id.name}{self.process_parameter_id.name}",
'name': f"{self.process_parameter_id.routing_id.name}_{self.process_parameter_id.name}",
'invoice_policy': 'delivery',
'categ_id': service_categ.id,
'description': f"基于{self.process_parameter_id.name}创建的服务产品",