diff --git a/yuthon_hr_attendance/models/hr_attendance_month.py b/yuthon_hr_attendance/models/hr_attendance_month.py index 07cd074dd..68d175a62 100644 --- a/yuthon_hr_attendance/models/hr_attendance_month.py +++ b/yuthon_hr_attendance/models/hr_attendance_month.py @@ -150,6 +150,44 @@ class HrAttendanceMonthDetail(models.Model): tracking=3, default='unconfirmed') # company_area = fields.Selection(related='department_id.company_area', string='* 所属区域') + def workflow_record(self): + start_date = datetime.datetime.strptime(f"{self.current_year}-{self.current_month}-01", "%Y-%m-%d") + end_date = start_date + relativedelta(months=1) - relativedelta(days=1) + end_date = end_date.replace(hour=23, minute=59, second=59) + domain = [ + ('create_uid', '=', self.employee_id.user_id.id), + ('write_date2', '>=', start_date), + ('write_date2', '<=', end_date), + ('approvals_group_id.name', '=', '考勤'), + ('approvals_group_id.name', '=', '人力资源'), + ] + return { + 'name': '工作流记录', + 'type': 'ir.actions.act_window', + 'res_model': 'soong.workflow.record', + 'view_mode': 'tree', + 'domain': domain, + } + + def details_record(self): + start_datetime = datetime.datetime.strptime(f"{self.current_year}-{self.current_month}-01", "%Y-%m-%d") + start_date = start_datetime.date() + + end_datetime = start_datetime + relativedelta(months=1) - relativedelta(days=1) + end_date = end_datetime.date() + + domain = [ + ('employee_id', '=', self.employee_id.id), + ('current_data', '>=', start_date), + ('current_data', '<=', end_date), + ] + return { + 'name': '详情', + 'type': 'ir.actions.act_window', + 'res_model': 'hr.attendance', + 'view_mode': 'tree', + 'domain': domain, + } def send_confirm_attendance(self): for record in self: diff --git a/yuthon_hr_attendance/views/hr_attendance_month_views.xml b/yuthon_hr_attendance/views/hr_attendance_month_views.xml index 1265e69fb..748b4e295 100644 --- a/yuthon_hr_attendance/views/hr_attendance_month_views.xml +++ b/yuthon_hr_attendance/views/hr_attendance_month_views.xml @@ -105,7 +105,10 @@ +