I installed and configured hr_biometric_machine in odoo 9.i import user and import attendance in one database.And same i set in second database.I got the remaining attendance that uploaded in first database.The attendance that uploaded in second database is missing from first db.I need full attendance entries in both database.What i will do.
I'm using below code to connect device
zk = ZkOpenerp(ip_address, port)
conn = zk.connect()
class ZkOpenerp(ZK):
def get_attendance(self):
attendaces = super(ZkOpenerp, self).get_attendance()
attendaces_openerp = []
for attendace in attendaces:
attendace_openerp = OpenerpAttendance( attendace.user_id, attendace.timestamp, attendace.status) attendaces_openerp.append(attendace_openerp)
return attendaces_openerp
please check my import attendance function
@api.model
def import_data(self):
biometric_machine_obj = self.env['biometric.machine']
biometric_user_obj = self.env['biometric.user']
biometric_machines = biometric_machine_obj.search([])
for biometric_machine in biometric_machines:
self.import_data_classmethod(biometric_machine, self, biometric_user_obj, )
@classmethod
def import_data_classmethod( cls, biometric_machine, biometric_data_obj, biometric_user_obj, ):
attendances = biometric_machine.getattendance() # Sorted elements using user_id and timestamp attendances.sort(key=lambda x: (x.user_id, x.timestamp))
for attendance in attendances:
user = biometric_user_obj.search([['biometric_id', '=', int(attendance.user_id), ], ], )
if not attendance.action_perform:
continue
if not user.employee_id:
biometric_data_obj.create({'biometric_user_id': user.id, 'datetime': attendance.timestamp, 'action_perform': attendance.action_perform, }, )
continue