处理工单的Rfid扫码绑定解绑问题

This commit is contained in:
yuxianghui
2025-03-13 08:36:10 +08:00
parent 8237d04f32
commit 0d8445e444
2 changed files with 9 additions and 5 deletions

View File

@@ -1510,8 +1510,8 @@ class ResMrpWorkOrder(models.Model):
for workorder in record.production_id.workorder_ids: for workorder in record.production_id.workorder_ids:
if workorder.processing_panel == record.processing_panel: if workorder.processing_panel == record.processing_panel:
rfid_code = workorder.rfid_code rfid_code = workorder.rfid_code
workorder.write({'rfid_code_old': rfid_code, workorder.filtered(lambda wo: wo.state != 'rework' or wo.rfid_code is not False).write(
'rfid_code': False}) {'rfid_code_old': rfid_code, 'rfid_code': False})
self.env['stock.lot'].sudo().search([('rfid', '=', rfid_code)]).write( self.env['stock.lot'].sudo().search([('rfid', '=', rfid_code)]).write(
{'tool_material_status': '可用'}) {'tool_material_status': '可用'})
if workorder.rfid_code: if workorder.rfid_code:
@@ -1928,7 +1928,8 @@ class SfWorkOrderBarcodes(models.Model):
self.write(val) self.write(val)
workorder_rfid = self.env['mrp.workorder'].search( workorder_rfid = self.env['mrp.workorder'].search(
[('production_id', '=', workorder.production_id.id), [('production_id', '=', workorder.production_id.id),
('processing_panel', '=', workorder.processing_panel)]) ('processing_panel', '=', workorder.processing_panel),
('state', '!=', 'rework')])
if workorder_rfid: if workorder_rfid:
for item in workorder_rfid: for item in workorder_rfid:
item.write({'rfid_code': barcode}) item.write({'rfid_code': barcode})

View File

@@ -46,8 +46,11 @@ class ProductionWizard(models.TransientModel):
mrp_workorder_list = self.mrp_production_id.workorder_ids.filtered(lambda kw: kw.rfid_code) mrp_workorder_list = self.mrp_production_id.workorder_ids.filtered(lambda kw: kw.rfid_code)
for workorder in mrp_workorder_list: for workorder in mrp_workorder_list:
rfid_code = workorder.rfid_code rfid_code = workorder.rfid_code
workorder.write({'rfid_code_old': rfid_code, workorder.filtered(lambda wo: wo.routing_type == '装夹预调' and wo.rfid_code is not False).write(
'rfid_code': False}) {'rfid_code_old': rfid_code, 'rfid_code': False})
workorder.filtered(lambda wo: wo.routing_type != '装夹预调' and wo.rfid_code is not False).write(
{'rfid_code_old': False, 'rfid_code': False})
if self.is_remanufacture is True: if self.is_remanufacture is True:
ret = {'programming_list': [], 'is_reprogramming': self.is_reprogramming} ret = {'programming_list': [], 'is_reprogramming': self.is_reprogramming}
if self.is_reprogramming is True: if self.is_reprogramming is True: