From c470935cc5f230c16da321bf91c193309d4249e3 Mon Sep 17 00:00:00 2001
From: yuxianghui <3437689193@qq.com>
Date: Mon, 18 Mar 2024 17:15:34 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=88=A0=E9=99=A4=E5=A4=B9=E5=85=B7?=
=?UTF-8?q?=E5=9E=8B=E5=8F=B7=E5=90=8C=E6=AD=A5=E6=8E=A5=E5=8F=A3=E4=B8=AD?=
=?UTF-8?q?=E7=9A=84=E5=A4=B9=E5=85=B7=E5=9E=8B=E5=8F=B7=E5=9F=BA=E6=9C=AC?=
=?UTF-8?q?=E5=8F=82=E6=95=B0=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=9B2?=
=?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E5=A4=B9=E5=85=B7=E5=9E=8B=E5=8F=B7?=
=?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=8F=82=E6=95=B0=E6=A8=A1=E5=9E=8B=E5=90=8C?=
=?UTF-8?q?=E6=AD=A5=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=AE=8C=E6=88=90=E5=A4=B9?=
=?UTF-8?q?=E5=85=B7=E5=9E=8B=E5=8F=B7=E5=9F=BA=E6=9C=AC=E5=8F=82=E6=95=B0?=
=?UTF-8?q?=E7=9A=84=E5=90=8C=E6=AD=A5=EF=BC=9B3=E3=80=81=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E5=88=80=E5=85=B7=E7=AE=A1=E7=90=86=E8=8F=9C=E5=8D=95?=
=?UTF-8?q?=E4=B8=8B=E5=AD=90=E8=8F=9C=E5=8D=95=E5=90=8D=E7=A7=B0=EF=BC=9B?=
=?UTF-8?q?4=E3=80=81=E5=85=B3=E9=97=AD=E5=88=80=E5=85=B7=E7=89=A9?=
=?UTF-8?q?=E6=96=99=E6=90=9C=E7=B4=A2=E6=A8=A1=E5=9E=8Bform=E8=A7=86?=
=?UTF-8?q?=E5=9B=BE=E7=9A=84=E6=B3=A8=E5=86=8C=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sf_base/models/basic_parameters_fixture.py | 145 +++++-----------
sf_mrs_connect/models/res_config_setting.py | 2 +
sf_mrs_connect/models/sync_common.py | 156 +++++++++---------
sf_tool_management/views/menu_view.xml | 8 +-
.../views/tool_material_search.xml | 8 +-
5 files changed, 133 insertions(+), 186 deletions(-)
diff --git a/sf_base/models/basic_parameters_fixture.py b/sf_base/models/basic_parameters_fixture.py
index 1333d01f..e9469355 100644
--- a/sf_base/models/basic_parameters_fixture.py
+++ b/sf_base/models/basic_parameters_fixture.py
@@ -68,98 +68,30 @@ class BasicParametersFixture(models.Model):
centering_diameter = fields.Float('定心直径(mm)', digits=(16, 2))
code = fields.Char('编码')
+ active = fields.Boolean('有效', default=True)
- def create_fixture_materials(self, fixture_materials_datas, fixture_model):
- fixture_materials_name = fixture_model.fixture_material_id.name
+ def _get_basic_parameters_list(self, fixture_materials_data, fixture_materials_name):
if fixture_materials_name == '零点卡盘':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_zero_chuck_param(fixture_materials_data, fixture_model))
+ return self._json_zero_chuck_param(fixture_materials_data)
elif fixture_materials_name == '零点托盘':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_zero_tray_param(fixture_materials_data, fixture_model))
+ return self._json_zero_tray_param(fixture_materials_data)
elif fixture_materials_name == '气动夹具':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_pneumatic_fixture_param(fixture_materials_data, fixture_model))
+ return self._json_pneumatic_fixture_param(fixture_materials_data)
elif fixture_materials_name == '虎钳夹具':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_jaw_vice_fixture_param(fixture_materials_data, fixture_model))
+ return self._json_jaw_vice_fixture_param(fixture_materials_data)
elif fixture_materials_name == '磁吸夹具':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_magnet_fixture_param(fixture_materials_data, fixture_model))
+ return self._json_magnet_fixture_param(fixture_materials_data)
elif fixture_materials_name == '转接板(锁板)夹具':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_adapter_board_fixture_param(fixture_materials_data, fixture_model))
+ return self._json_adapter_board_fixture_param(fixture_materials_data)
elif fixture_materials_name == '三爪卡盘':
- for fixture_materials_data in fixture_materials_datas:
- self.create(self._json_scroll_chuck_param(fixture_materials_data, fixture_model))
+ return self._json_scroll_chuck_param(fixture_materials_data)
+ return {}
- def write_fixture_materials(self, fixture_materials_datas, fixture_model):
- fixture_materials_name = fixture_model.fixture_material_id.name
- # cloud夹具物料的code
- mrs_fixture_materials_codes = []
- for fixture_materials_data in fixture_materials_datas:
- mrs_fixture_materials_codes.append(fixture_materials_data.get('code'))
- # sf夹具物料的code 判断sf夹具型号关联的夹具物料在同步过来的mrs夹具物料中是否存在,不存在则删除
- sf_materials_model_codes = self._get_sf_materials_model_codes(fixture_model)
- for sf_materials_model_code in sf_materials_model_codes:
- if sf_materials_model_code not in mrs_fixture_materials_codes:
- self.search([('code', '=', sf_materials_model_code)]).sudo().unlink()
-
- for fixture_materials_data in fixture_materials_datas:
- fixture_materials_list = self._get_fixture_materials_list(fixture_materials_data, fixture_materials_name,
- fixture_model)
- fixture_materials_code = fixture_materials_list.get('code')
- # 判断同步过来的mrs刀具物料在sf夹具型号关联的夹具物料中是否存在,如果存在则修改,如果不存在则创建
- if fixture_materials_code in sf_materials_model_codes:
- self.search([('code', '=', fixture_materials_code)]).sudo().write(fixture_materials_list)
- else:
- self.sudo().create(fixture_materials_list)
-
- def _get_sf_materials_model_codes(self, fixture_model):
- fixture_materials_name = fixture_model.fixture_material_id.name
- if fixture_materials_name == '零点卡盘':
- return self._get_sf_materials_model_code(fixture_model.zero_chuck_ids)
- elif fixture_materials_name == '零点托盘':
- return self._get_sf_materials_model_code(fixture_model.zero_tray_ids)
- elif fixture_materials_name == '气动夹具':
- return self._get_sf_materials_model_code(fixture_model.pneumatic_fixture_ids)
- elif fixture_materials_name == '虎钳夹具':
- return self._get_sf_materials_model_code(fixture_model.pneumatic_fixture_ids)
- elif fixture_materials_name == '磁吸夹具':
- return self._get_sf_materials_model_code(fixture_model.magnet_fixture_ids)
- elif fixture_materials_name == '转接板(锁板)夹具':
- return self._get_sf_materials_model_code(fixture_model.adapter_board_fixture_ids)
- elif fixture_materials_name == '三爪卡盘':
- return self._get_sf_materials_model_code(fixture_model.scroll_chuck_ids)
- return False
-
- def _get_sf_materials_model_code(self, fixture_materials_ids):
- sf_materials_model_codes = []
- for fixture_materials_id in fixture_materials_ids:
- sf_materials_model_codes.append(fixture_materials_id.code)
- return sf_materials_model_codes
-
- def _get_fixture_materials_list(self, fixture_materials_data, fixture_materials_name, fixture_model):
- if fixture_materials_name == '零点卡盘':
- return self._json_zero_chuck_param(fixture_materials_data, fixture_model)
- elif fixture_materials_name == '零点托盘':
- return self._json_zero_tray_param(fixture_materials_data, fixture_model)
- elif fixture_materials_name == '气动夹具':
- return self._json_pneumatic_fixture_param(fixture_materials_data, fixture_model)
- elif fixture_materials_name == '虎钳夹具':
- return self._json_jaw_vice_fixture_param(fixture_materials_data, fixture_model)
- elif fixture_materials_name == '磁吸夹具':
- return self._json_magnet_fixture_param(fixture_materials_data, fixture_model)
- elif fixture_materials_name == '转接板(锁板)夹具':
- return self._json_adapter_board_fixture_param(fixture_materials_data, fixture_model)
- elif fixture_materials_name == '三爪卡盘':
- return self._json_scroll_chuck_param(fixture_materials_data, fixture_model)
- return False
-
- def _json_zero_chuck_param(self, obj, fixture_model):
+ def _json_zero_chuck_param(self, obj):
"""零点卡盘:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -179,12 +111,14 @@ class BasicParametersFixture(models.Model):
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
'machine_tool_type_id': self.env['sf.machine_tool.type'].sudo().search(
- [('code', '=', obj['machine_tool_type_id']), ('active', '=', True)]).id}
+ [('code', '=', obj['machine_tool_type_id']), ('active', '=', True)]).id,
+ 'active': obj['active']}
- def _json_zero_tray_param(self, obj, fixture_model):
+ def _json_zero_tray_param(self, obj):
"""零点托盘:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -201,12 +135,14 @@ class BasicParametersFixture(models.Model):
'carrying_capacity_max': obj['carrying_capacity_max'],
'materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
- 'rigidity': obj['rigidity']}
+ 'rigidity': obj['rigidity'],
+ 'active': obj['active']}
- def _json_pneumatic_fixture_param(self, obj, fixture_model):
+ def _json_pneumatic_fixture_param(self, obj):
"""气动夹具:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -228,12 +164,14 @@ class BasicParametersFixture(models.Model):
'rigidity': obj['rigidity'],
'interface_materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
- 'type_of_drive': obj['type_of_drive']}
+ 'type_of_drive': obj['type_of_drive'],
+ 'active': obj['active']}
- def _json_jaw_vice_fixture_param(self, obj, fixture_model):
+ def _json_jaw_vice_fixture_param(self, obj):
"""虎钳夹具:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -256,12 +194,14 @@ class BasicParametersFixture(models.Model):
'rigidity': obj['rigidity'],
'interface_materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
- 'type_of_drive': obj['type_of_drive']}
+ 'type_of_drive': obj['type_of_drive'],
+ 'active': obj['active']}
- def _json_magnet_fixture_param(self, obj, fixture_model):
+ def _json_magnet_fixture_param(self, obj):
"""磁吸夹具:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -285,12 +225,14 @@ class BasicParametersFixture(models.Model):
'rigidity': obj['rigidity'],
'interface_materials_model_id': self.env['sf.materials.model'].sudo().search(
[('materials_no', '=', obj['materials_model_id']), ('active', '=', True)]).id,
- 'type_of_drive': obj['type_of_drive']}
+ 'type_of_drive': obj['type_of_drive'],
+ 'active': obj['active']}
- def _json_adapter_board_fixture_param(self, obj, fixture_model):
+ def _json_adapter_board_fixture_param(self, obj):
"""转接板(锁板)夹具:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -311,12 +253,14 @@ class BasicParametersFixture(models.Model):
'rigidity': obj['rigidity'],
'screw_size': obj['screw_size'],
'via_hole_diameter': obj['via_hole_diameter'],
- 'type_of_drive': obj['type_of_drive']}
+ 'type_of_drive': obj['type_of_drive'],
+ 'active': obj['active']}
- def _json_scroll_chuck_param(self, obj, fixture_model):
+ def _json_scroll_chuck_param(self, obj):
"""转接板(锁板)夹具:将data数据转换成list数据"""
return {'code': obj['code'],
- 'fixture_model_id': fixture_model.id,
+ 'fixture_model_id': self.env['sf.fixture.model'].sudo().search(
+ [('code', '=', obj.get('fixture_model_code'))]).id,
'name': obj['name'],
'length': obj['length'],
'width': obj['width'],
@@ -338,4 +282,5 @@ class BasicParametersFixture(models.Model):
'rigidity': obj['rigidity'],
'mounting_hole_depth': obj['mounting_hole_depth'],
'centering_diameter': obj['centering_diameter'],
- 'type_of_drive': obj['type_of_drive']}
+ 'type_of_drive': obj['type_of_drive'],
+ 'active': obj['active']}
diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py
index 5919e5c7..7c10f8b1 100644
--- a/sf_mrs_connect/models/res_config_setting.py
+++ b/sf_mrs_connect/models/res_config_setting.py
@@ -60,6 +60,8 @@ class ResConfigSettings(models.TransientModel):
_logger.info("同步联装类型完成")
self.env['sf.fixture.model'].sync_all_fixture_model()
_logger.info("同步夹具型号完成")
+ self.env['sf.fixture.materials.basic.parameters'].sync_all_fixture_materials_basic_parameters()
+ _logger.info("同步夹具型号基本信息完成")
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
_logger.info("同步夹具型号类型完成")
self.env['sf.machine_tool.type'].sync_all_machine_tool_type()
diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py
index 210194db..5cbfa8ec 100644
--- a/sf_mrs_connect/models/sync_common.py
+++ b/sf_mrs_connect/models/sync_common.py
@@ -50,6 +50,10 @@ class MrStaticResourceDataSync(models.Model):
logging.info("联装类型已每日同步成功")
self.env['sf.fixture.model'].sync_fixture_model_yesterday()
logging.info("夹具型号已每日同步成功")
+ self.env['sf.fixture.materials.basic.parameters'].sync_fixture_materials_basic_parameters_yesterday()
+ logging.info("夹具型号基本参数已每日同步成功")
+ self.env['sf.functional.fixture.type'].sync_fixture_materials_basic_parameters_yesterday()
+ logging.info("夹具型号基本参数已每日同步成功")
self.env['sf.functional.fixture.type'].sync_functional_fixture_type_yesterday()
logging.info("功能夹具类型已每日同步成功")
self.env['sf.cutting.tool.material'].sync_cutting_tool_material_yesterday()
@@ -1476,7 +1480,6 @@ 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])])
- fixture_materials = self.env['sf.fixture.materials.basic.parameters']
val = {
"name": item['name'],
"code": item['code'],
@@ -1490,48 +1493,10 @@ class SyncFixtureModel(models.Model):
"active": item['active'],
}
if not fixture_model:
- 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)
+ self.create(val)
else:
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("夹具型号认证未通过")
@@ -1549,7 +1514,6 @@ 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])])
- fixture_materials = self.env['sf.fixture.materials.basic.parameters']
val = {
"name": item['name'],
"code": item['code'],
@@ -1563,48 +1527,84 @@ class SyncFixtureModel(models.Model):
"active": item['active'],
}
if not fixture_model:
- 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)
+ self.create(val)
else:
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_model)
- elif item['zero_tray_ids'] and fixture_material_name == '零点托盘':
- fixture_materials.write_fixture_materials(item['zero_tray_ids'], fixture_model)
- elif item['pneumatic_fixture_ids'] and fixture_material_name == '气动夹具':
- fixture_materials.write_fixture_materials(item['pneumatic_fixture_ids'], fixture_model)
- elif item['jaw_vice_fixture_ids'] and fixture_material_name == '虎钳夹具':
- fixture_materials.write_fixture_materials(item['jaw_vice_fixture_ids'], fixture_model)
- elif item['magnet_fixture_ids'] and fixture_material_name == '磁吸夹具':
- fixture_materials.write_fixture_materials(item['magnet_fixture_ids'], fixture_model)
- elif item['adapter_board_fixture_ids'] and fixture_material_name == '转接板(锁板)夹具':
- fixture_materials.write_fixture_materials(item['adapter_board_fixture_ids'],
- fixture_model)
- elif item['scroll_chuck_ids'] and fixture_material_name == '三爪卡盘':
- fixture_materials.write_fixture_materials(item['scroll_chuck_ids'], fixture_model)
- else:
- self.env['sf.fixture.materials.basic.parameters'].sudo().search(
- [('fixture_model_id', '=', fixture_model.id)]).unlink()
else:
raise ValidationError("夹具型号认证未通过")
+class SyncfixtureMaterialsBasicParameters(models.Model):
+ _inherit = 'sf.fixture.materials.basic.parameters'
+ _description = '同步夹具型号基本参数列表'
+
+ url = '/api/fixture_parameters/list'
+
+ # 定时同步夹具型号基本信息
+ def sync_fixture_materials_basic_parameters_yesterday(self):
+ config = self.env['res.config.settings'].get_values()
+ headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
+ strUrl = config['sf_url'] + self.url
+ r = requests.post(strUrl, json={}, data=None, headers=headers)
+ r = r.json()
+ result = json.loads(r['result'])
+ if result['status'] == 1:
+ if result.get('fixture_parameters_yesterday_list'):
+ all_list = result.get('fixture_parameters_yesterday_list')
+ if all_list.get('zero_chuck_all_list'):
+ self._write_or_create(all_list.get('zero_chuck_yesterday_list'), '零点卡盘')
+ if all_list.get('zero_tray_all_list'):
+ self._write_or_create(all_list.get('zero_tray_yesterday_list'), '零点托盘')
+ if all_list.get('pneumatic_fixture_all_list'):
+ self._write_or_create(all_list.get('pneumatic_fixture_yesterday_list'), '气动夹具')
+ if all_list.get('jaw_vice_all_list'):
+ self._write_or_create(all_list.get('jaw_vice_yesterday_list'), '虎钳夹具')
+ if all_list.get('magnet_fixture_all_list'):
+ self._write_or_create(all_list.get('magnet_fixture_yesterday_list'), '磁吸夹具')
+ if all_list.get('adapter_board_all_list'):
+ self._write_or_create(all_list.get('adapter_board_yesterday_list'), '转接板(锁板)夹具')
+ if all_list.get('scroll_chuck_all_list'):
+ self._write_or_create(all_list.get('scroll_chuck_yesterday_list'), '三爪卡盘')
+ else:
+ raise ValidationError("夹具型号基本参数认证未通过")
+
+ # 定时同步所有夹具型号基本信息
+ def sync_all_fixture_materials_basic_parameters(self):
+ config = self.env['res.config.settings'].get_values()
+ headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
+ strUrl = config['sf_url'] + self.url
+ r = requests.post(strUrl, json={}, data=None, headers=headers)
+ r = r.json()
+ result = json.loads(r['result'])
+ if result['status'] == 1:
+ if result.get('fixture_parameters_all_list'):
+ all_list = result.get('fixture_parameters_all_list')
+ if all_list.get('zero_chuck_all_list'):
+ self._write_or_create(all_list.get('zero_chuck_all_list'), '零点卡盘')
+ if all_list.get('zero_tray_all_list'):
+ self._write_or_create(all_list.get('zero_tray_all_list'), '零点托盘')
+ if all_list.get('pneumatic_fixture_all_list'):
+ self._write_or_create(all_list.get('pneumatic_fixture_all_list'), '气动夹具')
+ if all_list.get('jaw_vice_all_list'):
+ self._write_or_create(all_list.get('jaw_vice_all_list'), '虎钳夹具')
+ if all_list.get('magnet_fixture_all_list'):
+ self._write_or_create(all_list.get('magnet_fixture_all_list'), '磁吸夹具')
+ if all_list.get('adapter_board_all_list'):
+ self._write_or_create(all_list.get('adapter_board_all_list'), '转接板(锁板)夹具')
+ if all_list.get('scroll_chuck_all_list'):
+ self._write_or_create(all_list.get('scroll_chuck_all_list'), '三爪卡盘')
+ else:
+ raise ValidationError("夹具型号基本参数认证未通过")
+
+ def _write_or_create(self, fixture_parameters_list, material_name):
+ for item in fixture_parameters_list:
+ if item:
+ basic_parameters = self.search([('code', '=', item.get('code')), ('active', 'in', [True, False])])
+ if not basic_parameters:
+ self.create(self._get_basic_parameters_list(item, material_name))
+ else:
+ basic_parameters.write(self._get_basic_parameters_list(item, material_name))
+
class SyncFunctionalFixtureType(models.Model):
_inherit = 'sf.functional.fixture.type'
_description = '同步功能夹具类型列表'
diff --git a/sf_tool_management/views/menu_view.xml b/sf_tool_management/views/menu_view.xml
index c1fc939b..ea2e0fbd 100644
--- a/sf_tool_management/views/menu_view.xml
+++ b/sf_tool_management/views/menu_view.xml
@@ -10,8 +10,8 @@
@@ -34,7 +34,7 @@