Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
54 changes: 54 additions & 0 deletions JDBC ASSIGNMENT/db.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
DROP TABLE TBL_SALES;
DROP TABLE TBL_STOCK;
CREATE TABLE TBL_STOCK (
Product_ID Varchar2(6),
Product_Name Varchar2(20),
Quantity_On_Hand Number(11),
Product_Unit_Price Number(11,2),
Reorder_Level Number(11),
CONSTRAINT PK00 PRIMARY KEY(Product_ID),
CONSTRAINT UQ01 UNIQUE(Product_Name),
CONSTRAINT CH02 CHECK(Quantity_On_Hand >= 0),
CONSTRAINT CH03 CHECK(Product_Unit_Price >= 0),
CONSTRAINT CH04 CHECK(Reorder_Level >= 0)
);

CREATE TABLE TBL_SALES (
Sales_ID Varchar2(6),
Sales_Date Date,
Product_ID Varchar2(6),
Quantity_Sold Number(11),
Sales_Price_Per_Unit Number(11,2),
CONSTRAINT PK10 PRIMARY KEY(Sales_ID),
CONSTRAINT FK11 FOREIGN KEY(Product_ID) REFERENCES TBL_STOCK(Product_ID),
CONSTRAINT CH12 CHECK(Quantity_Sold >= 0),
CONSTRAINT CH13 CHECK(Sales_Price_Per_Unit >= 0)
);

INSERT INTO TBL_STOCK VALUES('RE1001', 'REDMI Note 3', 20, 12000, 5);
INSERT INTO TBL_STOCK VALUES('ip1002', 'Iphone 5S', 10, 21000, 2);
INSERT INTO TBL_STOCK VALUES('PA1003', 'Panasonic P55', 50, 5500, 5);

DROP SEQUENCE SEQ_SALES_ID;
DROP SEQUENCE SEQ_PRODUCT_ID;
CREATE SEQUENCE SEQ_SALES_ID START WITH 1000 INCREMENT BY 1;
CREATE SEQUENCE SEQ_PRODUCT_ID START WITH 1004 INCREMENT BY 1;

DROP VIEW V_SALES_REPORT;
CREATE VIEW V_SALES_REPORT AS
SELECT Sales_ID, Sales_Date, Product_ID, Product_Name,
Quantity_Sold, Product_Unit_Price, Sales_Price_Per_Unit,
(Sales_Price_Per_Unit - Product_Unit_Price) Profit_Amount
FROM TBL_STOCK NATURAL JOIN TBL_SALES
ORDER BY Profit_Amount DESC, Sales_ID ASC;











42 changes: 42 additions & 0 deletions JDBC ASSIGNMENT/src/com/wipro/sales/bean/Sales.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.wipro.sales.bean;

import java.util.Date;

public class Sales {
private String salesID;
private Date salesDate;
private String productID;
private int quantitySold;
private double salesPricePerUnit;

public String getSalesID() {
return salesID;
}
public void setSalesID(String salesID) {
this.salesID = salesID;
}
public Date getSalesDate() {
return salesDate;
}
public void setSalesDate(Date salesDate) {
this.salesDate = salesDate;
}
public String getProductID() {
return productID;
}
public void setProductID(String productID) {
this.productID = productID;
}
public int getQuantitySold() {
return quantitySold;
}
public void setQuantitySold(int quantitySold) {
this.quantitySold = quantitySold;
}
public double getSalesPricePerUnit() {
return salesPricePerUnit;
}
public void setSalesPricePerUnit(double salesPricePerUnit) {
this.salesPricePerUnit = salesPricePerUnit;
}
}
65 changes: 65 additions & 0 deletions JDBC ASSIGNMENT/src/com/wipro/sales/bean/SalesReport.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.wipro.sales.bean;

import java.util.Date;

public class SalesReport {
private String salesID;
private Date salesDate;
private String productID;
private String productName;
private int quantitySold;
private double productUnitPrice;
private double salesPricePerUnit;
private double profitAmount;

public String getSalesID() {
return salesID;
}
public void setSalesID(String salesID) {
this.salesID = salesID;
}
public Date getSalesDate() {
return salesDate;
}
public void setSalesDate(Date salesDate) {
this.salesDate = salesDate;
}
public String getProductID() {
return productID;
}
public void setProductID(String productID) {
this.productID = productID;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public int getQuantitySold() {
return quantitySold;
}
public void setQuantitySold(int quantitySold) {
this.quantitySold = quantitySold;
}
public double getProductUnitPrice() {
return productUnitPrice;
}
public void setProductUnitPrice(double productUnitPrice) {
this.productUnitPrice = productUnitPrice;
}
public double getSalesPricePerUnit() {
return salesPricePerUnit;
}
public void setSalesPricePerUnit(double salesPricePerUnit) {
this.salesPricePerUnit = salesPricePerUnit;
}
public double getProfitAmount() {
return profitAmount;
}
public void setProfitAmount(double profitAmount) {
this.profitAmount = profitAmount;
}


}
42 changes: 42 additions & 0 deletions JDBC ASSIGNMENT/src/com/wipro/sales/bean/Stock.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.wipro.sales.bean;

public class Stock {
private String productID;
private String productName;
private int quantityOnHand;
private double productUnitPrice;
private int reorderLevel;

public String getProductID() {
return productID;
}
public void setProductID(String productID) {
this.productID = productID;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public int getQuantityOnHand() {
return quantityOnHand;
}
public void setQuantityOnHand(int quantityOnHand) {
this.quantityOnHand = quantityOnHand;
}
public double getProductUnitPrice() {
return productUnitPrice;
}
public void setProductUnitPrice(double productUnitPrice) {
this.productUnitPrice = productUnitPrice;
}
public int getReorderLevel() {
return reorderLevel;
}
public void setReorderLevel(int reorderLevel) {
this.reorderLevel = reorderLevel;
}


}
98 changes: 98 additions & 0 deletions JDBC ASSIGNMENT/src/com/wipro/sales/dao/SalesDao.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
package com.wipro.sales.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;

import com.wipro.sales.bean.Sales;
import com.wipro.sales.bean.SalesReport;
import com.wipro.sales.util.DBUtil;

public class SalesDao {

public int insertSales(Sales sales) {
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "INSERT INTO TBL_SALES VALUES(?, ?, ?, ?, ?)";

//java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(sales.getSalesDate().getTime());

try {
conn = DBUtil.getDBConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sales.getSalesID());
pstmt.setDate(2, sqlDate);
pstmt.setString(3, sales.getProductID());
pstmt.setInt(4, sales.getQuantitySold());
pstmt.setDouble(5, sales.getSalesPricePerUnit());

if (pstmt.executeUpdate() == 1) return 1;
else return 0;
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}


public String generateSalesID(Date salesDate) {
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "SELECT SEQ_SALES_ID.NEXTVAL FROM DUAL";

int SEQ_SALES_ID = 0;
String out = salesDate.toString().substring(salesDate.toString().length()-2, salesDate.toString().length());

try {
conn = DBUtil.getDBConnection();
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();

rs.next();
SEQ_SALES_ID = rs.getInt(1);

out += SEQ_SALES_ID;
return out;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}


public ArrayList<SalesReport> getSalesReport() {
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "SELECT * FROM V_SALES_REPORT";

ArrayList<SalesReport> list = new ArrayList<SalesReport>();

try {
conn = DBUtil.getDBConnection();
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();

while (rs.next()) {
SalesReport salesReport = new SalesReport();
salesReport.setSalesID(rs.getString(1));
salesReport.setSalesDate(rs.getDate(2));
salesReport.setProductID(rs.getString(3));
salesReport.setProductName(rs.getString(4));
salesReport.setQuantitySold(rs.getInt(5));
salesReport.setProductUnitPrice(rs.getDouble(6));
salesReport.setSalesPricePerUnit(rs.getDouble(7));
salesReport.setProfitAmount(rs.getDouble(8));
list.add(salesReport);
}
} catch (SQLException e) {
e.printStackTrace();
return null;
}

return list;
}
}
Loading