添加功能
This commit is contained in:
@@ -14,5 +14,18 @@
|
||||
<field name="numbercall">-1</field>
|
||||
<field eval="False" name="doall"/>
|
||||
</record>
|
||||
<record forcecreate="True" id="yuthon_regularization_time_data" model="ir.cron">
|
||||
<field name="name">定时任务:自动生成转正审批</field>
|
||||
<field name="model_id" ref="model_hr_employee"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.regularization_task()</field>
|
||||
<field eval="False" name="active"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 00:00:00')"/>
|
||||
<field name="numbercall">-1</field>
|
||||
<field eval="False" name="doall"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -189,6 +189,7 @@ class YuthonHrEmployee(models.Model):
|
||||
string='薪资计算年金人员'
|
||||
)
|
||||
salary_year = fields.Integer(compute='_compute_salary_year', store=True)
|
||||
is_create = fields.Boolean(string='是否已创建转正流程审批')
|
||||
last_year_salary = fields.Float(string="年金基数")
|
||||
converted = fields.Float(string="折算实际系数")
|
||||
conversion_factor = fields.Float(string="上年有效计算")
|
||||
@@ -911,3 +912,38 @@ class YuthonHrEmployee(models.Model):
|
||||
'number_of_days': total_days,
|
||||
})
|
||||
|
||||
def regularization_task(self):
|
||||
today = fields.Date.today()
|
||||
target_date = today + timedelta(days=15)
|
||||
eligible_employees = self.search([
|
||||
('is_create', '=', False),
|
||||
('contract_id.is_probation', '=', True),
|
||||
('contract_id.end_date', '=', target_date),
|
||||
('contract_id', '!=', False)
|
||||
])
|
||||
if not eligible_employees:
|
||||
return
|
||||
|
||||
for employee in eligible_employees:
|
||||
contract_structure_type = employee.contract_id.structure_type_id
|
||||
approval_name = f"转正申请表-{employee.name}"
|
||||
self.env['yuthon.regularization.approval'].create({
|
||||
'name': approval_name,
|
||||
'users_id': employee.user_id.id,
|
||||
'create_uid': employee.user_id.id,
|
||||
'structure_type_id': contract_structure_type.id,
|
||||
'structure_type_id1': contract_structure_type.id,
|
||||
'is_adjust': False,
|
||||
})
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '转正申请表')])
|
||||
url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=yuthon.regularization.approval&view_type=list&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
|
||||
user_id=employee.wecom_userid,
|
||||
title="转正申请",
|
||||
description=f"""您好!近期即将开展您的转正流程,现就转正申请事宜温馨提醒如下,确保流程顺利推进:
|
||||
待办工作流:已为您生成「转正申请审批单」待办任务,可登录 OA 查看处理;
|
||||
提交时限:请于试用期截止前 1 周(即{employee.contract_id.end_date.year}年{employee.contract_id.end_date.month}月{employee.contract_id.end_date.day}日)完成审批单提交,逾期可能影响转正进度;
|
||||
材料准备:需同步上传《转正申请书》(可向人事部门索取,企业微信联系人事对接人)。""",
|
||||
url=url, btntxt="详细信息")
|
||||
|
||||
employee.write({'is_create': True})
|
||||
|
||||
@@ -57,16 +57,17 @@ class YuthonRegularizationPrepareApproval(models.Model):
|
||||
main_version = version_str.split('.')[0]
|
||||
new_main_version = int(main_version) + 1
|
||||
new_version = f"V{new_main_version}.0"
|
||||
original_contract = rec.employee_ids.contract_id
|
||||
original_contract = rec.users_id.employee_ids.contract_id
|
||||
original_contract.write({
|
||||
'state': 'close',
|
||||
'state': 'cancel',
|
||||
})
|
||||
new_contract_vals = {
|
||||
'structure_type_id': rec.structure_type_id1.id,
|
||||
'new_version': new_version,
|
||||
'version': new_version,
|
||||
'state': 'open',
|
||||
}
|
||||
new_contract = original_contract.with_context(skip_contract_code_check=True).copy(new_contract_vals)
|
||||
rec.employee_id.write({
|
||||
rec.users_id.employee_ids.write({
|
||||
'contract_id': new_contract.id,
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user