def handle(self): def pass_hizmet_kayitlari(hizmet_kayitlari_passed, values): hizmet_kayitlari_passed.baslama_tarihi = values['baslama_tarihi'] hizmet_kayitlari_passed.bitis_tarihi = values['bitis_tarihi'] hizmet_kayitlari_passed.emekli_derece = values['emekli_derece'] hizmet_kayitlari_passed.emekli_kademe = values['emekli_kademe'] hizmet_kayitlari_passed.gorev = values['gorev'] hizmet_kayitlari_passed.unvan_kod = values['unvan_kod'] hizmet_kayitlari_passed.hizmet_sinifi = values['hizmet_sinifi'] hizmet_kayitlari_passed.kayit_no = values['kayit_no'] hizmet_kayitlari_passed.kazanilmis_hak_ayligi_derece = values[ 'kazanilmis_hak_ayligi_derece'] hizmet_kayitlari_passed.kazanilmis_hak_ayligi_kademe = values[ 'kazanilmis_hak_ayligi_kademe'] hizmet_kayitlari_passed.odeme_derece = values['odeme_derece'] hizmet_kayitlari_passed.odeme_kademe = values['odeme_kademe'] hizmet_kayitlari_passed.emekli_ekgosterge = values['emekli_ek_gosterge'] hizmet_kayitlari_passed.kadro_derece = values['kadro_derece'] hizmet_kayitlari_passed.kazanilmis_hak_ayligi_ekgosterge = values[ 'kazanilmis_hak_ayligi_ekgosterge'] hizmet_kayitlari_passed.odeme_ekgosterge = values['odeme_ekgosterge'] hizmet_kayitlari_passed.sebep_kod = values['sebep_kod'] hizmet_kayitlari_passed.tckn = values['tckn'] try: hizmet_kayitlari_passed.ucret = float(values['ucret'].strip()) except ValueError: pass try: hizmet_kayitlari_passed.yevmiye = float(values['yevmiye'].strip()) except ValueError: pass hizmet_kayitlari_passed.kurum_onay_tarihi = values['kurum_onay_tarihi'] self.logger.info("hizmet_kayitlari successfully passed.") self.logger.info("zato service started to work.") tckn = self.request.payload['tckn'] input_data = {'tckn': tckn} input_data = dumps(input_data) service_name = 'hizmet-cetveli-getir.hizmet-cetveli-getir' response = self.invoke(service_name, input_data, data_format=DATA_FORMAT.JSON, as_bunch=True) response_status = response["status"] if response_status == 'ok': hitap_dict = loads(response["result"]) self.logger.info("hitap_dict created.") else: hitap_dict = {} self.logger.info("hitap_dict cannot created.") # if employee saved before, find that and add new records from hitap to riak try: local_records = {} # hizmet_kayitlari_list = HizmetKayitlari.objects.filter(tckn=tckn) for record in HizmetKayitlari.objects.filter(tckn=tckn): local_records[record.kayit_no] = { 'baslama_tarihi': record.baslama_tarihi, 'bitis_tarihi': record.bitis_tarihi, 'emekli_derece': record.emekli_derece, 'emekli_kademe': record.emekli_kademe, 'gorev': record.gorev, 'unvan_kod': record.unvan_kod, 'hizmet_sinifi': record.hizmet_sinifi, 'kayit_no': record.kayit_no, 'kazanilmis_hak_ayligi_derece': record.kazanilmis_hak_ayligi_derece, 'kazanilmis_hak_ayligi_kademe': record.kazanilmis_hak_ayligi_kademe, 'odeme_derece': record.odeme_derece, 'odeme_kademe': record.odeme_kademe, 'emekli_ekgosterge': record.emekli_ekgosterge, 'kadro_derece': record.kadro_derece, 'kazanilmis_hak_ayligi_ekgosterge': record.kazanilmis_hak_ayligi_ekgosterge, 'odeme_ekgosterge': record.odeme_ekgosterge, 'sebep_kod': record.sebep_kod, 'tckn': record.tckn, 'ucret': record.ucret, 'yevmiye': record.yevmiye, 'kurum_onay_tarihi': record.kurum_onay_tarihi } # for k, v in local_records.iteritems(): # self.logger.info("Localdeki keyler => %s type %s" % (str(k), type(k))) # self.logger.info(local_records) self.logger.info("local_records created.") self.logger.info("Localdeki kayit sayisi: " + str(len(local_records))) self.logger.info("Hitaptan gelen kayit sayisi: " + str(len(hitap_dict))) ''' for k, v in hitap_dict.items(): if k not in local_records: print "Bu kayit localde yok! => " + str(k) for k, v in local_records.items(): if k not in hitap_dict: print "Bu kayit hitapta yok! => " + str(k) ''' # compare hitap incoming data and local db for hitap_key, hitap_values in hitap_dict.items(): # self.logger.info("Hitap key: %s type %s" % (hitap_key, type(hitap_key))) if int(hitap_key) in local_records: self.logger.info("hitap gelen data localde var.") hizmet_kayitlari = HizmetKayitlari.objects.filter(kayit_no=hitap_key).get() if hizmet_kayitlari.sync == 1: self.logger.info("hitaptan gelen data localde var ve senkronize.") elif hizmet_kayitlari.sync == 2: self.logger.info("hitap gelen data localde senkronize edildi.") pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() # sleep(1.5) else: pass else: self.logger.info("hitap gelen data localde yok. Kayit no => " + str(hitap_key)) hizmet_kayitlari = HizmetKayitlari() pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() # sleep(1.5) # compare local db and hitap incoming data for record_id, record_values in local_records.items(): if unicode(record_id) not in hitap_dict: hizmet_kayitlari = HizmetKayitlari.objects.filter(kayit_no=record_id).get() if hizmet_kayitlari.sync == 1: hizmet_kayitlari.delete() self.logger.info("localdeki sync data, hitapta yok, kayit no degismis olabilir, kayit silindi.") else: pass else: if hizmet_kayitlari.sync != 1 or hizmet_kayitlari.sync != 2: hizmet_kayitlari.delete() # hizmet_kayitlari.save() self.logger.info("Service runned.") # If not any record belongs to given tcno, create new one except IndexError: for hitap_keys, hitap_values in hitap_dict.items(): hizmet_kayitlari = HizmetKayitlari() pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() self.logger.info("New HizmetKayitlari saved.") # sleep(1) except socket.error: self.logger.info("Riak connection refused!") except AttributeError: self.logger.info("TCKN should be wrong!") except urllib2.URLError: self.logger.info("No internet connection!")
def handle(self): def pass_hizmet_kayitlari(hizmet_kayitlari_passed, record_values): hizmet_kayitlari_passed.baslama_tarihi = record_values['baslama_tarihi'] hizmet_kayitlari_passed.bitis_tarihi = record_values['bitis_tarihi'] hizmet_kayitlari_passed.emekli_derece = record_values['emekli_derece'] hizmet_kayitlari_passed.emekli_kademe = record_values['emekli_kademe'] hizmet_kayitlari_passed.gorev = record_values['gorev'] hizmet_kayitlari_passed.unvan_kod = record_values['unvan_kod'] hizmet_kayitlari_passed.hizmet_sinifi = record_values['hizmet_sinifi'] hizmet_kayitlari_passed.kayit_no = record_values['kayit_no'] hizmet_kayitlari_passed.kazanilmis_hak_ayligi_derece = record_values[ 'kazanilmis_hak_ayligi_derece'] hizmet_kayitlari_passed.kazanilmis_hak_ayligi_kademe = record_values[ 'kazanilmis_hak_ayligi_kademe'] hizmet_kayitlari_passed.odeme_derece = record_values['odeme_derece'] hizmet_kayitlari_passed.odeme_kademe = record_values['odeme_kademe'] hizmet_kayitlari_passed.emekli_ekgosterge = record_values['emekli_ek_gosterge'] hizmet_kayitlari_passed.kadro_derece = record_values['kadro_derece'] hizmet_kayitlari_passed.kazanilmis_hak_ayligi_ekgosterge = record_values[ 'kazanilmis_hak_ayligi_ekgosterge'] hizmet_kayitlari_passed.odeme_ekgosterge = record_values['odeme_ekgosterge'] hizmet_kayitlari_passed.sebep_kod = record_values['sebep_kod'] hizmet_kayitlari_passed.tckn = record_values['tckn'] try: hizmet_kayitlari_passed.ucret = float(record_values['ucret'].strip()) except ValueError: pass try: hizmet_kayitlari_passed.yevmiye = float(record_values['yevmiye'].strip()) except ValueError: pass hizmet_kayitlari_passed.kurum_onay_tarihi = record_values['kurum_onay_tarihi'] self.logger.info("hizmet_kayitlari successfully passed.") self.logger.info("zato service started to work.") tckn = self.request.payload['tckn'] input_data = {'tckn': tckn} input_data = dumps(input_data) service_name = 'hizmet-cetveli-getir.hizmet-cetveli-getir' response = self.invoke(service_name, input_data, data_format=DATA_FORMAT.JSON, as_bunch=True) response_status = response["status"] if response_status == 'ok': hitap_dict = loads(response["result"]) self.logger.info("hitap_dict created.") else: hitap_dict = {} self.logger.info("hitap_dict cannot created.") # if employee saved before, find that and add new records from hitap to riak try: local_records = {} # hizmet_kayitlari_list = HizmetKayitlari.objects.filter(tckn=tckn) for record in HizmetKayitlari.objects.filter(tckn=tckn): local_records[record.kayit_no] = { 'baslama_tarihi': record.baslama_tarihi, 'bitis_tarihi': record.bitis_tarihi, 'emekli_derece': record.emekli_derece, 'emekli_kademe': record.emekli_kademe, 'gorev': record.gorev, 'unvan_kod': record.unvan_kod, 'hizmet_sinifi': record.hizmet_sinifi, 'kayit_no': record.kayit_no, 'kazanilmis_hak_ayligi_derece': record.kazanilmis_hak_ayligi_derece, 'kazanilmis_hak_ayligi_kademe': record.kazanilmis_hak_ayligi_kademe, 'odeme_derece': record.odeme_derece, 'odeme_kademe': record.odeme_kademe, 'emekli_ekgosterge': record.emekli_ekgosterge, 'kadro_derece': record.kadro_derece, 'kazanilmis_hak_ayligi_ekgosterge': record.kazanilmis_hak_ayligi_ekgosterge, 'odeme_ekgosterge': record.odeme_ekgosterge, 'sebep_kod': record.sebep_kod, 'tckn': record.tckn, 'ucret': record.ucret, 'yevmiye': record.yevmiye, 'kurum_onay_tarihi': record.kurum_onay_tarihi } self.logger.info("local_records created.") # compare hitap incoming data and local db for record_id, record_values in hitap_dict.items(): if record_id in local_records: hizmet_kayitlari = HizmetKayitlari.objects.filter(kayit_no=record_id).get() if hizmet_kayitlari.sync == 1: pass elif hizmet_kayitlari.sync == 2: pass_hizmet_kayitlari(hizmet_kayitlari, record_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() else: pass else: hizmet_kayitlari = HizmetKayitlari() pass_hizmet_kayitlari(hizmet_kayitlari, record_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() # compare hitap incoming data and local db for record_id, record_values in local_records.items(): hizmet_kayitlari = HizmetKayitlari.objects.filter(kayit_no=record_id).get() if record_id not in hitap_dict: if hizmet_kayitlari.sync == 1: hizmet_kayitlari.delete() hizmet_kayitlari.save() else: pass hizmet_kayitlari.save() self.logger.info("Service runned.") # If not any record belongs to given tcno, create new one except IndexError: hizmet_kayitlari = HizmetKayitlari() for hitap_keys, hitap_values in hitap_dict.items(): pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() self.logger.info("New HizmetKayitlari saved.") sleep(1) except socket.error: self.logger.info("Riak connection refused!") except AttributeError: self.logger.info("TCKN should be wrong!") except urllib2.URLError: self.logger.info("No internet connection!")