新增同步mrs的表面工艺类别接口
This commit is contained in:
@@ -77,16 +77,16 @@
|
||||
<field name="doall" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- <record model="ir.cron" id="sf_cron8">-->
|
||||
<!-- <field name="name">同步注册机床</field>-->
|
||||
<!-- <field name="model_id" ref="model_mrs_machine_tool"/>-->
|
||||
<!-- <field name="state">code</field>-->
|
||||
<!-- <field name="code">model.enroll_machine_tool()</field>-->
|
||||
<!-- <field name="interval_number">1</field>-->
|
||||
<!-- <field name="interval_type">days</field>-->
|
||||
<!-- <field name="numbercall">-1</field>-->
|
||||
<!-- <field name="doall" eval="False"/>-->
|
||||
<!-- </record>-->
|
||||
<record model="ir.cron" id="sf_cron8">
|
||||
<field name="name">同步表面工艺类别</field>
|
||||
<field name="model_id" ref="model_sf_production_process_category"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.sync_production_process_category()</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.cron" id="sf_cron9">
|
||||
<field name="name">同步资源库机床型号</field>
|
||||
@@ -132,7 +132,7 @@
|
||||
<field name="doall" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.cron" id="sf_cron13">
|
||||
<record model="ir.cron" id="sf_cron13">
|
||||
<field name="name">同步表面工艺可选参数</field>
|
||||
<field name="model_id" ref="model_sf_production_process_parameter"/>
|
||||
<field name="state">code</field>
|
||||
|
||||
@@ -26,6 +26,8 @@ class ResConfigSettings(models.TransientModel):
|
||||
_logger.info("同步资源库材料型号")
|
||||
self.env['sf.production.process'].sync_all_production_process()
|
||||
_logger.info("同步资源库表面工艺")
|
||||
self.env['sf.production.process.category'].sync_all_production_process_category()
|
||||
_logger.info("同步资源库表面工艺类别")
|
||||
self.env['sf.processing.technology'].sync_all_processing_technology()
|
||||
_logger.info("同步资源库加工工艺")
|
||||
self.env['sf.machine.brand.tags'].sync_all_machine_brand_tags()
|
||||
|
||||
@@ -6,6 +6,7 @@ from odoo import models
|
||||
from odoo.exceptions import ValidationError
|
||||
import logging
|
||||
from odoo.addons.sf_base.commons.common import Common
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -162,6 +163,66 @@ class sfMaterialModel(models.Model):
|
||||
raise ValidationError("认证未通过")
|
||||
|
||||
|
||||
class sfProductionProcessCategory(models.Model):
|
||||
_inherit = 'sf.production.process.category'
|
||||
_description = '表面工艺类别'
|
||||
url = '/api/production_process_category/list'
|
||||
|
||||
# 定时同步每日表面工艺类别
|
||||
def sync_production_process_category(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['production_process_category_yesterday_list']:
|
||||
if item:
|
||||
production_process_category = self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['code'])])
|
||||
if production_process_category:
|
||||
production_process_category.name = item['name'],
|
||||
production_process_category.code = item['code'],
|
||||
production_process_category.active = item['active']
|
||||
else:
|
||||
self.env['sf.production.process.category'].create({
|
||||
"name": item['name'],
|
||||
"code": item['code'],
|
||||
"active": item['active'],
|
||||
})
|
||||
else:
|
||||
raise ValidationError("认证未通过") # 定时同步表面工艺
|
||||
|
||||
# 同步所有表面工艺类别
|
||||
def sync_all_production_process_category(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['production_process_category_all_list']:
|
||||
if item:
|
||||
category = self.env['sf.production.process.category'].search(
|
||||
[("process_encode", '=', item['process_encode'])])
|
||||
if not category:
|
||||
self.env['sf.production.process.category'].create({
|
||||
"name": item['name'],
|
||||
"code": item['code'],
|
||||
"active": item['active'],
|
||||
})
|
||||
else:
|
||||
raise ValidationError("认证未通过")
|
||||
|
||||
|
||||
class sfProductionProcess(models.Model):
|
||||
_inherit = 'sf.production.process'
|
||||
_description = '表面工艺'
|
||||
@@ -184,21 +245,21 @@ class sfProductionProcess(models.Model):
|
||||
brand = self.env['sf.production.process'].search(
|
||||
[("process_encode", '=', item['process_encode'])])
|
||||
if brand:
|
||||
brand.id = item['id'],
|
||||
brand.name = item['name'],
|
||||
brand.category_id = self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])]).id,
|
||||
brand.process_encode = item['process_encode'],
|
||||
brand.remark = item['remark'],
|
||||
brand.active = item['active'],
|
||||
brand.remark = item['remark']
|
||||
else:
|
||||
self.env['sf.production.process'].create({
|
||||
"id": item['id'],
|
||||
"name": item['name'],
|
||||
"category_id": self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])]).id,
|
||||
"process_encode": item['process_encode'],
|
||||
"remark": item['remark'],
|
||||
"active": item['active'],
|
||||
# "tag_ids": item['tag_ids']
|
||||
|
||||
})
|
||||
else:
|
||||
raise ValidationError("认证未通过") # 定时同步表面工艺
|
||||
@@ -221,8 +282,9 @@ class sfProductionProcess(models.Model):
|
||||
[("process_encode", '=', item['process_encode'])])
|
||||
if not brand:
|
||||
self.env['sf.production.process'].create({
|
||||
"id": item['id'],
|
||||
"name": item['name'],
|
||||
"category_id": self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])]).id,
|
||||
"process_encode": item['process_encode'],
|
||||
"remark": item['remark'],
|
||||
"active": item['active'],
|
||||
@@ -949,6 +1011,7 @@ class sfProcessingOrder(models.Model):
|
||||
else:
|
||||
raise ValidationError("认证未通过")
|
||||
|
||||
|
||||
class sfProductionProcessParameter(models.Model):
|
||||
_inherit = 'sf.production.process.parameter'
|
||||
_description = '表面工艺可选参数'
|
||||
@@ -980,7 +1043,7 @@ class sfProductionProcessParameter(models.Model):
|
||||
"name": item['name'],
|
||||
"code": item['code'],
|
||||
"active": item['active'],
|
||||
"price" : item['price'],
|
||||
"price": item['price'],
|
||||
"process_id": self.env['sf.production.process'].search(
|
||||
[('process_encode', '=', item['process_id_code'])]).id,
|
||||
'materials_model_ids': self.env['sf.materials.model'].search(
|
||||
@@ -1019,4 +1082,4 @@ class sfProductionProcessParameter(models.Model):
|
||||
|
||||
})
|
||||
else:
|
||||
raise ValidationError("认证未通过")
|
||||
raise ValidationError("认证未通过")
|
||||
|
||||
Reference in New Issue
Block a user