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"/> +