From 2de0e9f02f9cc591ae133cd5d4ec189465ed03e5 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Tue, 15 Apr 2025 17:20:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8A=9F=E8=83=BD=E5=88=80?= =?UTF-8?q?=E5=85=B7=E9=A2=84=E8=AD=A6=E6=B2=A1=E6=9C=89=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E9=A2=84=E8=AD=A6=E8=AE=B0=E5=BD=95=E5=92=8C?= =?UTF-8?q?=E6=8B=86=E8=A7=A3=E5=8D=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/models/functional_tool.py | 31 +++++++++++++------ .../models/maintenance_equipment.py | 16 +++++++--- .../views/functional_tool_views.xml | 1 + 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/sf_tool_management/models/functional_tool.py b/sf_tool_management/models/functional_tool.py index a9dddc0e..498d9436 100644 --- a/sf_tool_management/models/functional_tool.py +++ b/sf_tool_management/models/functional_tool.py @@ -63,16 +63,27 @@ class FunctionalCuttingToolEntity(models.Model): for item in self: if item: if item.functional_tool_status == '报警': - # 创建报警刀具拆解单 - self.env['sf.functional.tool.dismantle'].sudo().create({ - 'functional_tool_id': item.ids[0], - 'dismantle_cause': '寿命到期报废' - }) - # 创建刀具报警记录 - self.env['sf.functional.tool.warning'].sudo().create({ - 'rfid': item.rfid, - 'functional_tool_id': item.ids[0] - }) + self.create_tool_dismantle() + + def set_functional_tool_status(self): + # self.write({ + # 'functional_tool_status': '报警' + # }) + self.functional_tool_status = '报警' + self.create_tool_dismantle() + + def create_tool_dismantle(self): + for item in self: + # 创建报警刀具拆解单 + self.env['sf.functional.tool.dismantle'].sudo().create({ + 'functional_tool_id': item.ids[0], + 'dismantle_cause': '寿命到期报废' + }) + # 创建刀具报警记录 + self.env['sf.functional.tool.warning'].sudo().create({ + 'rfid': item.rfid, + 'functional_tool_id': item.ids[0] + }) @api.depends('barcode_id.quant_ids', 'barcode_id.quant_ids.location_id', 'functional_tool_status', 'current_shelf_location_id', 'stock_num') diff --git a/sf_tool_management/models/maintenance_equipment.py b/sf_tool_management/models/maintenance_equipment.py index 12c7f8f3..a3375075 100644 --- a/sf_tool_management/models/maintenance_equipment.py +++ b/sf_tool_management/models/maintenance_equipment.py @@ -107,11 +107,17 @@ class SfMaintenanceEquipment(models.Model): if functional_tool_id.current_location != '机内刀库': # 对功能刀具进行移动到生产线 functional_tool_id.tool_inventory_displacement_out() - functional_tool_id.write({ - 'max_lifetime_value': data['MaxLife'], - 'used_value': data['UseLife'], - 'functional_tool_status': tool_install_time.get(data['State']) - }) + data_tool = { + 'max_lifetime_value': data['MaxLife'], + 'used_value': data['UseLife'], + 'functional_tool_status': tool_install_time.get(data['State']) + } + if (functional_tool_id.functional_tool_status != '报警' + and tool_install_time.get(data['State']) == '报警'): + functional_tool_id.write(data_tool) + functional_tool_id.create_tool_dismantle() + else: + functional_tool_id.write(data_tool) else: logging.info('获取的【%s】设备不存在!!!' % data['DeviceId']) else: diff --git a/sf_tool_management/views/functional_tool_views.xml b/sf_tool_management/views/functional_tool_views.xml index a306d6dd..25b9346a 100644 --- a/sf_tool_management/views/functional_tool_views.xml +++ b/sf_tool_management/views/functional_tool_views.xml @@ -42,6 +42,7 @@
+