!12346 添加功能

Merge pull request !12346 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2026-07-07 02:12:01 +00:00
committed by Gitee
2 changed files with 22 additions and 22 deletions
@@ -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({
@@ -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