From d2f4e5495ee2ff771d6b7e26a4e690857e356cf9 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Wed, 5 Jun 2024 15:20:00 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7?= =?UTF-8?q?=E6=8B=86=E8=A7=A3=E5=8D=95=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7=E7=9A=84?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E4=BD=8D=E7=BD=AE=E6=A0=A1=E9=AA=8C=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E6=9C=89=E5=9C=A8=E5=88=80=E5=85=B7=E6=88=BF=E7=9A=84?= =?UTF-8?q?=E5=88=80=E5=85=B7=E6=89=8D=E8=83=BD=E8=BF=9B=E8=A1=8C=E6=8B=86?= =?UTF-8?q?=E8=A7=A3=EF=BC=9B2=E3=80=81=E4=B8=AD=E6=8E=A7=E6=9C=BA?= =?UTF-8?q?=E5=BA=8A=E5=88=80=E5=BA=93=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E6=B8=85=E9=99=A4=E5=88=80=E4=BD=8D=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E7=9A=84=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/models/base.py | 9 +++++++-- sf_tool_management/models/maintenance_equipment.py | 6 ++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index e840224f..e32a798c 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -543,7 +543,8 @@ class FunctionalToolAssembly(models.Model): after_assembly_functional_tool_name = fields.Char(string='组装后功能刀具名称', readonly=True) after_assembly_functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='组装后功能刀具类型', readonly=True) - after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)', readonly=True, digits=(10, 3)) + after_assembly_functional_tool_diameter = fields.Float(string='组装后功能刀具直径(mm)', readonly=True, + digits=(10, 3)) after_assembly_knife_tip_r_angle = fields.Float(string='组装后刀尖R角(mm)', readonly=True, digits=(10, 3)) after_assembly_new_former = fields.Selection([('0', '新'), ('1', '旧')], string='组装后新/旧', readonly=True) cut_time = fields.Integer(string='已切削时间(min)', readonly=True) @@ -557,7 +558,7 @@ class FunctionalToolAssembly(models.Model): after_assembly_alarm_value = fields.Integer(string='组装后报警值(min)', readonly=True) after_assembly_used_value = fields.Integer(string='组装后已使用值(min)', readonly=True) after_assembly_tool_loading_length = fields.Float(string='组装后总长度(mm)', readonly=True, digits=(10, 3)) - after_assembly_handle_length = fields.Float(string='组装后刀柄长度(mm)',readonly=True, digits=(10, 3)) + after_assembly_handle_length = fields.Float(string='组装后刀柄长度(mm)', readonly=True, digits=(10, 3)) after_assembly_functional_tool_length = fields.Float(string='组装后伸出长(mm)', readonly=True, digits=(10, 3)) after_assembly_effective_length = fields.Float(string='组装后有效长(mm)', readonly=True) L_D_number = fields.Float(string='L/D值(mm)', readonly=True) @@ -851,6 +852,10 @@ class FunctionalToolDismantle(models.Model): logging.info('%s刀具确认开始拆解' % self.dismantle_cause) if self.functional_tool_id.functional_tool_status == '已拆除': raise ValidationError('Rfid为【%s】的功能刀具已经拆解,请勿重复操作!' % self.functional_tool_id.rfid_dismantle) + # 对拆解的功能刀具进行校验,只有在刀具房的功能刀具才能拆解 + if self.functional_tool_id.tool_room_num == 0: + raise ValidationError('Rfid为【%s】的功能刀具当前位置为【%s】,不能进行拆解!' % ( + self.rfid, self.functional_tool_id.current_location)) location = self.env['stock.location'].search([('name', '=', '刀具组装位置')]) location_dest = self.env['stock.location'].search([('name', '=', '刀具房')]) # =================刀柄是否[报废]拆解======= diff --git a/sf_tool_management/models/maintenance_equipment.py b/sf_tool_management/models/maintenance_equipment.py index a4bcf751..5486b2f6 100644 --- a/sf_tool_management/models/maintenance_equipment.py +++ b/sf_tool_management/models/maintenance_equipment.py @@ -61,6 +61,12 @@ class SfMaintenanceEquipment(models.Model): def write_maintenance_equipment_tool(self, datas): if datas: + # 清除设备机床刀位的刀具信息 + for obj in self.product_template_ids: + obj.write({ + 'functional_tool_name_id': False, + 'tool_install_time': None + }) for data in datas: maintenance_equipment_id = self.search([('name', '=', data['DeviceId'])]) if maintenance_equipment_id: