!11398 添加功能

Merge pull request !11398 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2026-05-09 10:14:58 +00:00
committed by Gitee
3 changed files with 16 additions and 2 deletions
@@ -140,6 +140,7 @@ class YuthonMedicalManage(models.Model):
('user_state', '=', 'in'),
('company_id.name', '=', '集团本部'),
('contract_id.party_id', 'in', party_setting_records),
('contract_type_id.name', '!=', '实习协议')
])
for employee in open_employees:
medical_manage_rec = self.env['yuthon.medical.manage'].search([
@@ -246,7 +246,7 @@ class YuthonOnboardApproval(models.Model):
})
else:
contract_type_id = self.env['hr.contract.type'].search([('name', '=', '正式合同(一签)')], limit=1)
self.env['hr.contract'].create({
new_contract = self.env['hr.contract'].create({
'wage': salary,
'job_id': self.job_id.id,
'party_id': self.party_id.id,
@@ -263,7 +263,12 @@ class YuthonOnboardApproval(models.Model):
'resource_calendar_id': resource_calendar_id.id,
'is_probation': True,
})
if new_contract.contract_type_id and new_contract.contract_type_id.name != '实习协议':
cron_job = self.env['ir.cron'].sudo().search([
('name', '=', '定时任务:体检费分配')
], limit=1)
if cron_job:
cron_job.sudo().method_direct_trigger()
vacation_date = self.duration_employment.replace(day=1)
report_id = self.env['yuthon.vacation.reports'].search([('employee_id', '=', employee_id.id), ('vacation_date', '=', vacation_date)])
if not report_id:
@@ -63,6 +63,7 @@ class YuthonRegularizationPrepareApproval(models.Model):
for rec in self:
version_str = rec.users_id.employee_ids.contract_id.version.lstrip('V')
main_version = version_str.split('.')[0]
contract_type_id = self.env['hr.contract.type'].search([('name', '=', '正式合同(一签)')], limit=1)
new_main_version = int(main_version) + 1
new_version = f"V{new_main_version}.0"
original_contract = rec.users_id.employee_ids.contract_id
@@ -71,11 +72,18 @@ class YuthonRegularizationPrepareApproval(models.Model):
new_contract_vals = {
'structure_type_id': rec.structure_type_id1.id,
'version': new_version,
'is_probation': False,
'contract_type_id': contract_type_id.id,
'state': 'open',
}
new_contract = original_contract.with_context(skip_contract_code_check=True).copy(new_contract_vals)
rec.users_id.employee_ids.write({'contract_id': new_contract.id})
employee = rec.users_id.employee_ids
cron_job = self.env['ir.cron'].sudo().search([
('name', '=', '定时任务:体检费分配')
], limit=1)
if cron_job:
cron_job.sudo().method_direct_trigger()
if rec.is_leave_year == 'yes':
end_date = rec.end_date
amount_days = rec.amount_days