解决冲突
This commit is contained in:
@@ -4,6 +4,7 @@ import requests
|
|||||||
import base64
|
import base64
|
||||||
import hashlib
|
import hashlib
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
@@ -778,8 +779,8 @@ class ResProductMo(models.Model):
|
|||||||
manual_quotation = fields.Boolean('人工编程', default=False, readonly=True)
|
manual_quotation = fields.Boolean('人工编程', default=False, readonly=True)
|
||||||
machining_drawings = fields.Binary('2D加工图纸', readonly=True)
|
machining_drawings = fields.Binary('2D加工图纸', readonly=True)
|
||||||
quality_standard = fields.Binary('质检标准', readonly=True)
|
quality_standard = fields.Binary('质检标准', readonly=True)
|
||||||
part_name = fields.Char(string='零件名称', readonly=True)
|
part_name = fields.Char(string='零件名称', compute='_compute_related_product', readonly=True, store=True)
|
||||||
part_number = fields.Char(string='零件图号', readonly=True)
|
part_number = fields.Char(string='零件图号', compute='_compute_related_product', readonly=True, store=True)
|
||||||
machining_drawings_name = fields.Char(string='零件图号名称', readonly=True)
|
machining_drawings_name = fields.Char(string='零件图号名称', readonly=True)
|
||||||
machining_drawings_mimetype = fields.Char(string='零件图号类型', readonly=True)
|
machining_drawings_mimetype = fields.Char(string='零件图号类型', readonly=True)
|
||||||
|
|
||||||
@@ -789,6 +790,29 @@ class ResProductMo(models.Model):
|
|||||||
auto_machining = fields.Boolean('自动化加工(模型识别)', default=False)
|
auto_machining = fields.Boolean('自动化加工(模型识别)', default=False)
|
||||||
model_id = fields.Char('模型id')
|
model_id = fields.Char('模型id')
|
||||||
|
|
||||||
|
|
||||||
|
@api.depends('name')
|
||||||
|
def _compute_related_product(self):
|
||||||
|
for record in self:
|
||||||
|
if record.categ_id.name == '坯料':
|
||||||
|
product_name = ''
|
||||||
|
match = re.search(r'(S\d{5}-\d)', record.name)
|
||||||
|
# 如果匹配成功,提取结果
|
||||||
|
if match:
|
||||||
|
product_name = match.group(0)
|
||||||
|
sale_order_name = ''
|
||||||
|
match_sale = re.search(r'S(\d+)', record.name)
|
||||||
|
if match_sale:
|
||||||
|
sale_order_name = match_sale.group(0)
|
||||||
|
sale_order = self.env['sale.order'].sudo().search(
|
||||||
|
[('name', '=', sale_order_name)])
|
||||||
|
if sale_order:
|
||||||
|
filtered_order_line = sale_order.order_line.filtered(
|
||||||
|
lambda order_line: re.search(f'{product_name}$', order_line.product_id.name)
|
||||||
|
)
|
||||||
|
record.part_number = filtered_order_line.product_id.part_number if filtered_order_line else None
|
||||||
|
record.part_name = filtered_order_line.product_id.part_name if filtered_order_line else None
|
||||||
|
|
||||||
@api.constrains('tool_length')
|
@api.constrains('tool_length')
|
||||||
def _check_tool_length_size(self):
|
def _check_tool_length_size(self):
|
||||||
if self.tool_length > 1000000:
|
if self.tool_length > 1000000:
|
||||||
|
|||||||
@@ -1140,7 +1140,7 @@ class SfPickingType(models.Model):
|
|||||||
action = super(SfPickingType, self)._get_action(action_xmlid)
|
action = super(SfPickingType, self)._get_action(action_xmlid)
|
||||||
if not self.env.user.has_group('base.group_system'):
|
if not self.env.user.has_group('base.group_system'):
|
||||||
action['context']['create'] = False
|
action['context']['create'] = False
|
||||||
if self.sequence_code in ['DL', 'INT', 'PC']:
|
if self.sequence_code in ['INT', 'PC']:
|
||||||
action['context']['search_default_retrospect'] = 1
|
action['context']['search_default_retrospect'] = 1
|
||||||
return action
|
return action
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user