1、删除夹具型号同步接口中的夹具型号基本参数的数据;2、新增夹具型号基本参数模型同步接口,完成夹具型号基本参数的同步;3、修改刀具管理菜单下子菜单名称;4、关闭刀具物料搜索模型form视图的注册接口

This commit is contained in:
yuxianghui
2024-03-18 17:15:34 +08:00
parent 6062ebdf9c
commit c470935cc5
5 changed files with 133 additions and 186 deletions

View File

@@ -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 = '同步功能夹具类型列表'