1、优化CNC加工流程

This commit is contained in:
yuxianghui
2024-05-14 15:55:34 +08:00
parent 62ec721c69
commit 002c5c06b4
3 changed files with 12 additions and 13 deletions

View File

@@ -965,7 +965,6 @@ class CNCprocessing(models.Model):
def cnc_processing_create(self, cnc_workorder, ret, program_path, program_path_tmp):
cnc_processing = None
for obj in ret['programming_list']:
# 暂时不注释,批次插入不需要单个workorder
workorder = self.env['mrp.workorder'].search(
[('production_id.name', '=', cnc_workorder.name),
('processing_panel', '=', obj['processing_panel']),
@@ -974,7 +973,7 @@ class CNCprocessing(models.Model):
if obj['program_name'] in program_path:
logging.info('obj:%s' % obj['program_name'])
cnc_processing = self.env['sf.cnc.processing'].create({
# 'workorder_id': workorder.id,
'workorder_id': workorder.id,
'sequence_number': obj['sequence_number'],
'program_name': obj['program_name'],
'cutting_tool_name': obj['cutting_tool_name'],
@@ -990,6 +989,7 @@ class CNCprocessing(models.Model):
'program_path': program_path.replace('/tmp', '/home/ftp/ftp_root/NC')
})
cnc_processing.get_cnc_processing_file(program_path_tmp, cnc_processing, program_path)
cnc_workorder.write({'programming_state': '已编程', 'work_state': '已编程'})
return cnc_processing
def _json_cnc_processing(self, obj):

View File

@@ -27,11 +27,11 @@ class Sf_Mrs_Connect(http.Controller):
# 查询状态为进行中且类型为获取CNC加工程序的工单
cnc_production = request.env['mrp.production'].with_user(
request.env.ref("base.user_admin")).search([('name', '=', ret['production_order_no'].split(',')[0])])
# cnc_program = request.env['mrp.production'].with_user(
# request.env.ref("base.user_admin")).search(
# [('programming_no', '=', cnc_production.programming_no), ('id', '!=', cnc_production.id)])
cnc_program = request.env['mrp.production'].with_user(
request.env.ref("base.user_admin")).search([('programming_no', '=', cnc_production.programming_no)])
request.env.ref("base.user_admin")).search(
[('programming_no', '=', cnc_production.programming_no), ('id', '!=', cnc_production.id)])
# cnc_program = request.env['mrp.production'].with_user(
# request.env.ref("base.user_admin")).search([('programming_no', '=', cnc_production.programming_no)])
logging.info('制造订单号:%s' % cnc_production.name)
if cnc_production:
# if ret['glb_file']:
@@ -60,16 +60,14 @@ class Sf_Mrs_Connect(http.Controller):
cnc_processing = request.env['sf.cnc.processing'].with_user(
request.env.ref("base.user_admin")).cnc_processing_create(cnc_production, ret, program_path,
program_path_tmp)
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:
logging.info('cnc_processing_arr:%s' % cnc_processing_arr)
cnc_program.write({'programming_state': '已编程', 'work_state': '已编程'})
# cnc_program.workorder_ids.filtered(lambda b: b.routing_type == 'CNC加工').write(
# {'cnc_ids': cnc_processing_arr})
for cnc_item in cnc_program.workorder_ids.filtered(lambda b: b.routing_type == 'CNC加工'):
logging.info('cnc_item:%s' % cnc_item.production_id.name)
cnc_item.write({'cnc_ids': cnc_processing_arr})
cnc_program.workorder_ids.filtered(lambda b: b.routing_type == 'CNC加工').write(
{'cnc_ids': cnc_processing_arr})
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)])

View File

@@ -32,8 +32,9 @@ class CNCprocessing(models.Model):
@api.model_create_multi
def create(self, vals):
obj = super(CNCprocessing, self).create(vals)
# 调用CAM工单程序用刀计划创建方法
self.env['sf.cam.work.order.program.knife.plan'].create_cam_work_plan(obj)
for item in obj:
# 调用CAM工单程序用刀计划创建方法
self.env['sf.cam.work.order.program.knife.plan'].create_cam_work_plan(item)
logging.info('成功调用CAM工单程序用刀计划创建方法')
return obj