Commit bf6da024 authored by dkasliwal's avatar dkasliwal

Add WMS3PLDashboard EJB Sql.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101798 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 9058d7ea
/*1) Order Status Summary Pie Chart */
select distinct(A.site_code) as sitecode, A.site_descr as site_descr, nvl(B.Porder,0) as Porder , nvl(C.Shipment,0) as Shipment ,nvl(D.Credit_Check,0) as Credit_Check, nvl(E.Hold,0) as Hold, nvl(F.WIP,0) as WIP from (select distinct(site_code) as site_code,descr as site_descr from site) A left outer join ( select site_code,count(sale_order) as Porder from sorder where status in ('H','P') and DUE_DATE <= sysdate group by site_code) B on A.site_code=B.site_code left outer join ( Select site_code,count(distinct sale_order) as Shipment from invoice group by site_code ) C on A.site_code=C.site_code left outer join ( Select Sorder.site_code,count(distinct business_logic_check.sale_order) as Credit_Check from business_logic_check,Sorder where Sorder.sale_order=business_logic_check.sale_order and aprv_stat='F' and sorder.DUE_DATE <= sysdate group by site_code ) D on A.site_code=D.site_code left outer join ( Select site_code,count(sale_order) as Hold from sorder where status='H' and DUE_DATE <=sysdate group by site_code ) E on A.site_code=E.site_code left outer join ( Select site_code,count(sale_order) as WIP from sorder where status in ('H','P') and DUE_DATE <= sysdate group by site_code ) F on A.site_code=F.site_code where A.site_code in ('SP110','TA387','TA821','TA160','TC388','MJ614','UT619','CS200','BH204','TL901' )
/*Dril-Down Dashboard from SiteCode */
Select sorder.site_code, sorder.sale_order , count(sorddet.line_no) No_Of_Item,sorder.tot_amt as Total_Order_Value,sorder.status from sorder,sorddet where sorder.sale_order=sorddet.sale_order and sorder.status in ('H','P') and sorder.site_code = 'SP110' group by sorder.site_code, sorder.sale_order,sorder.tot_amt,sorder.status order by sorder.sale_order
----------------------------------------------------------------------------------------------------------
/*2) Pick vs Ship Summary*/
--1)Order Status Summary
Select count(site_code) as sitecount, Sum(Total_Orders) Total_Orders, Sum(Total_Order_Value) Total_Order_Value, Sum(Total_Order_Line_No) Total_Order_Line_No, Sum(Total_Order_Quantity) Total_Order_Quantity, Sum(Total_Picking) Total_Picking, Sum(Total_Picking_Value) Total_Picking_Value, Sum(Total_Picking_Line_NO) Total_Picking_Line_NO, Sum(Total_Picking_Quantity) Total_Picking_Quantity, Sum(Total_Shippment) Total_Shippment, Sum(Total_Shippment_Value) Total_Shippment_Value, Sum(Total_Shippment_LineNo) Total_Shippment_LineNo, Sum(Total_Shippment_Quantity) Total_Shippment_Quantity from ( Select M.Site_code,M.site_descr, NVL(A.TOT_ORD1,0)+NVL(B.TOT_ORD1,0) Total_Orders , NVL(A.Ord_AMT1,0) + NVL(B.Ord_AMT1,0) Total_Order_Value, NVL(C.TOT_LN1,0)+NVL(D.TOT_LN1,0) Total_Order_Line_No,NVL(C.Ord_Qty1,0) +NVL(D.Ord_Qty1,0) Total_Order_Quantity, NVL(Total_Picking,0) Total_Picking, NVL(Total_Picking_Value,0) Total_Picking_Value, NVL(Total_Picking_Line_NO,0) Total_Picking_Line_NO, NVL(Total_Picking_Quantity,0) Total_Picking_Quantity, NVL(E.Total_Shippment,0) Total_Shippment,NVL(E.Total_Shippment_Value,0) Total_Shippment_Value, NVL(Total_Shippment_LineNo,0) Total_Shippment_LineNo ,NVL(Total_Shippment_Quantity,0) Total_Shippment_Quantity from (select site_code,descr as site_descr from site where site_code in('SP110','TA387','TA821','TA160','TC388','MJ614','UT619','CS200','BH204','TL901')) M left outer join (select Site_code,NVL(count(sale_Order),0) TOT_ORD1,NVL(Sum(TOT_AMT),0) Ord_AMT1 from sorder where status not in ('C','X') and order_date < CURRENT_Date group by Site_code)A on M.Site_Code=A.Site_code left outer join (select Site_code,NVL(count(sale_Order),0) TOT_ORD1,NVL(Sum(TOT_AMT),0) Ord_AMT1 from sorder where order_date = CURRENT_Date group by Site_code)B on M.Site_Code=B.Site_code left outer join (select sorder.Site_code,NVL(count(Sorddet.Line_no),0) TOT_LN1,NVL(SUM(Sorddet.Quantity),0) Ord_Qty1 from sorder,Sorddet where sorder.Sale_Order=Sorddet.Sale_Order and sorder.status not in ('C','X') and order_date < CURRENT_Date group by sorder.Site_code)C on M.Site_Code=C.Site_code left outer join (select sorder.Site_code,NVL(count(Sorddet.Line_no),0) TOT_LN1,NVL(SUM(Sorddet.Quantity),0) Ord_Qty1 from sorder,Sorddet where sorder.Sale_Order=Sorddet.Sale_Order and order_date = CURRENT_Date group by sorder.Site_code)D on M.Site_Code=D.Site_code left outer join (Select site_code,count(distinct sale_order) Total_Shippment,Sum(Net_AMT) Total_Shippment_Value from invoice where tran_date = CURRENT_Date Group by site_code) E on M.Site_Code=E.Site_code left outer join (Select invoice.site_code,count(distinct INVDET.SOrd_Line_NO) Total_Shippment_LineNo,Sum(INVDET.Quantity) Total_Shippment_Quantity from invoice ,INVDET where invoice.tran_date = CURRENT_Date Group by invoice.site_code) F on M.Site_Code=F.Site_code left outer join (select Site_code,count(sale_order) Total_Picking,Sum(Tot_amt) Total_Picking_Value from sorder where status not in ('C','X','H') and sorder.sale_order in (select distinct sale_order from wave_task_det,Wave_task where Wave_task.WAVE_ID=wave_task_det.WAVE_ID and Wave_task.CANCEL='N' and Trim(Ref_SER)='A-PICK' and exists (select 1 from PICK_ISS_HDR HDR,PICK_ISS_DET DET where HDR.PICK_ORDER =WAVE_TASK_DET.REF_ID and HDR.TRAN_ID = DET.TRAN_ID And Hdr.Confirmed = 'Y')) and not exists(select 1 from despatch where sord_no = SORDER.sale_order and confirmed = 'Y') Group by Site_code)G on M.Site_Code=G.Site_code left outer join (select sorder.Site_code,count(sorddet.Line_NO) Total_Picking_Line_NO,Sum(sorddet.Quantity) Total_Picking_Quantity from sorder,sorddet where sorder.sale_order=sorddet.sale_order and sorder.status not in ('C','X','H') and sorder.sale_order in (select distinct sale_order from wave_task_det,Wave_task where Wave_task.WAVE_ID=wave_task_det.WAVE_ID and Wave_task.CANCEL='N' and Trim(Ref_SER)='A-PICK' and exists (select 1 from PICK_ISS_HDR HDR,PICK_ISS_DET DET where HDR.PICK_ORDER =WAVE_TASK_DET.REF_ID and HDR.TRAN_ID = DET.TRAN_ID And Hdr.Confirmed = 'Y')) and not exists(select 1 from despatch where sord_no = SORDER.sale_order and confirmed = 'Y') Group by sorder.Site_code )H on M.Site_Code=H.Site_code )
--2)Pick Vs Ship Order Status Summary
Select M.Site_code,M.site_descr, NVL(A.TOT_ORD1,0)+NVL(B.TOT_ORD1,0) Total_Orders , NVL(A.Ord_AMT1,0) + NVL(B.Ord_AMT1,0) Total_Order_Value, NVL(C.TOT_LN1,0)+NVL(D.TOT_LN1,0) Total_Order_Line_No,NVL(C.Ord_Qty1,0) +NVL(D.Ord_Qty1,0) Total_Order_Quantity, NVL(Total_Picking,0) Total_Picking, NVL(Total_Picking_Value,0) Total_Picking_Value, NVL(Total_Picking_Line_NO,0) Total_Picking_Line_NO, NVL(Total_Picking_Quantity,0) Total_Picking_Quantity, NVL(E.Total_Shippment,0) Total_Shippment,NVL(E.Total_Shippment_Value,0) Total_Shippment_Value, NVL(Total_Shippment_LineNo,0) Total_Shippment_LineNo ,NVL(Total_Shippment_Quantity,0) Total_Shippment_Quantity from (select site_code,descr as site_descr from site where site_code in('SP110','TA387','TA821','TA160','TC388','MJ614','UT619','CS200','BH204','TL901'))M left outer join (select Site_code,NVL(count(sale_Order),0) TOT_ORD1,NVL(Sum(TOT_AMT),0) Ord_AMT1 from sorder where status not in ('C','X') and order_date < CURRENT_Date group by Site_code)A on M.Site_Code=A.Site_code left outer join (select Site_code,NVL(count(sale_Order),0) TOT_ORD1,NVL(Sum(TOT_AMT),0) Ord_AMT1 from sorder where order_date = CURRENT_Date group by Site_code)B on M.Site_Code=B.Site_code left outer join (select sorder.Site_code,NVL(count(Sorddet.Line_no),0) TOT_LN1,NVL(SUM(Sorddet.Quantity),0) Ord_Qty1 from sorder,Sorddet where sorder.Sale_Order=Sorddet.Sale_Order and sorder.status not in ('C','X') and order_date < CURRENT_Date group by sorder.Site_code)C on M.Site_Code=C.Site_code left outer join (select sorder.Site_code,NVL(count(Sorddet.Line_no),0) TOT_LN1,NVL(SUM(Sorddet.Quantity),0) Ord_Qty1 from sorder,Sorddet where sorder.Sale_Order=Sorddet.Sale_Order and order_date = CURRENT_Date group by sorder.Site_code)D on M.Site_Code=D.Site_code left outer join (Select site_code,count(distinct sale_order) Total_Shippment,Sum(Net_AMT) Total_Shippment_Value from invoice where tran_date = CURRENT_Date Group by site_code) E on M.Site_Code=E.Site_code left outer join (Select invoice.site_code,count(distinct INVDET.SOrd_Line_NO) Total_Shippment_LineNo,Sum(INVDET.Quantity) Total_Shippment_Quantity from invoice ,INVDET where invoice.tran_date = CURRENT_Date Group by invoice.site_code) F on M.Site_Code=F.Site_code left outer join (select Site_code,count(sale_order) Total_Picking,Sum(Tot_amt) Total_Picking_Value from sorder where status not in ('C','X','H') and sorder.sale_order in (select distinct sale_order from wave_task_det,Wave_task where Wave_task.WAVE_ID=wave_task_det.WAVE_ID and Wave_task.CANCEL='N' and Trim(Ref_SER)='A-PICK' and exists (select 1 from PICK_ISS_HDR HDR,PICK_ISS_DET DET where HDR.PICK_ORDER =WAVE_TASK_DET.REF_ID and HDR.TRAN_ID = DET.TRAN_ID And Hdr.Confirmed = 'Y')) and not exists(select 1 from despatch where sord_no = SORDER.sale_order and confirmed = 'Y') Group by Site_code)G on M.Site_Code=G.Site_code left outer join (select sorder.Site_code,count(sorddet.Line_NO) Total_Picking_Line_NO,Sum(sorddet.Quantity) Total_Picking_Quantity from sorder,sorddet where sorder.sale_order=sorddet.sale_order and sorder.status not in ('C','X','H') and sorder.sale_order in (select distinct sale_order from wave_task_det,Wave_task where Wave_task.WAVE_ID=wave_task_det.WAVE_ID and Wave_task.CANCEL='N' and Trim(Ref_SER)='A-PICK' and exists (select 1 from PICK_ISS_HDR HDR,PICK_ISS_DET DET where HDR.PICK_ORDER =WAVE_TASK_DET.REF_ID and HDR.TRAN_ID = DET.TRAN_ID And Hdr.Confirmed = 'Y')) and not exists(select 1 from despatch where sord_no = SORDER.sale_order and confirmed = 'Y') Group by sorder.Site_code )H on M.Site_Code=H.Site_code
------------------------------------------------------------------------------------------------------------------------------
/*3) Shipment Efficiency Summary */
Select S.Site_Code,S.descr as site_descr, S.Total_Orders, nvl(O.On_Time,0)as ON_TIME,nvl(D.Delay_Time,0)as DELAY_TIME, nvl(OD.OVER_DUE,0) as OVER_DUE, nvl(ROUND((DT.AVG_DELAY)/(S.Total_Orders),0),0) AVERAGE From (Select S.Site_Code, site.descr, nvl(Count(Sale_Order),0) Total_Orders From Sorder S inner join Site site On site.site_code = s.site_code where site.site_code in('SP110','TA387','TA821','TA160','TC388','MJ614','UT619','CS200','BH204','TL901') Group By S.Site_Code,site.descr) S Left Outer Join (SELECT S.SITE_CODE, COUNT(S.LINE_NO) ON_TIME From Sorddet S Inner Join (Select Inv.Invoice_Id, Inv.Tran_Date, Invd.Sord_No, Invd.Sord_Line_No From Invoice Inv Inner Join Invdet Invd On Inv.Invoice_Id = Invd.Invoice_Id) I On S.Sale_Order = I.Sord_No And S.Line_No = I.Sord_Line_No Where S.Dsp_Date = I.Tran_Date Group By S.Site_Code ) O On S.Site_Code = O.Site_Code Left Outer Join (SELECT S.SITE_CODE, ROUND(AVG(I.Tran_Date - S.Dsp_Date),2) DELAY_TIME From Sorddet S Inner Join (Select Inv.Invoice_Id, Inv.Tran_Date, Invd.Sord_No, Invd.Sord_Line_No From Invoice Inv Inner Join Invdet Invd On Inv.Invoice_Id = Invd.Invoice_Id) I On S.Sale_Order = I.Sord_No And S.Line_No = I.Sord_Line_No Where S.Dsp_Date < I.Tran_Date Group By S.Site_Code) D On S.Site_Code = D.Site_Code LEFT OUTER JOIN (SELECT S.SITE_CODE, COUNT(S.LINE_NO) OVER_DUE From Sorddet S Inner Join (Select Inv.Invoice_Id, Inv.Tran_Date, Invd.Sord_No, Invd.Sord_Line_No From Invoice Inv Inner Join Invdet Invd On Inv.Invoice_Id = Invd.Invoice_Id) I On S.Sale_Order = I.Sord_No And S.Line_No = I.Sord_Line_No Where S.Dsp_Date < I.Tran_Date Group By S.Site_Code) Od ON S.SITE_CODE = OD.SITE_CODE Left Outer Join (SELECT SITE_CODE, nvl(SUM(AVG_DELAY),0) AVG_DELAY FROM (SELECT S.SITE_CODE, S.SALE_ORDER, COUNT(s.sale_order) * (ROUND(AVG(I.Tran_Date - S.Dsp_Date),2)) AVG_DELAY From Sorddet S Inner Join (Select Inv.Invoice_Id, Inv.Tran_Date, Invd.Sord_No, Invd.Sord_Line_No From Invoice Inv Inner Join Invdet Invd On Inv.Invoice_Id = Invd.Invoice_Id) I On S.Sale_Order = I.Sord_No And S.Line_No = I.Sord_Line_No Where S.Dsp_Date < I.Tran_Date Group By S.Site_Code, S.SALE_ORDER)A GROUP BY SITE_CODE) Dt On S.Site_Code = Dt.Site_Code
--------------------------------------------------------------------------------------------------------------------------------
/*4) Order Status Due Date Wise */
select M.site_code,M.site_descr, Nvl(A.Total_Order,0) Total_Order,Nvl(Past_Due_date,0) Past_Due_date, Nvl(B.Pending_Item,0) Pending_Item, Nvl(I.Inventory,0) Inventory,Nvl(C.On_Hold,0) On_Hold,Nvl(G.ON_TIME,0) as InitialShipment,Round(Nvl(F.Total_Sku,0)) as TotalSKUOrder, Nvl(E.WIP,0) WIP, Case when Nvl(F.Total_Sku,0) >0 then Round(Nvl(G.ON_TIME,0)/Nvl(F.Total_Sku,0)*100,0) else 0 end as SKU_Fill_Rate from ( select distinct(site_code) as site_code,descr as site_descr from site where site_code in('SP110','TA387','TA821','TA160','TC388','MJ614','UT619','CS200','BH204','TL901') ) M left outer join ( select site_code, Nvl(count(Sale_Order),0) Total_Order from sorder group by Site_Code)A on M.site_code=A.site_code left outer join ( select Sorder.Site_Code, count(Distinct sorditem.item_Code__ORd) as Pending_Item from sorditem,Sorder where Sorder.Sale_Order=sorditem.Sale_Order and sorditem.Qty_Ord-sorditem.qty_Desp>0 group by Sorder.Site_Code)B on M.site_code=B.site_code left outer join ( select site_code, Nvl(count(Sale_Order),0) On_Hold from sorder where status='H' group by Site_Code)C on M.site_code=C.site_code left outer join ( select Sorder.Site_Code, count(Distinct sorditem.item_Code__ORd) as Past_Due_date from sorditem,Sorder where Sorder.Sale_Order=sorditem.Sale_Order and sorditem.Qty_Ord-sorditem.qty_Desp>0 and sorditem.Date_DESP<Current_Date group by Sorder.Site_Code)D on M.site_code=D.site_code left outer join ( select site_code, Nvl(count(Sale_Order),0) WIP from sorder where status in ('H','P') group by Site_Code)E on M.site_code=E.site_code left outer join (select sorder.Site_Code, sum(sorddet.quantity) Total_Sku from sorder,sorddet where sorder.Sale_order=sorddet.Sale_order group by sorder.Site_Code)F on M.site_code=F.site_code left outer join (SELECT S.SITE_CODE, COUNT(S.Quantity) ON_TIME From Sorddet S Inner Join (Select Inv.Invoice_Id, Inv.Tran_Date, Invd.Sord_No, Invd.Sord_Line_No From Invoice Inv Inner Join Invdet Invd On Inv.Invoice_Id = Invd.Invoice_Id) I On S.Sale_Order = I.Sord_No And S.Line_No = I.Sord_Line_No Where S.Dsp_Date = I.Tran_Date Group By S.Site_Code) G on M.site_code=G.site_code left outer join (select H.site_code, Count(H.item_code) Inventory from (select SO.site_code,item_code,Sum(Quantity) Order_QTY,(select sum(quantity) from stock Stk where stk.Item_code=S.Item_code) as Stock_Qty from sorddet S ,Sorder SO where SO.Sale_order=S.Sale_order and SO.Confirmed='Y' and SO.Status not in ('X','C') and (select count(1) from sordalloc a where a.sale_order=s.sale_order and Trim(s.line_no)=Trim(a.line_no))=0 and S.status not in ('X','C') group by SO.site_code,item_code) H where H.Order_QTY > H.Stock_Qty group by H.site_code)I on M.site_code=I.site_code
--------------------------------------------------------------------------------------------------------------------------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment