From 57f5d138e8cdb45f55438720fb63f6f99b6afdb2 Mon Sep 17 00:00:00 2001
From: yuxianghui <3437689193@qq.com>
Date: Thu, 4 Jan 2024 17:44:22 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E5=A4=B9=E8=A3=85?=
=?UTF-8?q?=E5=8D=95=E5=85=83=E6=95=B0=E4=BF=AE=E6=94=B9=E6=88=90=E8=A3=85?=
=?UTF-8?q?=E5=A4=B9=E5=8D=95=E5=85=83=E6=95=B0=EF=BC=9B2=E3=80=81?=
=?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BA=A7=E5=93=81=E7=9A=84=E5=A4=B9=E5=85=B7?=
=?UTF-8?q?=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF(=E8=BF=9B=E8=A1=8C?=
=?UTF-8?q?=E4=B8=AD)=EF=BC=9B3=E3=80=81=E5=AE=8C=E5=96=84=E5=A4=B9?=
=?UTF-8?q?=E5=85=B7=E7=89=A9=E6=96=99=E7=9A=84=E5=90=8C=E6=AD=A5=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_base/models/basic_parameters_fixture.py | 2 +-
sf_base/models/fixture.py | 1 +
.../product_template_management_view.xml | 104 ++++----
sf_manufacturing/models/product_template.py | 96 +++++--
sf_mrs_connect/models/sync_common.py | 249 ++++++++++--------
5 files changed, 258 insertions(+), 194 deletions(-)
diff --git a/sf_base/models/basic_parameters_fixture.py b/sf_base/models/basic_parameters_fixture.py
index ad696831..a1b1a9a6 100644
--- a/sf_base/models/basic_parameters_fixture.py
+++ b/sf_base/models/basic_parameters_fixture.py
@@ -16,7 +16,7 @@ class BasicParametersFixture(models.Model):
weight = fields.Float('重量(mm)', digits=(16, 2))
orientation_dish_diameter = fields.Float('定位盘直径(mm)', digits=(16, 2))
clamping_diameter = fields.Float('装夹直径(mm)', digits=(16, 2))
- clamping_num = fields.Selection([('1', '1'), ('2', '2'), ('4', '4'), ('6', '6'), ('8', '8')], string='夹装单元数')
+ clamping_num = fields.Selection([('1', '1'), ('2', '2'), ('4', '4'), ('6', '6'), ('8', '8')], string='装夹单元数')
chucking_power_max = fields.Float('最大夹持力(KN)', digits=(16, 2))
repeated_positioning_accuracy = fields.Char('重复定位精度(mm)', size=20)
boolean_transposing_hole = fields.Boolean('是否有转位孔')
diff --git a/sf_base/models/fixture.py b/sf_base/models/fixture.py
index d6455550..c1591745 100644
--- a/sf_base/models/fixture.py
+++ b/sf_base/models/fixture.py
@@ -32,6 +32,7 @@ class FixtureModel(models.Model):
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型", required=True)
brand_id = fields.Many2one('sf.machine.brand', string="品牌")
model_file = fields.Binary(string="3D模型图")
+ status = fields.Boolean('状态')
active = fields.Boolean('有效', default=False)
zero_chuck_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
diff --git a/sf_dlm_management/views/product_template_management_view.xml b/sf_dlm_management/views/product_template_management_view.xml
index 737d56db..a072fc28 100644
--- a/sf_dlm_management/views/product_template_management_view.xml
+++ b/sf_dlm_management/views/product_template_management_view.xml
@@ -41,6 +41,10 @@
+
+
{'readonly': [('categ_id', '!=', False)]}
@@ -89,8 +93,7 @@
-
-
+
product.template.only.form.inherit.sf
product.template
@@ -101,7 +104,15 @@
-
+
+
+
+
+ product.template.only.form.inherit.sf
+ product.template
+
+
+
@@ -483,64 +494,41 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py
index 285d43f0..d5d5a9ed 100644
--- a/sf_manufacturing/models/product_template.py
+++ b/sf_manufacturing/models/product_template.py
@@ -486,28 +486,6 @@ class ResProductMo(models.Model):
string='适用刀柄型号'
)
- # 夹具参数
- fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料")
- fixture_model_id = fields.Many2one('sf.fixture.model', string="夹具型号")
- fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name')
- fixture_multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
- fixture_clamping_way = fields.Char(string="装夹方式")
- fixture_port_type = fields.Char(string="接口类型")
- fixture_model_file = fields.Binary(string="3D模型图")
-
- fixture_clamp_workpiece_length_max = fields.Integer(string="夹持工件长度max(mm)")
- fixture_clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度max(mm)")
- fixture_clamp_workpiece_height_max = fields.Integer(string="夹持工件高度max(mm)")
- fixture_clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径max(mm)", digits=(16, 6))
-
- fixture_maximum_carrying_weight = fields.Float(string="最大承载重量(kg)", digits=(16, 4))
- fixture_maximum_clamping_force = fields.Integer(string="最大夹持力(n)")
- fixture_driving_way = fields.Char(string="驱动方式")
- fixture_apply_machine_tool_type_ids = fields.Many2many('sf.machine_tool.type', 'rel_product_machine_tool_type',
- string="适用机床型号")
- fixture_through_hole_size = fields.Integer(string="过孔大小(mm)")
- fixture_screw_size = fields.Integer(string="螺牙大小(mm)")
-
# 注册状态
register_state = fields.Selection([('未注册', '未注册'), ('已注册', '已注册'), ('注册失败', '注册失败')],
string='注册状态', default='未注册')
@@ -826,6 +804,80 @@ class ResProductMo(models.Model):
return base64_data
+class ResProductFixture(models.Model):
+ _inherit = 'product.template'
+ _description = '夹具产品信息'
+
+ fixture_model_id = fields.Many2one('sf.fixture.model', '夹具型号')
+ specification_fixture_id = fields.Many2one('sf.fixture.materials.basic.parameters', '夹具规格')
+
+ fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料", required=True)
+ fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name')
+ multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型", required=True)
+ model_file = fields.Binary(string="3D模型图")
+
+ # 夹具物料基本参数
+ # length = fields.Float('长度(mm)', digits=(16, 2))
+ # width = fields.Float('宽度(mm)', digits=(16, 2))
+ # height = fields.Float('高度(mm)', digits=(16, 2))
+ diameter = fields.Float('直径(mm)', digits=(16, 2))
+
+ # '零点卡盘' 字段
+ weight = fields.Float('重量(mm)', digits=(16, 2))
+ orientation_dish_diameter = fields.Float('定位盘直径(mm)', digits=(16, 2))
+ clamping_diameter = fields.Float('装夹直径(mm)', digits=(16, 2))
+ clamping_num = fields.Selection([('1', '1'), ('2', '2'), ('4', '4'), ('6', '6'), ('8', '8')], string='装夹单元数')
+ chucking_power_max = fields.Float('最大夹持力(KN)', digits=(16, 2))
+ repeated_positioning_accuracy = fields.Char('重复定位精度(mm)', size=20)
+ boolean_transposing_hole = fields.Boolean('是否有转位孔')
+ unlocking_method = fields.Selection(
+ [('手动', '手动'), ('气动', '气动'), ('液压', '液压'), ('电动', '电动'), ('其他', '其他')], string='解锁方式')
+ boolean_chip_blowing_function = fields.Boolean('是否有吹屑功能')
+ carrying_capacity_max = fields.Float('最大承载重量(kg)', digits=(16, 2))
+ rigidity = fields.Integer('硬度HRC')
+ materials_model_id = fields.Many2one('sf.materials.model', '夹具材质')
+ machine_tool_type_id = fields.Many2one('sf.machine_tool.type', '适用机床型号')
+
+ # ’零点托盘‘ 字段
+ connector_diameter = fields.Selection([('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('8', '8')],
+ string='连接头直径(mm)')
+ way_to_install = fields.Selection(
+ [('接口式', '接口式'), ('螺栓固定', '螺栓固定'), ('磁吸式', '磁吸式'), ('其他', '其他')], string='安装方式')
+ type_of_drive = fields.Selection(
+ [('气动式', '气动式'), ('液压式', '液压式'), ('机械式', '机械式'), ('电动式', '电动式'), ('其他', '其他')],
+ string='驱动方式')
+
+ # ’气动夹具‘ 字段
+ gripper_length_min = fields.Float('夹持工件最小长度(mm)', digits=(16, 2))
+ gripper_width_min = fields.Float('夹持工件最小宽度(mm)', digits=(16, 2))
+ gripper_height_min = fields.Float('夹持工件最小高度(mm)', digits=(16, 2))
+ gripper_diameter_min = fields.Float('夹持工件最小直径(mm)', digits=(16, 2))
+ gripper_length_max = fields.Float('夹持工件最大长度(mm)', digits=(16, 2))
+ gripper_width_max = fields.Float('夹持工件最大宽度(mm)', digits=(16, 2))
+ gripper_height_max = fields.Float('夹持工件最大高度(mm)', digits=(16, 2))
+ gripper_diameter_max = fields.Float('夹持工件最大直径(mm)', digits=(16, 2))
+ rated_air_pressure = fields.Float('额定气压(Mpa)', digits=(16, 2))
+ interface_materials_model_id = fields.Many2one('sf.materials.model', '接口类型')
+
+ # ‘虎钳夹具' 字段
+ transverse_groove = fields.Float('横向配合槽n(mm)', digits=(16, 2))
+ longitudinal_fitting_groove = fields.Float('纵向配合槽l(mm)', digits=(16, 2))
+
+ # '磁吸夹具' 字段
+ height_tolerance_value = fields.Char('高度公差(mm)')
+ rated_adsorption_force = fields.Float('额定吸附力(N/cm²)', digits=(16, 2))
+ magnetic_field_height = fields.Float('磁场高度(mm)', digits=(16, 2))
+ magnetic_pole_plate_grinding_allowance = fields.Float('磁极板磨削余量(mm)', digits=(16, 2))
+
+ # '转接板(锁板)夹具' 字段
+ screw_size = fields.Float('螺牙大小(mm)', digits=(16, 2))
+ via_hole_diameter = fields.Float('过孔直径(mm)', digits=(16, 2))
+
+ # '三爪卡盘' 字段
+ mounting_hole_depth = fields.Float('安装孔深度(mm)', digits=(16, 2))
+ centering_diameter = fields.Float('定心直径(mm)', digits=(16, 2))
+
+
class SfMaintenanceEquipmentAndProductTemplate(models.Model):
_inherit = 'maintenance.equipment'
_description = '设备'
diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py
index fe7bd12e..bb4b631f 100644
--- a/sf_mrs_connect/models/sync_common.py
+++ b/sf_mrs_connect/models/sync_common.py
@@ -649,24 +649,24 @@ class MachineToolType(models.Model):
'machine_tool_picture': image,
"heightened_way": item['heightened_way'],
"workpiece_load": item['workpiece_load'],
- #"lead_screw": item['lead_screw'],
+ # "lead_screw": item['lead_screw'],
"workbench_L": item['workbench_L'],
"workbench_W": item['workbench_W'],
- #"guide_rail": item['guide_rail'],
+ # "guide_rail": item['guide_rail'],
"machine_tool_L": item['machine_tool_L'],
"machine_tool_W": item['machine_tool_W'],
"machine_tool_H": item['machine_tool_H'],
- #"feed_speed": item['feed_speed'],
- #"tool_speed": item['tool_speed'],
+ # "feed_speed": item['feed_speed'],
+ # "tool_speed": item['tool_speed'],
"distance_min": item['distance_min'],
"distance_max": item['distance_max'],
- #"taper": item['taper'],
- #"torque": item['torque'],
- #"motor_power": item['motor_power'],
+ # "taper": item['taper'],
+ # "torque": item['torque'],
+ # "motor_power": item['motor_power'],
"tool_quality_max": item['tool_quality_max'],
"tool_long_max": item['tool_long_max'],
- #"tool_diameter_max": item['tool_diameter_max'],
- #"tool_diameter_min": item['tool_diameter_min'],
+ # "tool_diameter_max": item['tool_diameter_max'],
+ # "tool_diameter_min": item['tool_diameter_min'],
"machine_tool_category": category.id,
'taper_type_id': taper_type_id.id,
"function_type": item['function_type'],
@@ -731,24 +731,24 @@ class MachineToolType(models.Model):
'machine_tool_picture': image,
"heightened_way": item['heightened_way'],
"workpiece_load": item['workpiece_load'],
- #"lead_screw": item['lead_screw'],
+ # "lead_screw": item['lead_screw'],
"workbench_L": item['workbench_L'],
"workbench_W": item['workbench_W'],
- #"guide_rail": item['guide_rail'],
+ # "guide_rail": item['guide_rail'],
"machine_tool_L": item['machine_tool_L'],
"machine_tool_W": item['machine_tool_W'],
"machine_tool_H": item['machine_tool_H'],
- #"feed_speed": item['feed_speed'],
- #"tool_speed": item['tool_speed'],
+ # "feed_speed": item['feed_speed'],
+ # "tool_speed": item['tool_speed'],
"distance_min": item['distance_min'],
"distance_max": item['distance_max'],
- #"taper": item['taper'],
- #"torque": item['torque'],
- #"motor_power": item['motor_power'],
+ # "taper": item['taper'],
+ # "torque": item['torque'],
+ # "motor_power": item['motor_power'],
"tool_quality_max": item['tool_quality_max'],
"tool_long_max": item['tool_long_max'],
- #"tool_diameter_max": item['tool_diameter_max'],
- #"tool_diameter_min": item['tool_diameter_min'],
+ # "tool_diameter_max": item['tool_diameter_max'],
+ # "tool_diameter_min": item['tool_diameter_min'],
"machine_tool_category": category.id,
'taper_type_id': taper_type_id.id,
"function_type": item['function_type'],
@@ -844,24 +844,24 @@ class MachineToolType(models.Model):
'machine_tool_picture': image,
"heightened_way": item['heightened_way'],
"workpiece_load": item['workpiece_load'],
- #"lead_screw": item['lead_screw'],
+ # "lead_screw": item['lead_screw'],
"workbench_L": item['workbench_L'],
"workbench_W": item['workbench_W'],
- #"guide_rail": item['guide_rail'],
+ # "guide_rail": item['guide_rail'],
"machine_tool_L": item['machine_tool_L'],
"machine_tool_W": item['machine_tool_W'],
"machine_tool_H": item['machine_tool_H'],
- #"feed_speed": item['feed_speed'],
- #"tool_speed": item['tool_speed'],
+ # "feed_speed": item['feed_speed'],
+ # "tool_speed": item['tool_speed'],
"distance_min": item['distance_min'],
"distance_max": item['distance_max'],
- #"taper": item['taper'],
- #"torque": item['torque'],
- #"motor_power": item['motor_power'],
+ # "taper": item['taper'],
+ # "torque": item['torque'],
+ # "motor_power": item['motor_power'],
"tool_quality_max": item['tool_quality_max'],
"tool_long_max": item['tool_long_max'],
- #"tool_diameter_max": item['tool_diameter_max'],
- #"tool_diameter_min": item['tool_diameter_min'],
+ # "tool_diameter_max": item['tool_diameter_max'],
+ # "tool_diameter_min": item['tool_diameter_min'],
"machine_tool_category": category.id,
'taper_type_id': taper_type_id.id,
"function_type": item['function_type'],
@@ -903,7 +903,6 @@ class MachineToolType(models.Model):
"jg_image_id": jg_image_id.ids,
"lq_image_id": lq_image_id.ids,
-
})
else:
machine_tool_type.update({
@@ -927,24 +926,24 @@ class MachineToolType(models.Model):
'machine_tool_picture': image,
"heightened_way": item['heightened_way'],
"workpiece_load": item['workpiece_load'],
- #"lead_screw": item['lead_screw'],
+ # "lead_screw": item['lead_screw'],
"workbench_L": item['workbench_L'],
"workbench_W": item['workbench_W'],
- #"guide_rail": item['guide_rail'],
+ # "guide_rail": item['guide_rail'],
"machine_tool_L": item['machine_tool_L'],
"machine_tool_W": item['machine_tool_W'],
"machine_tool_H": item['machine_tool_H'],
- #"feed_speed": item['feed_speed'],
- #"tool_speed": item['tool_speed'],
+ # "feed_speed": item['feed_speed'],
+ # "tool_speed": item['tool_speed'],
"distance_min": item['distance_min'],
"distance_max": item['distance_max'],
- #"taper": item['taper'],
- #"torque": item['torque'],
- #"motor_power": item['motor_power'],
+ # "taper": item['taper'],
+ # "torque": item['torque'],
+ # "motor_power": item['motor_power'],
"tool_quality_max": item['tool_quality_max'],
"tool_long_max": item['tool_long_max'],
- #"tool_diameter_max": item['tool_diameter_max'],
- #"tool_diameter_min": item['tool_diameter_min'],
+ # "tool_diameter_max": item['tool_diameter_max'],
+ # "tool_diameter_min": item['tool_diameter_min'],
"machine_tool_category": category.id,
'taper_type_id': taper_type_id.id,
"function_type": item['function_type'],
@@ -1459,6 +1458,39 @@ class SyncFixtureModel(models.Model):
for item in result['fixture_model_yesterday_list']:
if item:
fixture_model = self.search([("code", '=', item['code'])])
+ zero_chuck_list = []
+ for zero_chuck_id in item['zero_chuck_ids']:
+ zero_chuck_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_zero_chuck_param(zero_chuck_id))
+ zero_tray_list = []
+ for zero_tray_id in item['zero_tray_ids']:
+ zero_tray_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_zero_tray_param(zero_tray_id))
+ pneumatic_fixture_list = []
+ for pneumatic_fixture_id in item['pneumatic_fixture_ids']:
+ pneumatic_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_pneumatic_fixture_param(
+ pneumatic_fixture_id))
+ jaw_vice_fixture_list = []
+ for jaw_vice_fixture_id in item['jaw_vice_fixture_ids']:
+ jaw_vice_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_jaw_vice_fixture_param(
+ jaw_vice_fixture_id))
+ magnet_fixture_list = []
+ for magnet_fixture_id in item['magnet_fixture_ids']:
+ magnet_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_magnet_fixture_param(
+ magnet_fixture_id))
+ adapter_board_fixture_list = []
+ for adapter_board_fixture_id in item['adapter_board_fixture_ids']:
+ adapter_board_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_adapter_board_fixture_param(
+ adapter_board_fixture_id))
+ scroll_chuck_list = []
+ for scroll_chuck_id in item['scroll_chuck_ids']:
+ scroll_chuck_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_scroll_chuck_param(
+ scroll_chuck_id))
if not fixture_model:
self.create({
"name": item['name'],
@@ -1468,56 +1500,35 @@ class SyncFixtureModel(models.Model):
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
- "clamping_way": item['clamping_way'],
- "port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
- "length": item['length'],
- "width": item['width'],
- "height": item['height'],
- "weight": item['weight'],
- "clamp_workpiece_length_max": item['clamp_workpiece_length_max'],
- "clamp_workpiece_width_max": item['clamp_workpiece_width_max'],
- "clamp_workpiece_height_max": item['clamp_workpiece_height_max'],
- "clamp_workpiece_diameter_max": item['clamp_workpiece_diameter_max'],
- "maximum_carrying_weight": item['maximum_carrying_weight'],
- "maximum_clamping_force": item['maximum_clamping_force'],
- "materials_model_id": self.env['sf.materials.model'].search(
- [('materials_no', '=', item['materials_model_code'])]).id,
- "driving_way": item['driving_way'],
- "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids(
- item['apply_machine_tool_type_code']),
- "through_hole_size": item['through_hole_size'],
- "screw_size": item['screw_size'],
+ "zero_chuck_ids": zero_chuck_list,
+ "zero_tray_ids": zero_tray_list,
+ "pneumatic_fixture_ids": pneumatic_fixture_list,
+ "jaw_vice_fixture_ids": jaw_vice_fixture_list,
+ "magnet_fixture_ids": magnet_fixture_list,
+ "adapter_board_fixture_ids": adapter_board_fixture_list,
+ "scroll_chuck_ids": scroll_chuck_list,
+ "status": item['status'],
"active": item['active'],
})
else:
fixture_model.write({
"name": item['name'],
+ "code": item['code'],
"fixture_material_id": self.env['sf.fixture.material'].search(
[('code', '=', item['fixture_material_code'])]).id,
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
- "clamping_way": item['clamping_way'],
- "port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
- "length": item['length'],
- "width": item['width'],
- "height": item['height'],
- "weight": item['weight'],
- "clamp_workpiece_length_max": item['clamp_workpiece_length_max'],
- "clamp_workpiece_width_max": item['clamp_workpiece_width_max'],
- "clamp_workpiece_height_max": item['clamp_workpiece_height_max'],
- "clamp_workpiece_diameter_max": item['clamp_workpiece_diameter_max'],
- "maximum_carrying_weight": item['maximum_carrying_weight'],
- "maximum_clamping_force": item['maximum_clamping_force'],
- "materials_model_id": self.env['sf.materials.model'].search(
- [('materials_no', '=', item['materials_model_code'])]).id,
- "driving_way": item['driving_way'],
- "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids(
- item['apply_machine_tool_type_code']),
- "through_hole_size": item['through_hole_size'],
- "screw_size": item['screw_size'],
+ "zero_chuck_ids": zero_chuck_list,
+ "zero_tray_ids": zero_tray_list,
+ "pneumatic_fixture_ids": pneumatic_fixture_list,
+ "jaw_vice_fixture_ids": jaw_vice_fixture_list,
+ "magnet_fixture_ids": magnet_fixture_list,
+ "adapter_board_fixture_ids": adapter_board_fixture_list,
+ "scroll_chuck_ids": scroll_chuck_list,
+ "status": item['status'],
"active": item['active'],
})
else:
@@ -1537,6 +1548,39 @@ class SyncFixtureModel(models.Model):
for item in result['fixture_model_all_list']:
if item:
fixture_model = self.search([("code", '=', item['code'])])
+ zero_chuck_list = []
+ for zero_chuck_id in item['zero_chuck_ids']:
+ zero_chuck_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_zero_chuck_param(zero_chuck_id))
+ zero_tray_list = []
+ for zero_tray_id in item['zero_tray_ids']:
+ zero_tray_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_zero_tray_param(zero_tray_id))
+ pneumatic_fixture_list = []
+ for pneumatic_fixture_id in item['pneumatic_fixture_ids']:
+ pneumatic_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_pneumatic_fixture_param(
+ pneumatic_fixture_id))
+ jaw_vice_fixture_list = []
+ for jaw_vice_fixture_id in item['jaw_vice_fixture_ids']:
+ jaw_vice_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_jaw_vice_fixture_param(
+ jaw_vice_fixture_id))
+ magnet_fixture_list = []
+ for magnet_fixture_id in item['magnet_fixture_ids']:
+ magnet_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_magnet_fixture_param(
+ magnet_fixture_id))
+ adapter_board_fixture_list = []
+ for adapter_board_fixture_id in item['adapter_board_fixture_ids']:
+ adapter_board_fixture_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_adapter_board_fixture_param(
+ adapter_board_fixture_id))
+ scroll_chuck_list = []
+ for scroll_chuck_id in item['scroll_chuck_ids']:
+ scroll_chuck_list.append(
+ self.env['sf.fixture.materials.basic.parameters']._json_scroll_chuck_param(
+ scroll_chuck_id))
if not fixture_model:
self.create({
"name": item['name'],
@@ -1546,56 +1590,35 @@ class SyncFixtureModel(models.Model):
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
- "clamping_way": item['clamping_way'],
- "port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
- "length": item['length'],
- "width": item['width'],
- "height": item['height'],
- "weight": item['weight'],
- "clamp_workpiece_length_max": item['clamp_workpiece_length_max'],
- "clamp_workpiece_width_max": item['clamp_workpiece_width_max'],
- "clamp_workpiece_height_max": item['clamp_workpiece_height_max'],
- "clamp_workpiece_diameter_max": item['clamp_workpiece_diameter_max'],
- "maximum_carrying_weight": item['maximum_carrying_weight'],
- "maximum_clamping_force": item['maximum_clamping_force'],
- "materials_model_id": self.env['sf.materials.model'].search(
- [('materials_no', '=', item['materials_model_code'])]).id,
- "driving_way": item['driving_way'],
- "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids(
- item['apply_machine_tool_type_code']),
- "through_hole_size": item['through_hole_size'],
- "screw_size": item['screw_size'],
+ "zero_chuck_ids": zero_chuck_list,
+ "zero_tray_ids": zero_tray_list,
+ "pneumatic_fixture_ids": pneumatic_fixture_list,
+ "jaw_vice_fixture_ids": jaw_vice_fixture_list,
+ "magnet_fixture_ids": magnet_fixture_list,
+ "adapter_board_fixture_ids": adapter_board_fixture_list,
+ "scroll_chuck_ids": scroll_chuck_list,
+ "status": item['status'],
"active": item['active'],
})
else:
fixture_model.write({
"name": item['name'],
+ "code": item['code'],
"fixture_material_id": self.env['sf.fixture.material'].search(
[('code', '=', item['fixture_material_code'])]).id,
"multi_mounting_type_id": self.env['sf.multi_mounting.type'].search(
[('code', '=', item['multi_mounting_type_code'])]).id,
"brand_id": self.env['sf.machine.brand'].search([('code', '=', item['brand_code'])]).id,
- "clamping_way": item['clamping_way'],
- "port_type": item['port_type'],
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
- "length": item['length'],
- "width": item['width'],
- "height": item['height'],
- "weight": item['weight'],
- "clamp_workpiece_length_max": item['clamp_workpiece_length_max'],
- "clamp_workpiece_width_max": item['clamp_workpiece_width_max'],
- "clamp_workpiece_height_max": item['clamp_workpiece_height_max'],
- "clamp_workpiece_diameter_max": item['clamp_workpiece_diameter_max'],
- "maximum_carrying_weight": item['maximum_carrying_weight'],
- "maximum_clamping_force": item['maximum_clamping_force'],
- "materials_model_id": self.env['sf.materials.model'].search(
- [('materials_no', '=', item['materials_model_code'])]).id,
- "driving_way": item['driving_way'],
- "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids(
- item['apply_machine_tool_type_code']),
- "through_hole_size": item['through_hole_size'],
- "screw_size": item['screw_size'],
+ "zero_chuck_ids": zero_chuck_list,
+ "zero_tray_ids": zero_tray_list,
+ "pneumatic_fixture_ids": pneumatic_fixture_list,
+ "jaw_vice_fixture_ids": jaw_vice_fixture_list,
+ "magnet_fixture_ids": magnet_fixture_list,
+ "adapter_board_fixture_ids": adapter_board_fixture_list,
+ "scroll_chuck_ids": scroll_chuck_list,
+ "status": item['status'],
"active": item['active'],
})
else: