From 0565e628229db9456b2c41827c0ebcb8d2d5ed8b Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Thu, 5 Jun 2025 10:24:52 +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 --- yuthon_salary/wizard/salary_compute_wizard.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/yuthon_salary/wizard/salary_compute_wizard.py b/yuthon_salary/wizard/salary_compute_wizard.py index 24025c7cc..018d8b10c 100644 --- a/yuthon_salary/wizard/salary_compute_wizard.py +++ b/yuthon_salary/wizard/salary_compute_wizard.py @@ -138,6 +138,13 @@ class SalaryComputeWizard(models.Model): '工龄工资': 'seniority_salary', '工会会费': 'union_dues', } + # 提前获取基本工资的原始值(处理前) + base_salary_original = 0 + for line in internship_id.line_ids: + if line.name == '基本工资': + base_salary_original = line.total + break + for line in internship_id.line_ids: if line.name in target_names: field_name = target_names[line.name] @@ -160,8 +167,7 @@ class SalaryComputeWizard(models.Model): else: result = rounded_value * 0.8 * internship_days / days elif field_name == 'union_dues': # 单独处理工会会费 - base_salary = getattr(internship_id, 'base_salary', 0) - result = base_salary / 0.8 * 0.05 + result = base_salary_original * 0.05 else: if work_days != days: result = line.total * 0.8 * internship_days / days + line.total * work_days / days