Project On Payroll System
Project On Payroll System
By:
USE PAYROLL;
CREATE TABLE EMP(ECODE INT(6) PRIMARY KEY, FNAME VARCHAR(20) NOT NULL, LNAME VARCHAR(20) NOT NULL,
DESIG CHAR(15) NOT NULL, LEVEL INT(2)NOT NULL, GENDER CHAR DEFAULT 'M', DOB DATE, DOJ DATE, MOB
VARCHAR(11), PAN CHAR(10), ACNO VARCHAR(15), IFSC CHAR(11),BASIC INT(6), TA INT(4), HRAYN
CHAR,NPSYN CHAR);
CREATE TABLE PAY(YEAR INT(4), MONTH INT(2), ECODE INT(6), NODAYS INT(2) NOT NULL, DA INT(6), DATA
INT(5), HRA INT(5), NPS_M INT(5), OTHER_ALLW INT(5), GROSS INT(6), ITAX INT(6), NPS_O INT(5), GPF
INT(5) DEFAULT 0, LCFEE INT(5), ODEDUCT INT(5), TOT_DEDUC INT(7), NETSAL INT(7),
PRIMARY KEY(YEAR, MONTH, ECODE), FOREIGN KEY (ECODE) REFERENCES EMP(ECODE));
import pandas as pd
import datetime
import subprocess
cnx = create_engine('mysql+pymysql://root:123@localhost:3306/payroll').connect()
def emp_entry():
data = [[ec, fn, ln, dg, sl, ge, db, dj, mb, pn, ac, fc,bs,ta,hr,np]]
def per_setter() :
data = [[dap,hrp]]
df = pd.DataFrame(data,columns=['dap','hrap'])
while True:
try:
y = eval(input("Enter the salary year (press enter for current year otherwise input new year:
str(datetime.datetime.today().strftime('%Y'))))
except:
y = str(datetime.datetime.today().strftime('%Y'))
break
while True:
try:
m = eval(input("Enter the salary month (press enter for current month otherwise input new mon
" + str(datetime.datetime.today().strftime('%m'))))
except:
m = str(datetime.datetime.today().strftime('%m'))
break
df=pd.read_sql(sql,cnx)
llevel=[]
lec = df["ECODE"]
l1=[]
ly = []
lm = []
allw = []
deduc = []
lfee = []
it = []
for x in df["ECODE"]:
ly.append(y)
lm.append(m)
df1=pd.read_sql(sql,cnx)
df1["YEAR"] = ly
df1["MONTH"] = lm
df1["ECODE"] = lec
df1["NODAYS"] = l1
df1 = pd.merge(df,df1,on='ECODE')
df1["OTHER_ALLW"] = allw
df1["NPS_O"] = df1["NPS_M"]
df1["LCFEE"] = lfee
df1["ITAX"] = it
df1["ODEDUCT"] = deduc
def Date_operations():
x = datetime.datetime.today().strftime('%Y-%m-%d')
print(x)
def Sdf_show():
df = pd.read_csv('c:\payroll\salary.csv')
print(df)
def Show_Rates():
df = pd.read_sql(sql, cnx)
print(df)
def Show_EMP():
sql = "select * from EMP"
df = pd.read_sql(sql, cnx)
print(df)
def Salary_show():
DP = 0
HP = 0
df=pd.read_sql(sql,cnx)
DP = df["dap"][0]
HP = df["hrap"][0]
while (True):
print("8 : Exit")
if(choice == 1):
emp_entry()
elif (choice==2):
Show_EMP()
elif (choice==3):
per_setter()
elif (choice==4):
Show_Rates()
elif (choice==5):
salary_entry()
Sdf_show()
elif (choice == 7):
Salary_show()
break
else: