Files
gzth/yuthon_hr_employee_approval/models/yuthon_intern_increment.py
T
2026-09-07 15:09:56 +08:00

46 lines
2.5 KiB
Python

# -*- coding: utf-8 -*-
# 实习生增员申请表模型
from odoo import models, fields, api
class YuthonInternIncrement(models.Model):
_name = 'yuthon.intern.increment'
_description = '实习生增员申请表'
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
code = fields.Char(string='编号',
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_intern_increment_code'))
name = fields.Char(string='标题')
users_id = fields.Many2one('res.users', string='申请人', default=lambda self: self.env.user.id)
department_id = fields.Many2one(related='users_id.employee_id.department_id', string='申请部门')
company_id = fields.Many2one(related='users_id.employee_id.company_id', string='公司')
application_date = fields.Date(string='申请日期', default=fields.Date.today)
intern_position = fields.Char(string='实习岗位')
current_staff_count = fields.Integer(string='部门现有人数')
increment_count = fields.Integer(string='拟增员人数')
planned_report_date = fields.Date(string='计划报到日期')
increment_reason = fields.Text(string='增员理由')
job_content = fields.Text(string='工作内容(主要职责)')
qualifications = fields.Text(string='任职资格(学历、专业、资质及相关要求)')
dept_manager_opinion = fields.Text(string='申请部门经理意见')
hr_opinion = fields.Text(string='综合办公室意见')
management_opinion = fields.Text(string='经营班子审批意见')
documents_ids = fields.Many2many('ir.attachment', string='附件')
work_end = fields.Boolean(string='结束')
active = fields.Boolean('Active', default=True, tracking=True)
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')],
string='紧急度', default='normal')
def _get_default_name_title(self):
return self._description if self._description else self._name
name_title = fields.Char(default=_get_default_name_title)
self_users_ids = fields.Many2many('res.users', string='当前经办人',
default=lambda self: [(6, 0, [self.env.user.id])])
def action_print_intern_increment(self):
"""打印实习生增员申请表"""
self.ensure_one()
report_ref = self.env.ref('yuthon_hr_employee_approval.action_intern_increment_report')
return report_ref.report_action(self.id)