夹具型号相关数据表的优化
This commit is contained in:
@@ -87,6 +87,31 @@ class BasicParametersFixture(models.Model):
|
||||
magnet_flatness = fields.Char('磁吸托盘平面精度(mm)', size=20)
|
||||
magnet_max_load = fields.Float('磁吸托盘最大负载(kg)', digits=(16, 2))
|
||||
|
||||
# --- 定位隔板字段 ---
|
||||
partition_length_outer = fields.Float('外框长度(mm)', digits=(16, 2))
|
||||
partition_width_outer = fields.Float('外框宽度(mm)', digits=(16, 2))
|
||||
partition_length_inner = fields.Float('内框长度(mm)', digits=(16, 2))
|
||||
partition_width_inner = fields.Float('内框宽度(mm)', digits=(16, 2))
|
||||
partition_left_margin = fields.Float('左边距(mm)', digits=(16, 2))
|
||||
partition_bottom_margin = fields.Float('下边距(mm)', digits=(16, 2))
|
||||
partition_unit_length = fields.Float('定位单元长度(mm)', digits=(16, 2))
|
||||
partition_unit_width = fields.Float('定位单元宽度(mm)', digits=(16, 2))
|
||||
partition_unit_row_spacing = fields.Float('单元行间距(mm)', digits=(16, 2))
|
||||
partition_unit_col_spacing = fields.Float('单元列间距(mm)', digits=(16, 2))
|
||||
partition_unit_rows = fields.Integer('单元行数')
|
||||
partition_unit_cols = fields.Integer('单元列数')
|
||||
partition_base_unit_row_spacing = fields.Float('基准单元行间距(mm)', digits=(16, 2))
|
||||
partition_base_unit_col_spacing = fields.Float('基准单元列间距(mm)', digits=(16, 2))
|
||||
partition_offset_x = fields.Float('X方向偏移(mm)', digits=(16, 2))
|
||||
partition_offset_y = fields.Float('Y方向偏移(mm)', digits=(16, 2))
|
||||
partition_materials_model_id = fields.Many2one('sf.materials.model', '定位隔板材质')
|
||||
partition_joint_type = fields.Selection([
|
||||
('bolt', '螺栓连接'),
|
||||
('magnet', '磁吸连接'),
|
||||
('snap', '卡扣连接'),
|
||||
], string='连接方式')
|
||||
partition_partner_id = fields.Many2one('res.partner', string='供应商/客户')
|
||||
|
||||
# ‘气吸托盘’ 字段
|
||||
air_tray_length = fields.Float('气吸托盘长度(mm)', digits=(16, 2))
|
||||
air_tray_width = fields.Float('气吸托盘宽度(mm)', digits=(16, 2))
|
||||
@@ -133,6 +158,8 @@ class BasicParametersFixture(models.Model):
|
||||
return self._json_scroll_chuck_param(fixture_materials_data)
|
||||
elif fixture_materials_name == '磁吸托盘':
|
||||
return self._json_magnet_tray_param(fixture_materials_data)
|
||||
elif fixture_materials_name == '定位隔板':
|
||||
return self._json_positioning_partition_param(fixture_materials_data)
|
||||
elif fixture_materials_name == '气吸托盘':
|
||||
return self._json_air_tray_param(fixture_materials_data)
|
||||
return {}
|
||||
@@ -360,6 +387,39 @@ class BasicParametersFixture(models.Model):
|
||||
).id if obj.get('materials_model_id') else False,
|
||||
'active': obj.get('active', True),
|
||||
}
|
||||
|
||||
def _json_positioning_partition_param(self, obj):
|
||||
"""定位隔板:将data数据转换成字段字典"""
|
||||
return {
|
||||
'code': obj.get('code'),
|
||||
'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
|
||||
[('code', '=', obj.get('fixture_model_code'))], limit=1).id,
|
||||
'name': obj.get('name'),
|
||||
'partition_length_outer': obj.get('length_outer'),
|
||||
'partition_width_outer': obj.get('width_outer'),
|
||||
'partition_length_inner': obj.get('length_inner'),
|
||||
'partition_width_inner': obj.get('width_inner'),
|
||||
'partition_left_margin': obj.get('left_margin'),
|
||||
'partition_bottom_margin': obj.get('bottom_margin'),
|
||||
'partition_unit_length': obj.get('unit_length'),
|
||||
'partition_unit_width': obj.get('unit_width'),
|
||||
'partition_unit_row_spacing': obj.get('unit_row_spacing'),
|
||||
'partition_unit_col_spacing': obj.get('unit_col_spacing'),
|
||||
'partition_unit_rows': obj.get('unit_rows'),
|
||||
'partition_unit_cols': obj.get('unit_cols'),
|
||||
'partition_base_unit_row_spacing': obj.get('base_unit_row_spacing'),
|
||||
'partition_base_unit_col_spacing': obj.get('base_unit_col_spacing'),
|
||||
'partition_offset_x': obj.get('offset_x'),
|
||||
'partition_offset_y': obj.get('offset_y'),
|
||||
'partition_materials_model_id': self.env['sf.materials.model'].sudo().search(
|
||||
[('materials_no', '=', obj.get('materials_model_id')), ('active', '=', True)], limit=1).id
|
||||
if obj.get('materials_model_id') else False,
|
||||
'partition_partner_id': self.env['res.partner'].sudo().search(
|
||||
[('name', '=', obj.get('partner_name'))], limit=1).id
|
||||
if obj.get('partner_name') else False,
|
||||
'partition_joint_type': obj.get('joint_type'),
|
||||
'active': obj.get('active', True),
|
||||
}
|
||||
|
||||
def _json_air_tray_param(self, obj):
|
||||
"""气吸托盘:将data数据转换成list数据"""
|
||||
|
||||
Reference in New Issue
Block a user