diff --git a/yuthon_catering/models/yuthon_catering.py b/yuthon_catering/models/yuthon_catering.py index f3c9cd727..1811a4bcf 100644 --- a/yuthon_catering/models/yuthon_catering.py +++ b/yuthon_catering/models/yuthon_catering.py @@ -184,7 +184,8 @@ class YuthonCatering(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_holiday/models/inherit_hr_leave.py b/yuthon_holiday/models/inherit_hr_leave.py index b93404517..e758125fb 100644 --- a/yuthon_holiday/models/inherit_hr_leave.py +++ b/yuthon_holiday/models/inherit_hr_leave.py @@ -972,7 +972,8 @@ class HolidaysRequestBatch(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_holiday/models/yuthon_breastfeed_leave.py b/yuthon_holiday/models/yuthon_breastfeed_leave.py index 293efe0fe..d242d34eb 100644 --- a/yuthon_holiday/models/yuthon_breastfeed_leave.py +++ b/yuthon_holiday/models/yuthon_breastfeed_leave.py @@ -105,7 +105,8 @@ class YuthonBreastfeedLeave(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_hr_attendance/controllers/applet_attendance.py b/yuthon_hr_attendance/controllers/applet_attendance.py index ed0db2a9d..dd07bedf7 100644 --- a/yuthon_hr_attendance/controllers/applet_attendance.py +++ b/yuthon_hr_attendance/controllers/applet_attendance.py @@ -819,7 +819,8 @@ class AppletAttendance(Controller): query_end = datetime(current_year, 12, 31, 23, 59, 59) - timedelta(hours=8) domain = [("calendar_id", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end)] + ("date_from", "<=", query_end), + ('resource_id', '=', False)] if start_date and end_date: # 将date对象转换为datetime对象 start_datetime = datetime.combine(start_date, datetime.min.time()) @@ -1439,7 +1440,8 @@ class AppletAttendance(Controller): calendar_leaves = request.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_set = set() shift_days_set = set() diff --git a/yuthon_hr_attendance/models/duty_adjustment_schedule.py b/yuthon_hr_attendance/models/duty_adjustment_schedule.py index f069eaef9..359221ca5 100644 --- a/yuthon_hr_attendance/models/duty_adjustment_schedule.py +++ b/yuthon_hr_attendance/models/duty_adjustment_schedule.py @@ -116,7 +116,8 @@ class DutyAdjustmentSchedule(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] # 法定日 shift_days_list = [] # 调班日(对应adjust_holidays) diff --git a/yuthon_hr_attendance/models/go_approval.py b/yuthon_hr_attendance/models/go_approval.py index 877e1b32f..1e16b8c21 100644 --- a/yuthon_hr_attendance/models/go_approval.py +++ b/yuthon_hr_attendance/models/go_approval.py @@ -405,7 +405,8 @@ class GoApprovals(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 586670a63..090203996 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -452,7 +452,8 @@ class HrAttendance(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] @@ -1184,7 +1185,8 @@ class HrAttendance(models.Model): leave_records = self.env['resource.calendar.leaves'].search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) # 检查是否为节假日 for leave in leave_records: @@ -1277,8 +1279,9 @@ class HrAttendance(models.Model): query_end = datetime(current_year, 12, 31, 23, 59, 59) - timedelta(hours=8) leave_records = self.env['resource.calendar.leaves'].search( [("calendar_id.name", "=", "行政考勤工作日"), - ("date_from", ">=", query_start), - ("date_from", "<=", query_end)]) + ("date_from", ">=", query_start), + ("date_from", "<=", query_end), + ('resource_id', '=', False),]) # 检查是否存在匹配的休假日期 for leave in leave_records: if leave.date_from and leave.date_to: diff --git a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py index 4493f70bd..68c77b127 100644 --- a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py +++ b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py @@ -388,17 +388,18 @@ class HrAttendanceDetail(models.Model): is_early_card, is_late_card, is_abnormal, is_warning, absenteeism_card, is_no_card = self.state_judgment(employee, check_in_time, check_out_time, sch_check_in_time, sch_check_out_time, current_data, is_manual, attendance) # 如果是厨卫的 只用判断范围内是否打卡了 如果打卡就不算异常 - if template.role_id.name == '厨卫(集团)': - is_early_card = False - is_late_card = False - if check_in_time and check_out_time: - is_abnormal = False - is_no_card = False - absenteeism_card = False - else: - is_abnormal = True - is_no_card = True - absenteeism_card = True + if self._process_shift_days(current_data): + if template.role_id.name == '厨卫(集团)': + is_early_card = False + is_late_card = False + if check_in_time and check_out_time: + is_abnormal = False + is_no_card = False + absenteeism_card = False + else: + is_abnormal = True + is_no_card = True + absenteeism_card = True is_expatriation = self.env['expatriation.approval'].search([('work_end', '=', True),('expatriates_ids', 'in', [employee.id]), ('is_effect', '=', False)]) if not self._process_shift_days(current_data) and template.role_id.name == '集团行政': @@ -669,7 +670,9 @@ class HrAttendanceDetail(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), + ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_hr_attendance/models/hr_attendance_month.py b/yuthon_hr_attendance/models/hr_attendance_month.py index afa543f98..ead83f36a 100644 --- a/yuthon_hr_attendance/models/hr_attendance_month.py +++ b/yuthon_hr_attendance/models/hr_attendance_month.py @@ -440,7 +440,8 @@ class HrAttendanceMonthDetail(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_hr_attendance/models/message_reminder_tasks.py b/yuthon_hr_attendance/models/message_reminder_tasks.py index 4da0b447c..326139e16 100644 --- a/yuthon_hr_attendance/models/message_reminder_tasks.py +++ b/yuthon_hr_attendance/models/message_reminder_tasks.py @@ -277,7 +277,8 @@ class MessageReminderTasks(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index ac2d8aa38..9ca615ad5 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -540,7 +540,8 @@ class OvertimeApprovals(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_set = set() shift_days_set = set() diff --git a/yuthon_hr_attendance/models/yuthon_duty_plan.py b/yuthon_hr_attendance/models/yuthon_duty_plan.py index 1edff95a6..dc6c3eb39 100644 --- a/yuthon_hr_attendance/models/yuthon_duty_plan.py +++ b/yuthon_hr_attendance/models/yuthon_duty_plan.py @@ -201,7 +201,8 @@ class YuthonDutyPlan(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_set = set() shift_days_set = set() diff --git a/yuthon_hr_attendance/models/yuthon_vacation_reports.py b/yuthon_hr_attendance/models/yuthon_vacation_reports.py index 49e833bf8..d29603786 100644 --- a/yuthon_hr_attendance/models/yuthon_vacation_reports.py +++ b/yuthon_hr_attendance/models/yuthon_vacation_reports.py @@ -1344,7 +1344,8 @@ class YuthonVacationReports(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) exclude_days = set() include_shift_days = set() @@ -1538,7 +1539,8 @@ class YuthonVacationReports(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] @@ -1574,7 +1576,8 @@ class YuthonVacationReports(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] @@ -2116,7 +2119,8 @@ class YuthonVacationReports(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] @@ -3569,7 +3573,8 @@ class VacationMedicalLine(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_hr_attendance/wizard/hr_attendance_month_wizard.py b/yuthon_hr_attendance/wizard/hr_attendance_month_wizard.py index a0c99f719..02b738122 100644 --- a/yuthon_hr_attendance/wizard/hr_attendance_month_wizard.py +++ b/yuthon_hr_attendance/wizard/hr_attendance_month_wizard.py @@ -169,7 +169,8 @@ class HrAttendanceMonthWizard(models.TransientModel): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = [] diff --git a/yuthon_salary/models/yuthon_meal_expenses.py b/yuthon_salary/models/yuthon_meal_expenses.py index 701394d55..4af952139 100644 --- a/yuthon_salary/models/yuthon_meal_expenses.py +++ b/yuthon_salary/models/yuthon_meal_expenses.py @@ -109,7 +109,8 @@ class YuthonMealExpenses(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] diff --git a/yuthon_salary/wizard/salary_compute_wizard.py b/yuthon_salary/wizard/salary_compute_wizard.py index 79f815f08..5ec4ea349 100644 --- a/yuthon_salary/wizard/salary_compute_wizard.py +++ b/yuthon_salary/wizard/salary_compute_wizard.py @@ -377,7 +377,8 @@ class SalaryComputeWizard(models.Model): calendar_leaves = self.env['resource.calendar.leaves'].sudo().search([ ("calendar_id.name", "=", "行政考勤工作日"), ("date_from", ">=", query_start), - ("date_from", "<=", query_end) + ("date_from", "<=", query_end), + ('resource_id', '=', False), ]) holidays_list = [] shift_days_list = []