From 39caa42a088b007af5c17285af3947fed7fa6efa 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: Fri, 17 Apr 2026 19:57:09 +0800 Subject: [PATCH 1/2] =?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 --- yuthon_hr_employee/models/yuthon_medical_manage.py | 10 +++++++--- yuthon_hr_employee/models/yuthon_medical_rule.py | 1 + yuthon_hr_employee/views/yuthon_medical_rule_views.xml | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/yuthon_hr_employee/models/yuthon_medical_manage.py b/yuthon_hr_employee/models/yuthon_medical_manage.py index 602afec22..f019b383c 100644 --- a/yuthon_hr_employee/models/yuthon_medical_manage.py +++ b/yuthon_hr_employee/models/yuthon_medical_manage.py @@ -117,16 +117,20 @@ class YuthonMedicalManage(models.Model): current_date = fields.Date.today() current_year = str(current_date.year) last_year = str(int(current_year) - 1) - target_companies = ['广州市天河投资集团有限公司', '广州市天投城市建设开发有限公司', - '广州天投云擎数字科技有限公司', '广州市东进物业管理有限公司'] + valid_rules = self.env['yuthon.medical.rule'].search([ + ('start_date', '<=', current_date), + '|', ('end_date', '>=', current_date), ('end_date', '=', False) + ], order='start_date desc', limit=1) + rule = valid_rules + target_companies = rule.party_ids.mapped('name') party_setting_records = self.env['yuthon.party.setting'].search([ ('party', 'in', target_companies) ]).ids open_employees = self.env['hr.employee'].search([ ('user_state', '=', 'in'), ('company_id.name', '=', '集团本部'), + ('name', '=', '杨霖'), ('contract_id.party_id', 'in', party_setting_records), - ('active', '=', True) ]) for employee in open_employees: medical_manage_rec = self.env['yuthon.medical.manage'].search([ diff --git a/yuthon_hr_employee/models/yuthon_medical_rule.py b/yuthon_hr_employee/models/yuthon_medical_rule.py index ea9a5ebb2..ae01c86c6 100644 --- a/yuthon_hr_employee/models/yuthon_medical_rule.py +++ b/yuthon_hr_employee/models/yuthon_medical_rule.py @@ -12,6 +12,7 @@ class YuthonMedicalRule(models.Model): base_amount = fields.Float(string='基数金额') starting_age = fields.Integer(string='起始年龄') department_id = fields.Many2one("hr.department", string="部门") + party_ids = fields.Many2many('yuthon.party.setting', string='甲方(用人单位)') extension_years = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 13)], string='延续年限') increase_interval_years = fields.Integer(string='递增间隔(年)') increment_amount = fields.Float(string='递增金额') diff --git a/yuthon_hr_employee/views/yuthon_medical_rule_views.xml b/yuthon_hr_employee/views/yuthon_medical_rule_views.xml index 858a9173f..57886e064 100644 --- a/yuthon_hr_employee/views/yuthon_medical_rule_views.xml +++ b/yuthon_hr_employee/views/yuthon_medical_rule_views.xml @@ -14,6 +14,7 @@ + From b985028817971ab85b9d4000f252045333d23d83 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: Fri, 17 Apr 2026 19:57:25 +0800 Subject: [PATCH 2/2] =?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 --- yuthon_hr_employee/models/yuthon_medical_manage.py | 1 - 1 file changed, 1 deletion(-) diff --git a/yuthon_hr_employee/models/yuthon_medical_manage.py b/yuthon_hr_employee/models/yuthon_medical_manage.py index f019b383c..8a34fb430 100644 --- a/yuthon_hr_employee/models/yuthon_medical_manage.py +++ b/yuthon_hr_employee/models/yuthon_medical_manage.py @@ -129,7 +129,6 @@ class YuthonMedicalManage(models.Model): open_employees = self.env['hr.employee'].search([ ('user_state', '=', 'in'), ('company_id.name', '=', '集团本部'), - ('name', '=', '杨霖'), ('contract_id.party_id', 'in', party_setting_records), ]) for employee in open_employees: