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

Merge Request: 零件图号零件名称无数据 问题修复

Created By: @廖丹龙
Reviewed By: @胡尧
Approved By: @胡尧 
Accepted By: @廖丹龙
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/1912
This commit is contained in:
廖丹龙
2025-03-17 16:50:52 +08:00
committed by Coding
3 changed files with 32 additions and 14 deletions

View File

@@ -109,15 +109,16 @@ class PurchaseOrder(models.Model):
class PurchaseOrderLine(models.Model):
_inherit = 'purchase.order.line'
part_number = fields.Char('零件图号', store=True, compute='_compute_related_product')
part_name = fields.Char('零件名称', store=True,
compute='_compute_related_product')
part_number = fields.Char('零件图号', store=True, compute='_compute_part_number')
part_name = fields.Char('零件名称', store=True, compute='_compute_part_name')
related_product = fields.Many2one('product.product', string='关联产品',
help='经此产品工艺加工成的成品')
manual_part_name = fields.Char()
@api.depends('product_id')
def _compute_related_product(self):
def _compute_part_number(self):
for record in self:
if record.part_number or record.part_name:
if record.part_number and record.part_name:
continue
if record.product_id.categ_id.name == '坯料':
product_name = ''
@@ -135,13 +136,11 @@ class PurchaseOrderLine(models.Model):
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
record.part_number = filtered_order_line.product_id.part_number
record.part_name = filtered_order_line.product_id.part_name
else:
record.part_number = record.product_id.part_number
record.part_name = record.product_id.part_name
# if record.product_id.detailed_type:
# production_id = self.env['mrp.production'].search([('name', '=', record.order_id.origin)])
# record.related_product = production_id.product_id if production_id else False
# else:
# record.related_product = False
if record.manual_part_name:
# 如果手动设置了 part_name使用手动设置的值
record.part_name = record.manual_part_name