@@ -92,40 +92,43 @@ class SalaryComputeWizard(models.Model):
|
||||
'state': 'draft',
|
||||
})
|
||||
payslip.compute_sheet()
|
||||
internship_id = self.env['hr.payslip'].search([
|
||||
internship_ids = self.env['hr.payslip'].search([
|
||||
('employee_id.contract_id.is_probation', '=', True),
|
||||
])
|
||||
if internship_id:
|
||||
start_date = internship_id.date_from
|
||||
end_date = internship_id.date_to
|
||||
contract_start_date = internship_id.employee_id.contract_id.start_date
|
||||
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 = ['基本工资', '职级工资', '岗位工资', '预发绩效奖金', '通讯补贴', '工龄工资']
|
||||
for line in internship_id.line_ids:
|
||||
if line.name in target_names:
|
||||
result = line.total * 0.8
|
||||
line.total.write(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)
|
||||
days = leave_days.number_of_days
|
||||
days.unlink()
|
||||
days = self._process_shift_days(days, start_date, end_date) # 总工作日
|
||||
leave_internship = self._create_leave_record(start_date, contract_end_date)
|
||||
leave_internship.unlink()
|
||||
internship_days = leave_internship.number_of_days
|
||||
internship_days = self._process_shift_days(internship_days, start_date, contract_end_date) # 实习期工作日
|
||||
leave_work = self._create_leave_record(contract_end_date, end_date)
|
||||
leave_work.unlink()
|
||||
work_days = leave_work.number_of_days
|
||||
work_days = self._process_shift_days(work_days, contract_end_date, end_date) # 转正工作日
|
||||
if internship_id.line_ids:
|
||||
target_names = ['基本工资', '职级工资', '岗位工资', '预发绩效奖金', '通讯补贴', '工龄工资']
|
||||
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
|
||||
line.total.write(result)
|
||||
('date_from', '<=', end_date),
|
||||
('date_to', '>=', start_date)
|
||||
])
|
||||
if internship_ids:
|
||||
for internship_id in internship_ids:
|
||||
start_date = internship_id.date_from
|
||||
end_date = internship_id.date_to
|
||||
contract_start_date = internship_id.employee_id.contract_id.start_date
|
||||
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 = ['基本工资', '职级工资', '岗位工资', '预发绩效奖金', '通讯补贴', '工龄工资']
|
||||
for line in internship_id.line_ids:
|
||||
if line.name in target_names:
|
||||
result = line.total * 0.8
|
||||
line.total.write(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)
|
||||
days = leave_days.number_of_days
|
||||
days.unlink()
|
||||
days = self._process_shift_days(days, start_date, end_date) # 总工作日
|
||||
leave_internship = self._create_leave_record(start_date, contract_end_date)
|
||||
leave_internship.unlink()
|
||||
internship_days = leave_internship.number_of_days
|
||||
internship_days = self._process_shift_days(internship_days, start_date, contract_end_date) # 实习期工作日
|
||||
leave_work = self._create_leave_record(contract_end_date, end_date)
|
||||
leave_work.unlink()
|
||||
work_days = leave_work.number_of_days
|
||||
work_days = self._process_shift_days(work_days, contract_end_date, end_date) # 转正工作日
|
||||
if internship_id.line_ids:
|
||||
target_names = ['基本工资', '职级工资', '岗位工资', '预发绩效奖金', '通讯补贴', '工龄工资']
|
||||
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
|
||||
line.total.write(result)
|
||||
|
||||
def _get_chinese_month(self, month):
|
||||
chinese_months = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
|
||||
|
||||
Reference in New Issue
Block a user