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):