diff --git a/yuthon_hr_attendance/models/hr_attendance_month.py b/yuthon_hr_attendance/models/hr_attendance_month.py index b0c354a72..3beba21c9 100644 --- a/yuthon_hr_attendance/models/hr_attendance_month.py +++ b/yuthon_hr_attendance/models/hr_attendance_month.py @@ -25,6 +25,7 @@ class HrAttendanceMonth(models.Model): name = fields.Char(compute='_compute_name') attendance_year_id = fields.Many2one('hr.attendance.year', string="统计年份") + company_id = fields.Many2one('res.company', string="公司", default=lambda self: self.env.user.company_id) current_year = fields.Char(string='统计年份', related="attendance_year_id.year") current_month = fields.Selection([ ('1', '1月份'), @@ -43,6 +44,12 @@ class HrAttendanceMonth(models.Model): is_statistics = fields.Boolean(string="是否已统计", store=True, default=False) statistics_time = fields.Datetime(string="统计时间") attendance_month_detail_ids = fields.One2many(string="出勤月度汇总明细", comodel_name='hr.attendance.month.detail', inverse_name='hr_attendance_month_id') + is_state = fields.Boolean(string='是否已全部确认', compute='_compute_is_state', store=True) + + @api.depends('attendance_month_detail_ids.state') + def _compute_is_state(self): + for record in self: + record.is_state = all(detail.state == 'confirmed' for detail in record.attendance_month_detail_ids) def _compute_name(self): for record in self: @@ -75,7 +82,6 @@ class HrAttendanceMonthDetail(models.Model): employee_id = fields.Many2one('hr.employee', string="员工", readonly=True) department_id = fields.Many2one('hr.department', string="部门", related="employee_id.department_id", readonly=True) # userid = fields.Char(string='userid') - attendance_year_id = fields.Many2one('hr.attendance.year', string="统计年份") current_year = fields.Char(string='统计年份', related="attendance_year_id.year") current_month = fields.Selection([ diff --git a/yuthon_hr_attendance/security/planning_group.xml b/yuthon_hr_attendance/security/planning_group.xml index 3513e086a..c8dfc398e 100644 --- a/yuthon_hr_attendance/security/planning_group.xml +++ b/yuthon_hr_attendance/security/planning_group.xml @@ -102,6 +102,10 @@ (4, ref('group_he_attendance_security_manager'))]"/> - + + 出勤统计多公司 + + [('company_id', 'in', company_ids)] + diff --git a/yuthon_hr_attendance/views/hr_attendance_month_views.xml b/yuthon_hr_attendance/views/hr_attendance_month_views.xml index 9c17ec965..737f43e06 100644 --- a/yuthon_hr_attendance/views/hr_attendance_month_views.xml +++ b/yuthon_hr_attendance/views/hr_attendance_month_views.xml @@ -25,6 +25,8 @@ + +