From 194d655304523a924114ef2bcdfd243f4aa3d6f1 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Mon, 16 Dec 2024 14:50:01 +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/hr_attendance.py | 99 ++++++++++++++++++-
.../security/ir.model.access.csv | 3 +-
.../views/card_remind_form.xml | 19 ++++
yuthon_work_brand/views/attendance_menu.xml | 5 +
5 files changed, 123 insertions(+), 4 deletions(-)
create mode 100644 yuthon_hr_attendance/views/card_remind_form.xml
diff --git a/yuthon_hr_attendance/__manifest__.py b/yuthon_hr_attendance/__manifest__.py
index cbfb80499..d3635ed8e 100644
--- a/yuthon_hr_attendance/__manifest__.py
+++ b/yuthon_hr_attendance/__manifest__.py
@@ -43,6 +43,7 @@
'views/yuthon_adjustments_approval_views.xml',
'views/yuthon_shift_approval_views.xml',
'views/plan_views.xml',
+ 'views/card_remind_form.xml',
'views/all_attendance_menu.xml',
],
diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py
index 7dfb1a25c..ce785885f 100644
--- a/yuthon_hr_attendance/models/hr_attendance.py
+++ b/yuthon_hr_attendance/models/hr_attendance.py
@@ -258,6 +258,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_white_down(self):
@@ -265,6 +270,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 保安部 - 中班
@@ -273,6 +283,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_mid_down(self):
@@ -280,6 +295,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 保安部 - 夜班
@@ -288,6 +308,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_night_down(self):
@@ -295,6 +320,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users:
if user.end_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.end_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 工程部 - 白班 白值
@@ -303,19 +333,34 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白班中午值班'])])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id,user.template_id.planning_name)
def gc_white_shift_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班中午值班')])
for user in ba_up_users:
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': datetime.now(),
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id)
def gc_white_out_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白班中午值班'])])
for user in ba_up_users:
- if user.end_datetime.date() == fields.date.today():
+ if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 工程部-中值夜
@@ -324,12 +369,22 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中值夜班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def gc_night_remind_shift(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中值夜班')])
for user in ba_up_users:
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': datetime.now(),
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id)
def gc_night_remind_out(self):
@@ -337,6 +392,11 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中值夜班')])
for user in ba_up_users:
if user.end_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.end_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 粮储-白班
@@ -345,13 +405,23 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_lc_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
- if user.end_datetime.date() == fields.date.today():
+ if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time':user.start_datetime,
+ 'shift':user.template_id.planning_name,
+ 'department': user.department_id.name,})
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 粮储-值班
@@ -360,19 +430,34 @@ class HrAttendance(models.Model):
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '值班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_lc_shift_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '值班')])
for user in ba_up_users:
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': datetime.now(),
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id)
def card_lc_shift_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '值班')])
for user in ba_up_users:
- if user.end_datetime.date() == fields.date.today():
+ if user.start_datetime.date() == fields.date.today():
+ self.env['card.remind.form'].create({
+ 'name': user.resource_id.employee_id.name,
+ 'start_time': user.start_datetime,
+ 'shift': user.template_id.planning_name,
+ 'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_in_comment(self, employee_id, planning_name):
@@ -391,3 +476,11 @@ class HrAttendance(models.Model):
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id='18562027762', message=data)
+class card_remind_form(models.Model):
+ _name = 'card.remind.form'
+ _description = '测试表单'
+
+ name = fields.Char(string='姓名')
+ start_time = fields.Datetime(string='时间')
+ shift = fields.Char(string='班次')
+ department = fields.Char(string='部门')
diff --git a/yuthon_hr_attendance/security/ir.model.access.csv b/yuthon_hr_attendance/security/ir.model.access.csv
index 4cf2e72e3..178ddeda2 100644
--- a/yuthon_hr_attendance/security/ir.model.access.csv
+++ b/yuthon_hr_attendance/security/ir.model.access.csv
@@ -30,4 +30,5 @@ access_yuthon_adjustments_approval,yuthon.adjustments.approval,model_yuthon_adju
access_yuthon_abnormal_approval,yuthon.abnormal.approval,model_yuthon_abnormal_approval,base.group_user,1,1,1,1
access_yuthon_abnormal_setting,yuthon.abnormal.setting,model_yuthon_abnormal_setting,base.group_user,1,1,1,1
access_yuthon_shift_approval,yuthon.shift.approval,model_yuthon_shift_approval,base.group_user,1,1,1,1
-access_yuthon_special_approval,yuthon.special.approval,model_yuthon_special_approval,base.group_user,1,1,1,1
\ No newline at end of file
+access_yuthon_special_approval,yuthon.special.approval,model_yuthon_special_approval,base.group_user,1,1,1,1
+access_card_remind_form,card.remind.form,model_card_remind_form,base.group_user,1,1,1,1
\ No newline at end of file
diff --git a/yuthon_hr_attendance/views/card_remind_form.xml b/yuthon_hr_attendance/views/card_remind_form.xml
new file mode 100644
index 000000000..40df1a8a8
--- /dev/null
+++ b/yuthon_hr_attendance/views/card_remind_form.xml
@@ -0,0 +1,19 @@
+
+
+ card.remind.tree
+ card.remind.form
+
+
+
+
+
+
+
+
+
+
+ Card Remind
+ card.remind.form
+ tree
+
+
\ No newline at end of file
diff --git a/yuthon_work_brand/views/attendance_menu.xml b/yuthon_work_brand/views/attendance_menu.xml
index ec4c592f8..ffcd704e5 100644
--- a/yuthon_work_brand/views/attendance_menu.xml
+++ b/yuthon_work_brand/views/attendance_menu.xml
@@ -15,6 +15,11 @@
parent="hr_attendance_root_board"
action="yuthon_hr_attendance.hr_attendance_action_is_abnormal"
sequence="2"/>
+