From 71f4087c1e1d174b02a01e1bc58cfd91117d4343 Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Thu, 3 Apr 2025 22:05:53 +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 --- soong_workflow/models/soong_user_role.py | 6 + .../views/soong_user_role_views.xml | 7 ++ yuthon_hr_attendance/models/hr_attendance.py | 21 ++++ .../hr_attendance_detail_wechat_views.xml | 2 +- .../views/hr_attendance_views.xml | 1 + .../models/yuthon_medical_manage.py | 12 ++ .../models/yuthon_medical_rule.py | 1 + yuthon_hr_employee/security/company_rule.xml | 10 ++ .../views/yuthon_hr_employee_views.xml | 3 - .../views/yuthon_medical_manage_views.xml | 6 + .../views/yuthon_medical_rule_views.xml | 1 + yuthon_hr_employee_approval/__manifest__.py | 1 + .../models/__init__.py | 3 +- .../models/property_reimbursement_form.py | 104 ++++++++++++++++++ .../security/ir.model.access.csv | 3 + .../property_reimbursement_form_views.xml | 1 - yuthon_property_approval/__manifest__.py | 1 - yuthon_property_approval/models/__init__.py | 1 - .../models/property_reimbursement_form.py | 93 +--------------- .../security/ir.model.access.csv | 3 - .../models/yuthon_payroll_type_setting.py | 1 + .../security/salary_security_rule.xml | 5 + .../yuthon_payroll_type_setting_views.xml | 1 + yuthon_work_brand/views/hr_menus.xml | 10 +- 24 files changed, 189 insertions(+), 108 deletions(-) create mode 100644 yuthon_hr_employee_approval/models/property_reimbursement_form.py rename {yuthon_property_approval => yuthon_hr_employee_approval}/views/property_reimbursement_form_views.xml (98%) diff --git a/soong_workflow/models/soong_user_role.py b/soong_workflow/models/soong_user_role.py index 6bae61132..056a12b9e 100644 --- a/soong_workflow/models/soong_user_role.py +++ b/soong_workflow/models/soong_user_role.py @@ -68,6 +68,12 @@ class YuthonUserRole(models.Model): if department_id: job.sudo().write({'department_id': department_id.id if len(department_id) == 1 else department_id[0].id}) + def f6_new(self): + role_ids = self.env["soong.user.role"].browse(self._context.get('active_ids', self._context.get('active_id'))) + for role in role_ids: + company_id = role.department_id.company_id + role.sudo().write({'company_id': company_id.id if company_id else False}) + def sync_new(self): job_ids = self.env["soong.user.role"].browse(self._context.get('active_ids', self._context.get('active_id'))) for job in job_ids: diff --git a/soong_workflow/views/soong_user_role_views.xml b/soong_workflow/views/soong_user_role_views.xml index 98653ef77..e019f21fd 100644 --- a/soong_workflow/views/soong_user_role_views.xml +++ b/soong_workflow/views/soong_user_role_views.xml @@ -7,6 +7,13 @@ code action = model.f5_new() + + 更新公司 + + + code + action = model.f6_new() + 同步花名册 diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 364891e78..ee2e8f852 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -123,6 +123,27 @@ class HrAttendance(models.Model): } } + def button_source(self): + employee_id = self.employee_id.id + current_date = self.current_data + domain = [ + ('employee_id', '=', employee_id), + ('checkin_time', '>=', fields.Datetime.to_string(datetime.combine(current_date, datetime.min.time()))), + ('checkin_time', '<', fields.Datetime.to_string(datetime.combine(current_date, datetime.max.time()))) + ] + attendance_records = self.env['hr.attendance.detail'].search(domain) + if attendance_records: + action = { + 'name': '考勤记录列表', + 'type': 'ir.actions.act_window', + 'res_model': 'hr.attendance.detail', + 'view_mode': 'tree', + 'domain': domain, + } + return action + else: + raise ValidationError("该员工当天没有考勤记录!") + def button_card_approval(self): form_id = self.env.ref('yuthon_hr_attendance.card_approval_form').id if self.is_approval: diff --git a/yuthon_hr_attendance/views/hr_attendance_detail_wechat_views.xml b/yuthon_hr_attendance/views/hr_attendance_detail_wechat_views.xml index 8486de5a4..69c95d9b7 100644 --- a/yuthon_hr_attendance/views/hr_attendance_detail_wechat_views.xml +++ b/yuthon_hr_attendance/views/hr_attendance_detail_wechat_views.xml @@ -72,7 +72,7 @@ - + \ 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 fae261570..91d737fc9 100644 --- a/yuthon_hr_attendance/views/hr_attendance_views.xml +++ b/yuthon_hr_attendance/views/hr_attendance_views.xml @@ -28,6 +28,7 @@