diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py index da900e6a..a5422703 100644 --- a/sf_mrs_connect/models/res_config_setting.py +++ b/sf_mrs_connect/models/res_config_setting.py @@ -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) diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index 82560332..02a73c45 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -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("认证未通过") # 同步夹头类型列表