刀具同步方法(cloud >>> sf)基本完成,待测试

This commit is contained in:
mgw
2023-06-12 09:24:33 +08:00
parent ac66e15d7a
commit f95e04afc9
2 changed files with 599 additions and 8 deletions

View File

@@ -44,16 +44,13 @@ class ResConfigSettings(models.TransientModel):
_logger.info("同步资源库刀具")
# self.env['sf.production.process.parameter'].sync_all_production_process_parameter()
# _logger.info("同步表面工艺参数")
_logger.info("同步功能刀具")
# self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool()
_logger.info("同步功能刀具完成")
_logger.info("定时同步每日功能刀具类型列表...")
# self.env['sf.functional.cutting.tool.model'].sync_functional_cutting_tool_model()
_logger.info("同步功能刀具类型完成")
_logger.info("同步功能刀具类型...")
_logger.info("同步每日功能刀具类型完成")
_logger.info("同步所有功能刀具类型...")
# self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model()
_logger.info("同步功能刀具类型完成")
_logger.info("同步定时同步每日整体式刀具类型列表...")
_logger.info("同步所有功能刀具类型完成")
_logger.info("定时同步每日整体式刀具类型列表...")
# self.env['sf.integral.cutting.tool'].sync_integral_cutting_tool()
_logger.info("同步整体式刀具类型完成")
_logger.info("同步每日刀片类型列表...")
@@ -98,6 +95,42 @@ class ResConfigSettings(models.TransientModel):
_logger.info("同步所有刀片列表...")
self.env['sf.blade'].sync_all_blade()
_logger.info("同步所有刀片完成")
_logger.info("同步每日刀杆列表...")
self.env['sf.cutter.bar'].sync_cutter_bar()
_logger.info("同步每日刀杆完成")
_logger.info("同步所有刀杆列表...")
self.env['sf.cutter.bar'].sync_all_cutter_bar()
_logger.info("同步所有刀杆完成")
_logger.info("同步每日刀盘列表...")
self.env['sf.cutter.pad'].sync_cutter_pad()
_logger.info("同步每日刀盘完成")
_logger.info("同步所有刀盘列表...")
self.env['sf.cutter.pad'].sync_all_cutter_pad()
_logger.info("同步所有刀盘完成")
_logger.info("同步每日刀柄列表...")
self.env['sf.handle'].sync_handle()
_logger.info("同步每日刀柄完成")
_logger.info("同步所有刀柄列表...")
self.env['sf.handle'].sync_all_handle()
_logger.info("同步所有刀柄完成")
_logger.info("同步每日夹头列表...")
self.env['sf.chuck'].sync_chuck()
_logger.info("同步每日夹头完成")
_logger.info("同步所有夹头列表...")
self.env['sf.chuck'].sync_all_chuck()
_logger.info("同步所有夹头完成")
_logger.info("同步每日整体式刀具列表...")
self.env['sf.integral.cutting.tool'].sync_integral_cutting_tool()
_logger.info("同步每日整体式刀具完成")
_logger.info("同步所有整体式刀具列表...")
self.env['sf.integral.cutting.tool'].sync_all_integral_cutting_tool()
_logger.info("同步所有整体式刀具完成")
_logger.info("同步每日同步功能刀具列表...")
self.env['sf.function.cutting.tool'].sync_function_cutting_tool()
_logger.info("同步每日功能刀具列表完成")
_logger.info("同步所有功能刀具列表...")
self.env['sf.function.cutting.tool'].sync_all_function_cutting_tool()
_logger.info("同步所有功能刀具列表完成")
except Exception as e:
_logger.info("捕获错误信息:%s" % e)

View File

@@ -1742,6 +1742,11 @@ class SyncCutterBar(models.Model):
if result['status'] == 1:
if result.get('mrs_cutter_bar_yesterday_list'):
for item in result['mrs_cutter_bar_yesterday_list']:
blade_list = []
if item.get('blade'):
for i in item.get('blade'):
blade_list.append(self.env['sf.blade'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.cutter.bar'].search(
[("code", '=', item['code'])])
@@ -1760,7 +1765,7 @@ class SyncCutterBar(models.Model):
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
"blade": item['blade'],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
@@ -1769,8 +1774,106 @@ class SyncCutterBar(models.Model):
"scope": item['scope'],
"image": item['image'],
})
else:
brand.write({
"code": item['code'],
"name": item['name'],
"cutter_bar_model_number": self.env['sf.cutter.bar'].search(
[("code", '=', item['cutter_bar_model_number'])]).id,
"brand": self.env['sf.machine.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.materials.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
print('同步昨日刀杆列表成功')
else:
raise ValidationError("认证未通过")
# 定时同步每日刀杆列表
def sync_cutter_bar_today(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_cutter_bar_today_list'):
for item in result['mrs_cutter_bar_today_list']:
blade_list = []
if item.get('blade'):
for i in item.get('blade'):
blade_list.append(self.env['sf.blade'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.cutter.bar'].search(
[("code", '=', item['code'])])
if not brand:
# code, name, cutter_bar_model_number, brand, c_diameter, total_length, material_model, blade_number, d_diameter, blade, wrench, screw, radius, accuracy, hardness, scope, image
self.env['sf.cutter.bar'].create({
"code": item['code'],
"name": item['name'],
"cutter_bar_model_number": self.env['sf.cutter.bar'].search(
[("code", '=', item['cutter_bar_model_number'])]).id,
"brand": self.env['sf.machine.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.materials.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
else:
brand.write({
"code": item['code'],
"name": item['name'],
"cutter_bar_model_number": self.env['sf.cutter.bar'].search(
[("code", '=', item['cutter_bar_model_number'])]).id,
"brand": self.env['sf.machine.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.materials.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
print('同步今日刀杆列表成功')
else:
raise ValidationError("认证未通过")
# 同步刀杆类型列表
@@ -1850,6 +1953,163 @@ class SyncCutterBarModel(models.Model):
# 同步刀盘列表
class SyncCutterPad(models.Model):
_inherit = 'sf.cutter.pad'
_description = '同步刀盘列表'
url = '/api/mrs_cutter_pad/list'
# 定时同步每日刀盘列表
def sync_cutter_pad(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_cutter_pad_yesterday_list'):
for item in result['mrs_cutter_pad_yesterday_list']:
blade_list = []
if item.get('blade'):
for i in item.get('blade'):
blade_list.append(self.env['sf.blade'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.cutter.pad'].search(
[("code", '=', item['code'])])
if not brand:
# 'code', 'name', 'cutter_pad_model_number', 'brand', 'c_diameter', 'total_length', 'material_model', 'blade_number', 'd_diameter', 'blade', 'wrench', 'screw', 'radius', 'accuracy', 'hardness', 'scope', 'image'
self.env['sf.cutter.pad'].create({
"name": item['name'],
"code": item['code'],
"cutter_pad_model_number": self.env['sf.cutter.bar.model'].search(
[("code", '=', item['cutter_pad_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
# "blade": [(6, 0, blade_list)],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
else:
brand.write({
"name": item['name'],
"code": item['code'],
"cutter_pad_model_number": self.env['sf.cutter.bar.model'].search(
[("code", '=', item['cutter_pad_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
# "blade": [(6, 0, blade_list)],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
print('同步每日刀盘列表成功')
else:
raise ValidationError("认证未通过")
# 定时同步所有刀盘列表
def sync_cutter_pad_all(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_cutter_pad_all_list'):
for item in result['mrs_cutter_pad_all_list']:
blade_list = []
if item.get('blade'):
for i in item.get('blade'):
blade_list.append(self.env['sf.blade'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.cutter.pad'].search(
[("code", '=', item['code'])])
if not brand:
# 'code', 'name', 'cutter_pad_model_number', 'brand', 'c_diameter', 'total_length', 'material_model', 'blade_number', 'd_diameter', 'blade', 'wrench', 'screw', 'radius', 'accuracy', 'hardness', 'scope', 'image'
self.env['sf.cutter.pad'].create({
"name": item['name'],
"code": item['code'],
"cutter_pad_model_number": self.env['sf.cutter.bar.model'].search(
[("code", '=', item['cutter_pad_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
# "blade": [(6, 0, blade_list)],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
else:
brand.write({
"name": item['name'],
"code": item['code'],
"cutter_pad_model_number": self.env['sf.cutter.bar.model'].search(
[("code", '=', item['cutter_pad_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"c_diameter": item['c_diameter'],
"total_length": item['total_length'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"blade_number": item['blade_number'],
"d_diameter": item['d_diameter'],
# "blade": [(6, 0, blade_list)],
"blade": blade_list,
"wrench": item['wrench'],
"screw": item['screw'],
"radius": item['radius'],
"accuracy": item['accuracy'],
"hardness": item['hardness'],
"scope": item['scope'],
"image": item['image'],
})
print('同步所有刀盘列表成功')
else:
raise ValidationError("认证未通过")
# 同步刀盘类型列表
@@ -1929,6 +2189,163 @@ class SyncCutterPadModel(models.Model):
# 同步刀柄列表
class SyncHandle(models.Model):
_inherit = 'sf.handle'
_description = '同步刀柄列表'
url = '/api/mrs_handle/list'
# 定时同步每日刀柄列表
def sync_handle(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_handle_yesterday_list'):
for item in result['mrs_handle_yesterday_list']:
chuck_list = []
if item.get('chuck_model'):
for chuck in item.get('chuck_model'):
chuck_list.append(self.env['sf.chuck'].search(
[("code", '=', chuck)]).id)
if item:
brand = self.env['sf.handle'].search(
[("code", '=', item['code'])])
if not brand:
# code, name, handle_model_number, brand, length, length1, diameter1, weight, material_model, body_accuracy, nut, chuck_model, clamping_range, detection_accuracy, detection_hardness, standard_speed, image
self.env['sf.handle'].create({
"name": item['name'],
"code": item['code'],
"handle_model_number": self.env['sf.handle.model'].search(
[("code", '=', item['handle_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"length": item['length'],
"length1": item['length1'],
"diameter1": item['diameter1'],
"weight": item['weight'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"body_accuracy": item['body_accuracy'],
"nut": item['nut'],
# "chuck_model": [(6, 0, chuck_list)],
"chuck_model": chuck_list,
"clamping_range": item['clamping_range'],
"detection_accuracy": item['detection_accuracy'],
"detection_hardness": item['detection_hardness'],
"standard_speed": item['standard_speed'],
"image": item['image'],
})
else:
brand.write({
"name": item['name'],
"code": item['code'],
"handle_model_number": self.env['sf.handle.model'].search(
[("code", '=', item['handle_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"length": item['length'],
"length1": item['length1'],
"diameter1": item['diameter1'],
"weight": item['weight'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"body_accuracy": item['body_accuracy'],
"nut": item['nut'],
# "chuck_model": [(6, 0, chuck_list)],
"chuck_model": chuck_list,
"clamping_range": item['clamping_range'],
"detection_accuracy": item['detection_accuracy'],
"detection_hardness": item['detection_hardness'],
"standard_speed": item['standard_speed'],
"image": item['image'],
})
print('同步昨日刀柄列表成功')
else:
raise ValidationError("认证未通过")
# 同步所有刀柄列表
def sync_handle_all(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_handle_list'):
for item in result['mrs_handle_list']:
chuck_list = []
if item.get('chuck_model'):
for chuck in item.get('chuck_model'):
chuck_list.append(self.env['sf.chuck'].search(
[("code", '=', chuck)]).id)
if item:
brand = self.env['sf.handle'].search(
[("code", '=', item['code'])])
if not brand:
# code, name, handle_model_number, brand, length, length1, diameter1, weight, material_model, body_accuracy, nut, chuck_model, clamping_range, detection_accuracy, detection_hardness, standard_speed, image
self.env['sf.handle'].create({
"name": item['name'],
"code": item['code'],
"handle_model_number": self.env['sf.handle.model'].search(
[("code", '=', item['handle_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"length": item['length'],
"length1": item['length1'],
"diameter1": item['diameter1'],
"weight": item['weight'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"body_accuracy": item['body_accuracy'],
"nut": item['nut'],
# "chuck_model": [(6, 0, chuck_list)],
"chuck_model": chuck_list,
"clamping_range": item['clamping_range'],
"detection_accuracy": item['detection_accuracy'],
"detection_hardness": item['detection_hardness'],
"standard_speed": item['standard_speed'],
"image": item['image'],
})
else:
brand.write({
"name": item['name'],
"code": item['code'],
"handle_model_number": self.env['sf.handle.model'].search(
[("code", '=', item['handle_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"length": item['length'],
"length1": item['length1'],
"diameter1": item['diameter1'],
"weight": item['weight'],
"material_model": self.env['sf.material.model'].search(
[("materials_no", '=', item['material_model'])]).id,
"body_accuracy": item['body_accuracy'],
"nut": item['nut'],
# "chuck_model": [(6, 0, chuck_list)],
"chuck_model": chuck_list,
"clamping_range": item['clamping_range'],
"detection_accuracy": item['detection_accuracy'],
"detection_hardness": item['detection_hardness'],
"standard_speed": item['standard_speed'],
"image": item['image'],
})
print('同步所有刀柄列表成功')
else:
raise ValidationError("认证未通过")
# 同步刀柄类型列表
@@ -2008,6 +2425,147 @@ class SyncHandleModel(models.Model):
# 同步夹头型号列表
class SyncChuck(models.Model):
_inherit = 'sf.chuck'
_description = '同步夹头型号列表'
url = '/api/mrs_chuck/list'
# 定时同步每日夹头型号列表
def sync_chuck(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_chuck_yesterday_list'):
for item in result['mrs_chuck_yesterday_list']:
handle_model_list = []
if item.get('handle_model'):
for handle_model in item['handle_model']:
handle_model_list.append(self.env['sf.handle.model'].search(
[("code", '=', handle_model)]).id)
if item:
brand = self.env['sf.chuck'].search(
[("code", '=', item['code'])])
if not brand:
# code, name, chuck_model_number, brand, accuracy, diameter, inner_diameter, height, material_model, nut, handle_model, clamping_range, feature, image
self.env['sf.chuck'].create({
"code": item['code'],
"name": item['name'],
"chuck_model_number": self.env['sf.chuck.model'].search(
[("code", '=', item['chuck_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"accuracy": item['accuracy'],
"diameter": item['diameter'],
"inner_diameter": item['inner_diameter'],
"height": item['height'],
"material_model": self.env['sf.material.model'].search(
"materials_no", '=', item['material_model']).id,
"nut": item['nut'],
"handle_model": handle_model_list,
"clamping_range": item['clamping_range'],
"feature": item['feature'],
"image": item['image'],
})
else:
brand.write({
"code": item['code'],
"name": item['name'],
"chuck_model_number": self.env['sf.chuck.model'].search(
[("code", '=', item['chuck_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"accuracy": item['accuracy'],
"diameter": item['diameter'],
"inner_diameter": item['inner_diameter'],
"height": item['height'],
"material_model": self.env['sf.material.model'].search(
"materials_no", '=', item['material_model']).id,
"nut": item['nut'],
"handle_model": handle_model_list,
"clamping_range": item['clamping_range'],
"feature": item['feature'],
"image": item['image'],
})
print('同步每日夹头型号列表成功')
else:
raise ValidationError("认证未通过")
# 同步所有夹头型号列表
def sync_all_chuck(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print('result:%s' % result)
if result['status'] == 1:
if result.get('mrs_chuck_all_list'):
for item in result['mrs_chuck_all_list']:
handle_model_list = []
if item.get('handle_model'):
for handle_model in item['handle_model']:
handle_model_list.append(self.env['sf.handle.model'].search(
[("code", '=', handle_model)]).id)
if item:
brand = self.env['sf.chuck'].search(
[("code", '=', item['code'])])
if not brand:
# code, name, chuck_model_number, brand, accuracy, diameter, inner_diameter, height, material_model, nut, handle_model, clamping_range, feature, image
self.env['sf.chuck'].create({
"code": item['code'],
"name": item['name'],
"chuck_model_number": self.env['sf.chuck.model'].search(
[("code", '=', item['chuck_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"accuracy": item['accuracy'],
"diameter": item['diameter'],
"inner_diameter": item['inner_diameter'],
"height": item['height'],
"material_model": self.env['sf.material.model'].search(
"materials_no", '=', item['material_model']).id,
"nut": item['nut'],
"handle_model": handle_model_list,
"clamping_range": item['clamping_range'],
"feature": item['feature'],
"image": item['image'],
})
else:
brand.write({
"code": item['code'],
"name": item['name'],
"chuck_model_number": self.env['sf.chuck.model'].search(
[("code", '=', item['chuck_model_number'])]).id,
"brand": self.env['sf.brand'].search(
[("code", '=', item['brand'])]).id,
"accuracy": item['accuracy'],
"diameter": item['diameter'],
"inner_diameter": item['inner_diameter'],
"height": item['height'],
"material_model": self.env['sf.material.model'].search(
"materials_no", '=', item['material_model']).id,
"nut": item['nut'],
"handle_model": handle_model_list,
"clamping_range": item['clamping_range'],
"feature": item['feature'],
"image": item['image'],
})
print('同步所有夹头型号列表成功')
else:
raise ValidationError("认证未通过")
# 同步夹头类型列表