import json import requests import logging from odoo import fields, models, api from odoo.exceptions import ValidationError from datetime import datetime from odoo.addons.sf_base.commons.common import Common class QualityCheck(models.Model): _inherit = "quality.check" # ==========零件特采接口========== def _register_quality_check(self): config = self.env['res.config.settings'].get_values() # token = sf_sync_config['token'Ba F2CF5DCC-1A00-4234-9E95-65603F70CC8A] headers = {'Authorization': config['center_control_Authorization']} crea_url = config['center_control_url'] + "/AutoDeviceApi/PartSpecProc" origin = self.picking_id.origin production_id = self.env['mrp.production'].sudo().search([('name', '=', origin)]) rfid = '' if not production_id.workorder_ids else production_id.workorder_ids[-1].rfid_code or '' val = [rfid] # todo 需修改 val = ['0037818516'] logging.info('获取到的工单信息%s' % val) r = requests.post(crea_url, json=val, headers=headers) ret = r.json() logging.info('_register_quality_check:%s' % ret) if ret['Succeed']: return "零件特采发送成功" else: raise ValidationError("零件特采发送失败") # def do_fail(self): # self.write({ # 'quality_state': 'fail', # 'user_id': self.env.user.id, # 'control_date': datetime.now()}) # if self.picking_id and 'WH/MO/' in self.picking_id.origin: # self._register_quality_check()