1、当检测到缺刀工单需要的功能刀具从刀具房出库到线边刀架时,更改cnc编程单的功能刀具状态为正常;

This commit is contained in:
yuxianghui
2024-07-11 16:37:20 +08:00
parent 134e23ea2f
commit 77815c45a0
4 changed files with 19 additions and 4 deletions

View File

@@ -32,9 +32,9 @@ class MrpProduction(models.Model):
def _compute_tool_state(self):
for item in self:
if item:
if item.workorder_ids.filtered(lambda a: a.tool_state == '2'):
if item.workorder_ids.filtered(lambda a: a.tool_state == '2' and a.state not in ('rework', '返工')):
item.tool_state = '2'
elif item.workorder_ids.filtered(lambda a: a.tool_state == '1'):
elif item.workorder_ids.filtered(lambda a: a.tool_state == '1' and a.state not in ('rework', '返工')):
item.tool_state = '1'
else:
item.tool_state = '0'

View File

@@ -1135,6 +1135,8 @@ class CNCprocessing(models.Model):
program_path = fields.Char('程序文件路径')
program_create_date = fields.Datetime('程序创建日期')
tool_state = fields.Selection([('0', '正常'), ('1', '缺刀'), ('2', '无效刀')], string='刀具状态', default='0')
# mrs下发编程单创建CNC加工
def cnc_processing_create(self, cnc_workorder, ret, program_path, program_path_tmp):
cnc_processing = None

View File

@@ -115,6 +115,8 @@ class FunctionalCuttingToolEntity(models.Model):
# 新刀入库到线边
item.create_stock_move(pre_manufacturing_id, location_id)
item.current_shelf_location_id = location_id.id
# 对该刀进行校验(校验是否为制造订单所缺的刀)
item.cnc_function_tool_use_verify()
# 中控反馈该位置没有刀
else:
@@ -255,6 +257,15 @@ class FunctionalCuttingToolEntity(models.Model):
result['domain'] = [('id', '=', self.safe_inventory_id.id)]
return result
def cnc_function_tool_use_verify(self):
"""
cnc程序用刀可用校验
"""
cnc_processing_ids = self.env['sf.cnc.processing'].search(
[('tool_state', '=', '1'), ('cutting_tool_name', '=', self.tool_name_id.name)])
if cnc_processing_ids:
cnc_processing_ids.sudo().write({'tool_state': '0'})
def tool_inventory_displacement_out(self):
"""
机床当前刀库实时信息接口,功能刀具出库
@@ -265,6 +276,10 @@ class FunctionalCuttingToolEntity(models.Model):
self.create_stock_move(stock_location_id, False)
self.current_location_id = stock_location_id.id
self.current_shelf_location_id = False
if self.current_location_id.name == '刀具房':
# 对该刀进行校验(校验是否为制造订单所缺的刀)
self.cnc_function_tool_use_verify()
# self.barcode_id.create_stock_quant(location_inventory_id, stock_location_id,
# self.functional_tool_name_id.id, '机床装刀', self.functional_tool_name_id,
# self.functional_tool_name_id.tool_groups_id)

View File

@@ -10,8 +10,6 @@ class CNCprocessing(models.Model):
_inherit = 'sf.cnc.processing'
_description = 'CNC加工用刀检测'
tool_state = fields.Selection([('0', '正常'), ('1', '缺刀'), ('2', '无效刀')], string='刀具状态', default='0')
# ==========MES装刀指令接口==========
# def register_cnc_processing(self, knife_plan):
# config = self.env['res.config.settings'].get_values()