Merge remote-tracking branch 'origin/feature/产品添加夹具型号信息' into feature/功能刀具新增字段
# Conflicts: # sf_manufacturing/models/product_template.py
This commit is contained in:
@@ -10,7 +10,8 @@ class FunctionalCuttingToolEntity(models.Model):
|
||||
_name = 'sf.functional.cutting.tool.entity'
|
||||
_description = '功能刀具列表'
|
||||
|
||||
# code = fields.Char('序列号')
|
||||
tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', related='functional_tool_name_id.tool_groups_id')
|
||||
code = fields.Char('编码', related='functional_tool_name_id.code')
|
||||
name = fields.Char(related='functional_tool_name_id.name')
|
||||
functional_tool_name_id = fields.Many2one('sf.functional.tool.assembly', string='功能刀具名称', readonly=True)
|
||||
barcode_id = fields.Many2one('stock.lot', string='功能刀具序列号', readonly=True)
|
||||
@@ -175,6 +176,8 @@ class FunctionalToolWarning(models.Model):
|
||||
_name = 'sf.functional.tool.warning'
|
||||
_description = '功能刀具预警'
|
||||
|
||||
code = fields.Char('编码', related='functional_tool_name_id.code')
|
||||
tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', related='functional_tool_name_id.tool_groups_id')
|
||||
name = fields.Char('名称', invisible=True, readonly=True, related='functional_tool_name_id.name')
|
||||
# 机床信息
|
||||
production_line_id = fields.Many2one('sf.production.line', string='生产线',
|
||||
@@ -243,6 +246,8 @@ class StockMoveLine(models.Model):
|
||||
diameter = fields.Integer(string='刀具直径(mm)', related='functional_tool_name_id.functional_tool_diameter')
|
||||
knife_tip_r_angle = fields.Float(string='刀尖R角(mm)', related='functional_tool_name_id.knife_tip_r_angle')
|
||||
install_tool_time = fields.Datetime("刀具组装时间", related='functional_tool_name_id.tool_loading_time')
|
||||
code = fields.Char('编码', related='functional_tool_name_id.code')
|
||||
tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', related='functional_tool_name_id.tool_groups_id')
|
||||
|
||||
@api.model
|
||||
def _read_group_functional_tool_type_id(self, categories, domain, order):
|
||||
@@ -254,7 +259,8 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
|
||||
_name = 'sf.real.time.distribution.of.functional.tools'
|
||||
_description = '功能刀具安全库存'
|
||||
|
||||
name = fields.Char('功能刀具名称', readonly=False)
|
||||
name = fields.Char('功能刀具名称', readonly=True, compute='_compute_name')
|
||||
tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', readonly=False, required=True)
|
||||
sf_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=False,
|
||||
group_expand='_read_mrs_cutting_tool_type_ids', store=True)
|
||||
diameter = fields.Integer(string='刀具直径(mm)', readonly=False)
|
||||
@@ -297,6 +303,14 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
|
||||
sf_functional_tool_assembly_ids = fields.Many2many('sf.functional.tool.assembly', 'sf_functional_tool_assembly_ref',
|
||||
'功能刀具组装单', readonly=True)
|
||||
|
||||
@api.depends('tool_groups_id', 'diameter', 'knife_tip_r_angle')
|
||||
def _compute_name(self):
|
||||
for obj in self:
|
||||
if obj.tool_groups_id:
|
||||
obj.name = '%s-D%sR%s' % (obj.tool_groups_id.name, obj.diameter, obj.knife_tip_r_angle)
|
||||
else:
|
||||
obj.name = None
|
||||
|
||||
@api.constrains('min_stock_num', 'max_stock_num')
|
||||
def _check_stock_num(self):
|
||||
for obj in self:
|
||||
@@ -341,6 +355,7 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
|
||||
functional_tool_assembly = tool.env['sf.functional.tool.assembly'].sudo().create({
|
||||
'functional_tool_name': tool.name,
|
||||
'functional_tool_type_id': tool.sf_cutting_tool_type_id.id,
|
||||
'tool_groups_id': tool.tool_groups_id.id,
|
||||
'functional_tool_diameter': tool.diameter,
|
||||
'knife_tip_r_angle': tool.knife_tip_r_angle,
|
||||
'coarse_middle_thin': tool.coarse_middle_thin,
|
||||
@@ -421,6 +436,8 @@ class MachineTableToolChangingApply(models.Model):
|
||||
cutter_spacing_code_id = fields.Many2one('maintenance.equipment.tool', string='刀位号', readonly=True,
|
||||
required=True, domain="[('equipment_id', '=', maintenance_equipment_id)]")
|
||||
# 功能刀具信息
|
||||
code = fields.Char('编码', related='functional_tool_name_id.code')
|
||||
tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', related='functional_tool_name_id.tool_groups_id')
|
||||
functional_tool_name = fields.Char(string='刀具名称', related='functional_tool_name_id.name', store=True)
|
||||
barcode_id = fields.Many2one('stock.lot', string='功能刀具序列号', store=True,
|
||||
domain=[('product_id.name', '=', '功能刀具')],
|
||||
@@ -677,8 +694,10 @@ class FunctionalToolAssembly(models.Model):
|
||||
for obj in self:
|
||||
obj.name = obj.after_assembly_functional_tool_name
|
||||
|
||||
code = fields.Char('功能刀具编码', readonly=True)
|
||||
tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', readonly=True)
|
||||
name = fields.Char(string='名称', readonly=True, compute='_compute_name')
|
||||
assembly_order_code = fields.Char(string='编码', readonly=True)
|
||||
assembly_order_code = fields.Char(string='组装单编码', readonly=True)
|
||||
|
||||
functional_tool_name_id = fields.Many2one('product.product', string='功能刀具', readonly=True)
|
||||
functional_tool_name = fields.Char(string='功能刀具名称', readonly=True)
|
||||
|
||||
Reference in New Issue
Block a user