From 7c7ae5f9f85774f8b5b5d991035bef0bc81ca750 Mon Sep 17 00:00:00 2001 From: gqh Date: Sat, 8 Oct 2022 17:37:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E6=99=BA=E8=83=BD=E5=B7=A5?= =?UTF-8?q?=E5=8E=82=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_mrs_sync/data/sf_cron.xml | 12 +++++ sf_mrs_sync/models/res_config_setting.py | 2 + sf_mrs_sync/models/sf_sync_common.py | 59 +++++++++++++++++++++++- 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/sf_mrs_sync/data/sf_cron.xml b/sf_mrs_sync/data/sf_cron.xml index 993e519b..80dedf7c 100644 --- a/sf_mrs_sync/data/sf_cron.xml +++ b/sf_mrs_sync/data/sf_cron.xml @@ -11,6 +11,7 @@ + 同步资源库材料型号 @@ -121,5 +122,16 @@ days -1 + + + + 同步资源库工序 + + code + model.sync_processing_order() + 1 + days + -1 + \ No newline at end of file diff --git a/sf_mrs_sync/models/res_config_setting.py b/sf_mrs_sync/models/res_config_setting.py index 4cf815e3..397a9876 100644 --- a/sf_mrs_sync/models/res_config_setting.py +++ b/sf_mrs_sync/models/res_config_setting.py @@ -26,6 +26,8 @@ class ResConfigSettings(models.TransientModel): self.env['mrs.machine_tool.type'].sync_all_machine_tool_type() self.env['mrs.cutting_tool.category'].sync_all_cutting_tool_category() self.env['mrs.cutting_tool.type'].sync_all_cutting_tool_type() + self.env['mrs.processing.order'].sync_all_processing_order() + return _logger.info("同步资源库成功") @api.model diff --git a/sf_mrs_sync/models/sf_sync_common.py b/sf_mrs_sync/models/sf_sync_common.py index 262c3a84..aff3f779 100644 --- a/sf_mrs_sync/models/sf_sync_common.py +++ b/sf_mrs_sync/models/sf_sync_common.py @@ -530,9 +530,11 @@ class MachineTool(models.Model): 'active': item.active } machine_tool_list.append(val) + # kw = machine_tool_list kw = json.dumps(machine_tool_list, ensure_ascii=False) print(type(kw)) - r = requests.post(strurl, json=kw, data=None, headers=headers) + + r = requests.post(strurl, json={}, data={'kw':kw}, headers=headers) print(r) else: raise _logger.info("没有注册机床") @@ -892,3 +894,58 @@ class CuttingToolType(models.Model): }) else: raise ValidationError("认证未通过") + + + +class MrsProcessingOrder(models.Model): + _inherit = 'mrs.processing.order' + _description = '工序' + url = '/api/processing_order/list' + + # 定时同步工序 + def sync_processing_order(self): + sf_sync_config = self.env['res.config.settings'].get_values() + token = sf_sync_config['token'] + mrs_secret_key = sf_sync_config['mrs_secret_key'] + headers = Common.get_headers(self, token, mrs_secret_key) + + strUrl = sf_sync_config['mrs_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['processing_order_yesterday_list']: + brand = self.env['mrs.processing.order'].search( + [("id", '=', item['id'])]) + if brand: + brand.id = item['id'] + brand.sequence = item['sequence'] + else: + self.env['mrs.processing.order'].create({ + "id": item['id'], + "sequence": item['sequence'], + + }) + else: + raise ValidationError("认证未通过") + + # 同步所有工序 + def sync_all_processing_order(self): + sf_sync_config = self.env['res.config.settings'].get_values() + token = sf_sync_config['token'] + mrs_secret_key = sf_sync_config['mrs_secret_key'] + headers = Common.get_headers(self, token, mrs_secret_key) + + strUrl = sf_sync_config['mrs_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['processing_order_all_list']: + self.env['mrs.processing.order'].create({ + "id": item['id'], + "sequence": item['sequence'], + }) + else: + raise ValidationError("认证未通过") +