@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user