From fa45843606ccf2a205b0eae6dbb2f74232a8e62f Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Mon, 25 Nov 2024 18:13:02 +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
---
yuthon_hr_attendance/__manifest__.py | 1 +
yuthon_hr_attendance/models/__init__.py | 1 +
yuthon_hr_attendance/models/hr_attendance.py | 23 ++++++++
.../models/yuthon_abnormal_approval.py | 38 ++++++++++++++
.../models/yuthon_duty_arrangement.py | 17 +++++-
.../security/ir.model.access.csv | 3 +-
.../views/hr_attendance_views.xml | 2 +
.../views/yuthon_abnormal_approval_views.xml | 49 ++++++++++++++++++
.../views/yuthon_duty_arrangement_views.xml | 1 +
.../static/others/user_template.xlsx | Bin 20102 -> 12829 bytes
10 files changed, 132 insertions(+), 3 deletions(-)
create mode 100644 yuthon_hr_attendance/models/yuthon_abnormal_approval.py
create mode 100644 yuthon_hr_attendance/views/yuthon_abnormal_approval_views.xml
diff --git a/yuthon_hr_attendance/__manifest__.py b/yuthon_hr_attendance/__manifest__.py
index 22ef53c19..9e13897a3 100644
--- a/yuthon_hr_attendance/__manifest__.py
+++ b/yuthon_hr_attendance/__manifest__.py
@@ -27,6 +27,7 @@
'views/yuthon_duty_arrangement_views.xml',
'views/yuthon_duty_summary_views.xml',
'views/yuthon_duty_setting_views.xml',
+ 'views/yuthon_abnormal_approval_views.xml',
# 'views/attendance_iot_datas.xml',
# 'views/attendance_iot_manager_views.xml',
# 'views/attendance_iot_views.xml',
diff --git a/yuthon_hr_attendance/models/__init__.py b/yuthon_hr_attendance/models/__init__.py
index 45b787a5c..7d3fb78cc 100644
--- a/yuthon_hr_attendance/models/__init__.py
+++ b/yuthon_hr_attendance/models/__init__.py
@@ -26,5 +26,6 @@ from . import yuthon_duty_summary
from . import yuthon_adjustments_approval
from . import yuthon_duty_arrangement
from . import yuthon_duty_setting
+from . import yuthon_abnormal_approval
diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py
index 93588fe65..ac73e3fba 100644
--- a/yuthon_hr_attendance/models/hr_attendance.py
+++ b/yuthon_hr_attendance/models/hr_attendance.py
@@ -41,3 +41,26 @@ class HrAttendance(models.Model):
for record in self:
record.is_abnormal = record.is_no_card or record.is_early_card or record.is_late_card
+ def button_leave(self):
+ form_id = self.env.ref('yuthon_holiday.view_hr_leave_batch_form').id
+ return {
+ "type": "ir.actions.act_window",
+ "name": "请假申请",
+ "res_model": "hr.leave.batch",
+ "views": [[form_id, "form"]],
+ "context": {
+ 'default_leave_id': self.employee_id.user_id.id,
+ }
+ }
+
+ def button_compensatory_leave(self):
+ form_id = self.env.ref('yuthon_hr_attendance.view_yuthon_adjustments_approval_form').id
+ return {
+ "type": "ir.actions.act_window",
+ "name": "调休申请",
+ "res_model": "yuthon.adjustments.approval",
+ "views": [[form_id, "form"]],
+ "context": {
+ 'default_users_id': self.employee_id.user_id.id,
+ }
+ }
\ No newline at end of file
diff --git a/yuthon_hr_attendance/models/yuthon_abnormal_approval.py b/yuthon_hr_attendance/models/yuthon_abnormal_approval.py
new file mode 100644
index 000000000..26e21f588
--- /dev/null
+++ b/yuthon_hr_attendance/models/yuthon_abnormal_approval.py
@@ -0,0 +1,38 @@
+from odoo import api, fields, models, tools, _
+from datetime import datetime, time, timedelta
+from odoo.exceptions import UserError
+
+
+class YuthonAbnormalApproval(models.Model):
+ _name = 'yuthon.abnormal.approval'
+ _inherit = ['soong.workflow.mixin']
+ _description = '值班异常审批'
+ _rec_name = 'name'
+
+ yuthon_company = fields.Selection(related='users_id.employee_id.yuthon_company', string="公司")
+ name = fields.Char(string="标题")
+ code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('adjustments_approval'))
+ 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="部门")
+ is_issues = fields.Boolean(string='是否上会')
+ related_issues_id = fields.Many2one('issue.library', string="关联议题")
+ reason_application = fields.Html(string="申请事由")
+ documents_ids = fields.Many2many('ir.attachment', string="附件")
+ active = fields.Boolean('Active', default=True, tracking=True)
+
+ @api.onchange('is_issues')
+ def _onchange_is_issues(self):
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
\ No newline at end of file
diff --git a/yuthon_hr_attendance/models/yuthon_duty_arrangement.py b/yuthon_hr_attendance/models/yuthon_duty_arrangement.py
index 503310edc..5a4f74212 100644
--- a/yuthon_hr_attendance/models/yuthon_duty_arrangement.py
+++ b/yuthon_hr_attendance/models/yuthon_duty_arrangement.py
@@ -51,5 +51,18 @@ class YuthonDutyArrangement(models.Model):
}
}
- def duty_arrangement_time(self):
- pass
\ No newline at end of file
+ def button_abnormal(self):
+ for record in self:
+ if record.is_abnormal:
+ form_id = self.env.ref("yuthon_hr_attendance.view_yuthon_abnormal_approval_form").id
+ return {
+ 'type': 'ir.actions.act_window',
+ 'name': '异常申请',
+ 'res_model': 'yuthon.abnormal.approval',
+ "views": [[form_id, "form"]],
+ "context": {
+ 'default_users_id':self.employee_id.user_id.id,
+ }
+ }
+ else:
+ raise UserError('当前日期无异常')
diff --git a/yuthon_hr_attendance/security/ir.model.access.csv b/yuthon_hr_attendance/security/ir.model.access.csv
index 9f5273462..dd1eb8c01 100644
--- a/yuthon_hr_attendance/security/ir.model.access.csv
+++ b/yuthon_hr_attendance/security/ir.model.access.csv
@@ -15,4 +15,5 @@ access_yuthon_adjustments_approval,yuthon.adjustments.approval,model_yuthon_adju
access_yuthon_duty_arrangement,yuthon.duty.arrangement,model_yuthon_duty_arrangement,base.group_user,1,1,1,1
access_yuthon_duty_setting,yuthon.duty.setting,model_yuthon_duty_setting,base.group_user,1,1,1,1
access_yuthon_duty_arrangement_wizard,yuthon.duty.arrangement.wizard,model_yuthon_duty_arrangement_wizard,base.group_user,1,1,1,1
-access_yuthon_duty_summary_wizard,yuthon.duty.summary.wizard,model_yuthon_duty_summary_wizard,base.group_user,1,1,1,1
\ No newline at end of file
+access_yuthon_duty_summary_wizard,yuthon.duty.summary.wizard,model_yuthon_duty_summary_wizard,base.group_user,1,1,1,1
+access_yuthon_abnormal_approval,yuthon.abnormal.approval,model_yuthon_abnormal_approval,base.group_user,1,1,1,1
\ No newline at end of file
diff --git a/yuthon_hr_attendance/views/hr_attendance_views.xml b/yuthon_hr_attendance/views/hr_attendance_views.xml
index 5fae7bf2b..80f076674 100644
--- a/yuthon_hr_attendance/views/hr_attendance_views.xml
+++ b/yuthon_hr_attendance/views/hr_attendance_views.xml
@@ -19,6 +19,8 @@
+
+
diff --git a/yuthon_hr_attendance/views/yuthon_abnormal_approval_views.xml b/yuthon_hr_attendance/views/yuthon_abnormal_approval_views.xml
new file mode 100644
index 000000000..a3e02ad46
--- /dev/null
+++ b/yuthon_hr_attendance/views/yuthon_abnormal_approval_views.xml
@@ -0,0 +1,49 @@
+
+
+
+ yuthon.abnormal.approval.tree
+ yuthon.abnormal.approval
+
+
+
+
+
+
+
+
+
+
+ yuthon.abnormal.approval.form
+ yuthon.abnormal.approval
+
+
+
+
+
+ 异常审批
+ yuthon.abnormal.approval
+ tree,form
+
+
\ No newline at end of file
diff --git a/yuthon_hr_attendance/views/yuthon_duty_arrangement_views.xml b/yuthon_hr_attendance/views/yuthon_duty_arrangement_views.xml
index 95e27a24b..97fb68d6b 100644
--- a/yuthon_hr_attendance/views/yuthon_duty_arrangement_views.xml
+++ b/yuthon_hr_attendance/views/yuthon_duty_arrangement_views.xml
@@ -14,6 +14,7 @@
+
diff --git a/yuthon_hr_employee/static/others/user_template.xlsx b/yuthon_hr_employee/static/others/user_template.xlsx
index 31abb9116cea0b86fb978cc2f6c4788cbc30c056..2c4f3b209814ae6ffda1f8ed13d9956ca28e2cdf 100644
GIT binary patch
delta 8793
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
delta 16114
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