You are on page 1of 27

A PROJECT REPORT

ON
“Beverage Inventory Management System”
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD OF

DIPLOMA IN COMPUTER ENGNEERING

SUBMITTED TO

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION, MUMBAI

SUBMITTED BY

Name of Student(s) (Full Name) Enrollment No.

1. Mundhe Keshav Govind. 2000940060

2.Kute Gopal Pralhad. 2000940065

3. Khandare Pravin Dattarao. 2000940083

GUIDED BY

Shri P.B.Kale sir

GOVERNMENT POLYTECHNIC JINTUR DISTRICT PARBHANI STATE -


MAHRASHTRA

Academic Year : 2022-2023

GOVERNMENT POLYTECHNIC JINTUR


DISTRICT - PARBHANI
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION
Certificate
This is to certify that Mr. /Ms. Mundhe K.G :: Kute G.P :: Khandare P.D. Roll No CO318,
CO322 , CO336 of FIFTH Semester of Diploma in Computer Engineering of Institute,
Government Polytechnic , Jintur (0094) has completed the Micro project satisfactorily
in Subject - Adavnce Java Programming (22517) for the academic year 2022-23 as
prescribed in the curriculum.

Place: ……………………. Enrollment No : …………………………………….

Date: ……………………… Exam. Seat No: …………………………………….

Subject Teacher Head of the Department Principal

Seal of
Institution

Page | - 1 -
Group Details
Name of group Enrollment Signature
Roll .No
members No

CO – 336 Khandare Pravin Dattarao 2000940083

CO - 322 Kute Gopal Pralhad 2000940065

CO - 318 Mundhe Keshav Govind 2000940060

Page | - 2 -
INDEX

SR.NO. CONTENT PAGE NO.

1 ABSTRACT
4
2 INTRODUCTION
5

3 CODING OF PROJECT
7

4 OUTPUT OF PROJECT
21

5 CONCLUSION
23

6 REFERENCES
23

Page | - 3 -
 PROJECT ABSTRACT :

 Inventories must be managed if the radiology manager is to maintain an efficient budget.


As pressures to reduce expenditures and streamline budgets in the health care industry
continue, an efficiently managed budget no longer remains an option. Technologists
must pay close attention to inappropriate uses of inventory items so that the radiology
manager is provided with appropriate information regarding current usages and
misusages. This responsibility cannot be solely vested in the functions of the radiology
manager, but must become a responsibility of which all technologists are cognizant.

 The Universal Product Code(UPC) was adopted by the grocery industry in April 1973 as
the standardbarcode for all grocers, though it was not introduced atretailinglocations until
1974. This helped drive
down costs for inventory management because retailers in the United
States and Canada didn’t have to purchase multiple barcode readers to
scan competing barcodes. There was now one primary barcode
for grocers and other retailers to buy one type of reader for.

 This further pushed downthe cost of barcodes and readers. It also allowed the first
versions of inventory management software tobe put into place. One of the biggest
hurdles in selling readers and barcodes to retailers was the fact that they didn’t have a
place to store the information th

 ey scanned. As computers became more common andaffordable, this hurdle was


overcome. Once barcodes and inventory management programs startedspreading
throughgrocery stores, inventory management by hand became less practical.

Page | - 4 -
 INTRODUCTION

Inventories must be managed if the radiology manager is to maintain an efficient budget. As


pressures to reduce expenditures and streamline budgets in the health care industry continue,
an efficiently managed budget no longer remains an option. Technologists must pay close
attention to inappropriate uses of inventory items so that the radiology manager is provided with
appropriate information regarding current usages and misusages. This responsibility cannot be
solely vested in the functions of the radiology manager, but must become a responsibility of
which all technologists are cognizant.

Inventory management refers to the process of ordering, storing, using, and selling a
company's inventory. This includes the management of raw materials, components, and
finished products, as well as warehousing and processing of such items

Among the tectonic shifts happening across the retail industry, count one that will resonate
far into the future: the drive toward customer adaptivity. Long in the making, the customer-
adaptive experience is a natural evolution – the next generation of the “multichannel” business
model – that places the customer squarely in the center of the entire company culture.

While the move into e-commerce has largely been successful for most retailers, the fact is
that in-store and online channels are two separate processes – and for the shopper, it feels that
way. Instead, what about creating a customer channel? What about building predictive
capabilities for each shopper while simultaneously developing their trust? What about ensuring
that decision-making throughout the enterprise, from the warehouse to the point of sale, is
motivated by customer

satisfaction? Those are the fundamentals of customer-adaptive retail, and that’s where
the leaders are quickly moving. Besides a transformative shift in company culture, they are
eliminating technology silos and unifying processes for a truly seamless customer experience.
And they are embracing cloud computing for fast innovation.

Page | - 5 -
Inventory management helps companies identify which and how much stock to order at
what time. It tracks inventory from purchase to the sale of goods. The practice identifies and
responds to trends to ensure there’s always enough stock to fulfill customer orders and proper
warning of a shortage. Once sold, inventory becomes revenue. Before it sells, inventory
(although reported as an asset on the balance sheet) ties up cash. Therefore, too much stock
costs money and reduces cash flow. One measurement of good inventory management is
inventory turnover. An accounting measurement, inventory turnover reflects how often stock is
sold in a period. A business does not want more stock than sales. Poor inventory turnover can
lead to deadstock, or unsold stock.

Why Is Inventory Management Important?

Inventory management is vital to a company’s health because it helps make sure there is
rarely too much or too little stock on hand, limiting the risk of stockouts and inaccurate records
Public companies must track inventory as a requirement for compliance with Securities and
Exchange Commission (SEC) rules and the Sarbanes-Oxley (SOX) Act. Companies must
document their management processes to prove compliance.

Page | - 6 -
 CODING OF PROJECT
Project.java

import java.sql.*
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.*;
public class Project implements ActionListener,ItemListener {
Frame fl, f2;
JFrame frame, frame2;
Choice cl;
Button b, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12;//b12 add a textfield
TextField t1, t2, t3, t4, t5, t6, t7, t8;
Dialog dl;
Label l1, l2, l3, l4, l5, l6, l7, l8;
JLabel l9;
Color clr1 = new Color(51, 255, 153);
Color clr2 = new Color(166, 166, 166);
Color clr3 = new Color(153, 153, 153);
Project() throws SQLException, ClassNotFoundException {
l9 = new JLabel("<html>Beverage Iventory Management System<br> </html>");
l9.setBounds(100, 50, 200, 100);
dl = new Dialog(frame, "Project Info", true);
dl.setLayout(null);
b = new Button("OK");

Page | - 7 -
b.setBounds(150, 200, 20, 20);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dl.setVisible(false);
}
});
dl.add(l9);
dl.add(b);
dl.setBounds(600, 300, 350, 300);
frame = new CurrentStock();
frame.setTitle("Current Stock");
frame.setSize(500, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
frame2 = new JFrame();
frame2.setTitle("Sales Log");
frame2.setSize(500, 300);
frame2.setLocationRelativeTo(null);
frame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
fl = new Frame("Beverage Inventory Management");
fl.setLayout(null);
fl.setBounds(50, 50, 800, 800);
fl.setBackground(clr1);
cl = new Choice();
cl.add("Select Genre");
cl.setBounds(50, 100, 150, 50);
cl.addItemListener(this);

Page | - 8 -
b1 = new Button("Refresh");
b1.setBounds(50, 500, 150, 50);
b2 = new Button("Delete");
b2.setBounds(250, 500, 150, 50);
b3 = new Button("Add");
b3.setBounds(450, 500, 150, 50);
b7 = new Button("Update");
b7.setBounds(50, 600, 150, 50);
b8 = new Button("Sell");
b8.setBounds(250, 600, 150, 50);
b9 = new Button("Exit");
b9.setBounds(250, 700, 150, 50);
b10 = new Button("Show All");
b10.setBounds(450, 600, 150, 50);
b11 = new Button("Sales log");
b11.setBounds(50, 700, 150, 50);
b12 = new Button("More Info");
b12.setBounds(450, 700, 150, 50);
t1 = new TextField();
t2 = new TextField();
t1.setBounds(400, 100, 100, 30);
t1.setBackground(clr2);
t2.setBounds(400, 200, 100, 30);
t2.setBackground(clr2);
t3 = new TextField();
t3.setBounds(400, 300, 100, 30);
t3.setBackground(clr2);
t7 = new TextField();

Page | - 9 -
t7.setBounds(400, 400, 100, 30);
t7.setBackground(clr2);
l5 = new Label("Product Id");
l5.setBounds(250, 100, 150, 50);
l6 = new Label("Flavour");
l6.setBounds(250, 200, 150, 50);
l7 = new Label("Cost per Unit");
l7.setBounds(250, 300, 150, 50);
l8 = new Label("Units in Stock");
l8.setBounds(250, 400, 150, 50);
f2 = new Frame("Add new Flavour");
f2.setLayout(null);
f2.setBounds(50, 50, 700, 600);
l1 = new Label("Enter Id");
l1.setBounds(50, 50, 100, 50);
l2 = new Label("Enter Flavour");
l2.setBounds(50, 150, 100, 50);
l3 = new Label("Enter Cost");
l3.setBounds(50, 250, 100, 50);
l4 = new Label("Enter Quantity");
l4.setBounds(50, 350, 100, 50);
t4 = new TextField();
t4.setBounds(200, 50, 100, 50);
t5 = new TextField();
t5.setBounds(200, 150, 100, 50);
t6 = new TextField();
t6.setBounds(200, 250, 100, 50);

Page | - 10 -
t8 = new TextField();
t8.setBounds(200, 350, 100, 50);
b4 = new Button("Save");
b4.setBounds(50, 500, 100, 50);
b5 = new Button("Exit");
b5.setBounds(200, 500, 100, 50);
b6 = new Button("Clear");
b6.setBounds(350, 500, 100, 50);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
fl.add(t1);
fl.add(t2);
fl.add(t3);
fl.add(t7);
fl.add(cl);
fl.add(b1);
fl.add(b2);
fl.add(b3);

Page | - 11 -
fl.add(b7);
fl.add(b8);
fl.add(b9);
fl.add(b10);
fl.add(b11);
fl.add(b12);
fl.add(l5);
fl.add(l6);
fl.add(l7);
fl.add(l8);
f2.add(t4);
f2.add(t5);
f2.add(t6);
f2.add(t8);
f2.add(l1);
f2.add(l2);
f2.add(l3);
f2.add(l4);
f2.add(b4);
f2.add(b5);
f2.add(b6);
fl.setVisible(true);
Load();
}
public void actionPerformed(ActionEvent ae) {
try {
if (ae.getSource() == b1) {

Page | - 12 -
Load();
} else if (ae.getSource() == b2) {
mydelete();
} else if (ae.getSource() == b3) {
add();
} else if (ae.getSource() == b7) {
updateValue();
} else if (ae.getSource() == b8) {
sellprocedure();
} else if (ae.getSource() == b4) {
modify();
} else if (ae.getSource() == b10) {
frame.setVisible(true);
} else if (ae.getSource() == b11) {
frame2.setVisible(true);
} else if (ae.getSource() == b12) {
dl.setVisible(true);
} else if (ae.getSource() == b9) {
fl.dispose();
} else if (ae.getSource() == b5) {
f2.dispose();
} else if (ae.getSource() == b6) {
t4.setText("");
t5.setText("");
t6.setText("");
}
} catch (Exception e) {

Page | - 13 -
System.out.print("" + e);
}
}
public void itemStateChanged(ItemEvent ie) {
int no1;
no1 = Integer.parseInt(cl.getSelectedItem());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "");
Statement st = con.createStatement();
ResultSet rs;
String str;
str = "select * from Drinks where Id=" + no1;
rs = st.executeQuery(str);
rs.next();
t1.setText(rs.getInt(1) + "");
t2.setText(rs.getString(2));
t3.setText(rs.getInt(3) + "");
t7.setText(rs.getInt(4) + "");
rs.close();
con.close();
} catch (Exception e) {
System.out.print("" + e);
}
}
void Load() {

Page | - 14 -
try {
cl.removeAll();
cl.add("Select Id");
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "");
Statement st = con.createStatement();
ResultSet rs;
String str;
str = "select * from Drinks";
rs = st.executeQuery(str);
while (rs.next()) {
cl.add(+rs.getInt(1) + "");
}
rs.close();
con.close();
} catch (Exception e) {
System.out.print("" + e);
}
}
void mydelete() {
int no1;
no1 = Integer.parseInt(cl.getSelectedItem());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "");
Statement st = con.createStatement();

Page | - 15 -
ResultSet rs;
String str;
str = "delete from Drinks where Id=" + no1;
st.executeUpdate(str);
str = "select * from Drinks";
rs = st.executeQuery(str);
rs.close();
con.close();
} catch (Exception e) {
System.out.print("" + e);
}
}
void updateValue() {
String name;
int cost, id;
try {
id = Integer.parseInt(t1.getText());
name = t2.getText();
cost = Integer.parseInt(t3.getText());
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "");
Statement st = con.createStatement();
ResultSet rs;
String str;
str = "UPDATE Drinks set Name=" + name + " Cost " + cost + " where Id-" + id + "";
st.executeUpdate(str);
}

Page | - 16 -
catch (Exception e) {
System.out.println("\n\t" + e);
}
}
void sellprocedure() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "");
CallableStatement st = con.prepareCall("call sell()}");
st.execute();
} catch (Exception e) {
System.out.println("\n\t" + e);
}
}
void add() {
f2.setVisible(true);
}
void modify() {
int id, cost, units;
String name;
try {
id = Integer.parseInt(t4.getText());
name = t5.getText();
cost = Integer.parseInt(t6.getText());
units = Integer.parseInt(t8.getText());
Class.forName("com.mysql.cj.jdbc.Driver");

Page | - 17 -
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root",
"");
Statement st = con.createStatement();
ResultSet rs;
String str;
str = "insert into Drinks values (" + id + "," + name + " " + cost + "," + units + ")";
st.executeUpdate(str);
str = "select * from Drinks";
rs = st.executeQuery(str);
rs.close();
con.close();
Load();
} catch (Exception e) {
System.out.println("\n\t" + e);
}
}
public static void main(String args[]) throws SQLException, ClassNotFoundException {
new Project();
}
}

Page | - 18 -
CurrentStock.java

import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
import java.sql.*;
public class CurrentStock extends JFrame{
DefaultTableModel model = new DefaultTableModel();
Container cnt = this.getContentPane();
JTable jtb1= new JTable(model);
public CurrentStock() throws ClassNotFoundException, SQLException {
cnt.setLayout(new FlowLayout(FlowLayout.LEFT));
model.addColumn("Id");
model.addColumn("Name");
model.addColumn("Cost");
model.addColumn("Units");
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "");
PreparedStatement pstm = con.prepareStatement("SELECT * FROM drinks");
ResultSet Rs = pstm.executeQuery();
while (Rs.next()) {
model.addRow(new Object[]{
Rs.getInt(1),
Rs.getString(2),
Rs.getInt(3),

Page | - 19 -
Rs.getInt(4)});
}
}
catch(Exception e){
System.out.println(e);
}
JScrollPane pg = new JScrollPane(jtb1);
cnt.add(pg);
this.pack();
}
}

Page | - 20 -
OUTPUTS :

Page | - 21 -
Page | - 22 -
 CONCLUSION

We have created an Beverage Inventory Management system using java. In Which the
food beverages are added, deleted, updated, Refresh And sell. We are using product id for
saving different id for different product. And Flavour is used for saving different product name
like mango, Apple. & cost per unit is used for number of product items, & Units in stock is used
for it will be displayed how many number of product are there. The Refresh button is used for
whenever we deleted, updated or added any info then we click on refresh button its saves all
changes. The add button is used for added all information about product id, Delete button is
used for deleted a particular record. The update button is used for we updated a particular stock
its updated all info automatically. And sell button is used for sell the product. Show all button is
used for show all info about added records, deleted records, updated records, selled records
successfully. Its improve customer services and resolve the problem quickly.

 References

 Book References Author Name

a) java the complete References Herb Schild


b) java 8 programing Balck Book DT Editorial service
c) Core and Advance java Black Book DR.R. Nageshawar Rao

 Web References

 www.javatpoint.com
 www.google.com
 www.edureka.com
 www.udemy.com

Page | - 23 -
Micro Project Evaluation Sheet
Name of Student: -Keshav Govind Mundhe.
Enrolment No: -2000940060
Name of Program: - Advance Java Programming
Semester: - 5 th semester
Title of the Micro-Project:- Beverage Inventory Management system

Course Outcome Achieved: - Get comfortable using Swing components and Database to
build UIs in Advance Java. Get to know about the logic of Inventory management projects.
Know how to build a Beverage Inventory Management project using Advance Java.

Sr.no. Characteristic to be assessed Poor M-1 Average Good M-6 Excellent Sub
To 3 M-4 To 5 To 8 M-9 To 10 Total

(A) Process and Product Assessment (convert above total marks out of 6 marks)
1. Relevance to the course
2. Literature Review/information
collection
3. Completion of the Target as

Per project proposal


4. Analysis of Data and representation
5. Quality of proto type /Model
6. Report Preparation
(B) Individual presentation/Viva (Convert above total marks out of marks)
7. Presentation
8. Viva

(A) (B)

Process and Product Assessment Individual presentation/Viva Total Marks

(6 Marks) (4 Marks) 10

Name and designation of the teacher Prof. P.B.Kale


Dated Signature
Micro Project Evaluation Sheet
Name of Student: - Gopal Pralhad Kute.
Enrolment No: -2000940065
Name of Program: -Advance Java Programming
Semester: - 5 th semester
Title of the Micro-Project:- Beverage Inventory Management system

Course Outcome Achieved: - Get comfortable using Swing components and Database to
build UIs in Advance Java. Get to know about the logic of Inventory management projects.
Know how to build a Beverage Inventory Management project using Advance Java.

Sr.no. Characteristic to be assessed Poor M-1 Average Good M-6 Excellent Sub
To 3 M-4 To 5 To 8 M-9 To 10 Total

(A) Process and Product Assessment (convert above total marks out of 6 marks)
1. Relevance to the course
2. Literature Review/information
collection
3. Completion of the Target as

Per project proposal


4. Analysis of Data and representation
5. Quality of proto type /Model
6. Report Preparation
(B) Individual presentation/Viva (Convert above total marks out of marks)
7. Presentation
8. Viva

(A) (B)

Process and Product Assessment Individual presentation/Viva Total Marks

(6 Marks) (4 Marks) 10

Name and designation of the teacher Prof. P.B.Kale


Dated Signature
Micro Project Evaluation Sheet
Name of Student: -Khandare Pravin Dattarao
Enrolment No: -2000940083
Name of Program: - Advance Java Programming
Semester: - 5 th semester
Title of the Micro-Project:- Beverage Inventory Management System

Course Outcome Achieved: - Get comfortable using Swing components and Database to
build UIs in Advance Java. Get to know about the logic of Inventory management projects.
Know how to build a Beverage Inventory Management project using Advance Java.

Sr.no. Characteristic to be assessed Poor M-1 Average Good M-6 Excellent Sub
To 3 M-4 To 5 To 8 M-9 To 10 Total

(A) Process and Product Assessment (convert above total marks out of 6 marks)
1. Relevance to the course
2. Literature Review/information
collection
3. Completion of the Target as

Per project proposal


4. Analysis of Data and representation
5. Quality of proto type /Model
6. Report Preparation
(B) Individual presentation/Viva (Convert above total marks out of marks)
7. Presentation
8. Viva

(A) (B)

Process and Product Assessment Individual presentation/Viva Total Marks

(6 Marks) (4 Marks) 10

Name and designation of the teacher Prof. P.B.Kale


Dated Signature

You might also like