From 93c5bcebe155be73ccbad080b42662bd066e4d76 Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Wed, 14 Jun 2023 16:33:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=80=E5=85=B7=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=90=8C=E6=AD=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_base/models/tool_base.py | 87 +++++- sf_base/security/ir.model.access.csv | 1 + sf_base/views/tool_base_menu.xml | 16 ++ sf_base/views/tool_base_views.xml | 70 ++++- sf_mrs_connect/models/res_config_setting.py | 21 +- sf_mrs_connect/models/sync_common.py | 277 +++++++++++++++++--- 6 files changed, 399 insertions(+), 73 deletions(-) diff --git a/sf_base/models/tool_base.py b/sf_base/models/tool_base.py index 452b5ecf..1c8dadbb 100644 --- a/sf_base/models/tool_base.py +++ b/sf_base/models/tool_base.py @@ -17,6 +17,68 @@ class CuttingToolMaterial(models.Model): remark = fields.Char('备注') +# 测试模型 +class aa_test(models.Model): + _name = 'sf.test' + _description = '测试' + + model_number = fields.Char('型号', readonly=True) + # 关联刀具物料 + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') + # 关联整体式刀具型号 + integral_model_number = fields.Many2one('sf.integral.cutting.tool.model', '整体式刀具型号') + # 关联刀片型号 + blade_model_number = fields.Many2one('sf.blade', '刀片型号') + # 关联刀杆型号 + cutterbar_model_number = fields.Many2one('sf.cutter.bar', '刀杆型号') + # 关联刀盘型号 + cutterpad_model_number = fields.Many2one('sf.cutter.pad', '刀盘型号') + # 关联刀柄型号 + handle_model_number = fields.Many2one('sf.handle', '刀柄型号') + # 关联夹头型号 + chuck_model_number = fields.Many2one('sf.chuck', '夹头型号') + + hide_integral_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏整体式刀具型号') + hide_blade_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀片型号') + hide_cutterbar_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀杆型号') + hide_cutterpad_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀盘型号') + hide_handle_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀柄型号') + hide_chuck_model_number = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏夹头型号') + hide_model_number = fields.Boolean(compute='_compute_hide_model_number', default=True, string='隐藏型号') + + @api.depends('cutting_tool_material') + def _compute_hide_model_number(self): + for record in self: + record.hide_integral_model_number = False + record.hide_blade_model_number = False + record.hide_cutterbar_model_number = False + record.hide_cutterpad_model_number = False + record.hide_handle_model_number = False + record.hide_chuck_model_number = False + record.hide_model_number = True + + if record.cutting_tool_material and record.cutting_tool_material.name == '整体式刀具': + record.hide_model_number = False + record.hide_integral_model_number = True + elif record.cutting_tool_material and record.cutting_tool_material.name == '刀片': + record.hide_model_number = False + record.hide_blade_model_number = True + elif record.cutting_tool_material and record.cutting_tool_material.name == '刀杆': + record.hide_model_number = False + record.hide_cutterbar_model_number = True + elif record.cutting_tool_material and record.cutting_tool_material.name == '刀盘': + record.hide_model_number = False + record.hide_cutterpad_model_number = True + elif record.cutting_tool_material and record.cutting_tool_material.name == '刀柄': + record.hide_model_number = False + record.hide_handle_model_number = True + elif record.cutting_tool_material and record.cutting_tool_material.name == '夹头': + record.hide_model_number = False + record.hide_chuck_model_number = True + else: + record.hide_model_number = True + + # 功能刀具 class FunctionalCuttingTool(models.Model): _name = 'sf.functional.cutting.tool' @@ -64,7 +126,7 @@ class IntegralCuttingTool(models.Model): code = fields.Char('编码') name = fields.Char('型号名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 整体式刀具类型字段,关联整体式刀具类型对象 integral_model_number = fields.Many2one('sf.integral.cutting.tool.model', '整体式刀具类型') # 增加品牌、总长度(mm)、柄部长度(mm)、刃部长度(mm)、直径(mm)、刃数、前角(°)、后角(°)、主偏角(°)、材料型号、配对螺母(mm)、适用夹头型号、适用范围、图片、创建人、创建时间等字段 @@ -93,7 +155,7 @@ class IntegralCuttingToolModel(models.Model): code = fields.Char('编码') name = fields.Char('名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') remark = fields.Text('备注') @@ -105,7 +167,7 @@ class Blade(models.Model): code = fields.Char('编码') name = fields.Char('型号名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 刀片类型字段,关联刀片类型对象 blade_model_number = fields.Many2one('sf.blade.model', '刀片类型') # 编码、型号名称、刀片类型、品牌、长度L(mm)、宽度D(mm)、高度T(mm)、顶角(°)、前角(°)、后角(°)、主偏角(°)、R角(°)、材料型号、加工硬度、配对螺母(mm)、适用刀杆/刀盘型号、刀尖半径(mm)、图片、创建人、创建时间字段 @@ -137,7 +199,7 @@ class BladeModel(models.Model): code = fields.Char('编码') name = fields.Char('名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 刀片类型字段,关联刀片对象 blade_ids = fields.One2many('sf.blade', 'blade_model_number', '刀片类型') remark = fields.Text('备注') @@ -151,7 +213,7 @@ class CutterBar(models.Model): code = fields.Char('编码') name = fields.Char('型号名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 刀杆类型字段,关联刀杆类型对象 cutter_bar_model_number = fields.Many2one('sf.cutter.bar.model', '刀杆类型') # 品牌、C柄径(mm)、L总长(mm)、材料型号、刃数、D刃径(mm)、适用刀片型号、配对扳手(mm)、配备螺丝(mm)、刀尖圆角半径、精度等级、硬度(°)、适用范围、图片、创建人、创建时间 @@ -179,7 +241,7 @@ class CutterBarModel(models.Model): code = fields.Char('编码') name = fields.Char('名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') remark = fields.Text('备注') @@ -191,7 +253,7 @@ class CutterPad(models.Model): code = fields.Char('编码') name = fields.Char('型号名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 刀盘类型字段,关联刀盘类型对象 cutter_pad_model_number = fields.Many2one('sf.cutter.pad.model', '刀盘类型') # 增加品牌、C柄径(mm)、L总长(mm)、材料型号、刃数、D刃径(mm)、适用刀片型号、配对扳手(mm)、配备螺丝(mm)、刀尖圆角半径、精度等级、硬度(°)、适用范围、图片、创建人、创建时间 @@ -219,7 +281,7 @@ class CutterPadModel(models.Model): code = fields.Char('编码') name = fields.Char('名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') remark = fields.Text('备注') @@ -231,7 +293,7 @@ class Handle(models.Model): code = fields.Char('编码') name = fields.Char('型号名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 刀柄类型字段,关联刀柄类型对象 handle_model_number = fields.Many2one('sf.handle.model', '刀柄类型') # 增加、刀柄类型、品牌、L(mm)、L1(mm)、D1(mm)、重量(kg)、材料型号、本体精度(mm)、配对螺母(mm)、适用夹头型号、夹持范围(mm)、检测精度、检测硬度、标准转速、图片、创建人、创建时间 @@ -259,7 +321,7 @@ class HandleModel(models.Model): code = fields.Char('编码') name = fields.Char('名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') remark = fields.Text('备注') @@ -267,11 +329,12 @@ class HandleModel(models.Model): class Chuck(models.Model): _name = 'sf.chuck' _description = '夹头' + _rec_name = 'code' code = fields.Char('编码') name = fields.Char('型号名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') # 夹头类型字段,关联夹头类型对象 chuck_model_number = fields.Many2one('sf.chuck.model', '夹头类型') # 增加品牌、精度(mm)、外径(mm)、内径(mm)、高度(mm)、材料型号、配对螺母(mm)、适用刀柄型号、夹持范围(mm)、特性、图片、创建人、创建时间 @@ -296,5 +359,5 @@ class ChuckModel(models.Model): code = fields.Char('编码') name = fields.Char('名称') # 关联刀具物料 - cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True) + cutting_tool_material = fields.Many2one('sf.cutting.tool.material', '刀具物料') remark = fields.Text('备注') diff --git a/sf_base/security/ir.model.access.csv b/sf_base/security/ir.model.access.csv index f07b2fcb..c21529ff 100644 --- a/sf_base/security/ir.model.access.csv +++ b/sf_base/security/ir.model.access.csv @@ -32,6 +32,7 @@ access_sf_handle_model,sf.handle.model,model_sf_handle_model,base.group_user,1,1 access_sf_chuck,sf.chuck,model_sf_chuck,base.group_user,1,1,1,1 access_sf_chuck_model,sf.chuck.model,model_sf_chuck_model,base.group_user,1,1,1,1 access_sf_cutting_tool_material,sf.cutting.tool.material,model_sf_cutting_tool_material,base.group_user,1,1,1,1 +access_sf_test,sf.test,model_sf_test,base.group_user,1,1,1,1 access_sf_fixture_setting_element,sf_fixture_setting_element,model_sf_fixture_setting_element,base.group_user,1,1,1,1 access_sf_setting_element_type,sf_setting_element_type,model_sf_setting_element_type,base.group_user,1,1,1,1 diff --git a/sf_base/views/tool_base_menu.xml b/sf_base/views/tool_base_menu.xml index 851fbf21..71c0b6ef 100644 --- a/sf_base/views/tool_base_menu.xml +++ b/sf_base/views/tool_base_menu.xml @@ -107,7 +107,15 @@ sf.cutting.tool.material tree,form + + + 测试 + ir.actions.act_window + sf.test + tree,form + + + + diff --git a/sf_base/views/tool_base_views.xml b/sf_base/views/tool_base_views.xml index be2159ea..30816d77 100644 --- a/sf_base/views/tool_base_views.xml +++ b/sf_base/views/tool_base_views.xml @@ -145,6 +145,8 @@ + + @@ -156,12 +158,12 @@ - - - + + + @@ -209,7 +211,8 @@ - + + @@ -217,15 +220,12 @@ + - - - - @@ -262,6 +262,8 @@ + + @@ -290,7 +292,6 @@ - @@ -329,6 +330,8 @@ + + @@ -356,7 +359,6 @@ - @@ -394,6 +396,8 @@ + + @@ -419,7 +423,6 @@ - @@ -461,6 +464,8 @@ + + @@ -483,7 +488,6 @@ - @@ -734,7 +738,49 @@ + + + sf.test.tree + sf.test + + + + + + + + + sf.test.form + sf.test + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+
diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py index 535c394e..c62f5be3 100644 --- a/sf_mrs_connect/models/res_config_setting.py +++ b/sf_mrs_connect/models/res_config_setting.py @@ -55,6 +55,11 @@ class ResConfigSettings(models.TransientModel): _logger.info("定时同步每日整体式刀具类型列表...") # self.env['sf.integral.cutting.tool'].sync_integral_cutting_tool() _logger.info("同步整体式刀具类型完成") + _logger.info("同步每日刀具物料...") + self.env['sf.cutting.tool.material'].sync_cutting_tool_material() + _logger.info("同步每日刀具物料完成") + _logger.info("同步所有刀具物料...") + self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material() _logger.info("同步每日刀片类型列表...") self.env['sf.blade.model'].sync_blade_model() _logger.info("同步每日刀片类型完成") @@ -134,14 +139,14 @@ class ResConfigSettings(models.TransientModel): self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool() _logger.info("同步所有功能刀具列表完成") - self.env['sf.fixture.clamping.element'].sync_all_fixture_clamping_element() - _logger.info("同步资源库夹紧元件型号") - self.env['sf.clamping.element.type'].sync_all_clamping_element_type() - _logger.info("同步资源库夹紧元件类型") - self.env['sf.guide.element.type'].sync_all_guide_element_type() - _logger.info("同步资源库导向元件类型") - self.env['sf.guide.element.guide.mode'].sync_all_guide_element_guide_mode() - _logger.info("同步资源库导向元件导向方式") + # self.env['sf.fixture.clamping.element'].sync_all_fixture_clamping_element() + # _logger.info("同步资源库夹紧元件型号") + # self.env['sf.clamping.element.type'].sync_all_clamping_element_type() + # _logger.info("同步资源库夹紧元件类型") + # self.env['sf.guide.element.type'].sync_all_guide_element_type() + # _logger.info("同步资源库导向元件类型") + # self.env['sf.guide.element.guide.mode'].sync_all_guide_element_guide_mode() + # _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 d5377cf7..8fcbee28 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -726,7 +726,7 @@ class MachineToolType(models.Model): [('code', '=', item['machine_tool_id'])]).id else: - print(item['machine_tool_picture'].encode('utf-8')) + # print(item['machine_tool_picture'].encode('utf-8')) self.env['sf.machine_tool.type'].create({ "id": item['id'], "name": item['name'], @@ -1237,6 +1237,78 @@ class MachineToolCategory(models.Model): raise ValidationError("认证未通过") +# 同步刀具物料 +class sfSyncCutting_tool_Material(models.Model): + _inherit = 'sf.cutting.tool.material' + _description = '刀具物料同步' + + url = '/api/mrs_cutting_tool_material/list' + + # 定时同步每日刀具物料 + def sync_cutting_tool_material(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_cutting_tool_material_yesterday_list'): + for item in result['mrs_cutting_tool_material_yesterday_list']: + if item: + brand = self.env['sf.cutting.tool.material'].search( + [("code", '=', item['code'])]) + if not brand: + self.env['sf.cutting.tool.material'].create({ + "name": item['name'], + "code": item['code'], + "remark": item['remark'], + }) + else: + brand.write({ + "name": item['name'], + "code": item['code'], + "remark": item['remark'], + }) + else: + raise ValidationError("认证未通过") + + # 同步所有刀具物料 + def sync_all_cutting_tool_material(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_cutting_tool_material_all_list'): + for item in result['mrs_cutting_tool_material_all_list']: + if item: + brand = self.env['sf.cutting.tool.material'].search( + [("code", '=', item['code'])]) + if not brand: + self.env['sf.cutting.tool.material'].create({ + "name": item['name'], + "code": item['code'], + "remark": item['remark'], + }) + else: + brand.write({ + "name": item['name'], + "code": item['code'], + "remark": item['remark'], + }) + + # 同步功能刀具列表 class sfSyncFunctional_cutting_tool(models.Model): _inherit = 'sf.functional.cutting.tool' @@ -1254,7 +1326,7 @@ class sfSyncFunctional_cutting_tool(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_functional_cutting_tool_yesterday_list'): for item in result['mrs_functional_cutting_tool_yesterday_list']: @@ -1462,7 +1534,7 @@ class SyncFunctionalCuttingToolModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_functional_cutting_tool_model_yesterday_list'): for item in result['mrs_functional_cutting_tool_model_yesterday_list']: @@ -1495,7 +1567,7 @@ class SyncFunctionalCuttingToolModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_functional_cutting_tool_model_all_list'): for item in result['mrs_functional_cutting_tool_model_all_list']: @@ -1536,7 +1608,7 @@ class SyncIntegralCuttingTool(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_integral_cutting_tool_yesterday_list'): for item in result['mrs_integral_cutting_tool_yesterday_list']: @@ -1561,6 +1633,8 @@ class SyncIntegralCuttingTool(models.Model): [("code", '=', item['integral_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "total_length": item['total_length'], "shank_length": item['shank_length'], "blade_length": item['blade_length'], @@ -1584,6 +1658,8 @@ class SyncIntegralCuttingTool(models.Model): [("code", '=', item['integral_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "total_length": item['total_length'], "shank_length": item['shank_length'], "blade_length": item['blade_length'], @@ -1613,7 +1689,7 @@ class SyncIntegralCuttingTool(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_integral_cutting_tool_all_list'): for item in result['mrs_integral_cutting_tool_all_list']: @@ -1638,6 +1714,8 @@ class SyncIntegralCuttingTool(models.Model): [("code", '=', item['integral_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "total_length": item['total_length'], "shank_length": item['shank_length'], "blade_length": item['blade_length'], @@ -1661,6 +1739,8 @@ class SyncIntegralCuttingTool(models.Model): [("code", '=', item['integral_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "total_length": item['total_length'], "shank_length": item['shank_length'], "blade_length": item['blade_length'], @@ -1698,7 +1778,7 @@ class SyncIntegralCuttingToolModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_integral_cutting_tool_model_list'): for item in result['mrs_integral_cutting_tool_model_list']: @@ -1710,6 +1790,16 @@ class SyncIntegralCuttingToolModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, + }) + else: + brand.write({ + "name": item['name'], + "code": item['code'], + "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: raise ValidationError("认证未通过") @@ -1725,7 +1815,7 @@ class SyncIntegralCuttingToolModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_integral_cutting_tool_model_all_list'): for item in result['mrs_integral_cutting_tool_model_all_list']: @@ -1737,6 +1827,16 @@ class SyncIntegralCuttingToolModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, + }) + else: + brand.write({ + "name": item['name'], + "code": item['code'], + "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: raise ValidationError("认证未通过") @@ -1759,10 +1859,20 @@ class SyncBlade(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_blade_yesterday_list'): for item in result['mrs_blade_yesterday_list']: + bar_list = [] + pad_list = [] + if item.get('cutter_bar'): + for i in item.get('cutter_bar'): + bar_list.append(self.env['sf.cutter.bar'].search( + [("code", '=', i)]).id) + if item.get('cutter_pad'): + for j in item.get('cutter_pad'): + pad_list.append(self.env['sf.cutter.pad'].search( + [("code", '=', j)]).id) if item: # code, name, blade_model_number, brand, length, width, height, top_angle, front_angle, rear_angle, main_included_angle, r_angle, material_model, hardness, nut, cutter_bar, cutter_pad, radius, image, create_uid, create_date brand = self.env['sf.blade'].search( @@ -1779,6 +1889,8 @@ class SyncBlade(models.Model): [("code", '=', item['blade_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "width": item['width'], "height": item['height'], @@ -1791,8 +1903,8 @@ class SyncBlade(models.Model): [("materials_no", '=', item['material_model'])]).id, "hardness": item['hardness'], "nut": item['nut'], - "cutter_bar": item['cutter_bar'], - "cutter_pad": item['cutter_pad'], + "cutter_bar": bar_list, + "cutter_pad": pad_list, "radius": item['radius'], "image": image, }) @@ -1803,6 +1915,8 @@ class SyncBlade(models.Model): [("code", '=', item['blade_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "width": item['width'], "height": item['height'], @@ -1815,8 +1929,8 @@ class SyncBlade(models.Model): [("materials_no", '=', item['material_model'])]).id, "hardness": item['hardness'], "nut": item['nut'], - "cutter_bar": item['cutter_bar'], - "cutter_pad": item['cutter_pad'], + "cutter_bar": bar_list, + "cutter_pad": pad_list, "radius": item['radius'], "image": image, }) @@ -1838,7 +1952,16 @@ class SyncBlade(models.Model): if result['status'] == 1: if result.get('mrs_blade_all_list'): for item in result['mrs_blade_all_list']: - # print('item_image:%s' % item['image'].encode('utf-8) + bar_list = [] + pad_list = [] + if item.get('cutter_bar'): + for i in item.get('cutter_bar'): + bar_list.append(self.env['sf.cutter.bar'].search( + [("code", '=', i)]).id) + if item.get('cutter_pad'): + for j in item.get('cutter_pad'): + pad_list.append(self.env['sf.cutter.pad'].search( + [("code", '=', j)]).id) if item: brand = self.env['sf.blade'].search( @@ -1855,6 +1978,8 @@ class SyncBlade(models.Model): [("code", '=', item['blade_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "width": item['width'], "height": item['height'], @@ -1867,8 +1992,8 @@ class SyncBlade(models.Model): [("materials_no", '=', item['material_model'])]).id, "hardness": item['hardness'], "nut": item['nut'], - "cutter_bar": item['cutter_bar'], - "cutter_pad": item['cutter_pad'], + "cutter_bar": bar_list, + "cutter_pad": pad_list, "radius": item['radius'], "image": image, }) @@ -1879,6 +2004,8 @@ class SyncBlade(models.Model): [("code", '=', item['blade_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "width": item['width'], "height": item['height'], @@ -1891,8 +2018,8 @@ class SyncBlade(models.Model): [("materials_no", '=', item['material_model'])]).id, "hardness": item['hardness'], "nut": item['nut'], - "cutter_bar": item['cutter_bar'], - "cutter_pad": item['cutter_pad'], + "cutter_bar": bar_list, + "cutter_pad": pad_list, "radius": item['radius'], "image": image, }) @@ -1918,7 +2045,7 @@ class SyncBladeModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_blade_model_yesterday_list'): for item in result['mrs_blade_model_yesterday_list']: @@ -1930,12 +2057,16 @@ class SyncBladeModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步每日刀片类型列表成功') else: @@ -1952,7 +2083,7 @@ class SyncBladeModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_blade_model_all_list'): for item in result['mrs_blade_model_all_list']: @@ -1964,12 +2095,16 @@ class SyncBladeModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步刀片类型列表成功') else: @@ -1994,7 +2129,7 @@ class SyncCutterBar(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_cutter_bar_yesterday_list'): for item in result['mrs_cutter_bar_yesterday_list']: @@ -2019,6 +2154,8 @@ class SyncCutterBar(models.Model): [("code", '=', item['cutter_bar_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2042,6 +2179,8 @@ class SyncCutterBar(models.Model): [("code", '=', item['cutter_bar_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2072,7 +2211,7 @@ class SyncCutterBar(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_cutter_bar_all_list'): for item in result['mrs_cutter_bar_all_list']: @@ -2097,6 +2236,8 @@ class SyncCutterBar(models.Model): [("code", '=', item['cutter_bar_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2120,6 +2261,8 @@ class SyncCutterBar(models.Model): [("code", '=', item['cutter_bar_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2158,7 +2301,7 @@ class SyncCutterBarModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_cutter_bar_model_yesterday_list'): for item in result['mrs_cutter_bar_model_yesterday_list']: @@ -2170,18 +2313,22 @@ class SyncCutterBarModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步每日刀片类型列表成功') else: raise ValidationError("认证未通过") - # 定时同步所有刀杆类型列表 + # 同步所有刀杆类型列表 def sync_all_cutter_bar_model(self): sf_sync_config = self.env['res.config.settings'].get_values() token = sf_sync_config['token'] @@ -2192,7 +2339,7 @@ class SyncCutterBarModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_cutter_bar_model_all_list'): for item in result['mrs_cutter_bar_model_all_list']: @@ -2204,12 +2351,16 @@ class SyncCutterBarModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步刀杆类型列表成功') else: @@ -2234,7 +2385,7 @@ class SyncCutterPad(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % 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']: @@ -2259,6 +2410,8 @@ class SyncCutterPad(models.Model): [("code", '=', item['cutter_pad_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2283,6 +2436,8 @@ class SyncCutterPad(models.Model): [("code", '=', item['cutter_pad_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2314,7 +2469,7 @@ class SyncCutterPad(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % 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']: @@ -2339,6 +2494,8 @@ class SyncCutterPad(models.Model): [("code", '=', item['cutter_pad_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2363,6 +2520,8 @@ class SyncCutterPad(models.Model): [("code", '=', item['cutter_pad_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "c_diameter": item['c_diameter'], "total_length": item['total_length'], "material_model": self.env['sf.materials.model'].search( @@ -2402,7 +2561,7 @@ class SyncCutterPadModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_cutter_pad_model_yesterday_list'): for item in result['mrs_cutter_pad_model_yesterday_list']: @@ -2414,12 +2573,16 @@ class SyncCutterPadModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步每日刀盘类型列表成功') else: @@ -2436,7 +2599,7 @@ class SyncCutterPadModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_cutter_pad_model_all_list'): for item in result['mrs_cutter_pad_model_all_list']: @@ -2448,12 +2611,16 @@ class SyncCutterPadModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步刀盘类型列表成功') else: @@ -2478,7 +2645,7 @@ class SyncHandle(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_handle_yesterday_list'): for item in result['mrs_handle_yesterday_list']: @@ -2503,6 +2670,8 @@ class SyncHandle(models.Model): [("code", '=', item['handle_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "length1": item['length1'], "diameter1": item['diameter1'], @@ -2527,6 +2696,8 @@ class SyncHandle(models.Model): [("code", '=', item['handle_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "length1": item['length1'], "diameter1": item['diameter1'], @@ -2558,7 +2729,7 @@ class SyncHandle(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_handle_all_list'): for item in result['mrs_handle_all_list']: @@ -2583,6 +2754,8 @@ class SyncHandle(models.Model): [("code", '=', item['handle_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "length1": item['length1'], "diameter1": item['diameter1'], @@ -2607,6 +2780,8 @@ class SyncHandle(models.Model): [("code", '=', item['handle_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "length": item['length'], "length1": item['length1'], "diameter1": item['diameter1'], @@ -2646,7 +2821,7 @@ class SyncHandleModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_handle_model_yesterday_list'): for item in result['mrs_handle_model_yesterday_list']: @@ -2658,12 +2833,16 @@ class SyncHandleModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步每日刀柄类型列表成功') else: @@ -2680,7 +2859,7 @@ class SyncHandleModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_handle_model_all_list'): for item in result['mrs_handle_model_all_list']: @@ -2692,12 +2871,16 @@ class SyncHandleModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步刀柄类型列表成功') else: @@ -2722,7 +2905,7 @@ class SyncChuck(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_chuck_yesterday_list'): for item in result['mrs_chuck_yesterday_list']: @@ -2747,6 +2930,8 @@ class SyncChuck(models.Model): [("code", '=', item['chuck_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "accuracy": item['accuracy'], "diameter": item['diameter'], "inner_diameter": item['inner_diameter'], @@ -2767,6 +2952,8 @@ class SyncChuck(models.Model): [("code", '=', item['chuck_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "accuracy": item['accuracy'], "diameter": item['diameter'], "inner_diameter": item['inner_diameter'], @@ -2794,7 +2981,7 @@ class SyncChuck(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_chuck_all_list'): for item in result['mrs_chuck_all_list']: @@ -2819,6 +3006,8 @@ class SyncChuck(models.Model): [("code", '=', item['chuck_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "accuracy": item['accuracy'], "diameter": item['diameter'], "inner_diameter": item['inner_diameter'], @@ -2839,6 +3028,8 @@ class SyncChuck(models.Model): [("code", '=', item['chuck_model_number'])]).id, "brand": self.env['sf.machine.brand'].search( [("code", '=', item['brand'])]).id, + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, "accuracy": item['accuracy'], "diameter": item['diameter'], "inner_diameter": item['inner_diameter'], @@ -2874,7 +3065,7 @@ class SyncChuckModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_chuck_model_yesterday_list'): for item in result['mrs_chuck_model_yesterday_list']: @@ -2886,12 +3077,16 @@ class SyncChuckModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步每日夹头类型列表成功') else: @@ -2908,7 +3103,7 @@ class SyncChuckModel(models.Model): r = requests.post(strUrl, json={}, data=None, headers=headers) r = r.json() result = json.loads(r['result']) - print('result:%s' % result) + # print('result:%s' % result) if result['status'] == 1: if result.get('mrs_chuck_model_all_list'): for item in result['mrs_chuck_model_all_list']: @@ -2920,20 +3115,22 @@ class SyncChuckModel(models.Model): "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) else: brand.write({ "name": item['name'], "code": item['code'], "remark": item['remark'], + "cutting_tool_material": self.env['sf.cutting.tool.material'].search( + [("code", '=', item['cutting_tool_material'])]).id, }) print('同步夹头类型列表成功') else: raise ValidationError("认证未通过") - - '''=========================================夹紧元件类型===============================================''' @@ -3062,7 +3259,6 @@ class sfFixtureClampingElement(models.Model): # "picture": item['picture'].encode('utf-8'), "comment": item['comment'], - 'brand_id': self.env['sf.machine.brand'].search( [('code', '=', item['brand_id'])]).id, "material_type_id": self.env['sf.materials.model'].search( @@ -3265,4 +3461,3 @@ class sfGuideElementGuideMode(models.Model): }) else: raise ValidationError("认证未通过") -