From 69c63f708d62e4401b17be68b3f72702cf568cd3 Mon Sep 17 00:00:00 2001 From: guanhuan Date: Thu, 24 Oct 2024 17:06:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=92=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=91=98=E5=B7=A5=E6=97=B6=E6=A0=B9=E6=8D=AE=E9=82=AE=E7=AE=B1?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BC=81=E5=BE=AEid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_hr/models/hr_employee.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/sf_hr/models/hr_employee.py b/sf_hr/models/hr_employee.py index e9826f29..065288de 100644 --- a/sf_hr/models/hr_employee.py +++ b/sf_hr/models/hr_employee.py @@ -11,6 +11,38 @@ class JkmPracticeEmployee(models.Model): we_id = fields.Char(string='企微ID', index=True) + @api.model_create_multi + def create(self, vals_list): + for val in vals_list: + if 'work_email' in val: + val["we_id"] = self._get_we_id(val.get('work_email')) + if val.get('user_id'): + user = self.env['res.users'].browse(val['user_id']) + user.write({'we_employee_id': val["we_id"]}) + return super(JkmPracticeEmployee, self).create(vals_list) + + def write(self, vals): + if 'work_email' in vals: + vals["we_id"] = self._get_we_id(vals.get('work_email')) + if self.user_id: + self.user_id.write({'we_employee_id': vals["we_id"]}) + return super(JkmPracticeEmployee, self).write(vals) + + def _get_we_id(self, work_email): + json1 = { + 'params': { + 'work_email': work_email + } + } + url = '/api/get/we_id/info' + config = self.env['res.config.settings'].get_values() + ret = requests.post((config['ims_url'] + url), json=json1, data={}) + result = ret.json()['result'] + if result['code'] == 200: + if result['we_id']: + return result['we_id'] + return None + def _employee_info_sync(self): url = '/api/get/organization' config = self.env['res.config.settings'].get_values()