调整编程记录生成
This commit is contained in:
@@ -111,12 +111,25 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
||||
logging.info(f'对cnc工单的程序用刀进行校验报错:{e}')
|
||||
return json.JSONEncoder().encode(res)
|
||||
|
||||
productions_reprogram = ''
|
||||
if productions:
|
||||
productions_reprogram = ','.join(productions.mapped('name'))
|
||||
|
||||
# 更新编程记录
|
||||
correct_record_ids_obj = None
|
||||
correct_production_id = None
|
||||
rework_record_ids_obj = None
|
||||
rework_production_id = None
|
||||
scrap_record_ids_obj = None
|
||||
scrap_production_id = None
|
||||
for production in productions:
|
||||
record_ids_obj = production.programming_record_ids.filtered(
|
||||
lambda r: r.current_programming_count == ret['reprogramming_num'])
|
||||
if record_ids_obj:
|
||||
record_ids_obj.write({'send_time': ret['send_time']})
|
||||
record_ids_obj.write(
|
||||
{'send_time': ret['send_time'], 'target_production_id': productions_reprogram})
|
||||
correct_record_ids_obj = record_ids_obj
|
||||
correct_production_id = production.id
|
||||
if ret['reprogramming_num'] == 0:
|
||||
production.programming_record_ids.create({
|
||||
'number': 1,
|
||||
@@ -124,7 +137,7 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
||||
'reason': '首次下发',
|
||||
'programming_method': ret['programme_way'],
|
||||
'current_programming_count': ret['reprogramming_num'],
|
||||
'target_production_id': ret['production_order_no'],
|
||||
'target_production_id': productions_reprogram,
|
||||
'apply_time': False,
|
||||
'send_time': ret['send_time'],
|
||||
})
|
||||
@@ -135,7 +148,7 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
||||
'reason': '重置状态',
|
||||
'programming_method': ret['programme_way'],
|
||||
'current_programming_count': ret['reprogramming_num'],
|
||||
'target_production_id': ret['production_order_no'],
|
||||
'target_production_id': productions_reprogram,
|
||||
'apply_time': False,
|
||||
'send_time': ret['send_time'],
|
||||
})
|
||||
@@ -146,10 +159,12 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
||||
'reason': '返工',
|
||||
'programming_method': ret['programme_way'],
|
||||
'current_programming_count': ret['reprogramming_num'],
|
||||
'target_production_id': ret['production_order_no'],
|
||||
'target_production_id': productions_reprogram,
|
||||
'apply_time': ret['trigger_time'],
|
||||
'send_time': ret['send_time'],
|
||||
})
|
||||
rework_record_ids_obj = production.programming_record_ids
|
||||
rework_production_id = production.id
|
||||
elif ret['manufacturing_type'] == 'scrap':
|
||||
production.programming_record_ids.create({
|
||||
'number': len(production.programming_record_ids) + 1,
|
||||
@@ -157,7 +172,7 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
||||
'reason': '报废',
|
||||
'programming_method': ret['programme_way'],
|
||||
'current_programming_count': ret['reprogramming_num'],
|
||||
'target_production_id': ret['production_order_no'],
|
||||
'target_production_id': productions_reprogram,
|
||||
'apply_time': ret['trigger_time'],
|
||||
'send_time': ret['send_time'],
|
||||
})
|
||||
@@ -168,13 +183,44 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
||||
'reason': '无效功能刀具',
|
||||
'programming_method': ret['programme_way'],
|
||||
'current_programming_count': ret['reprogramming_num'],
|
||||
'target_production_id': ret['production_order_no'],
|
||||
'target_production_id': productions_reprogram,
|
||||
'apply_time': ret['trigger_time'],
|
||||
'send_time': ret['send_time'],
|
||||
})
|
||||
else:
|
||||
logging.info('无对应状态,不需更新编程记录')
|
||||
|
||||
for production in productions:
|
||||
if correct_record_ids_obj:
|
||||
if production.id == correct_production_id:
|
||||
continue
|
||||
else:
|
||||
production.programming_record_ids.create({
|
||||
'number': len(production.programming_record_ids) + 1,
|
||||
'production_id': production.id,
|
||||
'reason': correct_record_ids_obj.reason,
|
||||
'programming_method': correct_record_ids_obj.programming_method,
|
||||
'current_programming_count': correct_record_ids_obj.current_programming_count,
|
||||
'target_production_id': correct_record_ids_obj.target_production_id,
|
||||
'apply_time': correct_record_ids_obj.apply_time,
|
||||
'send_time': correct_record_ids_obj.send_time,
|
||||
})
|
||||
|
||||
if rework_record_ids_obj:
|
||||
if production.id == rework_production_id:
|
||||
continue
|
||||
else:
|
||||
production.programming_record_ids.create({
|
||||
'number': len(production.programming_record_ids) + 1,
|
||||
'production_id': production.id,
|
||||
'reason': rework_record_ids_obj.reason,
|
||||
'programming_method': rework_record_ids_obj.programming_method,
|
||||
'current_programming_count': rework_record_ids_obj.current_programming_count,
|
||||
'target_production_id': rework_record_ids_obj.target_production_id,
|
||||
'apply_time': rework_record_ids_obj.apply_time,
|
||||
'send_time': rework_record_ids_obj.send_time,
|
||||
})
|
||||
|
||||
res.update({
|
||||
'production_ids': productions.ids
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user