新增刀具及刀具型号联动展示相关字段并显示对应信息,不同刀具的页面布局

This commit is contained in:
jinling.yang
2023-06-14 19:22:52 +08:00
11 changed files with 1732 additions and 103 deletions

View File

@@ -2768,3 +2768,339 @@ class SyncChuckModel(models.Model):
print('同步夹头类型列表成功')
else:
raise ValidationError("认证未通过")
'''=========================================夹紧元件类型==============================================='''
class sfClampingElementType(models.Model):
_inherit = 'sf.clamping.element.type'
_description = '夹紧元件类型'
url = '/api/mrs_clamping_element_type/list'
# 定时同步每日夹紧元件类型
def sync_clamping_element_type(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'])
if result['status'] == 1:
for item in result['mrs_clamping_element_type_yesterday_list']:
if item:
brand = self.env['sf.clamping.element.type'].search(
[("code", '=', item['code'])])
if brand:
brand.name = item['name'],
brand.code = item['code'],
brand.comment = item['comment']
else:
self.env['sf.clamping.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
else:
raise ValidationError("认证未通过")
# 同步所有夹紧元件类型
def sync_all_clamping_element_type(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'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_clamping_element_type_all_list']:
if item:
brand = self.env['sf.clamping.element.type'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.clamping.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
else:
raise ValidationError("认证未通过")
'''=================================夹紧元件型号============================================='''
class sfFixtureClampingElement(models.Model):
_inherit = 'sf.fixture.clamping.element'
_description = '夹紧元件型号'
url = '/api/mrs_fixture_clamping_element/list'
# 定时同步夹紧元件型号
def sync_fixture_clamping_element(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'])
if result['status'] == 1:
for item in result['mrs_fixture_clamping_element_yesterday_list']:
brand = self.env['sf.fixture.clamping.element'].search(
[("code", '=', item['code'])])
if brand:
brand.code = item['code'],
brand.name = item['name'],
brand.length = item['length'],
brand.width = item['width'],
brand.height = item['height'],
brand.diameter = item['diameter'],
brand.hardness = item['hardness'],
brand.chucking_power = item['chucking_power'],
brand.surface_treatment = item['surface_treatment'],
brand.accuracy_grade = item['accuracy_grade'],
# brand.picture = item['picture'].encode('utf-8'),
brand.picture = base64.b64decode(item['picture']),
brand.comment = item['comment'],
brand.brand_id = self.env['sf.machine.brand'].search(
[('code', '=', item['brand_id'])]).id,
brand.material_type_id = self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_type_id'])]).id,
brand.clamping_ele_type_id = self.env['sf.clamping.element.type'].search(
[('code', '=', item['clamping_ele_type_id'])]).id
else:
self.env['sf.fixture.clamping.element'].create({
"code": item['code'],
"name": item['name'],
"length": item['length'],
"width": item['width'],
"height": item['height'],
"diameter": item['diameter'],
"hardness": item['hardness'],
"chucking_power": item['chucking_power'],
"surface_treatment": item['surface_treatment'],
"accuracy_grade": item['accuracy_grade'],
'picture': base64.b64decode(item['picture']),
# "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(
[('materials_no', '=', item['material_type_id'])]).id,
"clamping_ele_type_id": self.env['sf.clamping.element.type'].search(
[('code', '=', item['clamping_ele_type_id'])]).id,
})
else:
raise ValidationError("认证未通过")
# 同步所有夹紧元件型号
def sync_all_fixture_clamping_element(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)
if result['status'] == 1:
for item in result['mrs_fixture_clamping_element_all_list']:
brand = self.env['sf.fixture.clamping.element'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.fixture.clamping.element'].create({
"code": item['code'],
"name": item['name'],
"length": item['length'],
"width": item['width'],
"height": item['height'],
"diameter": item['diameter'],
"hardness": item['hardness'],
"chucking_power": item['chucking_power'],
"surface_treatment": item['surface_treatment'],
"accuracy_grade": item['accuracy_grade'],
# "picture": item['picture'].encode('utf-8'),
'picture': base64.b64decode(item['picture']),
"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(
[('materials_no', '=', item['material_type_id'])]).id,
"clamping_ele_type_id": self.env['sf.clamping.element.type'].search(
[('code', '=', item['clamping_ele_type_id'])]).id,
})
else:
raise ValidationError("认证未通过")
'''===================================导向元件类型=========================================='''
class sfGuideElementType(models.Model):
_inherit = 'sf.guide.element.type'
_description = '导向元件类型'
url = '/api/mrs_guide_element_type/list'
# 定时同步每日导向元件类型
def sync_guide_element_type(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'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_type_yesterday_list']:
if item:
brand = self.env['sf.guide.element.type'].search(
[("code", '=', item['code'])])
if brand:
brand.name = item['name'],
brand.code = item['code'],
brand.comment = item['comment']
else:
self.env['sf.guide.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
else:
raise ValidationError("认证未通过")
# 同步所有导向元件类型
def sync_all_guide_element_type(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'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_type_all_list']:
if item:
brand = self.env['sf.guide.element.type'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.guide.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
# guide_element_type = self.env['sf.guide.element.type'].search([('code', '=', code)])
# tags = self.env['sf.tag'].search([('name', '=', 'new_tag_name')])
# guide_element_type.write({'tag_ids': [(6, 0, tags.ids)]})
else:
raise ValidationError("认证未通过")
'''===================================导向元件导向方式=========================================='''
class sfGuideElementGuideMode(models.Model):
_inherit = 'sf.guide.element.guide.mode'
_description = '导向元件导向方式'
url = '/api/mrs_guide_element_guide_mode/list'
# 定时同步每日导向元件导向方式
def sync_guide_element_guide_mode(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'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_guide_mode_yesterday_list']:
name_id_list = []
if item.get('guide_ele_guide_mode_id'):
for i in item.get('guide_ele_guide_mode_id'):
name_id_list.append(self.env['sf.fixture.guide.element'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.guide.element.guide.mode'].search(
[("code", '=', item['code'])])
if brand:
brand.name = item['name'],
brand.code = item['code'],
brand.comment = item['comment']
brand.name_id = name_id_list
else:
self.env['sf.guide.element.guide.mode'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment'],
"name_id": name_id_list
})
else:
raise ValidationError("认证未通过")
# 同步所有导向元件导向方式
def sync_all_guide_element_guide_mode(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'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_guide_mode_all_list']:
name_id_list = []
if item.get('guide_ele_guide_mode_id'):
for i in item.get('guide_ele_guide_mode_id'):
name_id_list.append(self.env['sf.fixture.guide.element'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.guide.element.guide.mode'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.guide.element.guide.mode'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment'],
"name_id": name_id_list
})
else:
raise ValidationError("认证未通过")