新增同步cloud的刀具标准库接口

This commit is contained in:
jinling.yang
2023-10-13 17:29:34 +08:00
parent c04e138d6b
commit 9acdcc0429
12 changed files with 406 additions and 1762 deletions

View File

@@ -60,12 +60,11 @@ class ResConfigSettings(models.TransientModel):
_logger.info("同步夹具型号")
self.env['sf.fixture.model'].sync_all_fixture_model()
_logger.info("同步功能夹具类型")
# self.env['sf.functional.fixture'].sync_all_functional_fixture()
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
self.env['sf.machine_tool.type'].sync_all_machine_tool_type()
_logger.info("同步资源库机床型号完成")
self.env['sf.cutting_tool.standard.library'].sync_all_cutting_tool_standard_library()
_logger.info("同步刀具标准库完成")
except Exception as e:
_logger.info("捕获错误信息:%s" % e)
raise ValidationError("数据错误导致同步失败,请联系管理员")

View File

@@ -56,6 +56,8 @@ class MrStaticResourceDataSync(models.Model):
logging.info("刀具物料已每日同步成功")
self.env['sf.cutting.tool.type'].sync_tool_type_yesterday()
logging.info("刀具类型已每日同步成功")
self.env['sf.cutting_tool.standard.library'].sync_cutting_tool_standard_library_yesterday()
logging.info("刀具标准库已每日同步成功")
self.env['sf.functional.cutting.tool.model'].sync_functional_cutting_tool_model_yesterday()
logging.info("功能刀具类型已每日同步成功")
self.env['maintenance.equipment.image'].sync_maintenance_equipment_image_yesterday()
@@ -378,7 +380,6 @@ class sfProductionProcess(models.Model):
raise ValidationError("表面工艺认证未通过")
class sfProcessingTechnology(models.Model):
_inherit = 'sf.processing.technology'
_description = '加工工艺'
@@ -1708,6 +1709,7 @@ class SfMaintenanceEquipmentImage(models.Model):
else:
raise ValidationError("认证未通过")
class MaterialApply(models.Model):
_inherit = 'material.apply'
_description = '材料应用'
@@ -1726,19 +1728,17 @@ class MaterialApply(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['material_apply_yesterday_list']:
brand = self.env['material.apply'].search(
[("name", '=', item['name'])])
if brand:
brand.name = item['name'],
brand.active = item['active']
material_apply = self.search([("name", '=', item['name'])])
if material_apply:
material_apply.name = item['name']
material_apply.active = item['active']
else:
self.env['material.apply'].create({
self.create({
"name": item['name'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
raise ValidationError("材料应用认证未通过")
# 同步所有材料应用
def sync_all_material_apply(self):
@@ -1753,15 +1753,18 @@ class MaterialApply(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['material_apply_all_list']:
brand = self.env['material.apply'].search(
[("name", '=', item['name'])])
if not brand:
self.env['material.apply'].create({
material_apply = self.search([("name", '=', item['name'])])
if not material_apply:
self.create({
"name": item['name'],
"active": item['active'],
})
else:
material_apply.name = item['name']
material_apply.active = item['active']
else:
raise ValidationError("认证未通过")
raise ValidationError("材料应用认证未通过")
class ModelInternationalStandards(models.Model):
_inherit = 'sf.international.standards'
@@ -1781,19 +1784,17 @@ class ModelInternationalStandards(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['mrs_international_standards_yesterday_list']:
brand = self.env['sf.international.standards'].search(
[("name", '=', item['name'])])
if brand:
brand.name = item['name'],
brand.active = item['active']
international_standards = self.search([("name", '=', item['name'])])
if international_standards:
international_standards.name = item['name']
international_standards.active = item['active']
else:
self.env['sf.international.standards'].create({
self.create({
"name": item['name'],
"active": item['active'],
})
else:
raise ValidationError("认证未通过")
raise ValidationError("制造标准认证未通过")
# 同步所有制造标准
def sync_all_mrs_international_standards(self):
@@ -1808,12 +1809,106 @@ class ModelInternationalStandards(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['mrs_international_standards_all_list']:
brand = self.env['sf.international.standards'].search(
[("name", '=', item['name'])])
if not brand:
self.env['sf.international.standards'].create({
international_standards = self.search([("name", '=', item['name'])])
if not international_standards:
self.create({
"name": item['name'],
"active": item['active'],
})
else:
international_standards.name = item['name']
international_standards.active = item['active']
else:
raise ValidationError("制造标准认证未通过")
class Cutting_tool_standard_library(models.Model):
_inherit = 'sf.cutting_tool.standard.library'
_description = '刀具标准库'
url = '/api/cutting_tool_standard_library/list'
# 定时同步刀具标准库
def sync_cutting_tool_standard_library_yesterday(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['cutting_tool_standard_library_yesterday_list']:
cutting_tool_standard_library = self.search(
[("code", '=', item['code'])])
if cutting_tool_standard_library:
cutting_tool_standard_library.write(
{"name": item['name'],
"active": item['active']}
)
else:
self.create({
"name": item['name'],
"active": item['active'],
})
else:
raise ValidationError("能力特征库认证未通过")
raise ValidationError("刀具标准库认证未通过")
# 同步所有刀具标准库
def sync_all_cutting_tool_standard_library(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['cutting_tool_standard_library_all_list']:
cutting_tool_standard_library = self.search([("code", '=', item['code'])])
cutting_tool_type = self.env['sf.cutting.tool.type'].search(
[("code", '=', item['cutting_tool_type_code'])])
cutting_tool_material = self.env['sf.cutting.tool.material'].search(
[("code", '=', item['cutting_tool_material_code'])])
materials_model = self.env['sf.materials.model'].search(
[("code", '=', item['materials_model_code'])])
brand = self.env['sf.machine.brand'].search([("code", '=', item['brand_code'])])
if not cutting_tool_standard_library:
self.create({
"name": item['name'],
"cutting_tool_material_id": cutting_tool_material.id,
"cutting_tool_type_id": cutting_tool_type.id,
"brand_id": brand.id,
"material_model_id": materials_model.id,
"tool_hardness": item['tool_hardness'],
"coating_material": item['coating_material'],
"blade_type": item['blade_type'],
"blade_diameter": item['blade_diameter'],
"working_hardness": item['working_hardness'],
"integral_coarse_medium_fine": item['integral_coarse_medium_fine'],
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
"active": item['active'],
})
else:
cutting_tool_standard_library.write(
{"name": item['name'],
"cutting_tool_material_id": cutting_tool_material.id,
"cutting_tool_type_id": cutting_tool_type.id,
"brand_id": brand.id,
"material_model_id": materials_model.id,
"tool_hardness": item['tool_hardness'],
"coating_material": item['coating_material'],
"blade_type": item['blade_type'],
"blade_diameter": item['blade_diameter'],
"working_hardness": item['working_hardness'],
"integral_coarse_medium_fine": item['integral_coarse_medium_fine'],
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
"active": item['active'], }
)
else:
raise ValidationError("刀具标准库认证未通过")