0% found this document useful (0 votes)
60 views23 pages

Medicine Stock Checking System

The document describes a medicine stock checking system project that uses Python and SQL to manage a database of medicine stock. The system allows adding, searching, updating, selling and disposing of medicines as well as viewing reports and statistics.

Uploaded by

arrowblinds2.0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views23 pages

Medicine Stock Checking System

The document describes a medicine stock checking system project that uses Python and SQL to manage a database of medicine stock. The system allows adding, searching, updating, selling and disposing of medicines as well as viewing reports and statistics.

Uploaded by

arrowblinds2.0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

MAHARISHI VIDYA MANDIR

SENIOR SECONDARY SCHOOL


POLACHERY

COMPUTER SCIENCE PROJECT


MEDICINE STOCK CHECKING
SYSTEM

NAME- T.S.HARSHITHA
CLASS- XII-A2
YEAR-2021-2022
CONTENTS
1.BONAFIDE CERTIFICATE
2. ACKNOWLEDGEMENT
3. INTRODUCTION TO THE PROJECT
4. PROBLEM DEFINITION
5. PROBLEM ANALYSIS
6. HARDWARE AND SOFTWARE REQUIREMENTS
7. FUTURE ENHANCEMENT OUTPUT
8. SOURCE CODE
9.OUTPUT
10.BIBLIOGRAPHY
INTRODUCTION TO THE PROJECT

The Medicine Stock Checking System software is an ERP software used by


medicine shops or medicine dealers for wholesale/retail business. This software
stores details of medicines and helps us to search medicines by their name and
manufacturer. It is possible to edit medicine cost and sell the medicine. The
balance i.e. due amount of the stock can also be checked. If the medicine is
expired ,the system has the provision to dispose it to the system specified
warehourse. The program is also useful to check the details of the expired
medicines.
PROBLEM DEFINITION
The aim of our project is to make Medicine Stock Checking System software is
Organized and computerized to add ,dispose ,update and give graphical
representation of the stock of medicines using Python connectivity with
SQL,SQL (Structed Query Language) and Matplotlib.
PROBLEM ANALYSIS
System Analysis is the process of gathering and interpreting facts, diagnosing
problem and using the information to recommend improvements to the system.
The Medicine Stock Checking System software is an ERP software used by
medicine shops or medicine dealers for wholesale/retail business. This software
stores details of medicines and helps us to search medicines by their name and
manufacturer. It is possible to edit medicine cost and sell the medicine. The
balance i.e. due amount of the stock can also be checked. If the medicine is
expired ,the system has the provision to dispose it to the system specified
warehourse. The program is also useful to check the details of the expired
medicines.
SYSTEM REQUIREMENTS

HARDWARE REQUIREMENT:
⦁ Printer- to print the required documents of the project.
⦁ Compact Drive
⦁ Proccesor: Pentium III and above
⦁ RAM: 256 MB(minimum)
⦁ Hard-Disk : 20 GB(minimum)
SOFTWARE REQUIREMENT:
⦁ Windows 7 or higher
⦁ My-SQL server 5.5 or higher (as backend)
⦁ Python idle 3.6 or higher or spyder (as frontend).
⦁ Microsoft Word 2010 or higher for documentation.
FUTURE ENHANCEMENT

⦁ To maintain the medicine stock details, sell medicine, update stock details,
providing medicine amount enquiry by simple search technique.
⦁ To dispose medicines which are expired and provide the facility to search
the disposed medicines.
⦁ To display the amount, sold amount, balance amount of a particular
medicine by graphical analysis technique.
⦁ Globalized usage.
SOURCE CODE
import os
import random
import datetime
import mysql.connector
import matplotlib.pyplot as plt

mycon=mysql.connector.connect(host='localhost',user='root',password='har12',database='Me
dicineStock')
mycur=mycon.cursor()
def Store():
sql="Insert into
stock(batch_no,name,manuf,date_man,date_exp,quantity,sell,balance,cost_unit)values(%s,%
s,%s,%s,%s,%s,%s,%s,%s)"
print('\nPLEASE PROVIDE THE REQUIRED INFORMATION\n')
acc=int(input('\nENTER THE BATCH NUMBER:'))
nm=input('\nENTER THE NAME OF THE MEDICINE WITH POWER:')
addr=input('\nENTER THE NAME OF THE MANUFACTURER:')
dbs=input('\nENTER THE DATE OF MANUFACTURE(YYYY-MM-DD):')
dacc=input('\nENTER THE DATE OF EXPIRY(YYYY-MM-DD):')
quan=int(input('\nENTER THE QUANTITY OF THE IMPORTED MEDICINE:'))

sell=0
balance=quan
cost=int(input('\nENTER THE COST OF THE IMPORTED MEDICINE PER UNIT:'))
Graph= plt.show()
value=(acc,nm,addr,dbs,dacc,quan,sell,balance,cost)
try:
mycur.execute(sql,value)
print(nm,'ADDED TO THE STOCK')
mycon.commit()
except:
print('UNABLE TO ADD MEDICINE!!!!!')

def Search_by_Name():
ph=input('\nENTER THE MEDICINE NAME TO SEARCH:')
sql="Select * from Stock where name=%s"
value=(ph,)
mycur.execute(sql,value)
rec=mycur.fetchone()
if(rec==None):
print(ph,'IS NOT AVAILABLE')
else:

print('BATCH NUMBER:\t',rec[0])
print('MEDICINE NAME:\t',rec[1])
print('MANUFACTURER:\t',rec[2])

print('DATE OF MANUFACTURE:\t',rec[3])
print('DATE OF EXPIRY:\t',rec[4])
print('QUANITTY STORED:\t',rec[5])
print('INITIAL COST:\t',rec[8])

def Search_by_Manu():
ph=input('\nENTER THE MANUFACTURER NAME TO SEARCH:')
sql="Select name from Stock where manuf=%s"
value=(ph,)
mycur.execute(sql,value)
rec=mycur.fetchall()
if(rec==None):
print(ph,'IS A WRONG MANUFACTURER')
else:
print('----------MEDICINES MANUFACTURED BY',ph,'--------------------')
for nm in rec:
print(nm[0])

def Cost_Update():
sql="Update stock set cost_unit=%s where name=%s";
ph=input('\nENTER THE MEDICINE NAME TO CHANGE COST:')
addr=int(input('\nENTER THE NEW COST PER UNIT:'))
value=(addr,ph)

try:
mycur.execute(sql,value)
mycon.commit()
print('NEW COST OF',ph,'IS=RS',addr)
except:
print('UNABLE TO CHANGE COST!!!!')

def Sell():
sql="Update stock set sell=%s,balance=%s where name=%s";
ph=input('\nENTER THE MEDICINE NAME TO SELL:')
addr=int(input('\nENTER THE QUANTITY TO SELL:'))
sql2='select quantity from stock where name=%s'
value2=(ph,)
mycur.execute(sql2,value2)
rec=mycur.fetchone()
if(addr>rec[0]):
print('INSUFFICIENT STOCK IN HAND!!!!!!')
Return
else:
balance=rec[0]-addr
value=(addr,balance,ph)
try:
mycur.execute(sql,value)
mycon.commit()
print(addr,'UNITS OF',ph,'SOLD')
print(balance,'UNITS LEFT')

except:
print('UNABLE TO SELL MEDICINE!!!!')
def Available():
ph=input('\nENTER THE MEDICINE NAME TO SEARCH:')
sql="Select balance from Stock where name=%s"
value=(ph,)
mycur.execute(sql,value)
rec=mycur.fetchone()
if(rec==None):
print(ph,'IS NOT AVAILABLE')

else:
print(rec[0],'UNITS OF',ph,'IS AVAILABLE')

def Dispose():
sql="Insert into dispose(batch_no,name,date_exp,amount)values(%s,%s,%s,%s)"
nm=input('\nENTER THE MEDICINE NAME TO DISPOSE:')
sql2="Select batch_no,name,date_exp,balance from stock where name=%s and
date_exp<=%s"
t_date=datetime.date.today()
value2=(nm,t_date)
mycur.execute(sql2,value2)
rec=mycur.fetchone()
if(rec==None):
print(nm,'IS NOT EXPIRED YET')

else:
print(nm,'IS EXPIRED')
c=int(input('\nPRESS 1 TO DISPOSE IT:'))
if(c==1):
b=rec[0]
n=rec[1]
d=rec[2]
am=rec[3]
value=(b,n,d,am)
sql3='Delete from stock where name=%s'
value3=(n,)
try:
mycur.execute(sql,value)
mycon.commit()
print(n,'SUCCESSFULLY DISPOSED')
mycur.execute(sql3,value3)
mycon.commit()
except:
print('UNABLE TO DISPOSE MEDICINE')
else:
print('WARNING!!!!!',nm,'MUST BE DISPOSED LATER')
return

def Search_Dispose():
ph=input('\nENTER THE DISPOSED MEDICINE NAME TO SEARCH:')
sql="Select * from Dispose where name=%s"
value=(ph,)
mycur.execute(sql,value)
rec=mycur.fetchone()
if(rec==None):
print(ph,'IS NOT AVAILABLE')
else:
print('BATCH NUMBER:\t',rec[0])
print('MEDICINE NAME:\t',rec[1]
print('DATE OF EXPIRY:\t',rec[2])
print('BALANCE AMOUNT:\t',rec[3])

def Graph():
ad=input('ENTER MEDICINE NAME:')
sql='Select * from stock where name=%s'
value=(ad,)
mycur.execute(sql,value)
T=mycur.fetchone()
N=[T[5],T[6],T[7]]
L=['QUANTITY','SELL','BALANCE']
clr=('red','blue','green')
plt.bar(L,N,color=clr)
plt.xlabel('MEDICINE STATUS')
plt.ylabel('VALUES')
plt.title('MEDICINE QUANITTY-SELL-BALANCE')
plt.show()

def Close():
os.system('cls')
print('\nTHANK YOU FOR USING THE APPLICATION')
quit()
print('------------WELCOME TO MEDICINE STOCK CHECKING SYSTEM-------------
\n\n')
while(True):
os.system('cls')
print('\n\nPRESS 1 TO ADD A NEW MEDICINE')
print('PRESS 2 TO SEARCH A MEDICINE BY NAME')
print('PRESS 3 TO SEARCH A MEDICINE BY MANUFACTURER')

print('PRESS 4 TO UPDATE MEDICINE COST')


print('PRESS 5 TO SELL MEDICINE')
print('PRESS 6 TO CHECK AVAILABILITY')
print('PRESS 7 TO DISPOSE EXPIRED MEDICINE')
print('PRESS 8 TO SEARCH EXPIRED MEDICINE BY NAME')
print('PRESS 9 TO TO VIEW QUANTITY,SELL,BALANCE GRAPHICALLY')
print('PRESS 10 TO CLOSE THE APPLICATION')
choice=int(input('ENTER YOUR CHOICE : '))
if(choice==1):
os.system('cls')
Store()
elif(choice==2):
os.system('cls')
Search_by_Name()

elif(choice==3):
os.system('cls')
Search_by_Manu()
elif(choice==4):
os.system('cls')
Cost_Update()
elif(choice==5):
os.system('cls')
Sell()
elif(choice==6):
os.system('cls')
Available()
elif(choice==7):
os.system('cls')
Dispose()
elif(choice==8):
os.system('cls')
Search_Dispose()
elif(choice==9):
Graph()
elif(choice==10):
os.system('cls')
else:
Close()
OUTPUT

MAIN MENU

ADDING A NEW MEDCINE


SEARCHING MEDICINE BY NAME

SEARCHING MEDICINE BY MANUFACTURE

UPDATING MEDICINE COST


SELLING MEDICINE

CHECKING AVAILABILITY

DISPOSING MEDICINES
SEARCHING EXPIRED MEDICINE BY NAME

VIEW QUANTITY,SELL,BALANCE GRAPHICALLY


CLOSING THE APPLICATION
OUTPUT
• MAIN MENU
• ADDING A NEW MEDICINE
• SEARCHING MEDICINE BY NAME
• SEARCHING MEDICINE BY MANUFACTURER
• UPDATING MEDICINE COST
• SELLING MEDICINE
• CHECKING AVAILABILITY
• DISPOSING MEDICINES
• SEARCHING EXPIRED MEDICINE BY NAME
BIBLIOGRAPHY
BOOKS:
⦁ COMPUTER SCIENCE WITH PYTHON- BY SUMITA ARORA
⦁ PYTHON COOKBOOK

WEBSITES:
▪ www.geeksforgeeks.org
▪ https://docs.python.org/3/
▪ https://www.w3schools.com/python/

You might also like