From bba98b1587a392b947615caa2fe07ed1db5b9588 Mon Sep 17 00:00:00 2001 From: sahilmahajan Date: Tue, 31 Mar 2020 17:55:47 +0530 Subject: [PATCH] St-2 Project --- Ecafe.java | 105 +++++++++++++++++++++++++++++++++++++++++++ Item.java | 31 +++++++++++++ ItemPreparation.java | 20 +++++++++ Menu.java | 63 ++++++++++++++++++++++++++ Order.java | 74 ++++++++++++++++++++++++++++++ 5 files changed, 293 insertions(+) create mode 100644 Ecafe.java create mode 100644 Item.java create mode 100644 ItemPreparation.java create mode 100644 Menu.java create mode 100644 Order.java diff --git a/Ecafe.java b/Ecafe.java new file mode 100644 index 0000000..c9fc045 --- /dev/null +++ b/Ecafe.java @@ -0,0 +1,105 @@ +package main; +import java.sql.SQLException; +import java.util.*; + +import DAO.databaseHandler; +public class cafe { + private Date openTime = new Date(); + private Date closeTime = new Date(); + private Menu menu = new Menu(); + private Order order; + public int orderTime[] = new int[2]; + + public cafe() { + openTime.setHours(4); + closeTime.setHours(10); + } + public boolean validOrderTime(int hour, int mint) { + if(openTime.getHours() > hour || closeTime.getHours() <= hour) { + return false; + } + else { + return true; + } + } + public static void main(String[] args) { + databaseHandler db_handler = new databaseHandler(); + int itemID = 1, quantity = 0; + Date time = new Date(); + Scanner sc=new Scanner(System.in); + cafe cafe = new cafe(); + if (time.getHours()=cafe.closeTime.getHours() ) { + System.out.println("=========> Cafe 420 is closed now. <========="); + } + else { + for(;;) { + cafe.order = new Order(); + System.out.println("\n\t =========> Welcome to Cafe 420 <========="); + System.out.println(); + cafe.menu.showMenu(); + System.out.println("=> Type 0 to place the order:-"); + for(;;) { + System.out.print("Type the Item ID: "); + itemID = sc.nextInt(); + if (itemID == 0) + break; + System.out.print("=> Quantity of Item-"+itemID+": "); + quantity = sc.nextInt(); + cafe.order.addItem(itemID, quantity); + + } + if (itemID == 0) { + System.out.println("1. Home Delivery"); + System.out.println("2. Self Pick-up"); + int orderType = sc.nextInt(); + if (orderType == 1) { + cafe.order.setOrderType("delivery"); + System.out.print("Type the delivery address: "); + cafe.order.deliveryAddress = sc.next(); + cafe.order.placeOrder(); + System.out.println("Bill = Rs."+cafe.order.getBill()); + try { + db_handler.prep_stmt = db_handler.conn.prepareStatement("insert into order_tbl (type, delivery_addr, bill) values (?,?,?);"); + db_handler.prep_stmt.setString(1, "delivery"); + db_handler.prep_stmt.setString(2, cafe.order.deliveryAddress); + db_handler.prep_stmt.setInt(3, cafe.order.getBill()); + + int affected_tuples = db_handler.prep_stmt.executeUpdate(); + db_handler.prep_stmt.close(); + + }catch(SQLException se){ + se.printStackTrace(); + } + } + else if (orderType == 2) { + cafe.order.setOrderType("pickup"); + System.out.println("Enter pick up time (24-h format => ):"); + cafe.orderTime[0] = sc.nextInt(); + cafe.orderTime[1] = sc.nextInt(); + if (cafe.validOrderTime(cafe.orderTime[0],cafe.orderTime[1])) { + cafe.order.pickupTime.setHours(cafe.orderTime[0]); + cafe.order.pickupTime.setMinutes(cafe.orderTime[1]); + cafe.order.placeOrder(); + System.out.println(cafe.order.getBill()); + try { + db_handler.prep_stmt = db_handler.conn.prepareStatement("insert into order_tbl (type, pickupTime, bill) values (?,?,?)"); + db_handler.prep_stmt.setString(1, "pickup"); + db_handler.prep_stmt.setDate(2, (java.sql.Date) cafe.order.pickupTime); + db_handler.prep_stmt.setInt(3, cafe.order.getBill()); + + int affected_tuples = db_handler.prep_stmt.executeUpdate(); + + db_handler.prep_stmt.close(); + }catch(SQLException se){ + se.printStackTrace(); + } + } + else { + System.out.println("Your order cannot be placed at this time"); + } + } + } + } + } + } +} diff --git a/Item.java b/Item.java new file mode 100644 index 0000000..7180a68 --- /dev/null +++ b/Item.java @@ -0,0 +1,31 @@ +package main; +public class Item { + protected String name; + protected String category; + protected int price + public Item() { + } + public Item(String itemName, String itemCategory, int itemPrice) { + this.name = itemName; + this.category = itemCategory; + this.price = itemPrice; + } + public void setPrice(int itemPrice) { + this.price = itemPrice; + } + public void setName(String itemName) { + this.name = itemName; + } + public void setCategory(String itemCategory) { + this.category = itemCategory; + } + public int getPrice() { + return this.price; + } + public String getName() { + return this.name; + } + public String getCategory() { + return this.category; + } +} diff --git a/ItemPreparation.java b/ItemPreparation.java new file mode 100644 index 0000000..815076e --- /dev/null +++ b/ItemPreparation.java @@ -0,0 +1,20 @@ +package main; + +public class ItemPreparation extends Item { + private short cooksAvailable; + private int preparationTime; + public ItemPreparation() { + cooksAvailable = 4; + } + public int getAvailableCooks() { + return this.cooksAvailable; + } + public void prepareItem(String itemName) { + if(getAvailableCooks() > 0) { + cooksAvailable--; + } + else { + System.out.println("No cook is available. Kindly wait"); + } + } +} diff --git a/Menu.java b/Menu.java new file mode 100644 index 0000000..5e3defd --- /dev/null +++ b/Menu.java @@ -0,0 +1,63 @@ +package main; +import java.sql.*; +import java.util.Scanner; + +import DAO.databaseHandler; + +public class Menu { + databaseHandler db_handler = new databaseHandler(); + Scanner sc=new Scanner(System.in); + public Menu() { + } + public void addItem() { + System.out.print("Item name: "); + String item_name = sc.nextLine(); + System.out.print("Item category: "); + String item_category = sc.nextLine(); + System.out.print("Item price: "); + int item_price = sc.nextInt(); + try { + db_handler.prep_stmt = db_handler.conn.prepareStatement("insert into items_tbl (name, category, price) values (?,?,?)"); + db_handler.prep_stmt.setString(1, item_name); + db_handler.prep_stmt.setString(2, item_category.toString()); + db_handler.prep_stmt.setInt(3, item_price); + + int affected_tuples = db_handler.prep_stmt.executeUpdate(); + + db_handler.prep_stmt.close(); + }catch(SQLException se){ + se.printStackTrace(); + } + } + public void removeItem() { + System.out.print("Item name: "); + String item_name = sc.nextLine(); + try { + db_handler.call_stmt = db_handler.conn.prepareCall("{call deleteItem(\""+item_name+"\")}"); + //db_handler.prep_stmt = db_handler.conn.prepareStatement("delete from items_tbl where name = ?"); + //db_handler.prep_stmt.setString(1,item_name); + int affected_tuples = db_handler.call_stmt.executeUpdate(); + + db_handler.call_stmt.close(); + }catch(SQLException se){ + se.printStackTrace(); + } + } + public void showMenu() { + System.out.println(" MENU "); + System.out.println("Item ID || Item Name || Category || Price"); + try { + db_handler.prep_stmt = db_handler.conn.prepareStatement("select * from items_tbl"); + ResultSet items = db_handler.prep_stmt.executeQuery(); + while(items.next()) { + System.out.printf(" %-12d%-24s%-22s%-10d",items.getInt("item_id"),items.getString("name"),items.getString("category"), items.getInt("price")); + System.out.println(); + } + items.close(); + db_handler.prep_stmt.close(); + }catch(SQLException se){ + se.printStackTrace(); + } + System.out.println("------------------------------------------------------------------"); + } +} diff --git a/Order.java b/Order.java new file mode 100644 index 0000000..27438e0 --- /dev/null +++ b/Order.java @@ -0,0 +1,74 @@ +package main; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Date; + +import DAO.databaseHandler; + +public class Order { + databaseHandler db_handler = new databaseHandler(); + private String type; + private int bill; + private ItemPreparation prepareItem; + public String deliveryAddress; + public Date pickupTime = new Date(); + private ArrayList itemQuantity = new ArrayList<>(); + private ArrayList orderItems = new ArrayList<>(); + public Order() { + prepareItem = new ItemPreparation(); + deliveryAddress = null; + bill = 0; + type = null; + } + public boolean isDelivery() { + return type.equals("delivery") ? true: false; + } + public boolean isPickup() { + return type.equals("pickup") ? true: false; + } + public void addItem(int item, int quantity) { + try { + db_handler.stmt = db_handler.conn.createStatement(); + int tuples = db_handler.stmt.executeUpdate("insert into order_items_tbl (item_id, quantity) values ("+item+","+quantity+")"); + db_handler.stmt.close(); + }catch(SQLException se){ + se.printStackTrace(); + } + orderItems.add(item); + itemQuantity.add(quantity); + } + public String getOrderType() { + return type; + } + public void setOrderType(String orderType) { + this.type = orderType; + } + public void placeOrder() { + calcBill(); + if (prepareItem.getAvailableCooks()!=0) { + System.out.println("Your order is placed"); + } + } + public int calcBill() { + for (int i=0; i