在Odoo9中,可以通过查询用户的考勤动作历史记录来获取最后一个考勤动作。具体步骤如下:
hr.attendance
模型中。hr.attendance
模型中,考勤动作通过action
字段表示,'sign_in'代表签到,'sign_out'代表签退。以下是一个示例代码,展示了如何实现上述步骤:
from odoo import models, api
class AttendanceHelper(models.Model):
_name = 'attendance.helper'
@api.model
def get_last_attendance_action(self):
# 获取当前用户ID
user_id = self.env.user.id
# 查询考勤动作历史记录
attendances = self.env['hr.attendance'].search([('employee_id.user_id', '=', user_id)], order='create_date desc', limit=1)
if attendances:
last_attendance = attendances[0]
action = last_attendance.action
# 判断最后一个考勤动作是签到还是签退
if action == 'sign_in':
return '最后一个考勤动作是签到'
elif action == 'sign_out':
return '最后一个考勤动作是签退'
return '未找到考勤动作记录'
请注意,上述代码仅为示例,实际使用时需要根据具体情况进行调整。此外,Odoo9中的考勤动作历史记录可能与具体的模块配置和自定义有关,需要根据实际情况进行适配。
领取专属 10元无门槛券
手把手带您无忧上云