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