添加功能

This commit is contained in:
zhou
2025-07-21 16:11:54 +08:00
parent 94c1cf3928
commit 11e2a37c09
+6 -15
View File
@@ -213,25 +213,16 @@ class SalaryComputeWizard(models.Model):
field_name = target_names[line.name]
if field_name == 'performance_bonuses':
if work_days != days:
result = line.total * work_days / days
result = round(line.total * work_days / days)
else:
result = 0
elif field_name in ['commuting_allowance', 'seniority_salary']:
if work_days != days:
result = line.total * internship_days / days + line.total * work_days / days
else:
result = line.total * internship_days / days
result = line.total * internship_days / days
elif field_name in ['rank_salary', 'base_salary']:
int_value = int(line.total)
ones_digit = int_value % 10
if ones_digit != 0:
rounded_value = int_value + (10 - ones_digit)
else:
rounded_value = int_value
if work_days != days:
result = rounded_value * 0.8 * internship_days / days + rounded_value * work_days / days
result = round(math.ceil(line.total * 0.8) * internship_days / days + line.total * work_days / days)
else:
result = rounded_value * 0.8 * internship_days / days
result = line.total * 0.8 * internship_days / days
elif field_name == 'union_dues': # 单独处理工会会费
base_salary = getattr(internship_id, 'base_salary', 0)
result = base_salary * 0.005
@@ -255,9 +246,9 @@ class SalaryComputeWizard(models.Model):
result = 0
else:
if work_days != days:
result = line.total * 0.8 * internship_days / days + line.total * work_days / days
result = (math.ceil(line.total * 0.8)) * internship_days / days + line.total * work_days / days
else:
result = line.total * 0.8 * internship_days / days
result = (math.ceil(line.total * 0.8)) * internship_days / days
setattr(internship_id, field_name, result)
line.write({'total': result})