优化制造订单和生成工单逻辑
This commit is contained in:
@@ -24,6 +24,7 @@ class Sf_Mrs_Connect(http.Controller):
|
||||
ret = json.loads(datas)
|
||||
ret = json.loads(ret['result'])
|
||||
logging.info('下发编程单:%s' % ret)
|
||||
all_production = None
|
||||
is_delete_file = False
|
||||
# 查询状态为进行中且类型为获取CNC加工程序的工单
|
||||
cnc_production = request.env['mrp.production'].with_user(
|
||||
@@ -83,26 +84,35 @@ class Sf_Mrs_Connect(http.Controller):
|
||||
logging.info('cnc_processing111:%s' % cnc_processing)
|
||||
if cnc_processing:
|
||||
cnc_processing_arr.append(cnc_processing._json_cnc_processing(cnc_processing))
|
||||
|
||||
if (cnc_program and cnc_processing_arr) or (not cnc_program and cnc_processing_arr):
|
||||
cnc_production.workorder_ids.filtered(lambda g: g.routing_type == '装夹预调').write(
|
||||
{'processing_drawing': cnc_production.workorder_ids.filtered(
|
||||
lambda g1: g1.routing_type == 'CNC加工').cnc_worksheet})
|
||||
if cnc_program and cnc_processing_arr:
|
||||
cnc_program.write({'programming_state': '已编程', 'work_state': '已编程'})
|
||||
cnc_program.workorder_ids.filtered(lambda d: d.routing_type == '装夹预调').write(
|
||||
{'processing_drawing': cnc_production.workorder_ids.filtered(
|
||||
lambda d1: d1.routing_type == 'CNC加工').cnc_worksheet})
|
||||
cnc_program.workorder_ids.filtered(lambda b: b.routing_type == 'CNC加工').write(
|
||||
{'cnc_ids': cnc_processing_arr, 'cnc_worksheet': cnc_production.workorder_ids.filtered(
|
||||
lambda b1: b1.routing_type == 'CNC加工').cnc_worksheet})
|
||||
cnc_program |= cnc_production
|
||||
if not cnc_program and cnc_processing_arr:
|
||||
cnc_program = cnc_production
|
||||
cnc_program_ids = [item.id for item in cnc_program]
|
||||
workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search(
|
||||
[('production_id', 'in', cnc_program_ids)])
|
||||
if workpiece_delivery:
|
||||
workpiece_delivery.write({'is_cnc_program_down': True})
|
||||
productions = request.env['mrp.production'].with_user(
|
||||
request.env.ref("base.user_admin")).search(
|
||||
[('programming_no', '=', cnc_production.programming_no)])
|
||||
if productions:
|
||||
if not productions.workorder_ids:
|
||||
productions.product_id.model_processing_panel = ret['processing_panel']
|
||||
productions._create_workorder(ret)
|
||||
# cnc_workorder = productions.workorder_ids.filtered(lambda g: g.routing_type == '装夹预调')
|
||||
# cnc_production.workorder_ids.filtered(lambda g: g.routing_type == '装夹预调').write(
|
||||
# {'processing_drawing': cnc_production.workorder_ids.filtered(
|
||||
# lambda g1: g1.routing_type == 'CNC加工').cnc_worksheet})
|
||||
# if cnc_program and cnc_processing_arr:
|
||||
# cnc_program.write({'programming_state': '已编程', 'work_state': '已编程'})
|
||||
# cnc_program.workorder_ids.filtered(lambda d: d.routing_type == '装夹预调').write(
|
||||
# {'processing_drawing': cnc_production.workorder_ids.filtered(
|
||||
# lambda d1: d1.routing_type == 'CNC加工').cnc_worksheet})
|
||||
# cnc_program.workorder_ids.filtered(lambda b: b.routing_type == 'CNC加工').write(
|
||||
# {'cnc_ids': cnc_processing_arr, 'cnc_worksheet': cnc_production.workorder_ids.filtered(
|
||||
# lambda b1: b1.routing_type == 'CNC加工').cnc_worksheet})
|
||||
# cnc_program |= cnc_production
|
||||
# if not cnc_program and cnc_processing_arr:
|
||||
# cnc_program = cnc_production
|
||||
# cnc_program_ids = [item.id for item in cnc_program]
|
||||
# workpiece_delivery = request.env['sf.workpiece.delivery'].sudo().search(
|
||||
# [('production_id', 'in', cnc_program_ids)])
|
||||
# if workpiece_delivery:
|
||||
# workpiece_delivery.write({'is_cnc_program_down': True})
|
||||
return json.JSONEncoder().encode(res)
|
||||
else:
|
||||
res = {'status': 0, 'message': '该制造订单暂未开始'}
|
||||
|
||||
Reference in New Issue
Block a user