From 80cb99d975ee19085149515daed0b4a33286e30d Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Tue, 3 Jun 2025 15:12:37 +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, 5 insertions(+), 5 deletions(-) diff --git a/yuthon_salary/wizard/salary_compute_wizard.py b/yuthon_salary/wizard/salary_compute_wizard.py index dd3c7956b..da69e34ec 100644 --- a/yuthon_salary/wizard/salary_compute_wizard.py +++ b/yuthon_salary/wizard/salary_compute_wizard.py @@ -142,11 +142,11 @@ class SalaryComputeWizard(models.Model): result = 0 elif field_name in ['commuting_allowance', 'seniority_salary']: result = line.total * internship_days / days + line.total * work_days / days - elif field_name in ['base_salary', 'rank_salary']: - base_value = line.total - if base_value % 1 != 0: - base_value = math.ceil(base_value) - result = base_value * 0.8 * internship_days / days + base_value * 0.8 * work_days / days + elif field_name in ['rank_salary']: + result = line.total * internship_days / days + line.total * work_days / days + # 向上取整:如果结果是小数,则取大于或等于该数的最小整数 + if isinstance(result, float) and result % 1 != 0: + result = math.ceil(result) else: result = line.total * 0.8 * internship_days / days + line.total * work_days / days