@@ -16,15 +16,16 @@ class AttendanceIotImportUserWizard(models.TransientModel):
|
||||
# 入口一:员工列表按钮进入,context 带了选中的员工 id 列表
|
||||
employee_ids = self.env.context.get('default_employee_ids')
|
||||
if employee_ids:
|
||||
# 入口一:员工列表按钮进入,取第一个选中员工的关联考勤机作为源设备
|
||||
# 入口一:员工列表按钮进入,取第一个选中员工关联的考勤机作为源设备
|
||||
source_employee = self.env['hr.employee'].browse(employee_ids[0])
|
||||
# 用 .exists() 过滤掉已删除的孤儿记录(避免访问已删 attendance.iot 报「缺失记录」)
|
||||
source_iots = source_employee.attendance_iot_ids.exists()
|
||||
# 注意:hr.employee.attendance_iot_ids 是 attendance.iot.user(绑定记录)的一对多字段,
|
||||
# 需先 mapped 出真正的设备 attendance_iot_id,并用 .exists() 过滤已删除的孤儿记录
|
||||
source_iots = source_employee.attendance_iot_ids.mapped('attendance_iot_id').exists()
|
||||
if source_iots:
|
||||
# 取第一个关联考勤机为源设备:上方显示源设备,下方带出同公司其余考勤机(排除源设备,避免重复)
|
||||
# 取第一个关联设备为源设备:上方显示源设备,下方带出同公司其余考勤机(排除源设备,避免重复)
|
||||
source_iot = source_iots[0]
|
||||
company_iots = self.env['attendance.iot'].search(
|
||||
[('company_id', '=', source_iot.company_id.id), ('id', '!=', source_iot.id)])
|
||||
[('company_id', '=', source_iot.company_id.id), ('id', 'not in', source_iots.ids)])
|
||||
res.update({
|
||||
'current_attendance_iot_id': source_iot.id,
|
||||
'attendance_iot_ids': [(6, 0, company_iots.ids)],
|
||||
|
||||
Reference in New Issue
Block a user