Yapacaklarımız
- Admin bilgileri ( TC Kimlik Numarası / Adı Soyadı / Kullanıcı Adı / Parolası)
- Çalışan bilgileri ( TC kimlik numarası / Adı soyadı / Departmanı / İşe Alan kişi / İşten Çıkaran Kişi / Kayıt Tarihi / Çıkış Tarihi)
Öncelikle uygulamamıza time, datetime ve sqllite3 kütüphanelerini ekliyoruz.
import sqlite3 import time import datetime
İlk olarak veritabanımızı oluşturuyoruz.
con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor()
Tablolarımızı oluşturuyoruz
def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)")
İlk kayıtı da kod ile yapalım. Daha sonra bu alanı sileceğiz.
def ilkKayit(): cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)", ("11111111110","Utku Kahraman","utku","123")) con.commit() print("Kayıt Başarılı")
Kodumuzun son hali aşağıdaki gibi olmalı
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") ilkKayit() def ilkKayit(): cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)", ("11111111110","Utku Kahraman","utku","123")) con.commit() print("Kayıt Başarılı") VTOlustur()
Eğer kodunuzda hata yoksa uygulama başlatıldığında aşağıdaki çıktıyı almanız gerekiyor.
Silmemiz gereken yerleri sildikten sonra kodumuz aşağıdaki gibi olmalı.
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") VTOlustur()
Şimdi kullanıcı girişini yapalım. Bu kodu hemen alt tarafa yazıyoruz.
def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: print("Başarılı Giriş") else: print("Hatalı Giriş") con.close() giris()
Doğru giriş yapıldığında alınacak geri bildirim
Kodumuzun son hali aşağıdaki gibi olması gerekiyor.
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") VTOlustur() def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: print("Başarılı Giriş") else: print("Hatalı Giriş") con.close() giris()
Admin ekleme fonksiyonunu yazalım şimdide
def adminKayit(): tc = input("Tc Kimlik Numarası:") adiSoyadi = input("Adı Soyadı:") kadi = input("Kullanıcı Adı:") sifre = input("Şifre:") cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)",(tc,adiSoyadi,kadi,sifre)) time.sleep(1) con.commit() print("Kayıt Başarılı")
Bunu girişin altında soru ile çağıracağız. Kodun son hali aşağıdaki gibi olmalı.
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") VTOlustur() def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: secim = input("A: Admin Kayıtı \nSeçiminizi Yapın") if secim.upper() =="A": adminKayit() else: print("Hatalı Giriş") con.close() def adminKayit(): tc = input("Tc Kimlik Numarası:") adiSoyadi = input("Adı Soyadı:") kadi = input("Kullanıcı Adı:") sifre = input("Şifre:") cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)",(tc,adiSoyadi,kadi,sifre)) time.sleep(1) con.commit() print("Kayıt Başarılı") giris()
Doğru ise alacağımız çıktı aşağıdaki gibi olmalıdır.
Çalışan tablosunu oluşturup çalışan ekleme zamanı geldi. Şimdi onları yapalım
def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS calisanlar (tc TEXT, adiSoyadi TEXT, depertman TEXT,iseAlanKisi TEXT,iseAlindigiTarih TEXT,istenCikaranKisi TEXT,istenCikarıldigiZaman TEXT)") VTOlustur() def elemanKayit(kadi): zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("TC:") adisoyadi=input("Adı Soyadı:") depertman = input("Depertman:") cursor.execute("INSERT INTO calisanlar (tc,adiSoyadi,depertman,iseAlanKisi,iseAlindigiTarih) VALUES (?,?,?,?,?)", (tc,adisoyadi,depertman,kadi,tarih)) print("Kayıt Yapıldı")
Kodumuzun düzenlenmiş hali aşağıdaki gibi olmalı
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") cursor.execute("CREATE TABLE IF NOT EXISTS calisanlar (tc TEXT, adiSoyadi TEXT, depertman TEXT,iseAlanKisi TEXT,iseAlindigiTarih TEXT,istenCikaranKisi TEXT,istenCikarıldigiZaman TEXT)") VTOlustur() def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: secim = input("A: Admin Kayıtı \nB: Eleman Kayıtı\nSeçiminizi Yapın") if secim.upper() =="A": adminKayit() elif secim.upper() =="B": elemanKayit(kadi) else: print("Hatalı Giriş") con.close() def adminKayit(): tc = input("Tc Kimlik Numarası:") adiSoyadi = input("Adı Soyadı:") kadi = input("Kullanıcı Adı:") sifre = input("Şifre:") cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)",(tc,adiSoyadi,kadi,sifre)) time.sleep(1) con.commit() print("Kayıt Başarılı") def elemanKayit(kadi): zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("TC:") adisoyadi=input("Adı Soyadı:") depertman = input("Depertman:") cursor.execute("INSERT INTO calisanlar (tc,adiSoyadi,depertman,iseAlanKisi,iseAlindigiTarih) VALUES (?,?,?,?,?)", (tc,adisoyadi,depertman,kadi,tarih)) print("Kayıt Yapıldı") giris()
Eğer kodumuz doğru ise alacağımız çıktı.
Eleman Listeleme Yapalım
def calisanlariGetir(): cursor.execute("SELECT * FROM calisanlar") data = cursor.fetchall() for i in data: print(i)
Kodun son hali aşağıdaki gibi olacak
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") cursor.execute("CREATE TABLE IF NOT EXISTS calisanlar (tc TEXT, adiSoyadi TEXT, depertman TEXT,iseAlanKisi TEXT,iseAlindigiTarih TEXT,istenCikaranKisi TEXT,istenCikarıldigiZaman TEXT)") VTOlustur() def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: secim = input("A: Admin Kayıtı \nB: Eleman Kayıtı\n C: Elaman Listele\nSeçiminizi Yapın") if secim.upper() =="A": adminKayit() elif secim.upper() =="B": elemanKayit(kadi) elif secim.upper() =="C": calisanlariGetir() else: print("Hatalı Giriş") con.close() def adminKayit(): tc = input("Tc Kimlik Numarası:") adiSoyadi = input("Adı Soyadı:") kadi = input("Kullanıcı Adı:") sifre = input("Şifre:") cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)",(tc,adiSoyadi,kadi,sifre)) time.sleep(1) con.commit() print("Kayıt Başarılı") def elemanKayit(kadi): zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("TC:") adisoyadi=input("Adı Soyadı:") depertman = input("Depertman:") cursor.execute("INSERT INTO calisanlar (tc,adiSoyadi,depertman,iseAlanKisi,iseAlindigiTarih) VALUES (?,?,?,?,?)", (tc,adisoyadi,depertman,kadi,tarih)) print("Kayıt Yapıldı") def calisanlariGetir(): cursor.execute("SELECT * FROM calisanlar") data = cursor.fetchall() for i in data: print(i) giris()
Eğer kod doğruysa aşağıdaki çıktıyı almamız gerekiyor.
Şimdi kullanıcı çıkartmayı yapalım
def calisanKov(kadi): calisanlariGetir() zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("Çıkarmak İstediğiniz Kişinin TC Kimlik Numarası:") cursor.execute("SELECT * FROM `calisanlar` WHERE `tc` = ?", (tc,)) if cursor.fetchone() is not None: cursor.execute("""UPDATE calisanlar SET istenCikaranKisi = ? , istenCikarıldigiZaman = ? WHERE tc = ? """,(kadi, tarih, tc)) print("İşlem Başarılı") con.commit() calisanlariGetir() else: print("Hatalı TC")
Kodun düzenlenmiş hali aşağıdaki gibi olmalı
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") cursor.execute("CREATE TABLE IF NOT EXISTS calisanlar (tc TEXT, adiSoyadi TEXT, depertman TEXT,iseAlanKisi TEXT,iseAlindigiTarih TEXT,istenCikaranKisi TEXT,istenCikarıldigiZaman TEXT)") VTOlustur() def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: secim = input("A: Admin Kayıtı \nB: Eleman Kayıtı\n C: Elaman Listele\n D: Eleman Çıkart\nSeçiminizi Yapın") if secim.upper() =="A": adminKayit() elif secim.upper() =="B": elemanKayit(kadi) elif secim.upper() =="C": calisanlariGetir() elif secim.upper() == "D": calisanKov(kadi) else: print("Hatalı Giriş") con.close() def adminKayit(): tc = input("Tc Kimlik Numarası:") adiSoyadi = input("Adı Soyadı:") kadi = input("Kullanıcı Adı:") sifre = input("Şifre:") cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)",(tc,adiSoyadi,kadi,sifre)) time.sleep(1) con.commit() print("Kayıt Başarılı") def elemanKayit(kadi): zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("TC:") adisoyadi=input("Adı Soyadı:") depertman = input("Depertman:") time.sleep(1) cursor.execute("INSERT INTO calisanlar (tc,adiSoyadi,depertman,iseAlanKisi,iseAlindigiTarih) VALUES (?,?,?,?,?)", (tc,adisoyadi,depertman,kadi,tarih)) print("Kayıt Yapıldı") def calisanlariGetir(): cursor.execute("SELECT * FROM calisanlar") data = cursor.fetchall() for i in data: print(i) def calisanKov(kadi): calisanlariGetir() zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("Çıkarmak İstediğiniz Kişinin TC Kimlik Numarası:") cursor.execute("SELECT * FROM `calisanlar` WHERE `tc` = ?", (tc,)) if cursor.fetchone() is not None: cursor.execute("""UPDATE calisanlar SET istenCikaranKisi = ? , istenCikarıldigiZaman = ? WHERE tc = ? """,(kadi, tarih, tc)) print("İşlem Başarılı") con.commit() calisanlariGetir() else: print("Hatalı TC") giris()
Eğer kod doruysa aşağıdaki çıktıyı almamız gerekiyor.
Uygulamayı her seferine başlatmamak için sürekli uygulama devam etsin diye fonksiyon yazıyoruz
def secimYap(kadi): secim = input("A: Admin Kayıtı \nB: Eleman Kayıtı\nC: Elaman Listele\nD: Eleman Çıkart\nSeçiminizi Yapın:") if secim.upper() == "A": adminKayit() elif secim.upper() == "B": elemanKayit(kadi) elif secim.upper() == "C": calisanlariGetir(kadi) elif secim.upper() == "D": calisanKov(kadi) else: print("Geçersiz Seçim") secimYap(kadi)
Kodların bazı yerlerindeki hataları giderip kodumuzun son halini hazırlıyoruz.
import sqlite3 import time import datetime con = sqlite3.connect("elemanTakipOtomasyonu.db") cursor = con.cursor() def VTOlustur(): cursor.execute("CREATE TABLE IF NOT EXISTS admin (tc TEXT, adiSoyadi TEXT, kadi TEXT,sifre TEXT)") cursor.execute("CREATE TABLE IF NOT EXISTS calisanlar (tc TEXT, adiSoyadi TEXT, depertman TEXT,iseAlanKisi TEXT,iseAlindigiTarih TEXT,istenCikaranKisi TEXT,istenCikarıldigiZaman TEXT)") VTOlustur() def giris(): kadi = input("Kullanıcı Adı:") pas = input("Şifre:") if kadi == "" or pas == "": print("Alanları Doldurunuz") else: cursor.execute("SELECT * FROM `admin` WHERE `kadi` = ? AND `sifre` = ?", (kadi, pas)) if cursor.fetchone() is not None: secimYap(kadi) else: print("Hatalı Giriş") giris() con.close() def adminKayit(): tc = input("Tc Kimlik Numarası:") adiSoyadi = input("Adı Soyadı:") kadi = input("Kullanıcı Adı:") sifre = input("Şifre:") cursor.execute("INSERT INTO admin (tc,adiSoyadi,kadi,sifre) VALUES (?,?,?,?)",(tc,adiSoyadi,kadi,sifre)) time.sleep(1) con.commit() print("Kayıt Başarılı") secimYap(kadi) def elemanKayit(kadi): zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("TC:") adisoyadi=input("Adı Soyadı:") depertman = input("Depertman:") time.sleep(1) cursor.execute("INSERT INTO calisanlar (tc,adiSoyadi,depertman,iseAlanKisi,iseAlindigiTarih) VALUES (?,?,?,?,?)", (tc,adisoyadi,depertman,kadi,tarih)) print("Kayıt Yapıldı") secimYap(kadi) def calisanlariGetir(kadi): a = kadi kadi = a cursor.execute("SELECT * FROM calisanlar") data = cursor.fetchall() for i in data: print(i) secimYap(kadi) def calisanKov(kadi): cursor.execute("SELECT * FROM calisanlar") data = cursor.fetchall() for i in data: print(i) zaman = time.time() tarih = str(datetime.datetime.fromtimestamp(zaman).strftime('%Y-%m-%d %H:%M:%S')) tc = input("Çıkarmak İstediğiniz Kişinin TC Kimlik Numarası:") cursor.execute("SELECT * FROM `calisanlar` WHERE `tc` = ?", (tc,)) if cursor.fetchone() is not None: cursor.execute("""UPDATE calisanlar SET istenCikaranKisi = ? , istenCikarıldigiZaman = ? WHERE tc = ? """,(kadi, tarih, tc)) print("İşlem Başarılı") con.commit() calisanlariGetir(kadi) else: print("Hatalı TC") secimYap(kadi) def secimYap(kadi): secim = input("A: Admin Kayıtı \nB: Eleman Kayıtı\nC: Elaman Listele\nD: Eleman Çıkart\nSeçiminizi Yapın:") if secim.upper() == "A": adminKayit() elif secim.upper() == "B": elemanKayit(kadi) elif secim.upper() == "C": calisanlariGetir(kadi) elif secim.upper() == "D": calisanKov(kadi) else: print("Geçersiz Seçim") secimYap(kadi) giris()
Sonuç olarak tüm işlemleri yapınca aldığımız çıktı
/home/user/PycharmProjects/untitled/venv/bin/python /home/user/PycharmProjects/elemanTakipOtomasyonu/main.py Kullanıcı Adı:utku Şifre:123 A: Admin Kayıtı B: Eleman Kayıtı C: Elaman Listele D: Eleman Çıkart Seçiminizi Yapın:A Tc Kimlik Numarası:12332123432 Adı Soyadı:Ahmet Dindar Kullanıcı Adı:ahmet Şifre:dddd Kayıt Başarılı A: Admin Kayıtı B: Eleman Kayıtı C: Elaman Listele D: Eleman Çıkart Seçiminizi Yapın:b TC:7894123654 Adı Soyadı:Sarp Palaur Depertman:Rapci Kayıt Yapıldı A: Admin Kayıtı B: Eleman Kayıtı C: Elaman Listele D: Eleman Çıkart Seçiminizi Yapın:c ('10000000001', 'Fatih Özcan', 'amele', 'utku', '2019-04-17 04:15:47', 'utku', '2019-04-17 04:19:26') ('10000000002', 'Aziz Nesin', 'Yazar', 'utku', '2019-04-17 04:16:31', None, None) ('78965741256', 'Deniz Sancar', 'Biyolog', 'admin', '2019-04-17 04:26:07', None, None) ('14563245858', 'Fadime Acar', 'İmam', 'admin', '2019-04-17 04:28:17', None, None) ('45612374154', 'Ahmet İşler', 'Oyuncu', 'hasret', '2019-04-17 04:37:46', None, None) ('78452132012', 'Aysel Gedik', 'Kaportacı', 'dinne', '2019-04-17 04:40:06', None, None) ('7894123654', 'Sarp Palaur', 'Rapci', 'ahmet', '2019-04-17 04:44:22', None, None) A: Admin Kayıtı B: Eleman Kayıtı C: Elaman Listele D: Eleman Çıkart Seçiminizi Yapın:d ('10000000001', 'Fatih Özcan', 'amele', 'utku', '2019-04-17 04:15:47', 'utku', '2019-04-17 04:19:26') ('10000000002', 'Aziz Nesin', 'Yazar', 'utku', '2019-04-17 04:16:31', None, None) ('78965741256', 'Deniz Sancar', 'Biyolog', 'admin', '2019-04-17 04:26:07', None, None) ('14563245858', 'Fadime Acar', 'İmam', 'admin', '2019-04-17 04:28:17', None, None) ('45612374154', 'Ahmet İşler', 'Oyuncu', 'hasret', '2019-04-17 04:37:46', None, None) ('78452132012', 'Aysel Gedik', 'Kaportacı', 'dinne', '2019-04-17 04:40:06', None, None) ('7894123654', 'Sarp Palaur', 'Rapci', 'ahmet', '2019-04-17 04:44:22', None, None) Çıkarmak İstediğiniz Kişinin TC Kimlik Numarası:7894123654 İşlem Başarılı ('10000000001', 'Fatih Özcan', 'amele', 'utku', '2019-04-17 04:15:47', 'utku', '2019-04-17 04:19:26') ('10000000002', 'Aziz Nesin', 'Yazar', 'utku', '2019-04-17 04:16:31', None, None) ('78965741256', 'Deniz Sancar', 'Biyolog', 'admin', '2019-04-17 04:26:07', None, None) ('14563245858', 'Fadime Acar', 'İmam', 'admin', '2019-04-17 04:28:17', None, None) ('45612374154', 'Ahmet İşler', 'Oyuncu', 'hasret', '2019-04-17 04:37:46', None, None) ('78452132012', 'Aysel Gedik', 'Kaportacı', 'dinne', '2019-04-17 04:40:06', None, None) ('7894123654', 'Sarp Palaur', 'Rapci', 'ahmet', '2019-04-17 04:44:22', 'ahmet', '2019-04-17 04:44:55') A: Admin Kayıtı B: Eleman Kayıtı C: Elaman Listele D: Eleman Çıkart Seçiminizi Yapın:
Basit bir eleman takip otomasyonu yaptık.
Projeyi indirmek için : Tıkla
İlk Yorumu Siz Yapın