Payroll Management System
Payroll Management System
RDBMS: MySQL
User: root
Pass: 123
SQL Commands:
create database payroll;
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 mon
new " + 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
sql="select * from
setter"
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: