1、处理工单返工时就解除rfid绑定问题;2、同步bfm的订单状态到销售订单
This commit is contained in:
@@ -85,7 +85,8 @@ class ReworkWizard(models.TransientModel):
|
||||
# 2、当FM工单在CNC工单进行选择返工,并将已全部完成的ZM面工序全部勾选上时,FM工单上所有的已完成的工单(装夹预调工单)也必须进行勾选
|
||||
if not wk_ids.filtered(lambda wk: wk.name == '装夹预调' and wk.processing_panel == panel):
|
||||
if wk_ids.filtered(lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel):
|
||||
sequence_max = wk_ids.filtered(lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel).sequence
|
||||
sequence_max = wk_ids.filtered(
|
||||
lambda wk: wk.name == 'CNC加工' and wk.processing_panel == panel).sequence
|
||||
for wk_id in wk_ids.filtered(lambda wk: wk.sequence < sequence_max):
|
||||
if len(wk_ids.filtered(lambda wk: wk.processing_panel == wk_id.processing_panel)) == 3:
|
||||
raise ValidationError(
|
||||
@@ -114,19 +115,17 @@ class ReworkWizard(models.TransientModel):
|
||||
else:
|
||||
raise ValidationError('请选择返工工单!!!')
|
||||
if rework_workorder_ids:
|
||||
clamp_workorder_ids = None
|
||||
if rework_workorder_ids:
|
||||
# 限制
|
||||
# 1、单独返工CNC工单则不解绑托盘RFID,如单独返工装夹预调工单,则自动解绑托盘RFID;
|
||||
# 2、返工CNC工单和装夹预调工单则自动解绑RFID
|
||||
clamp_workorder_ids = rework_workorder_ids.filtered(lambda rp: rp.routing_type == '装夹预调')
|
||||
if clamp_workorder_ids:
|
||||
for clamp_workorder_id in clamp_workorder_ids:
|
||||
self.production_id.workorder_ids.filtered(
|
||||
lambda wk: wk.processing_panel == clamp_workorder_id.processing_panel).write(
|
||||
{'rfid_code': None})
|
||||
# 返工工单状态设置为【返工】
|
||||
rework_workorder_ids.write({'state': 'rework'})
|
||||
# 限制
|
||||
# 1、单独返工CNC工单则不解绑托盘RFID,如单独返工装夹预调工单,则自动解绑托盘RFID;
|
||||
# 2、返工CNC工单和装夹预调工单则自动解绑RFID
|
||||
clamp_workorder_ids = rework_workorder_ids.filtered(lambda rp: rp.routing_type == '装夹预调')
|
||||
if clamp_workorder_ids:
|
||||
for clamp_workorder_id in clamp_workorder_ids:
|
||||
self.production_id.workorder_ids.filtered(
|
||||
lambda wk: wk.processing_panel == clamp_workorder_id.processing_panel).write(
|
||||
{'rfid_code': None})
|
||||
# 返工工单状态设置为【返工】
|
||||
rework_workorder_ids.write({'state': 'rework'})
|
||||
# 查询返工工单对应的工艺设计记录,并调用方法拼接数据,用于创建新的工单
|
||||
workorders_values = []
|
||||
for work in rework_workorder_ids:
|
||||
@@ -147,6 +146,11 @@ class ReworkWizard(models.TransientModel):
|
||||
new_pre_workorder_ids = self.production_id.workorder_ids.filtered(
|
||||
lambda kw: kw.routing_type == '装夹预调' and kw.sequence == 0)
|
||||
self.production_id._reset_work_order_sequence()
|
||||
# ====新工单绑定rfid===
|
||||
for new_work_id in new_work_ids:
|
||||
if new_work_id.routing_type in ['CNC加工', '解除装夹']:
|
||||
new_work_id.write({'rfid_code': self.production_id.workorder_ids.filtered(
|
||||
lambda wk: wk.sequence == new_work_id.sequence - 1).rfid_code})
|
||||
self.production_id.detection_result_ids.filtered(
|
||||
lambda ap1: ap1.handle_result == '待处理').write({'handle_result': '已处理'})
|
||||
panels = [] # 返工的加工面
|
||||
|
||||
Reference in New Issue
Block a user