Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
2764 Prikazi

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       

Avatar
Opusti
Best Answer

Smart Way Business Solutions has released a new module that allows you to integrate your biometric device with Odoo 11 community and enterprise!

Don't waste any more time or effort! Check out the module here! https://www.odoo.com/apps/modules/11.0/hr_attendance_zktecho/

Avatar
Opusti