@@ -322,40 +322,41 @@ class HrAttendanceDetail(models.Model):
|
||||
"shift_id": planning_slot_id.id,
|
||||
"attendance_type": "wx_work"
|
||||
})
|
||||
if checkin_time and checkin_type == "上班打卡" and not attendance_obj.check_in:
|
||||
attendance_obj.sudo().write({
|
||||
"check_in": checkin_time,
|
||||
"is_late_card": checkin_time > planning_slot_id.start_datetime,
|
||||
})
|
||||
elif checkin_time and checkin_type == "下班打卡" and not attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_out": checkin_time,
|
||||
"is_early_card": planning_slot_id.end_datetime > checkin_time,
|
||||
})
|
||||
elif attendance_obj.check_in and checkin_time and checkin_type == "上班打卡" and checkin_time < attendance_obj.check_in:
|
||||
attendance_obj.sudo().write({
|
||||
"check_in": checkin_time,
|
||||
"is_late_card": checkin_time > planning_slot_id.start_datetime,
|
||||
})
|
||||
elif attendance_obj.check_out and checkin_time and checkin_type == "下班打卡" and checkin_time > attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_out": checkin_time,
|
||||
"is_early_card": planning_slot_id.end_datetime > checkin_time,
|
||||
})
|
||||
elif checkin_time and not attendance_obj.check_in and not attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_in": checkin_time,
|
||||
"is_late_card": checkin_time > planning_slot_id.start_datetime,
|
||||
})
|
||||
elif checkin_time and attendance_obj.check_in and not attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_out": checkin_time,
|
||||
"is_early_card": planning_slot_id.end_datetime > checkin_time,
|
||||
})
|
||||
elif attendance_obj.is_early_card or attendance_obj.is_late_card:
|
||||
attendance_obj.sudo().write({"is_abnormal": True})
|
||||
else:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True})
|
||||
if checkin_time:
|
||||
if checkin_time and checkin_type == "上班打卡" and not attendance_obj.check_in:
|
||||
attendance_obj.sudo().write({
|
||||
"check_in": checkin_time,
|
||||
"is_late_card": checkin_time > planning_slot_id.start_datetime,
|
||||
})
|
||||
elif checkin_time and checkin_type == "下班打卡" and not attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_out": checkin_time,
|
||||
"is_early_card": planning_slot_id.end_datetime > checkin_time,
|
||||
})
|
||||
elif attendance_obj.check_in and checkin_time and checkin_type == "上班打卡" and checkin_time < attendance_obj.check_in:
|
||||
attendance_obj.sudo().write({
|
||||
"check_in": checkin_time,
|
||||
"is_late_card": checkin_time > planning_slot_id.start_datetime,
|
||||
})
|
||||
elif attendance_obj.check_out and checkin_time and checkin_type == "下班打卡" and checkin_time > attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_out": checkin_time,
|
||||
"is_early_card": planning_slot_id.end_datetime > checkin_time,
|
||||
})
|
||||
elif checkin_time and not attendance_obj.check_in and not attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_in": checkin_time,
|
||||
"is_late_card": checkin_time > planning_slot_id.start_datetime,
|
||||
})
|
||||
elif checkin_time and attendance_obj.check_in and not attendance_obj.check_out:
|
||||
attendance_obj.sudo().write({
|
||||
"check_out": checkin_time,
|
||||
"is_early_card": planning_slot_id.end_datetime > checkin_time,
|
||||
})
|
||||
elif attendance_obj.is_early_card or attendance_obj.is_late_card:
|
||||
attendance_obj.sudo().write({"is_abnormal": True})
|
||||
else:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True})
|
||||
# elif planning_slot_id.department_id.name == '工程部':
|
||||
# attendance_obj = self.env['hr.attendance'].sudo().create({
|
||||
# 'employee_id': hr_employee_obj.id,
|
||||
|
||||
Reference in New Issue
Block a user