diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index 5cbfa8ec..49956f4b 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -1605,6 +1605,7 @@ class SyncfixtureMaterialsBasicParameters(models.Model): else: basic_parameters.write(self._get_basic_parameters_list(item, material_name)) + class SyncFunctionalFixtureType(models.Model): _inherit = 'sf.functional.fixture.type' _description = '同步功能夹具类型列表' diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index 6c02bcc1..2c4b4364 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -14,7 +14,7 @@ class FunctionalCuttingToolEntity(models.Model): _description = '功能刀具列表' 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') + code = fields.Char('编码') rfid = fields.Char('rfid', readonly=True) name = fields.Char('名称') functional_tool_name_id = fields.Many2one('sf.functional.tool.assembly', string='功能刀具名称', readonly=True) diff --git a/sf_tool_management/models/maintenance_equipment.py b/sf_tool_management/models/maintenance_equipment.py index d4eeafad..5f2465bf 100644 --- a/sf_tool_management/models/maintenance_equipment.py +++ b/sf_tool_management/models/maintenance_equipment.py @@ -97,18 +97,21 @@ class StockLot(models.Model): _inherit = 'stock.lot' tool_material_search_id = fields.Many2one('sf.tool.material.search', string='刀具物料搜索') - tool_material_status = fields.Selection([('可用', '可用'), ('在用', '在用'), ('报废', '报废')], string='状态', - compute='_compute_tool_material_status', store=True) + tool_material_status = fields.Selection( + [('未入库', '未入库'), ('可用', '可用'), ('在用', '在用'), ('报废', '报废')], string='状态', + compute='_compute_tool_material_status', store=True) @api.depends('quant_ids') def _compute_tool_material_status(self): for record in self: if record: if record.quant_ids: - if record.quant_ids[-1].location_id.name == '刀具组装位置': + if record.quant_ids[-1].location_id.name == '刀具房': + record.tool_material_status = '可用' + elif record.quant_ids[-1].location_id.name == '刀具组装位置': record.tool_material_status = '在用' else: - record.tool_material_status = '可用' + record.tool_material_status = '未入库' @api.onchange('tool_material_status') def _onchange_tool_material_status(self): diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py index 9e45b879..c7a039ec 100644 --- a/sf_tool_management/wizard/wizard.py +++ b/sf_tool_management/wizard/wizard.py @@ -225,8 +225,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 整体式刀具型号 integral_code_id = fields.Many2one('stock.lot', string='整体式刀具序列号', domain=[('product_id.cutting_tool_material_id.name', '=', '整体式刀具'), - ('quant_ids.location_id.name', 'in', ['刀具房']), - ('quant_ids.quantity', '>', 0)]) + ('tool_material_status', '=', '可用')]) cutting_tool_integral_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='整体式刀具型号', related='integral_code_id.product_id.cutting_tool_model_id') integral_name = fields.Char('整体式刀具名称', related='integral_code_id.product_id.name') @@ -238,8 +237,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 刀片型号 blade_code_id = fields.Many2one('stock.lot', '刀片序列号', domain=[('product_id.cutting_tool_material_id.name', '=', '刀片'), - ('quant_ids.location_id.name', 'in', ['刀具房']), - ('quant_ids.quantity', '>', 0)]) + ('tool_material_status', '=', '可用')]) cutting_tool_blade_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀片型号', related='blade_code_id.product_id.cutting_tool_model_id') blade_name = fields.Char('刀片名称', related='blade_code_id.product_id.name') @@ -250,8 +248,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 刀杆型号 bar_code_id = fields.Many2one('stock.lot', '刀杆序列号', domain=[('product_id.cutting_tool_material_id.name', '=', '刀杆'), - ('quant_ids.location_id.name', 'in', ['刀具房']), - ('quant_ids.quantity', '>', 0)]) + ('tool_material_status', '=', '可用')]) cutting_tool_cutterbar_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀杆型号', related='bar_code_id.product_id.cutting_tool_model_id') bar_name = fields.Char('刀杆名称', related='bar_code_id.product_id.name') @@ -262,8 +259,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 刀盘型号 pad_code_id = fields.Many2one('stock.lot', '刀盘序列号', domain=[('product_id.cutting_tool_material_id.name', '=', '刀盘'), - ('quant_ids.location_id.name', 'in', ['刀具房']), - ('quant_ids.quantity', '>', 0)]) + ('tool_material_status', '=', '可用')]) cutting_tool_cutterpad_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀盘型号', related='pad_code_id.product_id.cutting_tool_model_id') pad_name = fields.Char('刀盘名称', related='pad_code_id.product_id.name') @@ -274,8 +270,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 刀柄型号 handle_code_id = fields.Many2one('stock.lot', '刀柄序列号', required=True, domain=[('product_id.cutting_tool_material_id.name', '=', '刀柄'), - ('quant_ids.location_id.name', 'in', ['刀具房']), - ('quant_ids.quantity', '>', 0)]) + ('tool_material_status', '=', '可用')]) cutting_tool_cutterhandle_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀柄型号', related='handle_code_id.product_id.cutting_tool_model_id') handle_name = fields.Char('刀柄名称', related='handle_code_id.product_id.name') @@ -286,8 +281,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 夹头型号 chuck_code_id = fields.Many2one('stock.lot', '夹头序列号', required=True, domain=[('product_id.cutting_tool_material_id.name', '=', '夹头'), - ('quant_ids.location_id.name', 'in', ['刀具房']), - ('quant_ids.quantity', '>', 0)]) + ('tool_material_status', '=', '可用')]) cutting_tool_cutterhead_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='夹头型号', related='chuck_code_id.product_id.cutting_tool_model_id') chuck_name = fields.Char('夹头名称', related='chuck_code_id.product_id.name') @@ -753,7 +747,7 @@ class StockLot(models.Model): 'qty_done': 1.0, 'state': 'done', 'functional_tool_type_id': False if not obj else obj.functional_tool_type_id.id, - 'diameter': None if not obj else obj.after_assembly_functional_tool_diameter, + 'diameter': None if not obj else obj.after_assembly_functional_tool_diameter, 'knife_tip_r_angle': None if not obj else obj.after_assembly_knife_tip_r_angle, 'code': '' if not obj else obj.tool_code, 'rfid': '' if not obj else obj.rfid,