添加功能

This commit is contained in:
zhouzhou
2024-12-18 19:18:45 +08:00
parent 1ced5642e7
commit a8c63d6925
+22 -22
View File
@@ -333,26 +333,26 @@ class HrAttendanceDetail(models.Model):
"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.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:
@@ -604,8 +604,8 @@ class HrAttendanceDetail(models.Model):
# else:
# attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True})
# # 进行关联
attendance_detail_obj.hr_attendance_id = attendance_obj.id
return True
attendance_detail_obj.hr_attendance_id = attendance_obj.id
return True
def get_hr_attendance_time(self):
"""
获取企业微信打卡数据的核心逻辑