1、优化夹具型号静态数据同步

This commit is contained in:
yuxianghui
2024-03-15 17:38:43 +08:00
parent d6c4eb7479
commit 3b7e120eb2
5 changed files with 381 additions and 348 deletions

View File

@@ -827,7 +827,8 @@ class MachineToolType(models.Model):
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
jg_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['jg_image_id'])]).ids
lq_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['lq_image_id'])]).ids
category = self.env['sf.machine_tool.category'].search([('code', '=', item['machine_tool_category']), ('active', '=', True)], limit=1)
category = self.env['sf.machine_tool.category'].search(
[('code', '=', item['machine_tool_category']), ('active', '=', True)], limit=1)
if not machine_tool_type:
self.create({
@@ -1475,90 +1476,62 @@ class SyncFixtureModel(models.Model):
for item in result['fixture_model_yesterday_list']:
if item:
fixture_model = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
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))
fixture_materials = self.env['sf.fixture.materials.basic.parameters']
val = {
"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,
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
"status": item['status'],
"active": item['active'],
}
if not fixture_model:
self.create({
"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,
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
"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'],
})
fixture_model = self.create(val)
fixture_material_name = fixture_model.fixture_material_id.name
if item['zero_chuck_ids'] and fixture_material_name == '零点卡盘':
fixture_materials.create_fixture_materials(item['zero_chuck_ids'], fixture_model)
elif item['zero_tray_ids'] and fixture_material_name == '零点托盘':
fixture_materials.create_fixture_materials(item['zero_tray_ids'], fixture_model)
elif item['pneumatic_fixture_ids'] and fixture_material_name == '气动夹具':
fixture_materials.create_fixture_materials(item['pneumatic_fixture_ids'], fixture_model)
elif item['jaw_vice_fixture_ids'] and fixture_material_name == '虎钳夹具':
fixture_materials.create_fixture_materials(item['jaw_vice_fixture_ids'], fixture_model)
elif item['magnet_fixture_ids'] and fixture_material_name == '磁吸夹具':
fixture_materials.create_fixture_materials(item['magnet_fixture_ids'], fixture_model)
elif item['adapter_board_fixture_ids'] and fixture_material_name == '转接板(锁板)夹具':
fixture_materials.create_fixture_materials(item['adapter_board_fixture_ids'],
fixture_model)
elif item['scroll_chuck_ids'] and fixture_material_name == '三爪卡盘':
fixture_materials.create_fixture_materials(item['scroll_chuck_ids'], fixture_model)
else:
fixture_model.write({
"zero_chuck_ids": [(5, 0, 0)],
"zero_tray_ids": [(5, 0, 0)],
"pneumatic_fixture_ids": [(5, 0, 0)],
"jaw_vice_fixture_ids": [(5, 0, 0)],
"magnet_fixture_ids": [(5, 0, 0)],
"adapter_board_fixture_ids": [(5, 0, 0)],
"scroll_chuck_ids": [(5, 0, 0)],
})
self.env['sf.fixture.materials.basic.parameters'].sudo().search(
[('fixture_model_id', '=', False)]).unlink()
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,
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
"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'],
})
fixture_model.write(val)
fixture_material_name = fixture_model.fixture_material_id.name
if item['zero_chuck_ids'] and fixture_material_name == '零点卡盘':
fixture_materials.write_fixture_materials(item['zero_chuck_ids'], fixture_material_name)
elif item['zero_tray_ids'] and fixture_material_name == '零点托盘':
fixture_materials.write_fixture_materials(item['zero_tray_ids'], fixture_material_name)
elif item['pneumatic_fixture_ids'] and fixture_material_name == '气动夹具':
fixture_materials.write_fixture_materials(item['pneumatic_fixture_ids'],
fixture_material_name)
elif item['jaw_vice_fixture_ids'] and fixture_material_name == '虎钳夹具':
fixture_materials.write_fixture_materials(item['jaw_vice_fixture_ids'],
fixture_material_name)
elif item['magnet_fixture_ids'] and fixture_material_name == '磁吸夹具':
fixture_materials.write_fixture_materials(item['magnet_fixture_ids'],
fixture_material_name)
elif item['adapter_board_fixture_ids'] and fixture_material_name == '转接板(锁板)夹具':
fixture_materials.write_fixture_materials(item['adapter_board_fixture_ids'],
fixture_material_name)
elif item['scroll_chuck_ids'] and fixture_material_name == '三爪卡盘':
fixture_materials.write_fixture_materials(item['scroll_chuck_ids'],
fixture_material_name)
else:
self.env['sf.fixture.materials.basic.parameters'].sudo().search(
[('fixture_model_id', '=', fixture_model.id)]).unlink()
else:
raise ValidationError("夹具型号认证未通过")
@@ -1576,90 +1549,62 @@ class SyncFixtureModel(models.Model):
for item in result['fixture_model_all_list']:
if item:
fixture_model = self.search([('code', '=', item['code']), ('active', 'in', [True, False])])
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))
fixture_materials = self.env['sf.fixture.materials.basic.parameters']
val = {
"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,
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
"status": item['status'],
"active": item['active'],
}
if not fixture_model:
self.create({
"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,
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
"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'],
})
fixture_model = self.create(val)
fixture_material_name = fixture_model.fixture_material_id.name
if item['zero_chuck_ids'] and fixture_material_name == '零点卡盘':
fixture_materials.create_fixture_materials(item['zero_chuck_ids'], fixture_model)
elif item['zero_tray_ids'] and fixture_material_name == '零点托盘':
fixture_materials.create_fixture_materials(item['zero_tray_ids'], fixture_model)
elif item['pneumatic_fixture_ids'] and fixture_material_name == '气动夹具':
fixture_materials.create_fixture_materials(item['pneumatic_fixture_ids'], fixture_model)
elif item['jaw_vice_fixture_ids'] and fixture_material_name == '虎钳夹具':
fixture_materials.create_fixture_materials(item['jaw_vice_fixture_ids'], fixture_model)
elif item['magnet_fixture_ids'] and fixture_material_name == '磁吸夹具':
fixture_materials.create_fixture_materials(item['magnet_fixture_ids'], fixture_model)
elif item['adapter_board_fixture_ids'] and fixture_material_name == '转接板(锁板)夹具':
fixture_materials.create_fixture_materials(item['adapter_board_fixture_ids'],
fixture_model)
elif item['scroll_chuck_ids'] and fixture_material_name == '三爪卡盘':
fixture_materials.create_fixture_materials(item['scroll_chuck_ids'], fixture_model)
else:
fixture_model.write({
"zero_chuck_ids": [(5, 0, 0)],
"zero_tray_ids": [(5, 0, 0)],
"pneumatic_fixture_ids": [(5, 0, 0)],
"jaw_vice_fixture_ids": [(5, 0, 0)],
"magnet_fixture_ids": [(5, 0, 0)],
"adapter_board_fixture_ids": [(5, 0, 0)],
"scroll_chuck_ids": [(5, 0, 0)],
})
self.env['sf.fixture.materials.basic.parameters'].sudo().search(
[('fixture_model_id', '=', False)]).unlink()
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,
"model_file": '' if not item['model_file'] else base64.b64decode(item['model_file']),
"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'],
})
fixture_model.write(val)
fixture_material_name = fixture_model.fixture_material_id.name
if item['zero_chuck_ids'] and fixture_material_name == '零点卡盘':
fixture_materials.write_fixture_materials(item['zero_chuck_ids'], fixture_material_name)
elif item['zero_tray_ids'] and fixture_material_name == '零点托盘':
fixture_materials.write_fixture_materials(item['zero_tray_ids'], fixture_material_name)
elif item['pneumatic_fixture_ids'] and fixture_material_name == '气动夹具':
fixture_materials.write_fixture_materials(item['pneumatic_fixture_ids'],
fixture_material_name)
elif item['jaw_vice_fixture_ids'] and fixture_material_name == '虎钳夹具':
fixture_materials.write_fixture_materials(item['jaw_vice_fixture_ids'],
fixture_material_name)
elif item['magnet_fixture_ids'] and fixture_material_name == '磁吸夹具':
fixture_materials.write_fixture_materials(item['magnet_fixture_ids'],
fixture_material_name)
elif item['adapter_board_fixture_ids'] and fixture_material_name == '转接板(锁板)夹具':
fixture_materials.write_fixture_materials(item['adapter_board_fixture_ids'],
fixture_material_name)
elif item['scroll_chuck_ids'] and fixture_material_name == '三爪卡盘':
fixture_materials.write_fixture_materials(item['scroll_chuck_ids'],
fixture_material_name)
else:
self.env['sf.fixture.materials.basic.parameters'].sudo().search(
[('fixture_model_id', '=', fixture_model.id)]).unlink()
else:
raise ValidationError("夹具型号认证未通过")
@@ -2457,8 +2402,9 @@ class CuttingToolBasicParameters(models.Model):
'cutting_tool_type': '整体式刀具',
'standard_library_id': self.env['sf.cutting_tool.standard.library'].search(
[(
'code', '=', integral_tool_item['standard_library_code'].replace("JKM", result[
'factory_short_name']))]).id,
'code', '=',
integral_tool_item['standard_library_code'].replace("JKM", result[
'factory_short_name']))]).id,
'total_length': integral_tool_item['total_length'],
'blade_diameter': integral_tool_item['blade_diameter'],
'blade_length': integral_tool_item['blade_length'],
@@ -2825,8 +2771,9 @@ class CuttingToolBasicParameters(models.Model):
'cutting_tool_type': '整体式刀具',
'standard_library_id': self.env['sf.cutting_tool.standard.library'].search(
[(
'code', '=', integral_tool_item['standard_library_code'].replace("JKM", result[
'factory_short_name']))]).id,
'code', '=',
integral_tool_item['standard_library_code'].replace("JKM", result[
'factory_short_name']))]).id,
'total_length': integral_tool_item['total_length'],
'blade_diameter': integral_tool_item['blade_diameter'],
'blade_length': integral_tool_item['blade_length'],