From a0c909cdc7eb37cbe9014e29c960f70184cbb283 Mon Sep 17 00:00:00 2001 From: Utkarsh78835 <61264323+Utkarsh78835@users.noreply.github.com> Date: Fri, 20 Mar 2020 20:34:00 +0530 Subject: [PATCH] Utkarsh Gautam 1710991862 F-02 --- .../bin/com/wipro/sales/bean/Sales.class | Bin 0 -> 1458 bytes .../com/wipro/sales/bean/SalesReport.class | Bin 0 -> 2103 bytes .../bin/com/wipro/sales/bean/Stock.class | Bin 0 -> 1420 bytes .../bin/com/wipro/sales/dao/SalesDao.class | Bin 0 -> 3928 bytes .../bin/com/wipro/sales/dao/StockDao.class | Bin 0 -> 3889 bytes .../wipro/sales/main/SalesApplication.class | Bin 0 -> 3333 bytes .../wipro/sales/service/Administrator.class | Bin 0 -> 2687 bytes .../bin/com/wipro/sales/util/DBUtil.class | Bin 0 -> 1034 bytes JDBC ASSIGNMENT/db.sql | 54 ++++++++ .../src/com/wipro/sales/bean/Sales.java | 42 ++++++ .../src/com/wipro/sales/bean/SalesReport.java | 65 +++++++++ .../src/com/wipro/sales/bean/Stock.java | 42 ++++++ .../src/com/wipro/sales/dao/SalesDao.java | 98 +++++++++++++ .../src/com/wipro/sales/dao/StockDao.java | 130 ++++++++++++++++++ .../wipro/sales/main/SalesApplication.java | 83 +++++++++++ .../wipro/sales/service/Administrator.java | 70 ++++++++++ .../src/com/wipro/sales/util/DBUtil.java | 23 ++++ 17 files changed, 607 insertions(+) create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/bean/Sales.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/bean/SalesReport.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/bean/Stock.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/dao/SalesDao.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/dao/StockDao.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/main/SalesApplication.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/service/Administrator.class create mode 100644 JDBC ASSIGNMENT/bin/com/wipro/sales/util/DBUtil.class create mode 100644 JDBC ASSIGNMENT/db.sql create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/bean/Sales.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/bean/SalesReport.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/bean/Stock.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/dao/SalesDao.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/dao/StockDao.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/main/SalesApplication.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/service/Administrator.java create mode 100644 JDBC ASSIGNMENT/src/com/wipro/sales/util/DBUtil.java diff --git a/JDBC ASSIGNMENT/bin/com/wipro/sales/bean/Sales.class b/JDBC ASSIGNMENT/bin/com/wipro/sales/bean/Sales.class new file mode 100644 index 0000000000000000000000000000000000000000..5d0886e1f8a09e644bf4a97d29d676df9b969d59 GIT binary patch literal 1458 zcmZ{i*>2NN5QhJgmAEd=)|Akc(2Y7N)U4tHlp7+XND%}Ddha+^aOK+II3V5$36L5g zalr%dP>2~X4RM{Dv;P0gcV^C?zrTJ1c#0=^qy%p2&bj*8{NOt3RI`k!Ix;j{9r7}d zj6m^B`=qIsW>3`DqccPI1oFPH*A*!D7q>&tHSNhWfr5YC)jWgTfnesDmdYo5O{vB+ z-DAJ}ai-ax>3tbG)>uIF1WLYp;F`KIFx+>xNeKl>bI(m$cLdT(>r^1~!WkP9(kRQg zjtzm0zG)k;X6GZreXETu%3ba|x@MhfuF3oGFyp;9rvi=s>Sq(9G%-BC1PobKT34T0 z0F_Qg7CBN+|5I-&SH%o0ML_HOu7p7s;wa=GDki%RWfT~Q z-Io_s8cO|UsnArz9vj*+B&?Bw49kj)(&H4>hG_R3^+D&7Tb}G$+=4|^X zNEA)jpo1zDOFA1a>2dPoItrZ|#Xa?C&tjIweq@D8uo#Xt@dK_1{?XztM8=HH!bAI+i0K@;&&`I%ASvXPGJ{MtT&;PoWuNUZ7!=E8!!yzC z3p$?F)Mi>#`J4>CJo+uw}EvGI1Tbw~)aF;_rBv9S%QIBc= ziV2%{L;B^+bc2QkrH~IeBw+y6-H^UI8w3r--H^xK7LZ%xFi1e;zFuH3jH!c9Y7Z%w zIHX8994h_JjiC0`jpkw1D`Z*aFa#XSjh35=xK<&YY?!8}$!IT=eUrm27)Di?u}2lx z$`m5kEmH4+AonhZ5pw6yEgI7+Kqf!+^`RllGY)C85HIfjdJX$kb2@Ird|}a9NsDm) zHCd)R0Qb?{hqr40V$@%Ji&0a=h~*U{7Eg>=5i#P{#E6h$#LPI3VkA7G_{`#$jw8dd zzwiTc--T=(p9y~wZsR)--tWK!eleJYDSX~EU&8b^$(&Z2@4-x9F5wPhl&Vm?g6S}I zO3Y?)mpKt(+*g60p3rFjL_I62B7@{*kZ~o*Lzq*6=79Bmbmd!p2t#WLXKa1y2KW2`?XAzeHi- z3N~brRRmd!0HI4rAlpii9T{X@39_dK*^xmu5o9X@g#H2qQc{BK%OKlIkOMWyz6`R5 QAf*Tp`VA4tbJ2stzvs&=*#H0l literal 0 HcmV?d00001 diff --git a/JDBC ASSIGNMENT/bin/com/wipro/sales/bean/Stock.class b/JDBC ASSIGNMENT/bin/com/wipro/sales/bean/Stock.class new file mode 100644 index 0000000000000000000000000000000000000000..e850eb0417ac3ec5cb47cc56e1bb4bff592fda54 GIT binary patch literal 1420 zcmZ{iUvJV-7{;H&Ux5mP!8T#&{^%&ot?G>z8g3*;60%Lv-IsELozQA2Gkzx%H5oDS z!VlnwGQMwVEbGcmPfz>2&-;6ybN>AO^&7xbJV_%aP&Mp{_SyXC*xFPd%c(Yyx~279 z+xU=1LSXGeztpv{ZjH3l!G$zjfeeXyUGd>4w^xBykiI_viCKV$YvzSeLNrwE)Ei@ z&9N5-sS-$S1qh!sgB+mYduf!~;#{wwehY!rBSBg?^o!ecrT9{%T8%l>Fvt#p?5+Ue ktHvM?BNI6aC$b+2qD3ci6b3mUkj4rSzUvI~$Q%9fKfx5u761SM literal 0 HcmV?d00001 diff --git a/JDBC ASSIGNMENT/bin/com/wipro/sales/dao/SalesDao.class b/JDBC ASSIGNMENT/bin/com/wipro/sales/dao/SalesDao.class new file mode 100644 index 0000000000000000000000000000000000000000..cb4666c486b3d13ef71c033bc62444e5bd3c7bbb GIT binary patch literal 3928 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 CuvP{D literal 0 HcmV?d00001 diff --git a/JDBC ASSIGNMENT/bin/com/wipro/sales/main/SalesApplication.class b/JDBC ASSIGNMENT/bin/com/wipro/sales/main/SalesApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..a57cfaf5680f7b5fa9eef3d63ad09f3b1598f6b7 GIT binary patch literal 3333 zcma)8{dW{+6@Ff_o0%*_p$P#N2o5bD2~DyPTA)dqHX%@!1_-1Lrmfn^?hpoMcQ&)L zA@M71{c1&R6>Y6;RTRa3_(gS78?7JpsK+1l9Dnqu{^$IEMo zDXckXO<5_|%1@+DjGwbJfkJ(+lXrqXg}TG#l0f1i5Xs`b2D-s=Yk5{KooCSG zSz5z=3L8I2m2ul5Z=+~?(V*i2k}dK?a%W4Kz)TN{qb3X(IEX<7UCatYiMF+EDU%ZD z#bE;v3Miv!2g8w_^q`J3w=6cEw{l?|y?DsLkZifFw&ge%bsQ%jqD_+}D<3$)jOpdg zvsOMUxOy>c;3Q6wkKA~&qH!XBgzIE{Yr1Vz$HR<#vELFK&}7DDxJP%Fdd_QYK>;i)Tu%J0nUn20o3?aL8JPf-M~A_(%a& zkaG;V_?&^yhfEK=sE;)~dCT6B)=gkmdglv_H%feXD40%|=vjQpz?X&E306JqYw3k& z6q1p0*5X`f&1O4txsDnBwRM{szDkF+@jK$=3a&j!#lxPTvp5mHMsu|-2|SCEJf1V~ zJiaN@KnAwLwp#}uPHr*Dm}haxz_;<8sAEHnvO>yN_Sck!>n|=D64g)->-Zk469sm& zUyGhwNyRG$UadAjwOL2Fs^bR=n-?Z8Y)-Sl{*hjl_L;?H13!{RTw6_K*n-2hFYPEj zbj83=@Y7lkNpU`;hh%wqvTec747`TdIgchPMT=%JNnag$VNUve-e_`O4a-zpGt|#S)S^fk8H7#=h^KdL?xD>V8!ef=AJZ{O+w%l32?Aga1 z^_lRDP*5DY@uEz4Ciuf<2`78hQ)xC$K1@J~jSI@vZod@0x@D z>u@>2rz`^oR))_|fxlMqR|9UtY8qL??=foKE@tYI{N4blH|Nnbb`8yQ*fcbcEn{;q zkJa^E!`8;_W$cu9N9CQWy!TYzd&{`zt}+hvwY*L{!?Z45WBj!6^Bg~ar|8H$dTF$; zJ0`a7=bmJYyZXyGB!VLg1V=@1tSUHA#tBh8Ez*&y^pP@%c5CA&ssgHgDpYGv#>yB! zeHH(b^)p--ad*5u8872(cRU&Y8{Xp5JlwHl{B7jt5HwDeFLa9I6v0=j7PWaiJJxt{4qs1dWqhMsPu3^(GQK5BFD%&gT@k!g6%gmkH^cdU zRmyOF*q*E}J%|ymoeABksW_+=tB=;EZ?zCLGdf5_j;VxD!uf8!l4w5_aGf?8IeWs$N4I zu3;D6;U(`qwBsMN@^5tFKiExQd+{CtHuQuU;+J<{oJGxaD?_UGx zRcT(jPNGjeiu=_#?^fs0uL>AY(>SP};t}%<4ylWHP(6<$>JpBsm+_E#l{cO%Sf{RH zSiQlkjWGD}h@1EoB<7XsGSR(7el@9=@EiP=Y;IOBqKrA_!{Pti_#K(|ei*?#;>0(N z-{TJ)MO_%fyO@VYd};g=#{DlfD@ZSFc Dp6PW# literal 0 HcmV?d00001 diff --git a/JDBC ASSIGNMENT/bin/com/wipro/sales/service/Administrator.class b/JDBC ASSIGNMENT/bin/com/wipro/sales/service/Administrator.class new file mode 100644 index 0000000000000000000000000000000000000000..777e01b1125f1536d95bf73eabf6873aec1010b5 GIT binary patch literal 2687 zcmaJ@Yje{^6g``l9HYdmn~@Jw(T1BKGoX($jVE=hP8(n3pHSza6wM@nTmBz?d8 z8~E1t7o=sz%#@jaY-jqDI!vc$S0WDBiN_;rckjLD-m~ZK`k(*)_!Gbx{A8d_;IQK_ zW*@jqfuF6~6J zOxeD`{^=JZm25v-h}Uzj}SHeOe@6HbNb;iN$O$mpCv#|6J64fF`?+X^NL6Dbqh zkre2f&=I;JkT%hYE(1F@bB~de=toL9>@;B@A&{DOJvm!jEXv@fU93okn)V&LGG_;_ z8tcg<+L2<4;k;WFINHQROGa7bHrL})s3{USKGNh^l(rW!m>ZpLkY5M`*DL3euyDY@ zu)v-dDQP&GIEX_6y=56*3;a^e31{s^ma$``WyB*GF>v&`t&Y%4jN%wMtw^sN&g)&t zE3(H-yo_;yzOwWrr6OaL{FK0vk>;dZqFOj^;sj0#nAP<>RfK_75#|)`DHAW@w7}5T ztmP9p!#$s}L)-HF(3-O=Zppgm2Uf(r>w5y7TEsNlY6Aqi*&~WTl~}sDGJ&2#Xgdot z_EIdBZ6#Teq15}Uaz1O~O}w>9Rm}9ffDyTr5+KN~KstUGmlt7-%8#T1%Xt|lAB(7k_!1Sh4Q^8HlDyf+bspY3s+1E^5#|`#07aCe` zlJn?R>?d$jVD~L=!Sf$@R$RQ^M}4TMR+uyKu97H~7+$a0Ug(CaSG~)&S5n#EHgQL- zrZ%h={0fQwK;XbE>6M;eE6-b63zqL$^Yq+^a0MTl_y`|I6&9isBUC5CvsS8wZY4{p z$((^Adrp_QKAD7#lzK=L_fTdp6(xnp0R6Gb*G+SycM@<3l=q^|C^4uyn-)w|u&Aqu zx=p8{1bL`AMzcf}5x$8f)oDp~TI{VN2PQ6o^4YYXBKhc^ubEiJ1D;>CC6!pbr-Lne zH9tyOuaaQBOIEDssP$yYs@5DwR;%}FmC9-YpRp4!27w=_j#O})cce~+-J;D@`RaVr z)!dLve!z=q=X0BKE(q+^XFti?BX-2&3gFTi`{w_48U724wL1t;C$z?$Jo(Y~^b}=IZ?8QDB z4)ZkK&l#1&Lk3s5p3MA(@k|{rB}O7 za6hX9(nyh{J=lRE4B!|BF~-#_XH?Qwgc4^!JiNyGdBo864dj@`1g*BA?J33#9Ql_M zf(Ph0pDN8cjulybQ67`bqbq%GEq$SpMXyG%Xg*A$4r56hHoSc0_ m_%?j2sXxJ4!Lh+2>iAA&8R;?-*aeLi3CxJm1b)y~KmHFokCJNu literal 0 HcmV?d00001 diff --git a/JDBC ASSIGNMENT/bin/com/wipro/sales/util/DBUtil.class b/JDBC ASSIGNMENT/bin/com/wipro/sales/util/DBUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..d920ec4b2eb435bb125a245dc30fc8322a6788a6 GIT binary patch literal 1034 zcma)5Yg5xe6g^8RNkgy?1O!Bih_xH@XW#h!?dqD-bdMulo#_r#9mL!z^iV& zr^&(~LvD{Ba4+Ct+k4yG6TW5`^i>!#jMb8(ct7wq$v{U^g=-AgNopQn^9? zo2n%;U>J6h#t=icCPVS2*J+Aqhc^SkP^c-N2Mr!cv+o;+){`&}QpmZu0-HkVT^TdX z)c!%6C}i70S2xaBF-(-om(sN{&QRQIHT{Z;xF3iLWe6)T0>ful#k#V*y0UEJ8bdnv zmDV<CT>}nztF1s=U9u5iv`@KE~p-Lt=}%Gylu*;DX-w2H5(;{`7?G!U-g1kF;u$P z6h#qh9tJYr6)gvgxM$%m!)Q|M#W*hRV~N4)n$Up}$0aqE8x9^|#lkY3pWaygUG3#3 zUv!OnTs$;g&L&~%n)@Gis41imMq}cvf#)&Q?vccGi+B6Naq6lU`Qnu{(i%Py^O8x3 zIZ|PY$3Dbgwh8x{?Q4DA+ZHcy&;h4Y0L190g(l$dRdBo+fFHTEGM%?6ZS{D$n` z5G#SWCl1J?K#m!V;%XnfPx%dawlG$hC`^9GH03>lbNKoQbA>y{C@&tvV~2@T7CE}V tRKjQ~A)lpnj^2C{dXfUqP-w%_q|6h`M_8rZV;WS$wncbG|Guf~=^utc?mhqj literal 0 HcmV?d00001 diff --git a/JDBC ASSIGNMENT/db.sql b/JDBC ASSIGNMENT/db.sql new file mode 100644 index 0000000..9abe3ec --- /dev/null +++ b/JDBC ASSIGNMENT/db.sql @@ -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; + + + + + + + + + + + \ No newline at end of file diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/bean/Sales.java b/JDBC ASSIGNMENT/src/com/wipro/sales/bean/Sales.java new file mode 100644 index 0000000..1ab977d --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/bean/Sales.java @@ -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; + } +} diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/bean/SalesReport.java b/JDBC ASSIGNMENT/src/com/wipro/sales/bean/SalesReport.java new file mode 100644 index 0000000..c2513b5 --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/bean/SalesReport.java @@ -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; + } + + +} diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/bean/Stock.java b/JDBC ASSIGNMENT/src/com/wipro/sales/bean/Stock.java new file mode 100644 index 0000000..6fc99bb --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/bean/Stock.java @@ -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; + } + + +} diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/dao/SalesDao.java b/JDBC ASSIGNMENT/src/com/wipro/sales/dao/SalesDao.java new file mode 100644 index 0000000..5d1510e --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/dao/SalesDao.java @@ -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 getSalesReport() { + Connection conn = null; + PreparedStatement pstmt = null; + String sql = "SELECT * FROM V_SALES_REPORT"; + + ArrayList list = new ArrayList(); + + 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; + } +} diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/dao/StockDao.java b/JDBC ASSIGNMENT/src/com/wipro/sales/dao/StockDao.java new file mode 100644 index 0000000..50d6559 --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/dao/StockDao.java @@ -0,0 +1,130 @@ +package com.wipro.sales.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import com.wipro.sales.bean.Stock; +import com.wipro.sales.util.DBUtil; + +public class StockDao { + + + public int insertStock(Stock stock) { + Connection conn = null; + PreparedStatement pstmt = null; + String sql = "INSERT INTO TBL_STOCK VALUES(?, ?, ?, ?, ?)"; + + try { + conn = DBUtil.getDBConnection(); + pstmt = conn.prepareStatement(sql); + pstmt.setString(1, stock.getProductID()); + pstmt.setString(2, stock.getProductName()); + pstmt.setInt(3, stock.getQuantityOnHand()); + pstmt.setDouble(4, stock.getProductUnitPrice()); + pstmt.setInt(5, stock.getReorderLevel()); + + if (pstmt.executeUpdate() == 1) return 1; + else return 0; + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + + public String generateProductID(String productName) { + Connection conn = null; + PreparedStatement pstmt = null; + String sql = "SELECT SEQ_PRODUCT_ID.NEXTVAL FROM DUAL"; + + int SEQ_PRODUCT_ID = 0; + String out = ""; + + try { + conn = DBUtil.getDBConnection(); + pstmt = conn.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + + rs.next(); + SEQ_PRODUCT_ID = rs.getInt(1); + + out += productName.substring(0, 2); + out += SEQ_PRODUCT_ID; + + return out; + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + } + + + public int updateStock(String productID, int soldQty) { + Connection conn = null; + PreparedStatement pstmt = null; + String sql = "UPDATE TBL_STOCK SET Quantity_On_Hand = Quantity_On_Hand - ?" + + "WHERE Product_ID = ?"; + + try { + conn = DBUtil.getDBConnection(); + pstmt = conn.prepareStatement(sql); + pstmt.setInt(1, soldQty); + pstmt.setString(2, productID); + + if (pstmt.executeUpdate() == 1) return 1; + else return 0; + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + + public Stock getStock(String productID) { + Connection conn = null; + PreparedStatement pstmt = null; + String sql = "SELECT * FROM TBL_STOCK WHERE Product_ID = ?"; + + try { + conn = DBUtil.getDBConnection(); + pstmt = conn.prepareStatement(sql); + pstmt.setString(1, productID); + + ResultSet rs = pstmt.executeQuery(); + + rs.next(); + Stock stock = new Stock(); + stock.setProductID(rs.getString(1)); + stock.setProductName(rs.getString(2)); + stock.setQuantityOnHand(rs.getInt(3)); + stock.setProductUnitPrice(rs.getDouble(4)); + stock.setReorderLevel(rs.getInt(5)); + + return stock; + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + } + + + public int deleteStock(String productID) { + Connection conn = null; + PreparedStatement pstmt = null; + String sql = "DELETE TBL_STOCK WHERE Product_ID = ?"; + + try { + conn = DBUtil.getDBConnection(); + pstmt = conn.prepareStatement(sql); + pstmt.setString(1, productID); + + if (pstmt.executeUpdate() == 1) return 1; + else return 0; + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } +} diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/main/SalesApplication.java b/JDBC ASSIGNMENT/src/com/wipro/sales/main/SalesApplication.java new file mode 100644 index 0000000..6755c52 --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/main/SalesApplication.java @@ -0,0 +1,83 @@ +package com.wipro.sales.main; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Scanner; + +import com.wipro.sales.bean.Sales; +import com.wipro.sales.bean.Stock; +import com.wipro.sales.service.Administrator; + +public class SalesApplication { + + + public static void main(String[] args) throws ParseException { + Scanner sc = new Scanner(System.in); + + Administrator admin = new Administrator(); + + int choice = 0; + + do { + System.out.println("1. Insert Stock"); + System.out.println("2. Delete Stock"); + System.out.println("3. Insert Sales"); + System.out.println("4. View Sales Report"); + System.out.print("Enter your Choice: "); + choice = sc.nextInt(); + + switch (choice) { + case 1: + Stock stock = new Stock(); + System.out.print("Enter product ID: "); + stock.setProductID(sc.nextLine()); + System.out.print("Enter product name: "); + stock.setProductName(sc.nextLine()); + System.out.print("Enter quantity on hand: "); + stock.setQuantityOnHand(sc.nextInt()); + sc.nextLine(); + System.out.print("Enter product unit price: "); + stock.setProductUnitPrice(sc.nextDouble()); + System.out.print("Enter product reorder level: "); + stock.setReorderLevel(sc.nextInt()); + sc.nextLine(); + admin.insertStock(stock); + break; + case 2: + System.out.print("Enter product id to be deleted: "); + String removeId = sc.nextLine(); + removeId = admin.deleteStock(removeId); + if (removeId != null) System.out.println(removeId + " removed successfully"); + break; + case 3: + Sales sales = new Sales(); + System.out.print("Enter sales id: "); + sales.setSalesID(sc.nextLine()); + System.out.print("Enter date (dd-mm-yyyy): "); + String sDate = sc.nextLine(); + Date date = new SimpleDateFormat("dd-mm-yyyy").parse(sDate); + sales.setSalesDate(date); + System.out.print("Enter product id: "); + sales.setProductID(sc.nextLine()); + System.out.print("Enter quantity sold: "); + sales.setQuantitySold(sc.nextInt()); + sc.nextLine(); + System.out.print("Enter sales price per unit: "); + sales.setSalesPricePerUnit(sc.nextDouble()); + admin.insertSales(sales); + break; + case 4: + admin.getSalesReport(); + break; + default: + System.out.println("Exiting..."); + choice = 0; + break; + } + } while (choice >= 1 && choice <= 4); + + sc.close(); + } + +} diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/service/Administrator.java b/JDBC ASSIGNMENT/src/com/wipro/sales/service/Administrator.java new file mode 100644 index 0000000..73fbe4d --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/service/Administrator.java @@ -0,0 +1,70 @@ +package com.wipro.sales.service; + +import java.util.ArrayList; +import java.util.Date; + +import com.wipro.sales.bean.Sales; +import com.wipro.sales.bean.SalesReport; +import com.wipro.sales.bean.Stock; +import com.wipro.sales.dao.SalesDao; +import com.wipro.sales.dao.StockDao; + +public class Administrator { + private static StockDao stockDao = new StockDao(); + private static SalesDao salesDao = new SalesDao(); + + + public synchronized String insertStock(Stock stock) { + if (stock != null && stock.getProductName().length() >= 2) { + String productID = stockDao.generateProductID(stock.getProductName()); + stock.setProductID(productID); + if (stockDao.insertStock(stock) == 1) + return productID; + else + return "Data not Valid for insertion"; + } else { + return "Data not Valid for insertion"; + } + } + + + public String deleteStock(String ProductID) { + if (stockDao.deleteStock(ProductID) == 1) + return "deleted"; + else + return "record cannot be deleted"; + } + + + public String insertSales(Sales sales) { + if (sales == null) + return "Object not valid for insertion"; + + if (stockDao.getStock(sales.getProductID()) == null) + return "Unknown Product for sales"; + + if (stockDao.getStock(sales.getProductID()).getQuantityOnHand() < sales.getQuantitySold()) + return "Not enough stock on hand for sales"; + + if (sales.getSalesDate().before(new Date())) + return "Invalid date"; + + String salesID = salesDao.generateSalesID(sales.getSalesDate()); + sales.setSalesID(salesID); + + if (salesDao.insertSales(sales) == 1) { + if (stockDao.updateStock(sales.getProductID(), sales.getQuantitySold()) == 1) + return "sales record inserted successfully"; + else + return "Error"; + } else { + return "Error"; + } + } + + + public ArrayList getSalesReport() { + return salesDao.getSalesReport(); + } + +} \ No newline at end of file diff --git a/JDBC ASSIGNMENT/src/com/wipro/sales/util/DBUtil.java b/JDBC ASSIGNMENT/src/com/wipro/sales/util/DBUtil.java new file mode 100644 index 0000000..3249ab8 --- /dev/null +++ b/JDBC ASSIGNMENT/src/com/wipro/sales/util/DBUtil.java @@ -0,0 +1,23 @@ +package com.wipro.sales.util; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public class DBUtil { + private static Connection conn = null; + + /** + * Establish a connection to the database and return the java.sql.Connection reference + * */ + public static Connection getDBConnection() { + try { + conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521", "scott", "tiger"); + return conn; + } catch (SQLException e) { + System.out.println("Connection could not be estanlished"); + e.printStackTrace(); + return null; + } + } +}