diff --git a/sf_bf_connect/models/jd_eclp.py b/sf_bf_connect/models/jd_eclp.py index 276ac14a..b240c3a8 100644 --- a/sf_bf_connect/models/jd_eclp.py +++ b/sf_bf_connect/models/jd_eclp.py @@ -5,6 +5,7 @@ import jionlp as jio import logging from odoo.exceptions import UserError import requests +import base64 _logger = logging.getLogger(__name__) @@ -26,7 +27,9 @@ class JdEclp(models.Model): expressItemName = fields.Char(string='货物名称', required=True, default='非标工件') pickupBeginTime = fields.Char(string='期望取件时间') deliveryType = fields.Selection([('6', '特快零担'), ('25', '特快重货')], string='运输类型', default='25') - bill = fields.Char(string='快递面单') + bill = fields.Char(string='物流面单') + + # bill = fields.Many2one('ir.attachment', string='物流面单') @api.depends('origin') def _truck_info(self): @@ -92,5 +95,30 @@ class JdEclp(models.Model): 'no': self.origin, }, } - url1 = 'https://bfm.cs.jikimo.com/api/api/create/jd/bill' - requests.post(url1, json=json1, data=None) + url1 = 'https://bfm.cs.jikimo.com/api/create/jd/bill' + response = requests.post(url1, json=json1, data=None) + # _logger.info('调用成功2', response.json()) + + # _logger.info('调用成功2', response.text) + bill_url_str = response.json()['result']['jingdong_eclp_co_generateBdWayBillFile_responce']['result']['content'] + bill_url = 'http:' + bill_url_str + data = base64.b64encode(requests.get(bill_url).content) + # self.bill = bill_url + _logger.info('调用成功2') + attachment = self.env['ir.attachment'].sudo().create({ + 'datas': data, + 'type': 'binary', + 'description': '快递面单', + 'name': self.carrier_tracking_ref, + # 'res_id': invoice.id, + # 'res_model': 'stock.picking', + 'public': True, + 'mimetype': 'application/pdf', + # 'model_name': 'stock.picking', + }) + _logger.info(attachment) + # _logger.info(attachment.datas) + # _logger.info(attachment.datas_fname) + + + diff --git a/sf_bf_connect/views/view.xml b/sf_bf_connect/views/view.xml index 31bf9ffa..43d5ad3d 100644 --- a/sf_bf_connect/views/view.xml +++ b/sf_bf_connect/views/view.xml @@ -20,6 +20,7 @@ +