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

IP Project PDF

This document describes an electricity billing system project developed using Java, JSP, and MySQL. The project aims to partially automate tasks performed by an electricity board like generating monthly bills, recording customer energy usage, and storing customer and payment records. The system has modules for customers, bills, and payments. Customers can view their bills and payment history, while admins can add, edit, delete customer and payment records and manage all bills. Testing was done using different methods. The source code, workflow, and outputs are also included.

Uploaded by

Asta
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)
164 views23 pages

IP Project PDF

This document describes an electricity billing system project developed using Java, JSP, and MySQL. The project aims to partially automate tasks performed by an electricity board like generating monthly bills, recording customer energy usage, and storing customer and payment records. The system has modules for customers, bills, and payments. Customers can view their bills and payment history, while admins can add, edit, delete customer and payment records and manage all bills. Testing was done using different methods. The source code, workflow, and outputs are also included.

Uploaded by

Asta
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

SNBP INTERNATIONAL SCHOOL

Morwadi

Informatics Practices Project


Electricity Billing System
Session: 2023-24

Submitted to : Barkha Gaud

Submitted by : Anupriya Kundu

Class : 12-C

Stream : Science (PCM)


SNBP INTERNATIONAL SCHOOL
MORWADI, PIMPRI, PUNE
CBSE AFFILIATION NO. 1130522

Certificate
This is to certify that,
Name of the Student ________________________________
Class _______________
Has successfully completed the project
Name of the Project _________________________________
Under the guidance and observation of
Name of the Teacher ________________________________
During the academic session 2022-2023, in the partial fulfilment of
Practical Examination conducted by AISSCE-2024.

Signature of the Teacher with Date _____________________________

Signature of the Principal with Date _____________________________

School Seal

Signature of the External Examiner _____________________________


Acknowledgement
I, __________________________________________ (name)
student of SNBP International School, Morwadi, Pimpri, Pune;
affiliated to CBSE Board vide Affiliation No. 1130522; would like
to express my gratitude to the Institution for the support and
knowledge I received in the school. I feel in debt towards Principal
Sweta Paithankar Madam and my teacher___________________
________________ who gave me an opportunity to do the project
___________________________________________________
(name of project) I, once again thank the school for providing me all
the facilities and excellent education. I am also grateful to my friends
and family for their faith in me.

Thank You All!

Signature of Student ___________________________

Date __________________

Signature of the Receiver________________________


INDEX
1. Introduction ................................................................................ 5

2. Objective of the Project ............................................................. 5

3. Proposed System ....................................................................... 6

4. Customer Module ...................................................................... 7


• Features of Customer Module ............................................. 7

5. Bill Module .................................................................................. 7


• Features of Bill Module ......................................................... 7

6. Payment Module ........................................................................ 8


• Features of Payment Module ............................................... 8

7. Functionality Performed by Customers .................................. 8

8. Functionality Performed by Admin .......................................... 9

9. Software Requirements ............................................................. 10

10. Technology Used in the Project ................................................ 10

11. Supported Operating System ................................................... 10

12. Testing ......................................................................................... 10


• Testing Methods .................................................................... 11

13. Workflow ..................................................................................... 12

14. Source Code ................................................................................ 13

15. Output ......................................................................................... 20

16. Bibliography ................................................................................ 22

IP 4
Introduction
We are providing electricity billing system project in java with source
code. The aim of our project is to develop a system that is meant to
partially computerize the work performed in the Electricity Board like
generating monthly electricity bill, record of consuming unit of energy,
store record of the customer and previous unpaid record. We used JSP
(Java Server Pages) as front end and MySQL as back end for
developing our project. This project Electricity Billing System has been
developed on Java, JSP and MySQL. There are two types of users
available in the project, first one is Customer and second one is
Admin. Customer user have limited access right to access the system,
while the admin users have full control over the system. We can
develop easy java projects code for students who want to use java
software projects to learn. We have used JSP for frontend logic
implementation, Java for business logic, MySQL as a database, HTML
for structure designing, CSS for web page formatting, JavaScript for
form validation and animation. Here students can get java projects
with source code free download. Rest of the things I have listed below.
I have also attached the project video and screens of this project look
into it.

Objective of the Project


The objective of this project is to apply the programming knowledge
into a real- world situation / problem and exposed the students how
programming skills helps in developing a good software.

• Write programs utilizing modern software tools.


• Apply object-oriented programming principles effectively when
developing small to medium sized projects.

IP 5
• Write effective procedural code to solve small to medium sized
problems.
• Students will demonstrate a breadth of knowledge in computer
science, as exemplified in the areas of systems, theory and
software development.
• Students will demonstrate ability to conduct a research or
applied Computer Science project, requiring writing and
presentation skills which exemplify scholarly style in computer
science.

Proposed System
One has to use the data management software. Software has been an
ascent in atomization various organisations. Many software products
working are now in markets, which have helped in making the
organizations work easier and efficiently. Data management initially
had to maintain a lot of ledgers and a lot of paperwork has to be done
but now software production, this organization has made their work
faster and easier. Now only this software has to be loaded on the
computer and work can be done.

This prevents a lot of time and money. The work becomes fully
automated and any information regarding the organization can be
obtained by clicking the button. Moreover, now it’s an age of
computers of and automating such an organization gives the better
look.

Modules and Description of the project is explained below.

IP 6
Customer Module
The main aim of this module is provide all the functionality related to
customer. It tracks all the information of the customer. We have
developed all type of CRUD (Create, Read, Update and Delete)
operations of the customer. This is a role based module where admin
can perform each and every operations on data but the customer will
be able to view only his/her data, so access level restrictions has also
been implemented on the project.

Features of Customer Module


• Admin can add new customer records
• Admin can see the list of customer details
• Only admin can edit and update the record of the customer
• Admin will be able to delete the records of the customer
• All customer forms are validated on client side using JavaScript

Bill Module
The main aim for developing this module is to manage the bill. This bill
module is the main module in this project Elctricity Billing
System which has been developed on Java, JSP and MySQL. Here we
are providing easy java projects with source code. So all bill will be
managed by admin. It tracks all the information of the bill. We have
developed all type of CRUD (Create, Read, Update and Delete)
operations of the bill. Customer will be able to see his bill details.

Features of Bill Module


• Admin can manage the bill
• Admin can edit/delete the bill
• Admin can see the list of all bill
• Customer can see his bill

IP 7
Payment Module
The main aim of this module is provide all the functionality realted to
payment. It tracks all the information and details of the payment.
Admin will manage all payment and customer will be able to see their
connection. Students get free download java projects with source code
and database.

Features of Payment Module


• Admin can add new payment
• Admin can see the list of payment details
• Only admin can edit and update the record of the payment
• Admin will be able to delete the records of the payment
• All payment forms are validated on client side using JavaScript

Functionality Performed by Customer user


• Registration for Customer
• Login For Customer
• Forgot password for Customer
• Change Password for Customer
• Edit Profile For Customer
• View his Payment History
• View his Bill History

IP 8
Functionality Performed by admin user
• Login For Admin
• Forgot password for Admin
• Edit Profile For Admin
• Manage Customer
o Adding New Customer
o Edit the Exiting Customer
o View Profile of the Customer
o Listing of all Customer
• Manage Bills
o Add Bills of the Customer
o View Details of the Bills
o Listing of all Bills
o Filter Bills according to Customer
• Manage Payments
o Add Payments of Customer
o Listing of the Payments
o Filter Payments according to Customer
• Reports of the project
o Report of all Customer
o Report of all Bills
o Report of all Payments

IP 9
Software Requirements
• Windows OS
• Python

Technology Used in the Project


• HTML: Page layout has been designed in HTML
• CSS: CSS has been used for all the desigining part
• Java: All the business logic has been implemented in Java
• MySQL: MySQL database has been used as database for the
project

Supported Operating System


• Windows: This project can easily be configured on windows
operating system. For running this project on Windows system,
you will have to install Tomcat 7, JDK 7, MySQL 5.
• Linux: We can run this project also on all versions of Linux
operating system
• Mac: We can also easily configured this project on Mac operating
system.

Testing
Software Testing is an empirical investigation conducted to provide
stakeholders with information about the quality of the product or
service under test, with respect to the context in which it is intended
to operate. Software Testing also provides an objective, independent
view of the software to allow the business to appreciate and
understand the risks at implementation of the software. Test
techniques include, but are not limited to, the process of executing a
program or application with the intent of finding software bugs.

IP 10
It can also be stated as the process of validating and verifying that a
software program/application/product meets the business and
technical requirements that guided its design and development, so
that it works as expected and can be implemented with the same
characteristics. Software Testing, depending on the testing method
employed, can be implemented at any time in the development
process, however the most test effort is employed after the
requirements have been defined and coding process has been
completed.

Testing Methods
Software testing methods are traditionally divided into black box
testing and white box testing. These two approaches are used to
describe the point of view that a test engineer takes when designing
test cases.

IP 11
Workflow

IP 12
Source Code

from tkinter import *


import random

class Bill_App:
def __init__(self,root):
self.root = root
self.root.geometry("1300x700+0+0")
self.root.maxsize(width = 1280,height = 700)
self.root.minsize(width = 1280,height = 700)
self.root.title("Billing Software")

#====================Variables========================#
self.cus_name = StringVar()
self.c_phone = StringVar()
#For Generating Random Bill Numbers
x = random.randint(1000,9999)
self.c_bill_no = StringVar()
#Seting Value to variable
self.c_bill_no.set(str(x))

self.bath_soap = IntVar()
self.face_cream = IntVar()
self.face_wash = IntVar()
self.hair_spray = IntVar()
self.body_lotion = IntVar()
self.rice = IntVar()
self.daal = IntVar()
self.food_oil = IntVar()
self.wheat = IntVar()
self.sugar = IntVar()
self.maza = IntVar()
self.coke = IntVar()
self.frooti = IntVar()
self.nimko = IntVar()
self.biscuits = IntVar()
self.total_cosmetics = StringVar()
self.total_grocery = StringVar()
self.total_other = StringVar()
self.tax_cos = StringVar()
self.tax_groc = StringVar()
self.tax_other = StringVar()

#===================================
bg_color = "#074463"
fg_color = "white"
lbl_color = 'white'
#Title of App
title = Label(self.root,text = "Billing Software",bd = 12,relief =
GROOVE,fg = fg_color,bg = bg_color,font=("times new roman",30,"bold"),pady =
3).pack(fill = X)

#==========Customers Frame==========#
F1 = LabelFrame(text = "Customer Details",font = ("time new
roman",12,"bold"),fg = "gold",bg = bg_color,relief = GROOVE,bd = 10)
F1.place(x = 0,y = 80,relwidth = 1)

#===============Customer Name===========#

IP 13
cname_lbl = Label(F1,text="Customer Name",bg = bg_color,fg =
fg_color,font=("times new roman",15,"bold")).grid(row = 0,column = 0,padx =
10,pady = 5)
cname_en = Entry(F1,bd = 8,relief = GROOVE,textvariable =
self.cus_name)
cname_en.grid(row = 0,column = 1,ipady = 4,ipadx = 30,pady = 5)

#=================Customer Phone==============#
cphon_lbl = Label(F1,text = "Phone No",bg = bg_color,fg =
fg_color,font = ("times new roman",15,"bold")).grid(row = 0,column = 2,padx
= 20)
cphon_en = Entry(F1,bd = 8,relief = GROOVE,textvariable =
self.c_phone)
cphon_en.grid(row = 0,column = 3,ipady = 4,ipadx = 30,pady = 5)

#====================Customer Bill No==================#


cbill_lbl = Label(F1,text = "Bill No.",bg = bg_color,fg =
fg_color,font = ("times new roman",15,"bold"))
cbill_lbl.grid(row = 0,column = 4,padx = 20)
cbill_en = Entry(F1,bd = 8,relief = GROOVE,textvariable =
self.c_bill_no)
cbill_en.grid(row = 0,column = 5,ipadx = 30,ipady = 4,pady = 5)

#====================Bill Search Button===============#


bill_btn = Button(F1,text = "Enter",bd = 7,relief = GROOVE,font =
("times new roman",12,"bold"),bg = bg_color,fg = fg_color)
bill_btn.grid(row = 0,column = 6,ipady = 5,padx = 60,ipadx = 19,pady
= 5)

#==================Cosmetics Frame=====================#
F2 = LabelFrame(self.root,text = 'Cosmetics',bd = 10,relief =
GROOVE,bg = bg_color,fg = "gold",font = ("times new roman",13,"bold"))
F2.place(x = 5,y = 180,width = 325,height = 380)

#===========Frame Content
bath_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Bath Soap")
bath_lbl.grid(row = 0,column = 0,padx = 10,pady = 20)
bath_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.bath_soap)
bath_en.grid(row = 0,column = 1,ipady = 5,ipadx = 5)

#=======Face Cream
face_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Face Cream")
face_lbl.grid(row = 1,column = 0,padx = 10,pady = 20)
face_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.face_cream)
face_en.grid(row = 1,column = 1,ipady = 5,ipadx = 5)

#========Face Wash
wash_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Face Wash")
wash_lbl.grid(row = 2,column = 0,padx = 10,pady = 20)
wash_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.face_wash)
wash_en.grid(row = 2,column = 1,ipady = 5,ipadx = 5)

#========Hair Spray
hair_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Hair Spray")
hair_lbl.grid(row = 3,column = 0,padx = 10,pady = 20)
hair_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.hair_spray)

IP 14
hair_en.grid(row = 3,column = 1,ipady = 5,ipadx = 5)

#============Body Lotion
lot_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Body Lotion")
lot_lbl.grid(row = 4,column = 0,padx = 10,pady = 20)
lot_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.body_lotion)
lot_en.grid(row = 4,column = 1,ipady = 5,ipadx = 5)

#==================Grocery Frame=====================#
F2 = LabelFrame(self.root,text = 'Grocery',bd = 10,relief =
GROOVE,bg = bg_color,fg = "gold",font = ("times new roman",13,"bold"))
F2.place(x = 330,y = 180,width = 325,height = 380)

#===========Frame Content
rice_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Rice")
rice_lbl.grid(row = 0,column = 0,padx = 10,pady = 20)
rice_en = Entry(F2,bd = 8,relief = GROOVE,textvariable = self.rice)
rice_en.grid(row = 0,column = 1,ipady = 5,ipadx = 5)

#=======
oil_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Food Oil")
oil_lbl.grid(row = 1,column = 0,padx = 10,pady = 20)
oil_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.food_oil)
oil_en.grid(row = 1,column = 1,ipady = 5,ipadx = 5)

#=======
daal_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Daal")
daal_lbl.grid(row = 2,column = 0,padx = 10,pady = 20)
daal_en = Entry(F2,bd = 8,relief = GROOVE,textvariable = self.daal)
daal_en.grid(row = 2,column = 1,ipady = 5,ipadx = 5)

#========
wheat_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Wheat")
wheat_lbl.grid(row = 3,column = 0,padx = 10,pady = 20)
wheat_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.wheat)
wheat_en.grid(row = 3,column = 1,ipady = 5,ipadx = 5)

#============
sugar_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Sugar")
sugar_lbl.grid(row = 4,column = 0,padx = 10,pady = 20)
sugar_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.sugar)
sugar_en.grid(row = 4,column = 1,ipady = 5,ipadx = 5)

#==================Other Stuff=====================#

F2 = LabelFrame(self.root,text = 'Others',bd = 10,relief = GROOVE,bg


= bg_color,fg = "gold",font = ("times new roman",13,"bold"))
F2.place(x = 655,y = 180,width = 325,height = 380)

#===========Frame Content
maza_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Maza")
maza_lbl.grid(row = 0,column = 0,padx = 10,pady = 20)
maza_en = Entry(F2,bd = 8,relief = GROOVE,textvariable = self.maza)

IP 15
maza_en.grid(row = 0,column = 1,ipady = 5,ipadx = 5)

#=======
cock_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Coke")
cock_lbl.grid(row = 1,column = 0,padx = 10,pady = 20)
cock_en = Entry(F2,bd = 8,relief = GROOVE,textvariable = self.coke)
cock_en.grid(row = 1,column = 1,ipady = 5,ipadx = 5)

#=======
frooti_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Frooti")
frooti_lbl.grid(row = 2,column = 0,padx = 10,pady = 20)
frooti_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.frooti)
frooti_en.grid(row = 2,column = 1,ipady = 5,ipadx = 5)

#========
cold_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Nimkos")
cold_lbl.grid(row = 3,column = 0,padx = 10,pady = 20)
cold_en = Entry(F2,bd = 8,relief = GROOVE,textvariable = self.nimko)
cold_en.grid(row = 3,column = 1,ipady = 5,ipadx = 5)

#============
bis_lbl = Label(F2,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Biscuits")
bis_lbl.grid(row = 4,column = 0,padx = 10,pady = 20)
bis_en = Entry(F2,bd = 8,relief = GROOVE,textvariable =
self.biscuits)
bis_en.grid(row = 4,column = 1,ipady = 5,ipadx = 5)

#===================Bill Aera================#
F3 = Label(self.root,bd = 10,relief = GROOVE)
F3.place(x = 960,y = 180,width = 325,height = 380)
#===========
bill_title = Label(F3,text = "Bill Area",font =
("Lucida",13,"bold"),bd= 7,relief = GROOVE)
bill_title.pack(fill = X)

#============
scroll_y = Scrollbar(F3,orient = VERTICAL)
self.txt = Text(F3,yscrollcommand = scroll_y.set)
scroll_y.pack(side = RIGHT,fill = Y)
scroll_y.config(command = self.txt.yview)
self.txt.pack(fill = BOTH,expand = 1)

#===========Buttons Frame=============#
F4 = LabelFrame(self.root,text = 'Bill Menu',bd = 10,relief =
GROOVE,bg = bg_color,fg = "gold",font = ("times new roman",13,"bold"))
F4.place(x = 0,y = 560,relwidth = 1,height = 145)

#===================
cosm_lbl = Label(F4,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Total Cosmetics")
cosm_lbl.grid(row = 0,column = 0,padx = 10,pady = 0)
cosm_en = Entry(F4,bd = 8,relief = GROOVE,textvariable =
self.total_cosmetics)
cosm_en.grid(row = 0,column = 1,ipady = 2,ipadx = 5)

#===================
gro_lbl = Label(F4,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Total Grocery")
gro_lbl.grid(row = 1,column = 0,padx = 10,pady = 5)

IP 16
gro_en = Entry(F4,bd = 8,relief = GROOVE,textvariable =
self.total_grocery)
gro_en.grid(row = 1,column = 1,ipady = 2,ipadx = 5)

#================
oth_lbl = Label(F4,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Others Total")
oth_lbl.grid(row = 2,column = 0,padx = 10,pady = 5)
oth_en = Entry(F4,bd = 8,relief = GROOVE,textvariable =
self.total_other)
oth_en.grid(row = 2,column = 1,ipady = 2,ipadx = 5)

#================
cosmt_lbl = Label(F4,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Cosmetics Tax")
cosmt_lbl.grid(row = 0,column = 2,padx = 30,pady = 0)
cosmt_en = Entry(F4,bd = 8,relief = GROOVE,textvariable =
self.tax_cos)
cosmt_en.grid(row = 0,column = 3,ipady = 2,ipadx = 5)

#=================
grot_lbl = Label(F4,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Grocery Tax")
grot_lbl.grid(row = 1,column = 2,padx = 30,pady = 5)
grot_en = Entry(F4,bd = 8,relief = GROOVE,textvariable =
self.tax_groc)
grot_en.grid(row = 1,column = 3,ipady = 2,ipadx = 5)

#==================
otht_lbl = Label(F4,font = ("times new roman",15,"bold"),fg =
lbl_color,bg = bg_color,text = "Others Tax")
otht_lbl.grid(row = 2,column = 2,padx = 10,pady = 5)
otht_en = Entry(F4,bd = 8,relief = GROOVE,textvariable =
self.tax_other)
otht_en.grid(row = 2,column = 3,ipady = 2,ipadx = 5)

#====================
total_btn = Button(F4,text = "Total",bg = bg_color,fg =
fg_color,font=("lucida",12,"bold"),bd = 7,relief = GROOVE,command =
self.total)
total_btn.grid(row = 1,column = 4,ipadx = 20,padx = 30)

#========================
genbill_btn = Button(F4,text = "Generate Bill",bg = bg_color,fg =
fg_color,font=("lucida",12,"bold"),bd = 7,relief = GROOVE,command =
self.bill_area)
genbill_btn.grid(row = 1,column = 5,ipadx = 20)

#====================
clear_btn = Button(F4,text = "Clear",bg = bg_color,fg =
fg_color,font=("lucida",12,"bold"),bd = 7,relief = GROOVE,command =
self.clear)
clear_btn.grid(row = 1,column = 6,ipadx = 20,padx = 30)

#======================
exit_btn = Button(F4,text = "Exit",bg = bg_color,fg =
fg_color,font=("lucida",12,"bold"),bd = 7,relief = GROOVE,command =
self.exit)
exit_btn.grid(row = 1,column = 7,ipadx = 20)

#Function to get total prices


def total(self):
#=================Total Cosmetics Prices
self.total_cosmetics_prices = (

IP 17
(self.bath_soap.get() * 40)+
(self.face_cream.get() * 140)+
(self.face_wash.get() * 240)+
(self.hair_spray.get() * 340)+
(self.body_lotion.get() * 260)
)
self.total_cosmetics.set("Rs. "+str(self.total_cosmetics_prices))
self.tax_cos.set("Rs.
"+str(round(self.total_cosmetics_prices*0.05)))
#====================Total Grocery Prices
self.total_grocery_prices = (
(self.wheat.get()*100)+
(self.food_oil.get() * 180)+
(self.daal.get() * 80)+
(self.rice.get() *80)+
(self.sugar.get() * 170)

)
self.total_grocery.set("Rs. "+str(self.total_grocery_prices))
self.tax_groc.set("Rs. "+str(round(self.total_grocery_prices*0.05)))
#======================Total Other Prices
self.total_other_prices = (
(self.maza.get() * 20)+
(self.frooti.get() * 50)+
(self.coke.get() * 60)+
(self.nimko.get() * 20)+
(self.biscuits.get() * 20)
)
self.total_other.set("Rs. "+str(self.total_other_prices))
self.tax_other.set("Rs. "+str(round(self.total_other_prices*0.05)))

#Function For Text Area


def welcome_soft(self):
self.txt.delete('1.0',END)
self.txt.insert(END," Welcome To Hanan's Retail\n")
self.txt.insert(END,f"\nBill No. : {str(self.c_bill_no.get())}")
self.txt.insert(END,f"\nCustomer Name : {str(self.cus_name.get())}")
self.txt.insert(END,f"\nPhone No. : {str(self.c_phone.get())}")
self.txt.insert(END,"\n===================================")
self.txt.insert(END,"\nProduct Qty Price")
self.txt.insert(END,"\n===================================")

#Function to clear the bill area


def clear(self):
self.txt.delete('1.0',END)

#Add Product name , qty and price to bill area


def bill_area(self):
self.welcome_soft()
if self.bath_soap.get() != 0:
self.txt.insert(END,f"\nBath Soap {self.bath_soap.get()}
{self.bath_soap.get() * 40}")
if self.face_cream.get() != 0:
self.txt.insert(END,f"\nFace Cream
{self.face_cream.get()} {self.face_cream.get() * 140}")
if self.face_wash.get() != 0:
self.txt.insert(END,f"\nFace Wash {self.face_wash.get()}
{self.face_wash.get() * 240}")
if self.hair_spray.get() != 0:
self.txt.insert(END,f"\nHair Spray
{self.hair_spray.get()} {self.hair_spray.get() * 340}")
if self.body_lotion.get() != 0 :
self.txt.insert(END,f"\nBody Lotion

IP 18
{self.body_lotion.get()} {self.body_lotion.get() * 260}")
if self.wheat.get() != 0:
self.txt.insert(END,f"\nWheat {self.wheat.get()}
{self.wheat.get() * 100}")
if self.food_oil.get() != 0:
self.txt.insert(END,f"\nFood Oil {self.food_oil.get()}
{self.food_oil.get() * 180}")
if self.daal.get() != 0:
self.txt.insert(END,f"\nDaal {self.daal.get()}
{self.daal.get() * 80}")
if self.rice.get() != 0:
self.txt.insert(END,f"\nRice {self.rice.get()}
{self.rice.get() * 80}")
if self.sugar.get() != 0:
self.txt.insert(END,f"\nSugar {self.sugar.get()}
{self.sugar.get() * 170}")
if self.maza.get() != 0:
self.txt.insert(END,f"\nMaza {self.maza.get()}
{self.maza.get() * 20}")
if self.frooti.get() != 0:
self.txt.insert(END,f"\nFrooti {self.frooti.get()}
{self.frooti.get() * 50}")
if self.coke.get() != 0:
self.txt.insert(END,f"\nCoke {self.coke.get()}
{self.coke.get() * 60}")
if self.nimko.get() != 0:
self.txt.insert(END,f"\nNimko {self.nimko.get()}
{self.nimko.get() * 20}")
if self.biscuits.get() != 0:
self.txt.insert(END,f"\nBiscuits {self.biscuits.get()}
{self.biscuits.get() * 20}")
self.txt.insert(END,"\n===================================")
self.txt.insert(END,f"\n Total :
{self.total_cosmetics_prices+self.total_grocery_prices+self.total_other_pric
es+self.total_cosmetics_prices * 0.05+self.total_grocery_prices *
0.05+self.total_other_prices * 0.05}")

#Function to exit
def exit(self):
self.root.destroy()

#Function To Clear All Fields

root = Tk()
object = Bill_App(root)
root.mainloop()

IP 19
Output

IP 20
IP 21
Bibliography
• www.wikipedia.org
• www.w3schools.com
• www.w3resource.com
• www.python.org

Help from teachers, Information Practices Text Book, and experiments


done in Computer Lab.

IP 22
Thank You

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy