修改表面工艺外协字段类型

This commit is contained in:
jinling.yang
2023-03-28 21:26:02 +08:00
parent bf010e2cca
commit 93c9287717
3 changed files with 113 additions and 13 deletions

View File

@@ -31,8 +31,9 @@ class ResProductTemplate(models.Model):
embryo_model_type_id = fields.Many2one('sf.model.type', string='胚料模型类型')
model_processing_panel = fields.Char('模型加工面板')
# model_surface_process_category_id = fields.Many2one('sf.production.process.category', string='表面工艺类别')
model_surface_process_id = fields.Many2many('sf.production.process', 'rel_product_process', string='表面工艺')
model_process_parameters_id = fields.Many2many('sf.processing.technology', 'rel_product_technology', string='工艺参数')
model_surface_process_ids = fields.Many2many('sf.production.process', 'rel_product_process', string='表面工艺')
model_process_parameters_ids = fields.Many2many('sf.production.process.parameter', 'rel_product_parameter',
string='工艺参数')
# model_price = fields.Float('模型单价', digits=(16, 3))
model_remark = fields.Char('模型备注说明')
length = fields.Float('长[mm]', digits=(16, 3))
@@ -99,6 +100,7 @@ class ResProductTemplate(models.Model):
'model_file': '' if not item['model_file'] else base64.b64decode(item['model_file']),
'model_name': attachment.name,
'upload_model_file': [(6, 0, [attachment.id])],
# 'tag_ids': [(6, 0, [t.id for t in account_template.tag_ids])],
# 'single_manufacturing': True,
# 'tracking': 'serial',
'list_price': item['price'],
@@ -107,10 +109,8 @@ class ResProductTemplate(models.Model):
[('materials_no', '=', item['texture_code'])]).id,
'materials_type_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['texture_type_code'])]).id,
'model_surface_process_id': self.env['sf.production.process'].search(
[('process_encode', '=', item['surface_process_code'])]).id,
'model_process_parameters_id': self.env['sf.processing.technology'].search(
[('process_encode', '=', item['process_parameters_code'])]).id,
'model_surface_process_ids': self.get_production_process_id(item['surface_process_code']),
'model_process_parameters_ids': self.get_process_parameters_id(item['process_parameters_code']),
'model_remark': item['remark'],
'default_code': '%s-%s' % (order_number, i),
# 'barcode': item['barcode'],
@@ -121,6 +121,20 @@ class ResProductTemplate(models.Model):
# product_id.product_tmpl_id.active = False
return copy_product_id
def get_production_process_id(self, surface_process_code):
production_process_ids = []
for item in surface_process_code:
production_process = self.env['sf.production.process'].search([('process_encode', '=', item)])
production_process_ids.append(production_process.id)
return [(6, 0, production_process_ids)]
def get_process_parameters_id(self, process_parameters_code):
process_parameters_ids = []
for item in process_parameters_code:
process_parameters = self.env['sf.production.process.parameter'].search([('code', '=', item)])
process_parameters_ids.append(process_parameters.id)
return [(6, 0, process_parameters_ids)]
def attachment_create(self, name, data):
attachment = self.env['ir.attachment'].create({
'datas': base64.b64decode(data),
@@ -226,7 +240,7 @@ class ResProductTemplate(models.Model):
item.model_file = self.transition_glb_file(report_path, model_code)
# 将attach的datas内容转为glb文件
def transition_glb_file(self,report_path, code):
def transition_glb_file(self, report_path, code):
shapes = read_step_file(report_path)
output_file = os.path.join('/tmp', str(code) + '.stl')
write_stl_file(shapes, output_file, 'binary', 0.03, 0.5)

View File

@@ -25,8 +25,10 @@
<field name="materials_id" string="材料"/>
<field name="materials_type_id" string="型号"
domain="[('materials_id', '=', materials_id)]"/>
<field name="model_surface_process_id" string="表面工艺" widget="many2many_tags"/>
<field name="model_process_parameters_id" string="工艺参数" widget="many2many_tags"/>
<field name="model_surface_process_ids" string="表面工艺" widget="many2many_tags"
options="{'no_create': True}"/>
<field name="model_process_parameters_ids" string="工艺参数" widget="many2many_tags"
options="{'no_create': True}"/>
</field>
<xpath expr="//label[@for='volume']" position="before">
@@ -67,9 +69,8 @@
<field name="product_model_type_id" string="模型类型"/>
<field name="model_processing_panel" placeholder="例如R,U" string="加工面板"/>
<field name="model_machining_precision"/>
<field name="model_surface_process_id" string="表面工艺"/>
<field name="model_process_parameters_id" string="工艺参数"
domain="[('processing_order_ids', '=', model_surface_process_id)]"/>
<field name="model_surface_process_ids" string="表面工艺"/>
<field name="model_process_parameters_ids" string="工艺参数"/>
<field name="model_remark" string="备注说明"/>
</group>
</group>