From 8ea13d327ecfd84737637dbe6b8f89757f277dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Mon, 20 Apr 2026 11:31:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/yuthon_medical_manage.py | 25 +++---------------- .../views/yuthon_medical_manage_views.xml | 5 ++-- 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/yuthon_hr_employee/models/yuthon_medical_manage.py b/yuthon_hr_employee/models/yuthon_medical_manage.py index 85bc8e379..c1b06ffed 100644 --- a/yuthon_hr_employee/models/yuthon_medical_manage.py +++ b/yuthon_hr_employee/models/yuthon_medical_manage.py @@ -22,7 +22,6 @@ class YuthonMedicalManage(models.Model): prev_last_year_balance = fields.Float(string="前年结余") this_year_usage = fields.Float(string='本年使用', compute="_compute_this_year_usage") this_year_quota = fields.Float(string='本年额度') - identification_id = fields.Char(related='employee_id.identification_id', string="身份证") birthday = fields.Date(related='employee_id.birthday', string="出生年月") marital_status = fields.Selection([('married', '已婚'), ('unmarried', '未婚')], related='employee_id.marital', string='婚姻状况') @@ -189,43 +188,27 @@ class YuthonMedicalManage(models.Model): current_year = str(medical_record.year) last_year = str(int(current_year) - 1) for employee in medical_record.employee_id: - medical_manage_rec = self.env['yuthon.medical.manage'].search([ - ('employee_id', '=', employee.id), - ('year', '=', current_year) - ], limit=1) - if not medical_manage_rec: - medical_manage_rec = self.env['yuthon.medical.manage'].create({ - 'employee_id': employee.id, - 'year': current_year, - 'this_year_usage': 0.0, - }) - else: - continue this_year_quota = self._calculate_medical_quota(employee, current_year) - if not this_year_quota: - medical_manage_rec.unlink() - continue - medical_manage_rec.write({'this_year_quota': this_year_quota, + medical_record.write({'this_year_quota': this_year_quota, }) - medical_manage_rec.remainder_the_year = medical_manage_rec.this_year_quota + medical_manage_rec.last_year_balance - medical_manage_rec.this_year_usage + medical_record.remainder_the_year = medical_record.this_year_quota + medical_record.last_year_balance - medical_record.this_year_usage # 回填上年数据 last_year_rec = self.env['yuthon.medical.manage'].search([ ('employee_id', '=', employee.id), ('year', '=', last_year) ], limit=1) if last_year_rec: - medical_manage_rec.write({ + medical_record.write({ 'last_year_quota': last_year_rec.this_year_quota, 'last_year_remaining': last_year_rec.current_year_remaining, 'last_year_balance': min(last_year_rec.this_year_quota * 2, last_year_rec.current_year_remaining), }) - # 回填前年数据 prev_last_year_vals = { 'prev_last_year_balance': min(last_year_rec.last_year_quota * 2, last_year_rec.last_year_remaining), 'prev_last_year_remaining': last_year_rec.last_year_remaining, } - medical_manage_rec.write(prev_last_year_vals) + medical_record.write(prev_last_year_vals) diff --git a/yuthon_hr_employee/views/yuthon_medical_manage_views.xml b/yuthon_hr_employee/views/yuthon_medical_manage_views.xml index 44ed9cbd8..6b4028506 100644 --- a/yuthon_hr_employee/views/yuthon_medical_manage_views.xml +++ b/yuthon_hr_employee/views/yuthon_medical_manage_views.xml @@ -8,11 +8,10 @@
- @@ -24,9 +23,9 @@ - +