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.") tckn = self.request.payload['tckn'] conn = self.outgoing.soap['HITAP'].conn # connects with soap client to the HITAP try: with conn.client() as client: service_bean = client.service.HizmetCetvelSorgula(H_USER, H_PASS, tckn).HizmetCetveliServisBean self.logger.info("zato service started to work.") hitap_dict = {} for record in range(0, len(service_bean)): hitap_dict[service_bean[record].kayitNo] = { 'baslama_tarihi': '01.01.1900' if service_bean[record].baslamaTarihi == "01.01.0001" else service_bean[record].baslamaTarihi, 'bitis_tarihi': '01.01.1900' if service_bean[record].bitisTarihi == "01.01.0001" else service_bean[record].bitisTarihi, 'emekli_derece': service_bean[record].emekliDerece, 'emekli_kademe': service_bean[record].emekliKademe, 'gorev': service_bean[record].gorev, 'unvan_kod': service_bean[record].unvanKod, 'hizmet_sinifi': self.hizmet_sinifi_int_kontrol(service_bean[record].hizmetSinifi), 'kayit_no': service_bean[record].kayitNo, 'kazanilmis_hak_ayligi_derece': service_bean[ record].kazanilmisHakAyligiDerece, 'kazanilmis_hak_ayligi_kademe': service_bean[ record].kazanilmisHakAyligiKademe, 'odeme_derece': service_bean[record].odemeDerece, 'odeme_kademe': service_bean[record].odemeKademe, 'emekli_ek_gosterge': service_bean[record].emekliEkGosterge, 'kadro_derece': service_bean[record].kadroDerece, 'kazanilmis_hak_ayligi_ekgosterge': service_bean[ record].kazanilmisHakAyligiEkGosterge, 'odeme_ekgosterge': service_bean[record].odemeEkGosterge, 'sebep_kod': service_bean[record].sebepKod, 'tckn': service_bean[record].tckn, 'ucret': service_bean[record].ucret, 'yevmiye': service_bean[record].yevmiye, 'kurum_onay_tarihi': '01.01.1900' if service_bean[record].kurumOnayTarihi == "01.01.0001" else service_bean[ record].kurumOnayTarihi } self.logger.info("hitap_dict created.: %s" % hitap_dict) # 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.") 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() hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() else: hizmet_kayitlari = HizmetKayitlari() pass_hizmet_kayitlari(hizmet_kayitlari, record_values) hizmet_kayitlari.sync = 1 hizmet_kayitlari.save() 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.sync = 2 hizmet_kayitlari.save() if hizmet_kayitlari.sync == 2: hizmet_kayitlari.sync = 3 hizmet_kayitlari.save() hizmet_kayitlari.sync = 99 hizmet_kayitlari.save() self.logger.info("Service runned.") response = {'result': 'ok'} except IndexError: hizmet_kayitlari = HizmetKayitlari() for hitap_keys, hitap_values in hitap_dict.items(): pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.save() self.logger.info("New HizmetKayitlari saved.") response = {'result': 'new'} sleep(1) except socket.error: self.logger.info("Riak connection refused!") response = {'result': 'riak error'} except AttributeError: self.logger.info("TCKN may be wrong!") response = {'result': 'tckn error'} except urllib2.URLError: self.logger.info("No internet connection!") response = {'result': 'connection error'} response['status'] = 'ok' self.response.payload = response
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'] tckn = self.request.payload['personel']['tckn'] conn = self.outgoing.soap['HITAP'].conn # connects with soap client to the HITAP try: with conn.client() as client: service_bean = client.service.HizmetCetvelSorgula(H_USER, H_PASS, tckn).HizmetCetveliServisBean self.logger.info("zato service started to work.") hitap_dict = {} for record in range(0, len(service_bean)): hitap_dict[service_bean[record].kayitNo] = { 'baslama_tarihi': '01.01.1900' if service_bean[record].baslamaTarihi == "01.01.0001" else service_bean[record].baslamaTarihi, 'bitis_tarihi': '01.01.1900' if service_bean[record].bitisTarihi == "01.01.0001" else service_bean[record].bitisTarihi, 'emekli_derece': service_bean[record].emekliDerece, 'emekli_kademe': service_bean[record].emekliKademe, 'gorev': service_bean[record].gorev, 'unvan_kod': service_bean[record].unvanKod, 'hizmet_sinifi': service_bean[record].hizmetSinifi, 'kayit_no': service_bean[record].kayitNo, 'kazanilmis_hak_ayligi_derece': service_bean[ record].kazanilmisHakAyligiDerece, 'kazanilmis_hak_ayligi_kademe': service_bean[ record].kazanilmisHakAyligiKademe, 'odeme_derece': service_bean[record].odemeDerece, 'odeme_kademe': service_bean[record].odemeKademe, 'emekli_ek_gosterge': service_bean[record].emekliEkGosterge, 'kadro_derece': service_bean[record].kadroDerece, 'kazanilmis_hak_ayligi_ekgosterge': service_bean[ record].kazanilmisHakAyligiEkGosterge, 'odeme_ekgosterge': service_bean[record].odemeEkGosterge, 'sebep_kod': service_bean[record].sebepKod, 'tckn': service_bean[record].tckn, 'ucret': service_bean[record].ucret, 'yevmiye': service_bean[record].yevmiye, 'kurum_onay_tarihi': '01.01.1900' if service_bean[record].kurumOnayTarihi == "01.01.0001" else service_bean[ record].kurumOnayTarihi } self.logger.info("hitap_dict created.") # if employee saved before, find that and add new records from hitap to riak try: riak_dict_from_db_queries_with_pno = {} # hizmet_kayitlari_list = HizmetKayitlari.objects.filter(tckn=tckn) for record in HizmetKayitlari.objects.filter(tckn=tckn): riak_dict_from_db_queries_with_pno[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("riak_dict_from_db_queries_with_pno created.") # if any record exists in riak but not in hitap delete it for record in HizmetKayitlari.objects.filter(tckn=tckn): if record.kayit_no not in hitap_dict: record.delete() self.logger.info( "Hizmet record deleted. Record No: %s" % record.kayit_no) # if any record comes from hitap and not in riak, save it to riak for hitap_key, hitap_values in hitap_dict.items(): if hitap_key not in riak_dict_from_db_queries_with_pno: hizmet_kayitlari = HizmetKayitlari() pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.save() self.logger.info("HizmetKayitlari updated") self.logger.info("Service runned.") except IndexError: hizmet_kayitlari = HizmetKayitlari() for hitap_keys, hitap_values in hitap_dict.items(): pass_hizmet_kayitlari(hizmet_kayitlari, hitap_values) hizmet_kayitlari.save() self.logger.info("New AskerlikKayitlari 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, 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 kontrol(self): self.set_form_data_to_object() if self.current.task_data['cmd'] == 'izine_ayir': if self.object.baslangic_tarihi > self.object.bitis_tarihi: self.current.task_data['cmd'] = 'izne_ayir' else: hitap_kaydi = HizmetKayitlari() personel = self.object.personel hitap_kaydi.personel = personel hitap_kaydi.tckn = personel.tckn hitap_kaydi.bitis_tarihi = self.object.baslangic_tarihi hitap_kaydi.gorev = ".." hitap_kaydi.hizmet_sinifi = personel.hizmet_sinifi hitap_kaydi.unvan_kod = personel.kadro().unvan_kod ## TODO: Sebep Kodları fixtures eklenecek hitap_kaydi.sebep_kod = 269 hitap_kaydi.kurum_onay_tarihi = self.object.onay_tarihi hitap_kaydi.sync = 2 hitap_kaydi.save() self.current.task_data['cmd'] = 'basarili' self.save() else: ## cmd="izin_donus" hitap_kaydi = HizmetKayitlari() personel = self.object.personel hitap_kaydi.personel = personel hitap_kaydi.tckn = personel.tckn hitap_kaydi.baslama_tarihi = self.object.donus_tarihi hitap_kaydi.gorev = ".." hitap_kaydi.hizmet_sinifi = personel.hizmet_sinifi hitap_kaydi.unvan_kod = personel.kadro().unvan_kod ## TODO: Sebep Kodları fixtures eklenecek, form içerisinden seçilecek hitap_kaydi.sebep_kod = 269 hitap_kaydi.kurum_onay_tarihi = self.object.onay_tarihi hitap_kaydi.sync = 2 hitap_kaydi.save() self.current.task_data['cmd'] = 'basarili' self.save()
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!")