Commit d218a3d3 authored by sbade's avatar sbade

updated aql for dashboard data as per given bye client


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97780 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 85c104c8
......@@ -13,9 +13,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.Stateless;
......@@ -46,13 +44,13 @@ public class CustomerInfoEJB extends ValidatorEJB implements CustomerInfoRemote,
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
DashboardUtility dashbordUtil = null;
//DashboardUtility dashbordUtil = null;
Date frmDate = null;
Date toDate = null;
try
{
System.out.println(" Inside CustomerInfoEJB for getCurrentReceivable Method Data Soruc Name ="+dataSourceName+" custCode:"+custCode+" lastMonth is =" + lastMonth);
dashbordUtil = new DashboardUtility();
DashboardUtility dashbordUtil = new DashboardUtility();
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
rawDataCurntRecvbleJson = new JSONObject();
......
......@@ -21,7 +21,7 @@ public class SalesInventory extends ValidatorEJB implements SalesInventoryRemote
GenericUtility genericUtility = GenericUtility.getInstance();
//1.This is the main method to show the parent graph
@SuppressWarnings("unchecked")
public JSONObject getSalesInventoryDivWise(String dataSourceName, String month, String from_mns, String to_mns ) throws RemoteException, ITMException
public JSONObject getSalesInventoryDivWise(String dataSourceName, String month, String nomns) throws RemoteException, ITMException
{
JSONObject rawDataJson = new JSONObject();
......@@ -40,7 +40,7 @@ public class SalesInventory extends ValidatorEJB implements SalesInventoryRemote
int count=0;
if(month!=null && month.trim().length()>0)
{
System.out.println("month inside EJB SalesInventory.getSalesInventoryDivWise(String dataSourceName, String month) ==="+month);
System.out.println("month inside EJB SalesInventory.getSalesInventoryDivWise(String dataSourceName, String month) ==="+month+"and Nomns==="+nomns);
String selectedmonth = month.substring(4, 6);
if(selectedmonth.trim().equalsIgnoreCase("01") ||selectedmonth.trim().equalsIgnoreCase("02") ||selectedmonth.trim().equalsIgnoreCase("03"))
{
......@@ -79,7 +79,8 @@ public class SalesInventory extends ValidatorEJB implements SalesInventoryRemote
" GROUP BY item_code UNION ALL SELECT item_code, SUM(cl_stk_qty) AS cl_stk FROM sun.inventory_spl WHERE inv_date= LAST_DAY(TO_DATE('"+month+"','yyyymm')) AND loc_code " +
" IN ( SELECT loc_code FROM LOC_SALABLE) GROUP BY item_code ) GROUP BY item_code ) CLSTK WHERE Sl.item_code= i.item_code AND ('"+month+"' = '"+month+"') AND i.item_sub_group NOT " +
" IN ('CU','BJ') AND sl.item_code=clstk.item_code(+) GROUP BY sl.item_ser, trim(i.item_sub_group_descr) HAVING SUM(sl.ytdsl)>0 ) GROUP BY item_ser,brand,ytdsl,ytdach,cl_stk,nomn HAVING " +
" ( ROUND(cl_stk/(ytdsl/nomn),1) >= '"+from_mns+"' and ROUND(cl_stk/(ytdsl/nomn),1) <= '"+to_mns+"' ) ) A , ITEMSER WHERE a.item_ser=ITEMSER.item_ser AND a.brand NOT LIKE 'DUMMY%'";
" ( ROUND(cl_stk/(ytdsl/nomn),1) "+nomns +") ) A , ITEMSER WHERE a.item_ser=ITEMSER.item_ser AND a.brand NOT LIKE 'DUMMY%'";
//" ( ROUND(cl_stk/(ytdsl/nomn),1) >= '"+from_mns+"' and ROUND(cl_stk/(ytdsl/nomn),1) <= '"+to_mns+"' ) ) A , ITEMSER WHERE a.item_ser=ITEMSER.item_ser AND a.brand NOT LIKE 'DUMMY%'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
......
......@@ -8,7 +8,7 @@ import org.json.simple.JSONObject;
@Local
public interface SalesInventoryLocal extends ValidatorLocal
{
public JSONObject getSalesInventoryDivWise(String dataSourceName,String month,String from_mns, String to_mns) throws RemoteException, ITMException;
public JSONObject getSalesInventoryDivWise(String dataSourceName,String month,String nomns) throws RemoteException, ITMException;
public JSONObject getSalesInventoryBrandWise(String dataSourceName,String month,String brandName) throws RemoteException, ITMException;
}
......@@ -10,7 +10,7 @@ import org.json.simple.JSONObject;
@Remote
public interface SalesInventoryRemote extends ValidatorRemote
{
public JSONObject getSalesInventoryDivWise(String dataSourceName,String month,String from_mns, String to_mns) throws RemoteException, ITMException;
public JSONObject getSalesInventoryDivWise(String dataSourceName,String month,String nomns) throws RemoteException, ITMException;
public JSONObject getSalesInventoryBrandWise(String dataSourceName,String month,String brandName) throws RemoteException, ITMException;
}
......@@ -1209,13 +1209,26 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+" ROUND(SUM(a.sale_ytd_cy)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN "
+" SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END)/10000000,1) "
+" AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/10000000,1) AS MTH_CY_SALES, "
+" ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT,ROUND(SUM (a.sale_mth_cy)/ SUM (a.hotrgt_mth_cy)* 100,2) AS MTH_ACH_PER,(CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) "
+" ELSE ROUND(0*100,1) END) AS MTH_GR,ROUND(SUM(a.sale_ytd_cy)/10000000,1) "
+" ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT,"
+" (case when SUM (a.hotrgt_mth_cy) <>0 then "
+" (case when ROUND(SUM (a.sale_mth_cy)/ SUM (a.hotrgt_mth_cy)* 100,1) <-200 THEN -200 "
+" when ROUND(SUM (a.sale_mth_cy)/ SUM (a.hotrgt_mth_cy)* 100,1) >200 THEN 200 ELSE "
+" ROUND(SUM (a.sale_mth_cy)/ SUM (a.hotrgt_mth_cy)* 100,1) end )"
+" ELSE ROUND(0*100,1) END) AS MTH_ACH_PER, "
+"(CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS MTH_GR, "
+" ROUND(SUM(a.sale_ytd_cy)/10000000,1) "
+" AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/10000000,1) AS YTD_LY_SALES, "
+" ROUND(SUM(a.hotrgt_ytd_cy)/10000000,1) AS YTD_HO_TRGT,(CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) "
+" ELSE ROUND(0*100,1) END) AS YTD_GR,ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1, "
+" ROUND(SUM(a.hotrgt_ytd_cy)/10000000,1) AS YTD_HO_TRGT,"
+"(CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS YTD_GR,"
+" ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1, "
+" ROUND(SUM(a.sale_Qrt2_cy)/10000000,1) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/10000000,1) AS Q3, "
+" ROUND(SUM(a.sale_Qrt4_cy)/10000000,1) AS Q4,ROUND(SUM(a.sale_ytd_cy)/100000/"
+" SUM(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 "
......@@ -1455,18 +1468,28 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+" ROUND(SUM(a.sale_ytd_cy)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN "
+" SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END)/10000000,1) "
+" AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/10000000,1) AS MTH_CY_SALES, "
+" ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT,(CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) "
+" ELSE ROUND(0*100,1) END) AS MTH_GR,ROUND(SUM(a.sale_ytd_cy)/10000000,1) "
+" ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT,"
+" (CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS MTH_GR,"
+ "ROUND(SUM(a.sale_ytd_cy)/10000000,1) "
+" AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/10000000,1) AS YTD_LY_SALES, "
+" ROUND(SUM(a.hotrgt_ytd_cy)/10000000,1) AS YTD_HO_TRGT, "
+" (CASE WHEN SUM (a.hotrgt_ytd_cy)= 0 THEN 0 ELSE ROUND(SUM (a.sale_ytd_cy)/SUM (a.hotrgt_ytd_cy)* 100,1) END) AS YTD_ACH_PER, "
+" (CASE WHEN SUM (a.hotrgt_ytd_cy)= 0 THEN 0 ELSE "
+" (CASE WHEN ROUND(SUM (a.sale_ytd_cy)/SUM (a.hotrgt_ytd_cy)* 100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM (a.sale_ytd_cy)/SUM (a.hotrgt_ytd_cy)* 100,1) >200 THEN 200 ELSE "
+" ROUND(SUM (a.sale_ytd_cy)/SUM (a.hotrgt_ytd_cy)* 100,1) END) end) AS YTD_ACH_PER, "
+" (CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) "
+" ELSE ROUND(0*100,1) END) AS YTD_GR,ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1, "
+" THEN (CASE WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS YTD_GR,"
+" ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1, "
+" ROUND(SUM(a.sale_Qrt2_cy)/10000000,1) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/10000000,1) AS Q3, "
+" ROUND(SUM(a.sale_Qrt4_cy)/10000000,1) AS Q4,ROUND(SUM(a.sale_ytd_cy)/100000/"
+" SUM(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 "
+" MAX(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 "
+" ELSE SUBSTR('"+month+"' ,5,2)-3 END) ,2) AS PMPM,round(SUM(b.pmpm_ly),2) AS PMPM_LY, "
+" ROUND(SUM(a.sale_ytd_cy-a.hotrgt_ytd_cy)/10000000,1) AS YTD_ACH_EXTRA, "
+" (CASE WHEN SUM(a.sale_ytd_cy)<>0 THEN ROUND(SUM(a.retu_ytd_cy)/"
......@@ -1728,20 +1751,31 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+" SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END)/10000000,1) "
+" AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/10000000,1) AS MTH_CY_SALES, "
+" ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT, "
+" CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE ROUND(SUM (a.sale_mth_cy)/SUM (a.hotrgt_mth_cy)*100,2) END AS MTH_ACH_PER, "
+" (CASE WHEN SUM (a.hotrgt_mth_cy)= 0 THEN 0 ELSE "
+" (CASE WHEN ROUND(SUM (a.sale_mth_cy)/SUM (a.hotrgt_mth_cy)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM (a.sale_mth_cy)/SUM (a.hotrgt_mth_cy)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM (a.sale_mth_cy)/SUM (a.hotrgt_mth_cy)*100,1) END) end) AS MTH_ACH_PER, "
+" (CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) "
+" ELSE ROUND(0*100,1) END) AS MTH_GR,ROUND(SUM(a.sale_ytd_cy)/10000000,1) "
+" THEN (CASE WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS MTH_GR,"
+" ROUND(SUM(a.sale_ytd_cy)/10000000,1) "
+" AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/10000000,1) AS YTD_LY_SALES, "
+" ROUND(SUM(a.hotrgt_ytd_cy)/10000000,1) AS YTD_HO_TRGT,(CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) "
+" THEN (CASE WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS YTD_GR,ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1, "
+" ROUND(SUM(a.sale_Qrt2_cy)/10000000,1) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/10000000,1) AS Q3, "
+" ROUND(SUM(a.sale_Qrt4_cy)/10000000,1) AS Q4,ROUND(SUM(a.sale_ytd_cy)/100000/"
+" SUM(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 "
+" MAX(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 "
+" ELSE SUBSTR('"+month+"' ,5,2)-3 END) ,1) AS PMPM,SUM(b.pmpm_ly) AS PMPM_LY, "
+" ROUND(SUM(a.sale_ytd_cy-a.hotrgt_ytd_cy)/10000000,1) AS YTD_ACH_EXTRA, "
+" CASE WHEN SUM (a.hotrgt_YTD_cy) = 0 THEN 0 ELSE ROUND(SUM (a.sale_YTD_cy)/SUM (a.hotrgt_YTD_cy)*100,2) END AS YTD_ACH_PER, "
+" CASE WHEN SUM (a.hotrgt_YTD_cy) = 0 THEN 0 ELSE "
+" (CASE WHEN ROUND(SUM (a.sale_YTD_cy)/SUM (a.hotrgt_YTD_cy)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM (a.sale_YTD_cy)/SUM (a.hotrgt_YTD_cy)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM (a.sale_YTD_cy)/SUM (a.hotrgt_YTD_cy)*100,1) END) END AS YTD_ACH_PER, "
+" (CASE WHEN SUM(a.sale_ytd_cy)<>0 THEN ROUND(SUM(a.retu_ytd_cy)/"
+" SUM(a.sale_ytd_cy)*100,1) ELSE ROUND(0*100,1) END) AS RETU_YTD_PRCT "
+" FROM (SELECT dwh.fin_year , dwh.item_ser,SUM(sale_mth_cy) AS sale_mth_cy, "
......@@ -1994,10 +2028,16 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+ "ROUND(hotrgt_ytd_cy/10000000,2) AS hotrgt_ytd_cy,"
+ "ROUND(sale_YTD_cy/10000000,2) AS sale_YTD_cy, "
+ "ROUND(sale_YTD_ly/10000000,2) AS sale_YTD_ly,"
+ "(CASE WHEN NVL(hotrgt_ytd_cy,0) = 0 THEN 0"
+ "ELSE ROUND(sale_YTD_cy/hotrgt_ytd_cy * 100,1) END ) AS ho_ach_prcnt,"
+ "(CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 0"
+ "ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt,"
+" CASE WHEN NVL(hotrgt_ytd_cy,0) = 0 THEN 0 ELSE "
+" (CASE WHEN ROUND(sale_YTD_cy/hotrgt_ytd_cy * 100,1) <-200 THEN -200 "
+" WHEN ROUND(sale_YTD_cy/hotrgt_ytd_cy * 100,1) >200 THEN 200 ELSE "
+" ROUND(sale_YTD_cy/hotrgt_ytd_cy * 100,1) END) END AS ho_ach_prcnt, "
+ "(CASE WHEN NVL(sale_YTD_ly,0) <> 0 "
+" THEN (CASE WHEN ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) <-200 THEN -200 "
+" WHEN ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) >200 THEN 200 ELSE "
+" ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END )"
+" ELSE ROUND(0*100,1) END) AS gr_prcnt, "
+ "c.psr AS NO_OF_SO,"
+ "ROUND(DWH.sale_ytd_cy/10000000/c.psr/(CASE WHEN SUBSTR('"+month+"',5,2)<4 THEN SUBSTR('"+month+"',5,2)+9 ELSE SUBSTR('"+month+"',5,2)-3 END) ,2) AS PMPM,"
+ "ROUND(terr100/totterr*100,1) AS terr100prcnt"
......@@ -2196,10 +2236,16 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+ " ROUND(hotrgt_MTH_cy/10000000,2) AS hotrgt_MTH_cy, "
+ " ROUND(sale_MTH_cy/10000000,2) AS sale_MTH_cy,"
+ " ROUND(sale_MTH_ly/10000000,2) AS sale_MTH_ly, "
+ " (CASE WHEN NVL(hotrgt_MTH_cy,0) = 0 THEN 0 "
+ " ELSE ROUND(sale_MTH_cy/hotrgt_MTH_cy * 100,1) END ) AS ho_ach_prcnt, "
+ " (CASE WHEN NVL(sale_MTH_ly,0) = 0 THEN 0 "
+ " ELSE ROUND((sale_MTH_cy -sale_MTH_ly)/ sale_MTH_ly* 100,1) END) AS gr_prcnt, "
+ " (CASE WHEN NVL(hotrgt_MTH_cy,0) <> 0 THEN "
+" (CASE WHEN ROUND(sale_MTH_cy/hotrgt_MTH_cy * 100,1) <-200 THEN -200 "
+" WHEN ROUND(sale_MTH_cy/hotrgt_MTH_cy * 100,1) >200 THEN 200 ELSE "
+" ROUND(sale_MTH_cy/hotrgt_MTH_cy * 100,1) END ) "
+" ELSE ROUND(0*100,1) END ) AS ho_ach_prcnt, "
+ " (CASE WHEN NVL(sale_MTH_ly,0) <> 0 "
+" THEN (CASE WHEN ROUND((sale_MTH_cy -sale_MTH_ly)/ sale_MTH_ly* 100,1) <-200 THEN -200 "
+" WHEN ROUND((sale_MTH_cy -sale_MTH_ly)/ sale_MTH_ly* 100,1) >200 THEN 200 ELSE "
+" ROUND((sale_MTH_cy -sale_MTH_ly)/ sale_MTH_ly* 100,1) END )"
+" ELSE ROUND(0*100,1) END) AS gr_prcnt, "
+ " c.psr AS NO_OF_SO, "
+ " ROUND(DWH.sale_MTH_cy/10000000/c.psr/ "
+ " (CASE WHEN SUBSTR('"+month+"',5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) "
......@@ -2416,24 +2462,36 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+ " ELSE SUBSTR ('"+month+"', 5, 2) - 3 END)/ 10000000,1) AS avg_mthly, "
+ " ROUND (SUM (a.sale_mth_cy) / 10000000, 1) AS mth_cy_sales, "
+ " ROUND (SUM (a.hotrgt_mth_cy) / 10000000, 1) AS mth_ho_trgt, "
+ " (CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 2) END) AS mth_ach_per, "
+ " (CASE WHEN SUM (a.sale_mth_ly) <> 0 THEN ROUND (SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly) * 100,1) "
+ " (CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) END) end) AS MTH_ACH_PER, "
+" (CASE WHEN SUM (a.sale_mth_ly) <> 0 "
+" THEN (CASE WHEN ROUND (SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly) * 100,1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly) * 100,1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly) * 100,1) END )"
+ " ELSE ROUND (0 * 100, 1) END ) AS mth_gr, "
+ " ROUND (SUM (a.sale_ytd_cy) / 10000000, 1) AS ytd_cy_sales, "
+ " ROUND (SUM (a.sale_ytd_ly) / 10000000, 1) AS ytd_ly_sales, "
+ " ROUND (SUM (a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ho_trgt,"
+ " (CASE WHEN SUM (a.sale_ytd_ly) <> 0 THEN ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) "
+ " (CASE WHEN SUM (a.sale_ytd_ly) <> 0 "
+" THEN (CASE WHEN ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) <-200 THEN -200 "
+" WHEN ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) >200 THEN 200 ELSE "
+" ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) END )"
+ " ELSE ROUND (0 * 100, 1) END ) AS ytd_gr, "
+ " ROUND (SUM (a.sale_qrt1_cy) / 10000000, 1) AS q1, "
+ " ROUND (SUM (a.sale_qrt2_cy) / 10000000, 1) AS q2, "
+ " ROUND (SUM (a.sale_qrt3_cy) / 10000000, 1) AS q3, "
+ " ROUND (SUM (a.sale_qrt4_cy) / 10000000, 1) AS q4, "
+ " ROUND ( SUM (a.sale_ytd_cy) / 100000/ SUM (c.psr)/ (CASE "
+ " ROUND ( SUM (a.sale_ytd_cy) / 100000/ MAX (c.psr)/ (CASE "
+ " WHEN SUBSTR ('"+month+"', 5, 2) < 4 THEN SUBSTR ('"+month+"', 5, 2) + 9 "
+ " ELSE SUBSTR ('"+month+"', 5, 2) - 3 END),1) AS pmpm, "
+ " SUM (b.pmpm_ly) AS pmpm_ly, "
+ " ROUND (SUM (a.sale_ytd_cy - a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ach_extra,"
+" (CASE WHEN SUM (a.hotrgt_YTD_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 2) END) AS YTD_ach_per, "
+" (CASE WHEN SUM (a.hotrgt_YTD_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 1) END) end) AS YTD_ACH_PER, "
+ " (CASE WHEN SUM (a.sale_ytd_cy) <> 0 THEN ROUND (SUM (a.retu_ytd_cy) / SUM (a.sale_ytd_cy) * 100,1) "
+ " ELSE ROUND (0 * 100, 1) END) AS retu_ytd_prct "
+ " FROM (SELECT dwh.fin_year, dwh.item_ser,DWH.TERR_CODE,DWH.ZONE_DESCR, "
......@@ -2711,26 +2769,36 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+ " END)/ 10000000,1) AS avg_mthly, "
+ " ROUND (SUM (a.sale_mth_cy) / 10000000, 1) AS mth_cy_sales, "
+ " ROUND (SUM (a.hotrgt_mth_cy) / 10000000, 1) AS mth_ho_trgt, "
+ " (CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 2) END) AS mth_ach_per, "
+ " (CASE WHEN SUM (a.sale_mth_ly) <> 0 THEN ROUND ( SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly)* 100,1) "
+ " ELSE ROUND (0 * 100, 1) "
+ " END) AS mth_gr, "
+ " (CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) END) end) AS MTH_ACH_PER, "
+" (CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS MTH_GR,"
+ " ROUND (SUM (a.sale_ytd_cy) / 10000000, 1) AS ytd_cy_sales, "
+ " ROUND (SUM (a.sale_ytd_ly) / 10000000, 1) AS ytd_ly_sales, "
+ " ROUND (SUM (a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ho_trgt, "
+ " (CASE WHEN SUM (a.sale_ytd_ly) <> 0 THEN ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) "
+ " ELSE ROUND (0 * 100, 1) "
+ " END) AS ytd_gr, "
+"(CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS YTD_GR, "
+ " ROUND (SUM (a.sale_qrt1_cy) / 10000000, 1) AS q1, "
+ " ROUND (SUM (a.sale_qrt2_cy) / 10000000, 1) AS q2, "
+ " ROUND (SUM (a.sale_qrt3_cy) / 10000000, 1) AS q3, "
+ " ROUND (SUM (a.sale_qrt4_cy) / 10000000, 1) AS q4, "
+ " ROUND ( SUM (a.sale_ytd_cy)/ 100000/ SUM (c.psr)/ (CASE WHEN SUBSTR ('"+month+"', 5, 2) < 4 THEN SUBSTR ('"+month+"', 5, 2) + 9 "
+ " ROUND ( SUM (a.sale_ytd_cy)/ 100000/ MAX (c.psr)/ (CASE WHEN SUBSTR ('"+month+"', 5, 2) < 4 THEN SUBSTR ('"+month+"', 5, 2) + 9 "
+ " ELSE SUBSTR ('"+month+"', 5, 2) - 3 "
+ " END),1) AS pmpm, "
+ " SUM (b.pmpm_ly) AS pmpm_ly, "
+ " ROUND (SUM (a.sale_ytd_cy - a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ach_extra, "
+ " (CASE WHEN SUM (a.hotrgt_YTD_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 2) END) AS YTD_ach_per, "
+ " (CASE WHEN SUM (a.hotrgt_YTD_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 1) END) end) AS YTD_ach_per, "
+ " (CASE WHEN SUM (a.sale_ytd_cy) <> 0 THEN ROUND (SUM (a.retu_ytd_cy) / SUM (a.sale_ytd_cy) * 100,1) "
+ " ELSE ROUND (0 * 100, 1) "
+ " END) AS retu_ytd_prct "
......@@ -3009,20 +3077,32 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+ " ELSE SUBSTR ('"+month+"', 5, 2) - 3 END)/ 10000000,1) AS avg_mthly, "
+ " ROUND (SUM (a.sale_mth_cy) / 10000000, 1) AS mth_cy_sales, "
+ " ROUND (SUM (a.hotrgt_mth_cy) / 10000000, 1) AS mth_ho_trgt, "
+ "(CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 2) END) AS mth_ach_per, "
+ " (CASE WHEN SUM (a.sale_mth_ly) <> 0 THEN ROUND (SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly) * 100,1) "
+ " ELSE ROUND (0 * 100, 1) END ) AS mth_gr, "
+ "(CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) END) end) AS MTH_ACH_PER, "
+" (CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS MTH_GR,"
+ " ROUND (SUM (a.sale_ytd_cy) / 10000000, 1) AS ytd_cy_sales, "
+ " ROUND (SUM (a.sale_ytd_ly) / 10000000, 1) AS ytd_ly_sales, "
+ " ROUND (SUM (a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ho_trgt,"
+ "(CASE WHEN SUM (a.hotrgt_ytd_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 2) END) AS ytd_ach_per, "
+ " (CASE WHEN SUM (a.sale_ytd_ly) <> 0 THEN ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) "
+ " ELSE ROUND (0 * 100, 1) END ) AS ytd_gr, "
+ "(CASE WHEN SUM (a.hotrgt_ytd_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 1) END) end) AS YTD_ACH_PER, "
+"(CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS YTD_GR, "
+ " ROUND (SUM (a.sale_qrt1_cy) / 10000000, 1) AS q1, "
+ " ROUND (SUM (a.sale_qrt2_cy) / 10000000, 1) AS q2, "
+ " ROUND (SUM (a.sale_qrt3_cy) / 10000000, 1) AS q3, "
+ " ROUND (SUM (a.sale_qrt4_cy) / 10000000, 1) AS q4, "
+ " ROUND ( SUM (a.sale_ytd_cy) / 100000/ SUM (c.psr)/ (CASE "
+ " ROUND ( SUM (a.sale_ytd_cy) / 100000/ MAX (c.psr)/ (CASE "
+ " WHEN SUBSTR ('"+month+"', 5, 2) < 4 THEN SUBSTR ('"+month+"', 5, 2) + 9 "
+ " ELSE SUBSTR ('"+month+"', 5, 2) - 3 END),1) AS pmpm, "
+ " SUM (b.pmpm_ly) AS pmpm_ly, "
......@@ -3308,26 +3388,36 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+ " END)/ 10000000,1) AS avg_mthly, "
+ " ROUND (SUM (a.sale_mth_cy) / 10000000, 1) AS mth_cy_sales, "
+ " ROUND (SUM (a.hotrgt_mth_cy) / 10000000, 1) AS mth_ho_trgt, "
+ "( CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 2) END) AS mth_ach_per, "
+ " (CASE WHEN SUM (a.sale_mth_ly) <> 0 THEN ROUND ( SUM (a.sale_mth_cy - a.sale_mth_ly)/ SUM (a.sale_mth_ly)* 100,1) "
+ " ELSE ROUND (0 * 100, 1) "
+ " END) AS mth_gr, "
+ "( CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE "
+ " (CASE WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) END) end) AS MTH_ACH_PER, "
+" (CASE WHEN SUM(a.sale_mth_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS MTH_GR,"
+ " ROUND (SUM (a.sale_ytd_cy) / 10000000, 1) AS ytd_cy_sales, "
+ " ROUND (SUM (a.sale_ytd_ly) / 10000000, 1) AS ytd_ly_sales, "
+ " ROUND (SUM (a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ho_trgt, "
+ " (CASE WHEN SUM (a.sale_ytd_ly) <> 0 THEN ROUND ( SUM (a.sale_ytd_cy - a.sale_ytd_ly)/ SUM (a.sale_ytd_ly)* 100,1) "
+ " ELSE ROUND (0 * 100, 1) "
+ " END) AS ytd_gr, "
+"(CASE WHEN SUM(a.sale_ytd_ly)<>0 "
+" THEN (CASE WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) <-200 THEN -200 "
+" WHEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) >200 THEN 200 ELSE "
+" ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) END )"
+" ELSE ROUND(0*100,1) END) AS YTD_GR, "
+ " ROUND (SUM (a.sale_qrt1_cy) / 10000000, 1) AS q1, "
+ " ROUND (SUM (a.sale_qrt2_cy) / 10000000, 1) AS q2, "
+ " ROUND (SUM (a.sale_qrt3_cy) / 10000000, 1) AS q3, "
+ " ROUND (SUM (a.sale_qrt4_cy) / 10000000, 1) AS q4, "
+ " ROUND (SUM (a.sale_ytd_cy)/ 100000/ SUM (c.psr)/ (CASE WHEN SUBSTR ('"+month+"', 5, 2) < 4 THEN SUBSTR ('"+month+"', 5, 2) + 9 "
+ " ROUND (SUM (a.sale_ytd_cy)/ 100000/ MAX (c.psr)/ (CASE WHEN SUBSTR ('"+month+"', 5, 2) < 4 THEN SUBSTR ('"+month+"', 5, 2) + 9 "
+ " ELSE SUBSTR ('"+month+"', 5, 2) - 3 "
+ " END),1) AS pmpm, "
+ " SUM (b.pmpm_ly) AS pmpm_ly, "
+ " ROUND (SUM (a.sale_ytd_cy - a.hotrgt_ytd_cy) / 10000000, 1) AS ytd_ach_extra, "
+ " (CASE WHEN SUM (a.hotrgt_YTD_cy) =0 THEN 0 ELSE ROUND (SUM (a.sale_YTD_cy) / SUM (a.hotrgt_YTD_cy) * 100, 2) END) AS YTD_ach_per, "
+ " (CASE WHEN SUM (a.hotrgt_YTD_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_ytd_cy) / SUM (a.hotrgt_ytd_cy) * 100, 1) END) end) AS YTD_ACH_PER, "
+ " (CASE WHEN SUM (a.sale_ytd_cy) <> 0 THEN ROUND (SUM (a.retu_ytd_cy) / SUM (a.sale_ytd_cy) * 100,1) "
+ " ELSE ROUND (0 * 100, 1) "
+ " END) AS retu_ytd_prct "
......@@ -3597,7 +3687,13 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
}
System.out.println("updates month and year from dcoding in getMnthSalesDivWiseGraphData =="+month+"finYear =="+finYear);
sql =" SELECT b.DIV_NO, b.DIV_DESCR,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,1) WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)-9) /10000000,1) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)+3) /10000000,1) END ) AS REQD_MTHLY,ROUND(SUM(a.sale_ytd_cy)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END)/10000000,1) AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/10000000,1) AS MTH_CY_SALES,ROUND(SUM(a.sale_mth_ly)/10000000,1) AS MTH_LY_SALES,ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT,(CASE WHEN SUM(a.sale_mth_ly)<>0 THEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) ELSE ROUND(9.99*100,1) END) AS MTH_GR,ROUND(SUM (a.sale_mth_cy)/ SUM (a.hotrgt_mth_cy)* 100,2) AS MTH_ACH_PER,ROUND(SUM(a.sale_ytd_cy)/10000000,1) AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/10000000,1) AS YTD_LY_SALES,ROUND(SUM(a.hotrgt_ytd_cy)/10000000,1) AS YTD_HO_TRGT, (CASE WHEN SUM(a.sale_ytd_ly)<>0 THEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) ELSE ROUND(9.99*100,1) END) AS YTD_GR, ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1,ROUND(SUM(a.sale_Qrt2_cy)/10000000,1) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/10000000,1) AS Q3,ROUND(SUM(a.sale_Qrt4_cy)/10000000,1) AS Q4,ROUND(SUM(a.sale_ytd_cy)/100000/SUM(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) ,2) AS PMPM,round(SUM(b.pmpm_ly),2) AS PMPM_LY,ROUND(SUM(a.sale_ytd_cy)/100000/SUM(c.psr)/(CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END),2) - round(SUM(b.pmpm_ly),2) AS INC_PMPM,ROUND(SUM(a.sale_ytd_cy-a.hotrgt_ytd_cy)/10000000,1) AS YTD_ACH_EXTRA,(CASE WHEN SUM(a.sale_ytd_cy)<>0 THEN ROUND(SUM(a.retu_ytd_cy)/SUM(a.sale_ytd_cy)*100,1) ELSE ROUND(9.99*100,1) END) AS RETU_YTD_PRCT,sum(b.bud_inc_pmpm) as bud_inc_pmpm FROM (SELECT dwh.fin_year , dwh.item_ser,SUM(sale_mth_cy) AS sale_mth_cy,SUM(sale_mth_ly) AS sale_mth_ly,SUM(trgt_mth_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100) AS hotrgt_mth_cy,SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100) AS hotrgt_ytd_cy,SUM(sale_Qrt1_cy) AS sale_Qrt1_cy, "
sql =" SELECT b.DIV_NO, b.DIV_DESCR,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,1) WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)-9) /10000000,1) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)+3) /10000000,1) END ) AS REQD_MTHLY,ROUND(SUM(a.sale_ytd_cy)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END)/10000000,1) AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/10000000,1) AS MTH_CY_SALES,ROUND(SUM(a.sale_mth_ly)/10000000,1) AS MTH_LY_SALES,ROUND(SUM(a.hotrgt_mth_cy)/10000000,1) AS MTH_HO_TRGT,"
+" (CASE WHEN SUM(a.sale_mth_ly)<>0 THEN ROUND(SUM(a.sale_mth_cy - a.sale_mth_ly)/SUM(a.sale_mth_ly)*100,1) ELSE ROUND(9.99*100,1) END) AS MTH_GR,"
+ "( CASE WHEN SUM (a.hotrgt_mth_cy) =0 THEN 0 ELSE "
+" (CASE WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) <-200 THEN -200 "
+" WHEN ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) >200 THEN 200 ELSE "
+" ROUND (SUM (a.sale_mth_cy) / SUM (a.hotrgt_mth_cy) * 100, 1) END) end) AS MTH_ACH_PER, "
+" ROUND(SUM(a.sale_ytd_cy)/10000000,1) AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/10000000,1) AS YTD_LY_SALES,ROUND(SUM(a.hotrgt_ytd_cy)/10000000,1) AS YTD_HO_TRGT, (CASE WHEN SUM(a.sale_ytd_ly)<>0 THEN ROUND(SUM(a.sale_ytd_cy - a.sale_ytd_ly)/SUM(a.sale_ytd_ly)*100,1) ELSE ROUND(9.99*100,1) END) AS YTD_GR, ROUND(SUM(a.sale_Qrt1_cy)/10000000,1) AS Q1,ROUND(SUM(a.sale_Qrt2_cy)/10000000,1) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/10000000,1) AS Q3,ROUND(SUM(a.sale_Qrt4_cy)/10000000,1) AS Q4,ROUND(SUM(a.sale_ytd_cy)/100000/SUM(c.psr)/ (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) ,2) AS PMPM,round(SUM(b.pmpm_ly),2) AS PMPM_LY,ROUND(SUM(a.sale_ytd_cy)/100000/SUM(c.psr)/(CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END),2) - round(SUM(b.pmpm_ly),2) AS INC_PMPM,ROUND(SUM(a.sale_ytd_cy-a.hotrgt_ytd_cy)/10000000,1) AS YTD_ACH_EXTRA,(CASE WHEN SUM(a.sale_ytd_cy)<>0 THEN ROUND(SUM(a.retu_ytd_cy)/SUM(a.sale_ytd_cy)*100,1) ELSE ROUND(9.99*100,1) END) AS RETU_YTD_PRCT,sum(b.bud_inc_pmpm) as bud_inc_pmpm FROM (SELECT dwh.fin_year , dwh.item_ser,SUM(sale_mth_cy) AS sale_mth_cy,SUM(sale_mth_ly) AS sale_mth_ly,SUM(trgt_mth_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100) AS hotrgt_mth_cy,SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100) AS hotrgt_ytd_cy,SUM(sale_Qrt1_cy) AS sale_Qrt1_cy, "
+" SUM(sale_Qrt2_cy) AS sale_Qrt2_cy,SUM(sale_Qrt3_cy) AS sale_Qrt3_cy,SUM(sale_Qrt4_cy) AS sale_Qrt4_cy,SUM(trgt_annual_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100) AS hotrgt_annual_cy,SUM(retu_ytd_cy) AS retu_ytd_cy FROM(SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser, "
+" sales_item.item_sub_group AS sub_grp, (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_SALE_MTH_APR) WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_SALE_MTH_MAY) WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_SALE_MTH_JUN)WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_SALE_MTH_JUL) WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_SALE_MTH_AUG) WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_SALE_MTH_SEP) WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_SALE_MTH_OCT) WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_SALE_MTH_NOV) WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_SALE_MTH_DEC) WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_SALE_MTH_JAN) WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_SALE_MTH_FEB) WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_SALE_MTH_MAR) END ) AS sale_mth_cy, "
+" (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(LY_SALE_MTH_APR) WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(LY_SALE_MTH_MAY) WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(LY_SALE_MTH_JUN) WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(lY_SALE_MTH_JUL) WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(lY_SALE_MTH_AUG) WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(lY_SALE_MTH_SEP) WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(lY_SALE_MTH_OCT) WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(lY_SALE_MTH_NOV) WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(lY_SALE_MTH_DEC) WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(lY_SALE_MTH_JAN) WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(lY_SALE_MTH_FEB) WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(lY_SALE_MTH_MAR) END ) AS sale_mth_ly, "
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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