コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
2773 ビュー

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       

アバター
破棄
最善の回答

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/

アバター
破棄