diff --git a/yuthon_salary/wizard/salary_compute_wizard.py b/yuthon_salary/wizard/salary_compute_wizard.py index cd27a4e49..01a058f6b 100644 --- a/yuthon_salary/wizard/salary_compute_wizard.py +++ b/yuthon_salary/wizard/salary_compute_wizard.py @@ -105,10 +105,19 @@ class SalaryComputeWizard(models.Model): contract_end_date = internship_id.employee_id.contract_id.end_date if contract_end_date <= start_date and contract_start_date >= end_date: if internship_id.line_ids: - target_names = ['基本工资', '职级工资', '岗位工资', '预发绩效奖金', '通讯补贴', '工龄工资'] + target_names = { + '基本工资': 'base_salary', + '职级工资': 'rank_salary', + '岗位工资': 'post_salary', + '预发绩效奖金': 'performance_bonuses', + '通讯补贴': 'commuting_allowance', + '工龄工资': 'seniority_salary' + } for line in internship_id.line_ids: if line.name in target_names: result = line.total * 0.8 + field_name = target_names[line.name] + setattr(internship_id, field_name, result) line.write({'total': result}) elif contract_end_date.year == end_date.year and contract_end_date.month == end_date.month: leave_days = self._create_leave_record(start_date, end_date) @@ -124,10 +133,19 @@ class SalaryComputeWizard(models.Model): leave_work.unlink() work_days = self._process_shift_days(work_days, contract_end_date, end_date) # 转正工作日 if internship_id.line_ids: - target_names = ['基本工资', '职级工资', '岗位工资', '预发绩效奖金', '通讯补贴', '工龄工资'] + target_names = { + '基本工资': 'base_salary', + '职级工资': 'rank_salary', + '岗位工资': 'post_salary', + '预发绩效奖金': 'performance_bonuses', + '通讯补贴': 'commuting_allowance', + '工龄工资': 'seniority_salary' + } for line in internship_id.line_ids: if line.name in target_names: result = line.total * 0.8 * internship_days / days + line.total * 0.8 * work_days / days + field_name = target_names[line.name] + setattr(internship_id, field_name, result) line.write({'total': result}) def _get_chinese_month(self, month):