diff --git a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py index 68c77b127..4d6a15591 100644 --- a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py +++ b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py @@ -402,26 +402,26 @@ class HrAttendanceDetail(models.Model): 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 == '集团行政': - start_datetime = datetime.combine(current_data, datetime.min.time()) - end_datetime = datetime.combine(current_data, datetime.max.time()) - domain = [ - ('employee_id', '=', employee.id), - ('checkin_time', '>=', start_datetime), - ('checkin_time', '<=', end_datetime) - ] - attendance_records = self.search(domain) - if attendance_records: - checkin_time_list = [rec.checkin_time for rec in attendance_records if rec.checkin_time] - if checkin_time_list: - min_time = min(checkin_time_list) - max_time = max(checkin_time_list) - if min_time == max_time: - check_in_time = min_time - check_out_time = None - else: - check_in_time = min_time - check_out_time = max_time + # if not self._process_shift_days(current_data) and template.role_id.name == '集团行政': + # start_datetime = datetime.combine(current_data, datetime.min.time()) + # end_datetime = datetime.combine(current_data, datetime.max.time()) + # domain = [ + # ('employee_id', '=', employee.id), + # ('checkin_time', '>=', start_datetime), + # ('checkin_time', '<=', end_datetime) + # ] + # attendance_records = self.search(domain) + # if attendance_records: + # checkin_time_list = [rec.checkin_time for rec in attendance_records if rec.checkin_time] + # if checkin_time_list: + # min_time = min(checkin_time_list) + # max_time = max(checkin_time_list) + # if min_time == max_time: + # check_in_time = min_time + # check_out_time = None + # else: + # check_in_time = min_time + # check_out_time = max_time if attendance: attendance.write({ diff --git a/yuthon_property/models/property_bank_statements.py b/yuthon_property/models/property_bank_statements.py index 3f4bae9e2..27ac56a7f 100644 --- a/yuthon_property/models/property_bank_statements.py +++ b/yuthon_property/models/property_bank_statements.py @@ -265,13 +265,13 @@ class ReceivableModifyLine(models.Model): key=lambda l: ( 0 if l.reconciliation_date else 1, l.reconciliation_date or date.max, - l.id, + l.id if isinstance(l.id, int) else 0, ) ) cumsum = 0.0 for line in sorted_lines: - if line.id == rec.id: + if line == rec: remaining = rec.receivable_id.original_amount - cumsum rec.delivered1 = rec.receivable_id.original_amount if remaining <= 0 else remaining break