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