From 733e33adfd5a6f7784ad18f75c3af223213a9753 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Mon, 30 Jan 2023 18:11:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=83=9A=E6=96=99=E7=9A=84?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_dlm/models/product_template.py | 8 +++++--- sf_dlm/views/product_template_view.xml | 8 ++++++-- sf_manufacturing/models/mrp_production.py | 4 ++-- sf_manufacturing/models/mrp_workorder.py | 8 +++----- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/sf_dlm/models/product_template.py b/sf_dlm/models/product_template.py index d64cdeab..fc0ebea3 100644 --- a/sf_dlm/models/product_template.py +++ b/sf_dlm/models/product_template.py @@ -22,7 +22,8 @@ class ResProductTemplate(models.Model): ('0.03', '±0.03mm'), ('0.02', '±0.02mm'), ('0.01', '±0.01mm')], string='加工精度') - model_type_id = fields.Many2one('sf.model.type', string='模型类型') + product_model_type_id = fields.Many2one('sf.model.type', string='产品模型类型') + embryo_model_type_id = fields.Many2one('sf.model.type', string='胚料模型类型') model_processing_panel = fields.Char('模型加工面板') model_surface_process_id = fields.Many2one('sf.production.process', string='表面工艺') model_process_parameters_id = fields.Many2one('sf.processing.technology', string='工艺参数') @@ -36,6 +37,7 @@ class ResProductTemplate(models.Model): single_manufacturing = fields.Boolean(string="单个制造") upload_model_file = fields.Many2many('ir.attachment', 'upload_model_file_attachment_ref', string='上传模型文件') model_code = fields.Char('模型编码') + is_bfm = fields.Boolean('业务平台是否自动创建产品', default=False) def _get_volume_uom_id_from_ir_config_parameter(self): product_length_in_feet_param = self.env['ir.config_parameter'].sudo().get_param('product.volume_in_cubic_feet') @@ -80,7 +82,7 @@ class ResProductTemplate(models.Model): 'model_volume': (item['model_long'] + model_type.embryo_tolerance) * ( item['model_width'] + model_type.embryo_tolerance) * ( item['model_height'] + model_type.embryo_tolerance), - 'model_type_id': model_type.id, + 'product_model_type_id': model_type.id, 'model_processing_panel': 'R', 'model_machining_precision': item['model_machining_precision'], 'model_code': item['barcode'], @@ -146,7 +148,7 @@ class ResProductTemplate(models.Model): 'volume': (item['model_long'] + model_type.embryo_tolerance) * ( item['model_width'] + model_type.embryo_tolerance) * ( item['model_height'] + model_type.embryo_tolerance), - # 'model_price': item['price'], + 'embryo_model_type_id': model_type.id, 'list_price': item['price'], 'materials_id': materials_id.id, 'materials_type_id': materials_type_id.id, diff --git a/sf_dlm/views/product_template_view.xml b/sf_dlm/views/product_template_view.xml index 3db3f883..81a90119 100644 --- a/sf_dlm/views/product_template_view.xml +++ b/sf_dlm/views/product_template_view.xml @@ -12,7 +12,8 @@ - + + @@ -53,7 +54,7 @@ - + @@ -132,6 +133,9 @@ + + + diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index a5eb2fa9..d84f633d 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -109,7 +109,7 @@ class MrpProduction(models.Model): processing_panel_len = len(production.product_id.model_processing_panel.split(',')) for k in (production.product_id.model_processing_panel.split(',')): product_routing_workcenter = self.env['sf.product.model.type.routing.sort'].search( - [('model_type_id', '=', production.product_id.model_type_id.id)], + [('product_model_type_id', '=', production.product_id.product_model_type_id.id)], order='sequence asc' ) i += 1 @@ -125,7 +125,7 @@ class MrpProduction(models.Model): self.env['mrp.workorder'].json_workorder_str(k, production, route)) elif production.product_id.categ_id.type == '胚料': embryo_routing_workcenter = self.env['sf.embryo.model.type.routing.sort'].search( - [('model_type_id', '=', production.product_id.model_type_id.id)], + [('embryo_model_type_id', '=', production.product_id.embryo_model_type_id.id)], order='sequence asc' ) for route in embryo_routing_workcenter: diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 3d2e17e2..185b24ed 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -29,6 +29,7 @@ class ResMrpWorkOrder(models.Model): ('CNC加工', 'CNC加工'), ('后置三元质量检测', '后置三元质量检测'), ('解除装夹', '解除装夹'), + ('切割', '切割') ], string="工序类型") @api.onchange('users_ids') @@ -89,7 +90,6 @@ class ResMrpWorkOrder(models.Model): cnc_ids = fields.One2many("sf.cnc.processing", 'workorder_id', string="CNC加工") tray_code = fields.Char(string="托盘") - # 计算配料中心点和与x轴倾斜度方法 def getcenter(self): try: @@ -135,7 +135,6 @@ class ResMrpWorkOrder(models.Model): except: raise UserError("参数计算有误") - def json_workorder_str(self, k, production, route): workorders_values_str = [0, '', { 'product_uom_id': production.product_uom_id.id, @@ -171,7 +170,9 @@ class ResMrpWorkOrder(models.Model): 'target': 'new', 'domain': [('workorder_id', '=', self.id)] } + tray_id = fields.Many2one('sf.tray', string="托盘信息") + # 扫码绑定托盘方法 def gettray(self): @@ -230,7 +231,6 @@ class ResMrpWorkOrder(models.Model): tray.unclamp() self.tray_id = tray - # return { # 'name': _('New Maintenance Request'), # 'view_mode': 'form', @@ -288,7 +288,6 @@ class ResMrpWorkOrder(models.Model): else: return True - # cnc程序获取 def fetchCNC(self): try: @@ -499,7 +498,6 @@ class CNCprocessing(models.Model): download_state = ftp.download_file_tree(remotepath, serverdir) return download_state - # 将nc文件存到attach的datas里 def write_file(self, nc_file_path, cnc): if os.path.exists(nc_file_path):