From 002c5c06b4658618ebb085e6ab3f4a0118e41e99 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Tue, 14 May 2024 15:55:34 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96CNC=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 4 ++-- sf_mrs_connect/controllers/controllers.py | 16 +++++++--------- sf_tool_management/models/mrp_workorder.py | 5 +++-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 2214696c..7533c7ec 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -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): diff --git a/sf_mrs_connect/controllers/controllers.py b/sf_mrs_connect/controllers/controllers.py index 9b1405bb..3a55f517 100644 --- a/sf_mrs_connect/controllers/controllers.py +++ b/sf_mrs_connect/controllers/controllers.py @@ -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)]) diff --git a/sf_tool_management/models/mrp_workorder.py b/sf_tool_management/models/mrp_workorder.py index 44c4ef95..e21941ca 100644 --- a/sf_tool_management/models/mrp_workorder.py +++ b/sf_tool_management/models/mrp_workorder.py @@ -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