From 285cede60585b51b96f6bf4f152b320211c64eca Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Sun, 27 Jul 2025 17:37:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/hr_attendance_month.py | 38 +++++++++++++++++++ .../views/hr_attendance_month_views.xml | 3 ++ 2 files changed, 41 insertions(+) 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 @@ +