From e45492869cfdd10e8831bc7790dc5f063cfc8fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Wed, 14 Jan 2026 20:01:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E7=8F=AD=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_hr_attendance/__manifest__.py | 1 + yuthon_hr_attendance/models/__init__.py | 1 + .../models/yuthon_overtime_report.py | 34 +++++++++++++++++++ .../security/ir.model.access.csv | 3 +- .../views/all_attendance_menu.xml | 12 +++++++ .../views/yuthon.overtime.report.xml | 31 +++++++++++++++++ 6 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 yuthon_hr_attendance/models/yuthon_overtime_report.py create mode 100644 yuthon_hr_attendance/views/yuthon.overtime.report.xml diff --git a/yuthon_hr_attendance/__manifest__.py b/yuthon_hr_attendance/__manifest__.py index 2701e7f91..a14650f01 100644 --- a/yuthon_hr_attendance/__manifest__.py +++ b/yuthon_hr_attendance/__manifest__.py @@ -64,6 +64,7 @@ 'views/hr_attendance_portal_templates.xml', 'views/meal_approval.xml', 'views/applet_address_views.xml', + 'views/yuthon.overtime.report.xml', 'views/all_attendance_menu.xml', 'views/overtime_approval_inherit_header.xml', diff --git a/yuthon_hr_attendance/models/__init__.py b/yuthon_hr_attendance/models/__init__.py index 70115ca77..84767ebfd 100644 --- a/yuthon_hr_attendance/models/__init__.py +++ b/yuthon_hr_attendance/models/__init__.py @@ -32,6 +32,7 @@ from . import meal_approval from . import back_approval from . import staff_dining_report from . import message_reminder_tasks +from . import yuthon_overtime_report # from odoo.tools import SQL # import odoo diff --git a/yuthon_hr_attendance/models/yuthon_overtime_report.py b/yuthon_hr_attendance/models/yuthon_overtime_report.py new file mode 100644 index 000000000..8137c7968 --- /dev/null +++ b/yuthon_hr_attendance/models/yuthon_overtime_report.py @@ -0,0 +1,34 @@ +from odoo import api, fields, models, tools, _ +from datetime import datetime, time, timedelta +from odoo.exceptions import UserError +from datetime import date, timedelta + + +class YuthonOvertimeReport(models.Model): + _name = 'yuthon.overtime.report' + _description = '加班费记录' + + employee_id = fields.Many2one('hr.employee', string="员工") + department_id = fields.Many2one('hr.department',string="部门") + overtime_date = fields.Char(string="加班时间") + carry_forward_date = fields.Date(string="结转日期") + carry_forward_duration = fields.Float(string="结转时长") + carry_forward_result = fields.Selection( + selection=[ + ('success', '成功'), + ('failed', '失败') + ], + string='结转结果', + ) + validity = fields.Char(string="有效期") + carry_forward_state = fields.Selection( + selection=[ + ('pending', '待结转'), + ('completed', '已结转'), + ('partial', '部分结转') + ], + string='结转状态', + default='pending', + ) + remaining_quantity = fields.Float(string='剩余数') + diff --git a/yuthon_hr_attendance/security/ir.model.access.csv b/yuthon_hr_attendance/security/ir.model.access.csv index 8f6eb2365..ab8aa2057 100644 --- a/yuthon_hr_attendance/security/ir.model.access.csv +++ b/yuthon_hr_attendance/security/ir.model.access.csv @@ -82,4 +82,5 @@ access_vacation_put_wizard,vacation.put.wizard,model_vacation_put_wizard,base.gr access_message_reminder_tasks,message.reminder.tasks,model_message_reminder_tasks,base.group_user,1,1,1,1 access_applet_security_quick_perm_wizard,access_applet_security_quick_perm_wizard,model_applet_security_quick_perm_wizard,base.group_user,1,1,1,1 -access_vacation_reports_wizard,vacation.reports.wizard,model_vacation_reports_wizard,base.group_user,1,1,1,1 \ No newline at end of file +access_vacation_reports_wizard,vacation.reports.wizard,model_vacation_reports_wizard,base.group_user,1,1,1,1 +access_yuthon_overtime_report,access_yuthon_overtime_report,model_yuthon_overtime_report,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/yuthon_hr_attendance/views/all_attendance_menu.xml b/yuthon_hr_attendance/views/all_attendance_menu.xml index 620d0b59c..8b9a3c509 100644 --- a/yuthon_hr_attendance/views/all_attendance_menu.xml +++ b/yuthon_hr_attendance/views/all_attendance_menu.xml @@ -222,4 +222,16 @@ parent="menu_hr_attendance_approval_request" sequence="15" action="view_back_approval_action"/> + + + + + diff --git a/yuthon_hr_attendance/views/yuthon.overtime.report.xml b/yuthon_hr_attendance/views/yuthon.overtime.report.xml new file mode 100644 index 000000000..c56c91e82 --- /dev/null +++ b/yuthon_hr_attendance/views/yuthon.overtime.report.xml @@ -0,0 +1,31 @@ + + + + yuthon.overtime.report.tree + yuthon.overtime.report + + + + + + + + + + + + + + + + + 加班费记录 + yuthon.overtime.report + tree + +

+ 暂无加班费记录 +

+
+
+
\ No newline at end of file