Inventory Managment System Python Mysql Code

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Website: www.techtipnow.

in
YouTube: www.youtube.com/c/techtipnow

LIBRARY MANAGEMENT SYSTEM

DATABASE DESIGN-

Item

INO INT (PRIMARY KEY)

INAME VARCHAR

PRATE FLOAT

SRATE FLOAT

QOH INT

CUSTOMER

CID INT (PRIMARY KEY)


CNAME VARCHAR

CADD VARCHAR

MOBILE CHAR(10)

SUPPLIER

SID INT (PRIMARY KEY)


SNAME VARCHAR

SADD VARCHAR

MOBILE CHAR(10)

SMASTER

SALEID INT (PRIMARY KEY)


SDATE DATE

SID INT (FOREIGN KEY)

TOTAL FLOAT

1
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

SDETAILS

SALEID INT (FOREIGN KEY)


INO INT(FOREIGN KEY)

QTY INT

RATE FLOAT

TOTAL FLOAT

PMASTER

PID INT (PRIMARY KEY)


PDATE DATE

SID INT (FOREIGN KEY)

TOTAL FLOAT

PDETAILS

PID INT (FOREIGN KEY)


INO INT(FOREIGN KEY)

QTY INT

RATE FLOAT

TOTAL FLOAT

CODE-

‘MAIN’ MODULE-

import item
import customer
import supplier
import transaction
import report
import os

2
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

while(True):
os.system('cls')
print("="*80)
print("-"*80)
print("\n\t\t\tInventory Management System\n")
print("-"*80)
print("="*80)
print("\n\t\t\t\tEnter your choice\n\t\t\t\t1.Items\n\t\t\t\
\t2.Customers\n\t\t\t\t3.Suppliers\
\n\t\t\t\t4.Transaction\n\t\t\t\t5.Report\n\t\t\t\t6.Exit")
ch=int(input())
if ch==1:
while(True):
print("---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Add Item\n\t\t\t\t2.Edit Item\n\t\t\t\t3.Fix Rate\
\n\t\t\t\t4.Search Item\n\t\t\t\t5.Delete Item\n\t\t\t\t6.Exit")
ch=int(input())
if ch==1:
item.add_item()
elif ch==2:
item.edit_item()
elif ch==3:
item.fix_rate()
elif ch==4:
item.search_item()
elif ch==5:
item.delete_item()
elif ch==6:
break
elif ch==2:
while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Add customers\n\t\t\t\t2.Edit Customers\
\n\t\t\t\t3.Search Customers\n\t\t\t\t4.Delete Customers\n\t\t\t\t5.exit")
ch=int(input())
if ch==1:
customer.add_customer()
elif ch==2:
customer.edit_customer()
elif ch==3:
customer.search_customer()
elif ch==4:
customer.delete_customer()

3
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

elif ch==5:
break
elif ch==3:
while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Add Suppliers\n\t\t\t\t2.Edit Suppliers\
\n\t\t\t\t3.Search Suppliers\n\t\t\t\t4.Delete Suppliers\n\t\t\t\t5.exit")

ch=int(input())
if ch==1:
supplier.add_supplier()
elif ch==2:
supplier.edit_supplier()
elif ch==3:
supplier.search_supplier()
elif ch==4:
supplier.delete_supplier()
elif ch==5:
break
elif ch==4:
while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Sale\n\t\t\t\t2.Purchase\n\t\t\t\t3.exit")
ch=int(input())
if ch==1:
transaction.sale()
elif ch==2:
transaction.purchase()
elif ch==3:
break
elif ch==5:
while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Item Details\n\t\t\t\t2.Customer Details\
\n\t\t\t\t3.Supplier Details\n\t\t\t\t4.Sale Details\n\
\t\t\t5.Purchase Details\n\t\t\t\t6.Best Selling Product(Plot)\
\n\t\t\t\t7.Sale Performance(Plot)\n\t\t\t\t8.exit")
ch=int(input())
if ch==1:
report.show_item()
elif ch==2:
report.show_customer()
elif ch==3:

4
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

report.show_supplier()
elif ch==4:
report.show_sale()
elif ch==5:
report.show_purchase()
elif ch==6:
report.best_product()
elif ch==7:
report.sale_performance()
elif ch==8:
break
elif ch==6:
break

‘ITEM’ MODULE-

import pandas as pd
from tabulate import tabulate
import mysql.connector as sqlt
import matplotlib.pyplot as plt
con=sqlt.connect(host = "localhost", user = "root", passwd="sanjay", database = "inventory")
cursor=con.cursor()
def add_item():
try:
ino = int(input("Enter Item No"))
iname = input("Enter Iname")
prate=float(input("Enter Purchase Rate"))
srate=float(input("enter Sale Rate"))
qoh=int(input("Enter Qty On Hand"))
q="insert into item values({},'{}',{},{},{});".format(ino,iname,prate,srate,qoh)
cursor.execute(q)
con.commit()
print("Item Added")
except:
print("Wrong Entry..Please check")
def edit_item():
try:
ino=int(input("Enter Item No"))
q="select * from item where ino = {};".format(ino)
cursor.execute(q)
if cursor.fetchone():
iname=input("Enter Item Name")
cursor.execute("update item set iname = '{}' where ino={};".format(iname,ino))

5
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

con.commit()
print("item Edited")
else:
print("Item Not Found")
except:
print("Wrong Entry")
def fix_rate():
ino=int(input("Enter Item No"))
q="select * from item where ino = {};".format(ino)
cursor.execute(q)
if cursor.fetchone():
prate=int(input("enter new purchase rate"))
srate=int(input("Enter new Sale rate"))
cursor.execute("update item set prate={},srate={} where ino={};".format(prate,srate,ino))
con.commit()
print("New rate applied")
else:
print("Item Not Found")
def search_item():
ino=int(input("Enter Item No"))
q="select * from item where ino = {};".format(ino)
cursor.execute(q)
if cursor.fetchone():
df=pd.read_sql(q,con)
print(tabulate(df,headers="keys", tablefmt = "psql", showindex = False))
else:
print("Item Not Found")
def delete_item():
ino=int(input("Enter Item No"))
q="select * from item where ino = {};".format(ino)
cursor.execute(q)
if cursor.fetchone():
cursor.execute("delete from item where ino={};".format(ino))
con.commit()
print("item deleted")
else:
print("Item Not Found")

6
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

‘CUSTOMER’ MODULE-

import pandas as pd
from tabulate import tabulate
import mysql.connector as sqlt
import matplotlib.pyplot as plt
con=sqlt.connect(host = "localhost", user = "root", passwd="sanjay", database = "inventory")
cursor=con.cursor()
def add_customer():
cid = int(input("Enter Customer ID"))
cname = input("Enter Customer Name")
cadd=input("Enter Address")
mobile=input("Enter Mobile")
q="insert into customer values({},'{}','{}','{}');".format(cid,cname,cadd,mobile)
cursor.execute(q)
con.commit()
print("Customer Added")
def edit_customer():
cid=int(input("Enter Customer ID"))
q="select * from Customer where cid = {};".format(cid)
cursor.execute(q)
if cursor.fetchone():
cadd=input("Enter Customer Address")
cursor.execute("update customer set cadd = '{}' where cid={};".format(cadd,cid))
con.commit()
print("Customer Edited")
else:
print("Customer Not Found")
def search_customer():
cname=input("Enter Customer Name")
q="select * from customer where cname like '%{}%';".format(cname)
cursor.execute(q)
if cursor.fetchall():
df=pd.read_sql(q,con)
print(tabulate(df,headers='keys',tablefmt='psql',showindex=False))
else:
print("Customer Not found")
def delete_customer():
cid=int(input("Enter Customer ID"))
q="select * from customer where cid = {};".format(cid)
cursor.execute(q)
if cursor.fetchone():
cursor.execute("delete from customer where cid={};".format(cid))

7
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

con.commit()
print("customer deleted")
else:
print("customer Not Found")

‘SUPPLIER’ MODULE-

import pandas as pd
from tabulate import tabulate
import mysql.connector as sqlt
import matplotlib.pyplot as plt
con=sqlt.connect(host = "localhost", user = "root", passwd="sanjay", database = "inventory")
cursor=con.cursor()
def add_supplier():
sid = int(input("Enter Supplier ID"))
sname = input("Enter Supplier Name")
sadd=input("Enter Address")
mobile=input("Enter Mobile")
q="insert into supplier values({},'{}','{}','{}');".format(sid,sname,sadd,mobile)
cursor.execute(q)
con.commit()
print("Supplier Added")
def edit_supplier():
sid=int(input("Enter Supplier ID"))
q="select * from Supplier where sid = {};".format(sid)
cursor.execute(q)
if cursor.fetchone():
sadd=input("Enter Supplier Address")
cursor.execute("update Supplier set sadd = '{}' where sid={};".format(sadd,sid))
con.commit()
print("Supplier Edited")
else:
print("Supplier Not Found")
def search_supplier():
sid=int(input("Enter Supplier ID"))
q="select * from Supplier where sid = {};".format(sid)
cursor.execute(q)
if cursor.fetchone():
df=pd.read_sql(q,con)
print(tabulate(df,headers="keys", tablefmt = "psql", showindex = False))
else:
print("Supplier Not Found")
def delete_supplier():

8
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

sid=int(input("Enter Supplier ID"))


q="select * from Supplier where sid = {};".format(sid)
cursor.execute(q)
if cursor.fetchone():
cursor.execute("delete from Supplier where sid={};".format(sid))
con.commit()
print("Supplier deleted")
else:
print("Supplier Not Found")

‘TRANSACTION’ MODULE-

import pandas as pd
from tabulate import tabulate
import mysql.connector as sqlt
import matplotlib.pyplot as plt
con=sqlt.connect(host = "localhost", user = "root", passwd="sanjay", database = "inventory")
cursor=con.cursor()
def purchase():
pid=0
total=0
grand=0
l=[]
ch='y'
q="select max(pid) as largest from pmaster"
cursor.execute(q)
r=cursor.fetchone()[0]
if r:
pid=r+1
else:
pid=1
pdate=input("Enter Purchase date")
sid = int(input("Enter Supplier ID"))
cursor.execute("select * from supplier where sid={};".format(sid))
if cursor.fetchone():
print("Item Details")
df=pd.read_sql("select * from item",con)
print(tabulate(df,headers='keys',tablefmt='psql',showindex=False))
while(ch=='y'):
ino=int(input("Enter Item No"))
cursor.execute("select * from item where ino ={};".format(ino))
r1=cursor.fetchone()
if r1:

9
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

qty = int(input("Enter qty"))


rate=r1[2]
total=qty*rate
grand=grand+total
t=(pid,ino,qty,rate,total)
l.append(t)
else:
print("Item Not Found")
ch=input("Do you wish to add more Items in bucket y/n")
q1="insert into pmaster values({},'{}',{},{});".format(pid,pdate,sid,grand)
cursor.execute(q1)
con.commit()
q2="insert into pdetail values(%s,%s,%s,%s,%s);"
cursor.executemany(q2,l)
con.commit()
cursor.executemany("insert into ptemp values(%s,%s,%s,%s,%s);",l)
con.commit()
q3="update item join ptemp using(ino) set item.qoh = item.qoh+ptemp.qty"
cursor.execute(q3)
con.commit()
cursor.execute("delete from ptemp")
con.commit()
print("Item Purchased and Added")
else:

print("Supplier Not Found")

def sale():
saleid=0
total=0
grand=0
l=[]
ch='y'
q="select max(saleid) as largest from smaster"
cursor.execute(q)
r=cursor.fetchone()[0]
if r:
saleid=r+1
else:
saleid=1
sdate=input("Enter Sale date")
sid = int(input("Enter Supplier ID"))
cursor.execute("select * from supplier where sid={};".format(sid))

10
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

if cursor.fetchone():
print("Item Details")
df=pd.read_sql("select * from item",con)
print(tabulate(df,headers='keys',tablefmt='psql',showindex=False))
while(ch=='y'):
ino=int(input("Enter Item No"))
cursor.execute("select * from item where ino ={};".format(ino))
r1=cursor.fetchone()
if r1:
qty = int(input("Enter qty"))
rate=r1[2]
total=qty*rate
grand=grand+total
t=(saleid,ino,qty,rate,total)
l.append(t)
else:
print("Item Not Found")
ch=input("Do you wish to add more Items in bucket y/n")
q1="insert into smaster values({},'{}',{},{});".format(saleid,sdate,sid,grand)
cursor.execute(q1)
con.commit()
q2="insert into sdetail values(%s,%s,%s,%s,%s);"
cursor.executemany(q2,l)
con.commit()
cursor.executemany("insert into stemp values(%s,%s,%s,%s,%s);",l)
con.commit()
q3="update item join stemp using(ino) set item.qoh = item.qoh-stemp.qty"
cursor.execute(q3)
con.commit()
cursor.execute("delete from stemp")
con.commit()
print("Item Purchased and Added")
else:

print("Supplier Not Found")

‘REPORT’ MODULE-

import mysql.connector as sqlt


import pandas as pd
from tabulate import tabulate

con = sqlt.connect(host = "localhost", user = "root", passwd = "sanjay", database = "library")

11
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

cursor = con.cursor()
def show_item():
df=pd.read_sql("select * from item",con)
print(tabulate(df,headers= 'keys', tablefmt='psql',showindex = False))
def show_customer():
df=pd.read_sql("select * from customer",con)
print(tabulate(df,headers= 'keys', tablefmt='psql',showindex = False))
def show_supplier():
df=pd.read_sql("select * from supplier",con)
print(tabulate(df,headers= 'keys', tablefmt='psql',showindex = False))
def show_sale():
bdate=input("enter beginning date")
edate=input("enter end date")
df=pd.read_sql("select * from smaster where sdate between '{}' and
'{}';".format(bdate,edate),con)
print(tabulate(df,headers= 'keys', tablefmt='psql',showindex = False))
def show_purchase():
bdate=input("enter beginning date")
edate=input("enter end date")
df=pd.read_sql("select * from pmaster where pdate between '{}' and
'{}';".format(bdate,edate),con)
print(tabulate(df,headers= 'keys', tablefmt='psql',showindex = False))
def best_product():
s=input("Enter Start date")
e=input("Enter End Date")
q="select s2.ino,sum(s2.qty) as total from smaster s1,sdetail s2 \
where s1.saleid = s2.saleid and s1.sdate between '{}' and '{}'\
group by s2.ino;".format(s,e)
df=pd.read_sql(q,con)
print(tabulate(df, headers='keys', tablefmt = 'psql', showindex=False))
plt.bar(df.ino,df.total)
plt.xlabel("Item Code")
plt.ylabel("Qty")
plt.title("Best Selling Product")
plt.xticks(df.ino)
plt.show()
def sale_performance():
y=input("Enter Year")
q="select month(sdate) as month,sum(total)\
as total from smaster where year(sdate) = '{}'\
and group by month(sdate);".format(y)
df = pd.read_sql(q,con)

12
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow

plt.plot(df.month,df.total)
plt.xlabel("Month")
plt.ylabel("Total Sale")
plt.xticks(df.month)
plt.show()

13

You might also like