Commit f380bb0c authored by bpandey's avatar bpandey

as per client changes


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95741 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 7da2e2b8
...@@ -40,8 +40,8 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -40,8 +40,8 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
{ {
} }
//Method :1 for Grid
public JSONObject getGridData(String dataSourceName, String year, String month) throws RemoteException, ITMException public JSONObject getGridData(String dataSourceName,String month) throws RemoteException, ITMException
{ {
JSONObject rawDataJson = new JSONObject(); JSONObject rawDataJson = new JSONObject();
...@@ -270,15 +270,15 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -270,15 +270,15 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
return rawDataJson; return rawDataJson;
} }
/*** 2 - This method will contains final data for rendering Sales graph ***/ /*** Method :2 - This method will contains final data for rendering Sales graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getSalesGraphData(String dataSourceName, String finYear, String month) throws RemoteException, ITMException public JSONObject getSalesGraphData(String dataSourceName, String month) throws RemoteException, ITMException
{ {
System.out.println("Financial Yeay ====" + finYear+"month====="+month);
JSONObject rawDataJson = new JSONObject(); JSONObject rawDataJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
String sql = ""; String sql = "";
String finYear="";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
...@@ -294,8 +294,21 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -294,8 +294,21 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
{ {
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB(dataSourceName);
connDriver = null; connDriver = null;
if(finYear!=null && finYear.trim().length()>0) if(month!=null && month.trim().length()>0)
{
System.out.println("month comming from GWT ==="+month);
String selectedMonth = month.substring(4, 6);
if(selectedMonth.trim().equalsIgnoreCase("01") ||selectedMonth.trim().equalsIgnoreCase("02") ||selectedMonth.trim().equalsIgnoreCase("03"))
{ {
finYear = String.valueOf(Integer.parseInt(month.substring(0, 4))-1)+"-"+month.substring(2, 4);
}
else
{
finYear = month.substring(0, 4)+"-"+ (String.valueOf(Integer.parseInt(month.substring(0, 4))+1)).substring(2, 4);
}
System.out.println("updates month and year from dcoding =="+month+"finYear =="+finYear);
sql = " SELECT TRAN, APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC,JAN,FEB,MAR " + " FROM (SELECT '1.SALES' AS TRAN, ROUND(SUM(CY_SALE_MTH_APR)/10000000,2) AS APR, " + " ROUND(SUM(CY_SALE_MTH_MAY)/10000000,2) AS MAY,ROUND(SUM(CY_SALE_MTH_JUN)/10000000,2) AS JUN," + " ROUND(SUM(CY_SALE_MTH_JUL)/10000000,2) AS JUL,ROUND(SUM(CY_SALE_MTH_AUG)/10000000,2) AS AUG," + " ROUND(SUM(CY_SALE_MTH_SEP)/10000000,2) AS SEP,ROUND(SUM(CY_SALE_MTH_OCT)/10000000,2) AS OCT," + " ROUND(SUM(CY_SALE_MTH_NOV)/10000000,2) AS NOV,ROUND(SUM(CY_SALE_MTH_DEC)/10000000,2) AS DEC," + " ROUND(SUM(CY_SALE_MTH_JAN)/10000000,2) AS JAN,ROUND(SUM(CY_SALE_MTH_FEB)/10000000,2) AS FEB, " + " ROUND(SUM(CY_SALE_MTH_MAR)/10000000,2) AS MAR FROM SM_SALES_SUMM_WIDE, SALES_ITEM, " + " SM_SALES_BRAND_MST BRND WHERE TRIM(SM_SALES_SUMM_WIDE.FIN_YEAR)= '"+finYear+"' " + " AND SM_SALES_SUMM_WIDE.ITEM_CODE= SALES_ITEM.ITEM_CODE AND BRND.BRAND_CODE(+) = SALES_ITEM.ITEM_SUB_GROUP " + " AND BRND.DIV_CODE(+) = SALES_ITEM.ITEM_SER AND BRND.FIN_YEAR(+) = '"+finYear+"' " + " AND SALES_ITEM.ITEM_SUB_GROUP NOT IN ('CU','BJ') UNION ALL " + " SELECT '2.HO ACH%' AS TRAN,(CASE WHEN SUM(FLD_TRGT_MTH_APR) <>0 THEN " + " ROUND( SUM(CY_SALE_MTH_APR)/ SUM(FLD_TRGT_MTH_APR * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100)* 100 ,1) " + " ELSE ROUND(0*100,1) END) AS APR,(CASE WHEN SUM(FLD_TRGT_MTH_MAY) <>0 THEN ROUND( SUM(CY_SALE_MTH_MAY) " + " / SUM(FLD_TRGT_MTH_MAY * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS MAY, " + " (CASE WHEN SUM(FLD_TRGT_MTH_JUN) <>0 THEN ROUND( SUM(CY_SALE_MTH_JUN)/ SUM(FLD_TRGT_MTH_JUN * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) " + " * 100 ,1) ELSE ROUND(0*100,1) END) AS JUN,(CASE WHEN SUM(FLD_TRGT_MTH_JUL) <>0 THEN ROUND( SUM(CY_SALE_MTH_JUL) " + " / SUM(FLD_TRGT_MTH_JUL * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS JUL, " + " (CASE WHEN SUM(FLD_TRGT_MTH_AUG) <>0 THEN ROUND( SUM(CY_SALE_MTH_AUG)/ SUM(FLD_TRGT_MTH_AUG * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS AUG,(CASE WHEN SUM(FLD_TRGT_MTH_SEP) <>0 THEN ROUND( SUM(CY_SALE_MTH_SEP) " + " / SUM(FLD_TRGT_MTH_SEP * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS SEP,(CASE WHEN SUM(FLD_TRGT_MTH_OCT) <>0 THEN ROUND( SUM(CY_SALE_MTH_OCT) " + " / SUM(FLD_TRGT_MTH_OCT * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS OCT,(CASE WHEN SUM(FLD_TRGT_MTH_NOV) <>0 THEN ROUND( SUM(CY_SALE_MTH_NOV) " + " / SUM(FLD_TRGT_MTH_NOV * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS NOV, " + " (CASE WHEN SUM(FLD_TRGT_MTH_DEC) <>0 THEN ROUND( SUM(CY_SALE_MTH_DEC)/ SUM(FLD_TRGT_MTH_DEC * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) " + " * 100 ,1) ELSE ROUND(0*100,1) END) AS DEC,(CASE WHEN SUM(FLD_TRGT_MTH_JAN) <>0 THEN ROUND( SUM(CY_SALE_MTH_JAN) " + " / SUM(FLD_TRGT_MTH_JAN * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS JAN," + " (CASE WHEN SUM(FLD_TRGT_MTH_FEB) <>0 THEN ROUND( SUM(CY_SALE_MTH_FEB)/ SUM(FLD_TRGT_MTH_FEB * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS FEB,(CASE WHEN SUM(FLD_TRGT_MTH_MAR) <>0 THEN ROUND( SUM(CY_SALE_MTH_MAR) " + " / SUM(FLD_TRGT_MTH_MAR * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS MAR " + " FROM SM_SALES_SUMM_WIDE, SALES_ITEM, SM_SALES_BRAND_MST BRND WHERE TRIM(SM_SALES_SUMM_WIDE.FIN_YEAR)= '"+finYear+"' " + " AND SM_SALES_SUMM_WIDE.ITEM_CODE= SALES_ITEM.ITEM_CODE AND BRND.BRAND_CODE(+) = SALES_ITEM.ITEM_SUB_GROUP " + " AND BRND.DIV_CODE(+) = SALES_ITEM.ITEM_SER AND BRND.FIN_YEAR(+) = '"+finYear+"' AND SALES_ITEM.ITEM_SUB_GROUP NOT IN ('CU','BJ') " + " UNION ALL SELECT '3.GR %' AS TRAN,(CASE WHEN SUM(LY_SALE_MTH_APR) <>0 AND SUM(CY_SALE_MTH_APR)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_APR) -SUM(LY_SALE_MTH_APR)) / SUM(LY_SALE_MTH_APR) *100 ,1) " + " ELSE ROUND(0*100,1) END) AS APR,(CASE WHEN SUM(LY_SALE_MTH_MAY) <>0 AND SUM(CY_SALE_MTH_MAY)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_MAY) -SUM(LY_SALE_MTH_MAY))/ SUM(LY_SALE_MTH_MAY) *100 ,1) ELSE ROUND(0*100,1) END) AS MAY, " + " (CASE WHEN SUM(LY_SALE_MTH_JUN) <>0 AND SUM(CY_SALE_MTH_JUN)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_JUN) -SUM(LY_SALE_MTH_JUN)) " + " / SUM(LY_SALE_MTH_JUN) *100 ,1) ELSE ROUND(0*100,1) END) AS JUN,(CASE WHEN SUM(LY_SALE_MTH_JUL) <>0 AND SUM(CY_SALE_MTH_JUL)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_JUL) -SUM(LY_SALE_MTH_JUL)) / SUM(LY_SALE_MTH_JUL) *100 ,1) ELSE ROUND(0*100,1) END) AS JUL, " + " (CASE WHEN SUM(LY_SALE_MTH_AUG) <>0 AND SUM(CY_SALE_MTH_AUG)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_AUG) -SUM(LY_SALE_MTH_AUG)) " + " / SUM(LY_SALE_MTH_AUG) *100 ,1) ELSE ROUND(0*100,1) END) AS AUG,(CASE WHEN SUM(LY_SALE_MTH_SEP) <>0 AND SUM(CY_SALE_MTH_SEP)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_SEP) -SUM(LY_SALE_MTH_SEP)) / SUM(LY_SALE_MTH_SEP) *100 ,1) ELSE ROUND(0*100,1) END) AS SEP, " + " (CASE WHEN SUM(LY_SALE_MTH_OCT) <>0 AND SUM(CY_SALE_MTH_OCT)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_OCT) -SUM(LY_SALE_MTH_OCT)) " + " / SUM(LY_SALE_MTH_OCT) *100 ,1)ELSE ROUND(0*100,1) END) AS OCT,(CASE WHEN SUM(LY_SALE_MTH_NOV) <>0 AND SUM(CY_SALE_MTH_NOV)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_NOV) -SUM(LY_SALE_MTH_NOV))/ SUM(LY_SALE_MTH_NOV) *100 ,1) ELSE ROUND(0*100,1) END) AS NOV, " + " (CASE WHEN SUM(LY_SALE_MTH_DEC) <>0 AND SUM(CY_SALE_MTH_DEC)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_DEC) -SUM(LY_SALE_MTH_DEC)) " + " / SUM(LY_SALE_MTH_DEC) *100 ,1) ELSE ROUND(0*100,1) END) AS DEC,(CASE WHEN SUM(LY_SALE_MTH_JAN) <>0 AND SUM(CY_SALE_MTH_JAN)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_JAN) -SUM(LY_SALE_MTH_JAN)) / SUM(LY_SALE_MTH_JAN) *100 ,1) ELSE ROUND(0*100,1) END) AS JAN, " + " (CASE WHEN SUM(LY_SALE_MTH_FEB) <>0 AND SUM(CY_SALE_MTH_FEB)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_FEB) -SUM(LY_SALE_MTH_FEB)) " + " / SUM(LY_SALE_MTH_FEB) *100 ,1) ELSE ROUND(0*100,1) END) AS FEB,(CASE WHEN SUM(LY_SALE_MTH_MAR) <>0 AND SUM(CY_SALE_MTH_MAR)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_MAR) -SUM(LY_SALE_MTH_MAR))/ SUM(LY_SALE_MTH_MAR) *100 ,1) ELSE ROUND(0*100,1) END) AS MAR " + " FROM SM_SALES_SUMM_WIDE, SALES_ITEM, SM_SALES_BRAND_MST BRND WHERE TRIM(SM_SALES_SUMM_WIDE.FIN_YEAR)= '"+finYear+"' " + " AND SM_SALES_SUMM_WIDE.ITEM_CODE= SALES_ITEM.ITEM_CODE AND BRND.BRAND_CODE(+) = SALES_ITEM.ITEM_SUB_GROUP " + " AND BRND.DIV_CODE(+) = SALES_ITEM.ITEM_SER AND BRND.FIN_YEAR(+) = '"+finYear+"' AND SALES_ITEM.ITEM_SUB_GROUP NOT IN ('CU','BJ') " + " )WHERE '"+finYear+"' = '"+finYear+"'"; sql = " SELECT TRAN, APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC,JAN,FEB,MAR " + " FROM (SELECT '1.SALES' AS TRAN, ROUND(SUM(CY_SALE_MTH_APR)/10000000,2) AS APR, " + " ROUND(SUM(CY_SALE_MTH_MAY)/10000000,2) AS MAY,ROUND(SUM(CY_SALE_MTH_JUN)/10000000,2) AS JUN," + " ROUND(SUM(CY_SALE_MTH_JUL)/10000000,2) AS JUL,ROUND(SUM(CY_SALE_MTH_AUG)/10000000,2) AS AUG," + " ROUND(SUM(CY_SALE_MTH_SEP)/10000000,2) AS SEP,ROUND(SUM(CY_SALE_MTH_OCT)/10000000,2) AS OCT," + " ROUND(SUM(CY_SALE_MTH_NOV)/10000000,2) AS NOV,ROUND(SUM(CY_SALE_MTH_DEC)/10000000,2) AS DEC," + " ROUND(SUM(CY_SALE_MTH_JAN)/10000000,2) AS JAN,ROUND(SUM(CY_SALE_MTH_FEB)/10000000,2) AS FEB, " + " ROUND(SUM(CY_SALE_MTH_MAR)/10000000,2) AS MAR FROM SM_SALES_SUMM_WIDE, SALES_ITEM, " + " SM_SALES_BRAND_MST BRND WHERE TRIM(SM_SALES_SUMM_WIDE.FIN_YEAR)= '"+finYear+"' " + " AND SM_SALES_SUMM_WIDE.ITEM_CODE= SALES_ITEM.ITEM_CODE AND BRND.BRAND_CODE(+) = SALES_ITEM.ITEM_SUB_GROUP " + " AND BRND.DIV_CODE(+) = SALES_ITEM.ITEM_SER AND BRND.FIN_YEAR(+) = '"+finYear+"' " + " AND SALES_ITEM.ITEM_SUB_GROUP NOT IN ('CU','BJ') UNION ALL " + " SELECT '2.HO ACH%' AS TRAN,(CASE WHEN SUM(FLD_TRGT_MTH_APR) <>0 THEN " + " ROUND( SUM(CY_SALE_MTH_APR)/ SUM(FLD_TRGT_MTH_APR * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100)* 100 ,1) " + " ELSE ROUND(0*100,1) END) AS APR,(CASE WHEN SUM(FLD_TRGT_MTH_MAY) <>0 THEN ROUND( SUM(CY_SALE_MTH_MAY) " + " / SUM(FLD_TRGT_MTH_MAY * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS MAY, " + " (CASE WHEN SUM(FLD_TRGT_MTH_JUN) <>0 THEN ROUND( SUM(CY_SALE_MTH_JUN)/ SUM(FLD_TRGT_MTH_JUN * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) " + " * 100 ,1) ELSE ROUND(0*100,1) END) AS JUN,(CASE WHEN SUM(FLD_TRGT_MTH_JUL) <>0 THEN ROUND( SUM(CY_SALE_MTH_JUL) " + " / SUM(FLD_TRGT_MTH_JUL * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS JUL, " + " (CASE WHEN SUM(FLD_TRGT_MTH_AUG) <>0 THEN ROUND( SUM(CY_SALE_MTH_AUG)/ SUM(FLD_TRGT_MTH_AUG * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS AUG,(CASE WHEN SUM(FLD_TRGT_MTH_SEP) <>0 THEN ROUND( SUM(CY_SALE_MTH_SEP) " + " / SUM(FLD_TRGT_MTH_SEP * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS SEP,(CASE WHEN SUM(FLD_TRGT_MTH_OCT) <>0 THEN ROUND( SUM(CY_SALE_MTH_OCT) " + " / SUM(FLD_TRGT_MTH_OCT * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS OCT,(CASE WHEN SUM(FLD_TRGT_MTH_NOV) <>0 THEN ROUND( SUM(CY_SALE_MTH_NOV) " + " / SUM(FLD_TRGT_MTH_NOV * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS NOV, " + " (CASE WHEN SUM(FLD_TRGT_MTH_DEC) <>0 THEN ROUND( SUM(CY_SALE_MTH_DEC)/ SUM(FLD_TRGT_MTH_DEC * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) " + " * 100 ,1) ELSE ROUND(0*100,1) END) AS DEC,(CASE WHEN SUM(FLD_TRGT_MTH_JAN) <>0 THEN ROUND( SUM(CY_SALE_MTH_JAN) " + " / SUM(FLD_TRGT_MTH_JAN * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS JAN," + " (CASE WHEN SUM(FLD_TRGT_MTH_FEB) <>0 THEN ROUND( SUM(CY_SALE_MTH_FEB)/ SUM(FLD_TRGT_MTH_FEB * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) " + " ELSE ROUND(0*100,1) END) AS FEB,(CASE WHEN SUM(FLD_TRGT_MTH_MAR) <>0 THEN ROUND( SUM(CY_SALE_MTH_MAR) " + " / SUM(FLD_TRGT_MTH_MAR * (100+ NVL(BRND.HO_TRGT_INCR_PRCNT,0)) /100) * 100 ,1) ELSE ROUND(0*100,1) END) AS MAR " + " FROM SM_SALES_SUMM_WIDE, SALES_ITEM, SM_SALES_BRAND_MST BRND WHERE TRIM(SM_SALES_SUMM_WIDE.FIN_YEAR)= '"+finYear+"' " + " AND SM_SALES_SUMM_WIDE.ITEM_CODE= SALES_ITEM.ITEM_CODE AND BRND.BRAND_CODE(+) = SALES_ITEM.ITEM_SUB_GROUP " + " AND BRND.DIV_CODE(+) = SALES_ITEM.ITEM_SER AND BRND.FIN_YEAR(+) = '"+finYear+"' AND SALES_ITEM.ITEM_SUB_GROUP NOT IN ('CU','BJ') " + " UNION ALL SELECT '3.GR %' AS TRAN,(CASE WHEN SUM(LY_SALE_MTH_APR) <>0 AND SUM(CY_SALE_MTH_APR)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_APR) -SUM(LY_SALE_MTH_APR)) / SUM(LY_SALE_MTH_APR) *100 ,1) " + " ELSE ROUND(0*100,1) END) AS APR,(CASE WHEN SUM(LY_SALE_MTH_MAY) <>0 AND SUM(CY_SALE_MTH_MAY)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_MAY) -SUM(LY_SALE_MTH_MAY))/ SUM(LY_SALE_MTH_MAY) *100 ,1) ELSE ROUND(0*100,1) END) AS MAY, " + " (CASE WHEN SUM(LY_SALE_MTH_JUN) <>0 AND SUM(CY_SALE_MTH_JUN)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_JUN) -SUM(LY_SALE_MTH_JUN)) " + " / SUM(LY_SALE_MTH_JUN) *100 ,1) ELSE ROUND(0*100,1) END) AS JUN,(CASE WHEN SUM(LY_SALE_MTH_JUL) <>0 AND SUM(CY_SALE_MTH_JUL)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_JUL) -SUM(LY_SALE_MTH_JUL)) / SUM(LY_SALE_MTH_JUL) *100 ,1) ELSE ROUND(0*100,1) END) AS JUL, " + " (CASE WHEN SUM(LY_SALE_MTH_AUG) <>0 AND SUM(CY_SALE_MTH_AUG)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_AUG) -SUM(LY_SALE_MTH_AUG)) " + " / SUM(LY_SALE_MTH_AUG) *100 ,1) ELSE ROUND(0*100,1) END) AS AUG,(CASE WHEN SUM(LY_SALE_MTH_SEP) <>0 AND SUM(CY_SALE_MTH_SEP)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_SEP) -SUM(LY_SALE_MTH_SEP)) / SUM(LY_SALE_MTH_SEP) *100 ,1) ELSE ROUND(0*100,1) END) AS SEP, " + " (CASE WHEN SUM(LY_SALE_MTH_OCT) <>0 AND SUM(CY_SALE_MTH_OCT)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_OCT) -SUM(LY_SALE_MTH_OCT)) " + " / SUM(LY_SALE_MTH_OCT) *100 ,1)ELSE ROUND(0*100,1) END) AS OCT,(CASE WHEN SUM(LY_SALE_MTH_NOV) <>0 AND SUM(CY_SALE_MTH_NOV)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_NOV) -SUM(LY_SALE_MTH_NOV))/ SUM(LY_SALE_MTH_NOV) *100 ,1) ELSE ROUND(0*100,1) END) AS NOV, " + " (CASE WHEN SUM(LY_SALE_MTH_DEC) <>0 AND SUM(CY_SALE_MTH_DEC)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_DEC) -SUM(LY_SALE_MTH_DEC)) " + " / SUM(LY_SALE_MTH_DEC) *100 ,1) ELSE ROUND(0*100,1) END) AS DEC,(CASE WHEN SUM(LY_SALE_MTH_JAN) <>0 AND SUM(CY_SALE_MTH_JAN)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_JAN) -SUM(LY_SALE_MTH_JAN)) / SUM(LY_SALE_MTH_JAN) *100 ,1) ELSE ROUND(0*100,1) END) AS JAN, " + " (CASE WHEN SUM(LY_SALE_MTH_FEB) <>0 AND SUM(CY_SALE_MTH_FEB)<> 0 THEN ROUND( (SUM(CY_SALE_MTH_FEB) -SUM(LY_SALE_MTH_FEB)) " + " / SUM(LY_SALE_MTH_FEB) *100 ,1) ELSE ROUND(0*100,1) END) AS FEB,(CASE WHEN SUM(LY_SALE_MTH_MAR) <>0 AND SUM(CY_SALE_MTH_MAR)<> 0 THEN " + " ROUND( (SUM(CY_SALE_MTH_MAR) -SUM(LY_SALE_MTH_MAR))/ SUM(LY_SALE_MTH_MAR) *100 ,1) ELSE ROUND(0*100,1) END) AS MAR " + " FROM SM_SALES_SUMM_WIDE, SALES_ITEM, SM_SALES_BRAND_MST BRND WHERE TRIM(SM_SALES_SUMM_WIDE.FIN_YEAR)= '"+finYear+"' " + " AND SM_SALES_SUMM_WIDE.ITEM_CODE= SALES_ITEM.ITEM_CODE AND BRND.BRAND_CODE(+) = SALES_ITEM.ITEM_SUB_GROUP " + " AND BRND.DIV_CODE(+) = SALES_ITEM.ITEM_SER AND BRND.FIN_YEAR(+) = '"+finYear+"' AND SALES_ITEM.ITEM_SUB_GROUP NOT IN ('CU','BJ') " + " )WHERE '"+finYear+"' = '"+finYear+"'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -378,14 +391,14 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -378,14 +391,14 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
/*** End of method getSalesGraphData() ***/ /*** End of method getSalesGraphData() ***/
/*** 3 - This method will contains final data for rendering Profit graph ***/ /*** Method :3 - This method will contains raw data for rendering the Profit graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getProfitGraphData(String dataSourceName, String finYear) throws RemoteException, ITMException public JSONObject getProfitGraphData(String dataSourceName, String month) throws RemoteException, ITMException
{ {
JSONObject rawDataJson = new JSONObject(); JSONObject rawDataJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
String sql = ""; String sql = "";
String finYear="";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
...@@ -400,8 +413,20 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -400,8 +413,20 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
{ {
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB(dataSourceName);
connDriver = null; connDriver = null;
if(finYear!=null && finYear.trim().length()>0) //add new code by Birendra Pandey on dated 23 july-2014
if(month!=null && month.trim().length()>0)
{
System.out.println("Comming month inside getProfitGraphData ==="+month);
String selectedMonth = month.substring(4, 6);
if(selectedMonth.trim().equalsIgnoreCase("01") ||selectedMonth.trim().equalsIgnoreCase("02") ||selectedMonth.trim().equalsIgnoreCase("03"))
{ {
finYear = String.valueOf(Integer.parseInt(month.substring(0, 4))-1)+"-"+month.substring(2, 4);
}
else
{
finYear = month.substring(0, 4)+"-"+ (String.valueOf(Integer.parseInt(month.substring(0, 4))+1)).substring(2, 4);
}
System.out.println("updates month and year from dcoding in getProfitGraphData =="+month+"finYear =="+finYear);
sql = "SELECT tran, apr,may,jun,jul,aug,sep,oct,nov,DEC,jan,feb,mar FROM (SELECT '1.PROFIT' AS tran,ROUND(SUM(CY_SALE_MTH_apr)/100000,2) - SUM(NVL(COGS_MTH_APR,0)+NVL(EXPENSE_MTH_APR,0)) AS apr,ROUND(SUM(CY_SALE_MTH_may)/100000,2) - SUM(NVL(COGS_MTH_may,0)+NVL(EXPENSE_MTH_may,0)) AS may, ROUND(SUM(CY_SALE_MTH_jun)/100000,2) - SUM(NVL(COGS_MTH_jun,0)+NVL(EXPENSE_MTH_jun,0)) AS jun,ROUND(SUM(CY_SALE_MTH_jul)/100000,2) - SUM(NVL(COGS_MTH_jul,0)+NVL(EXPENSE_MTH_jul,0)) AS jul,ROUND(SUM(CY_SALE_MTH_aug)/100000,2) - SUM(NVL(COGS_MTH_aug,0)+NVL(EXPENSE_MTH_aug,0)) AS aug,ROUND(SUM(CY_SALE_MTH_sep)/100000,2) - SUM(NVL(COGS_MTH_sep,0)+NVL(EXPENSE_MTH_sep,0)) AS sep,ROUND(SUM(CY_SALE_MTH_oct)/100000,2) - SUM(NVL(COGS_MTH_oct,0)+NVL(EXPENSE_MTH_oct,0)) AS oct,ROUND(SUM(CY_SALE_MTH_nov)/100000,2) - SUM(NVL(COGS_MTH_nov,0)+NVL(EXPENSE_MTH_nov,0)) AS nov, ROUND(SUM(CY_SALE_MTH_dec)/100000,2) - SUM(NVL(COGS_MTH_dec,0)+NVL(EXPENSE_MTH_dec,0)) AS DEC,ROUND(SUM(CY_SALE_MTH_jan)/100000,2) - SUM(NVL(COGS_MTH_jan,0)+NVL(EXPENSE_MTH_jan,0)) AS jan,ROUND(SUM(CY_SALE_MTH_feb)/100000,2) - SUM(NVL(COGS_MTH_feb,0)+NVL(EXPENSE_MTH_feb,0)) AS feb,ROUND(SUM(CY_SALE_MTH_mar)/100000,2) - SUM(NVL(COGS_MTH_mar,0)+NVL(EXPENSE_MTH_mar,0)) AS mar FROM SM_SALES_SUMM_WIDE, sales_item WHERE trim(SM_SALES_SUMM_WIDE.fin_year)='"+finYear+"' AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code AND sales_item.item_sub_group NOT IN ('CU','BJ') UNION ALL SELECT '2.% to SALE' AS tran,( CASE WHEN SUM(CY_SALE_MTH_apr)=0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_apr) - (SUM( NVL(COGS_MTH_APR,0)+NVL(EXPENSE_MTH_APR,0) )*100000) )/SUM(CY_SALE_MTH_apr)* 100, 2) END ) AS apr,( CASE WHEN SUM(CY_SALE_MTH_may) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_may) - (SUM( NVL(COGS_MTH_may,0)+NVL(EXPENSE_MTH_may,0) )*100000) )/SUM(CY_SALE_MTH_may)* 100, 2) END ) AS may,( CASE WHEN SUM(CY_SALE_MTH_jun) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_jun) - (SUM( NVL(COGS_MTH_jun,0)+NVL(EXPENSE_MTH_jun,0) )*100000) )/SUM(CY_SALE_MTH_jun)* 100, 2) END ) AS jun,( CASE WHEN SUM(CY_SALE_MTH_jul) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_jul) - (SUM( NVL(COGS_MTH_jul,0)+NVL(EXPENSE_MTH_jul,0) )*100000) )/SUM(CY_SALE_MTH_jul)* 100, 2) END ) AS jul,( CASE WHEN SUM(CY_SALE_MTH_aug) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_aug) - (SUM( NVL(COGS_MTH_aug,0)+NVL(EXPENSE_MTH_aug,0) )*100000) )/SUM(CY_SALE_MTH_aug) * 100, 2) END ) AS aug," + "( CASE WHEN SUM(CY_SALE_MTH_sep) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_sep) -(SUM( NVL(COGS_MTH_sep,0)+NVL(EXPENSE_MTH_sep,0) )*100000))/SUM(CY_SALE_MTH_sep)* 100,2) END ) AS sep,( CASE WHEN SUM(CY_SALE_MTH_oct) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_oct) - (SUM( NVL(COGS_MTH_oct,0)+NVL(EXPENSE_MTH_oct,0) )*100000))/SUM(CY_SALE_MTH_oct)* 100, 2) END ) AS oct,( CASE WHEN SUM(CY_SALE_MTH_nov) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_nov) - (SUM( NVL(COGS_MTH_nov,0)+NVL(EXPENSE_MTH_nov,0) )*100000))/SUM(CY_SALE_MTH_nov) * 100, 2) END ) AS nov,( CASE WHEN SUM(CY_SALE_MTH_DEC) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_DEC) - (SUM( NVL(COGS_MTH_DEC,0)+NVL(EXPENSE_MTH_DEC,0) )*100000))/SUM(CY_SALE_MTH_dec) * 100, 2) END ) AS DEC,( CASE WHEN SUM(CY_SALE_MTH_jan) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_jan) - (SUM( NVL(COGS_MTH_jan,0)+NVL(EXPENSE_MTH_jan,0) )*100000) )/SUM(CY_SALE_MTH_jan) * 100, 2) END ) AS jan,( CASE WHEN SUM(CY_SALE_MTH_feb) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_feb) - (SUM( NVL(COGS_MTH_feb,0)+NVL(EXPENSE_MTH_feb,0) )*100000) )/SUM(CY_SALE_MTH_feb) * 100, 2) END ) AS feb,( CASE WHEN SUM(CY_SALE_MTH_mar) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_mar) - (SUM( NVL(COGS_MTH_mar,0)+NVL(EXPENSE_MTH_mar,0) )*100000) )/SUM(CY_SALE_MTH_mar)* 100, 2) END ) AS mar FROM SM_SALES_SUMM_WIDE, sales_item WHERE trim(SM_SALES_SUMM_WIDE.fin_year)='"+finYear+"' AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code AND sales_item.item_sub_group NOT IN ('CU','BJ'))WHERE '"+finYear+"' = '"+finYear+"'"; sql = "SELECT tran, apr,may,jun,jul,aug,sep,oct,nov,DEC,jan,feb,mar FROM (SELECT '1.PROFIT' AS tran,ROUND(SUM(CY_SALE_MTH_apr)/100000,2) - SUM(NVL(COGS_MTH_APR,0)+NVL(EXPENSE_MTH_APR,0)) AS apr,ROUND(SUM(CY_SALE_MTH_may)/100000,2) - SUM(NVL(COGS_MTH_may,0)+NVL(EXPENSE_MTH_may,0)) AS may, ROUND(SUM(CY_SALE_MTH_jun)/100000,2) - SUM(NVL(COGS_MTH_jun,0)+NVL(EXPENSE_MTH_jun,0)) AS jun,ROUND(SUM(CY_SALE_MTH_jul)/100000,2) - SUM(NVL(COGS_MTH_jul,0)+NVL(EXPENSE_MTH_jul,0)) AS jul,ROUND(SUM(CY_SALE_MTH_aug)/100000,2) - SUM(NVL(COGS_MTH_aug,0)+NVL(EXPENSE_MTH_aug,0)) AS aug,ROUND(SUM(CY_SALE_MTH_sep)/100000,2) - SUM(NVL(COGS_MTH_sep,0)+NVL(EXPENSE_MTH_sep,0)) AS sep,ROUND(SUM(CY_SALE_MTH_oct)/100000,2) - SUM(NVL(COGS_MTH_oct,0)+NVL(EXPENSE_MTH_oct,0)) AS oct,ROUND(SUM(CY_SALE_MTH_nov)/100000,2) - SUM(NVL(COGS_MTH_nov,0)+NVL(EXPENSE_MTH_nov,0)) AS nov, ROUND(SUM(CY_SALE_MTH_dec)/100000,2) - SUM(NVL(COGS_MTH_dec,0)+NVL(EXPENSE_MTH_dec,0)) AS DEC,ROUND(SUM(CY_SALE_MTH_jan)/100000,2) - SUM(NVL(COGS_MTH_jan,0)+NVL(EXPENSE_MTH_jan,0)) AS jan,ROUND(SUM(CY_SALE_MTH_feb)/100000,2) - SUM(NVL(COGS_MTH_feb,0)+NVL(EXPENSE_MTH_feb,0)) AS feb,ROUND(SUM(CY_SALE_MTH_mar)/100000,2) - SUM(NVL(COGS_MTH_mar,0)+NVL(EXPENSE_MTH_mar,0)) AS mar FROM SM_SALES_SUMM_WIDE, sales_item WHERE trim(SM_SALES_SUMM_WIDE.fin_year)='"+finYear+"' AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code AND sales_item.item_sub_group NOT IN ('CU','BJ') UNION ALL SELECT '2.% to SALE' AS tran,( CASE WHEN SUM(CY_SALE_MTH_apr)=0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_apr) - (SUM( NVL(COGS_MTH_APR,0)+NVL(EXPENSE_MTH_APR,0) )*100000) )/SUM(CY_SALE_MTH_apr)* 100, 2) END ) AS apr,( CASE WHEN SUM(CY_SALE_MTH_may) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_may) - (SUM( NVL(COGS_MTH_may,0)+NVL(EXPENSE_MTH_may,0) )*100000) )/SUM(CY_SALE_MTH_may)* 100, 2) END ) AS may,( CASE WHEN SUM(CY_SALE_MTH_jun) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_jun) - (SUM( NVL(COGS_MTH_jun,0)+NVL(EXPENSE_MTH_jun,0) )*100000) )/SUM(CY_SALE_MTH_jun)* 100, 2) END ) AS jun,( CASE WHEN SUM(CY_SALE_MTH_jul) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_jul) - (SUM( NVL(COGS_MTH_jul,0)+NVL(EXPENSE_MTH_jul,0) )*100000) )/SUM(CY_SALE_MTH_jul)* 100, 2) END ) AS jul,( CASE WHEN SUM(CY_SALE_MTH_aug) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_aug) - (SUM( NVL(COGS_MTH_aug,0)+NVL(EXPENSE_MTH_aug,0) )*100000) )/SUM(CY_SALE_MTH_aug) * 100, 2) END ) AS aug," + "( CASE WHEN SUM(CY_SALE_MTH_sep) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_sep) -(SUM( NVL(COGS_MTH_sep,0)+NVL(EXPENSE_MTH_sep,0) )*100000))/SUM(CY_SALE_MTH_sep)* 100,2) END ) AS sep,( CASE WHEN SUM(CY_SALE_MTH_oct) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_oct) - (SUM( NVL(COGS_MTH_oct,0)+NVL(EXPENSE_MTH_oct,0) )*100000))/SUM(CY_SALE_MTH_oct)* 100, 2) END ) AS oct,( CASE WHEN SUM(CY_SALE_MTH_nov) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_nov) - (SUM( NVL(COGS_MTH_nov,0)+NVL(EXPENSE_MTH_nov,0) )*100000))/SUM(CY_SALE_MTH_nov) * 100, 2) END ) AS nov,( CASE WHEN SUM(CY_SALE_MTH_DEC) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_DEC) - (SUM( NVL(COGS_MTH_DEC,0)+NVL(EXPENSE_MTH_DEC,0) )*100000))/SUM(CY_SALE_MTH_dec) * 100, 2) END ) AS DEC,( CASE WHEN SUM(CY_SALE_MTH_jan) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_jan) - (SUM( NVL(COGS_MTH_jan,0)+NVL(EXPENSE_MTH_jan,0) )*100000) )/SUM(CY_SALE_MTH_jan) * 100, 2) END ) AS jan,( CASE WHEN SUM(CY_SALE_MTH_feb) =0 THEN 0 ELSE ROUND( ( SUM(CY_SALE_MTH_feb) - (SUM( NVL(COGS_MTH_feb,0)+NVL(EXPENSE_MTH_feb,0) )*100000) )/SUM(CY_SALE_MTH_feb) * 100, 2) END ) AS feb,( CASE WHEN SUM(CY_SALE_MTH_mar) =0 THEN 0 ELSE ROUND(( SUM(CY_SALE_MTH_mar) - (SUM( NVL(COGS_MTH_mar,0)+NVL(EXPENSE_MTH_mar,0) )*100000) )/SUM(CY_SALE_MTH_mar)* 100, 2) END ) AS mar FROM SM_SALES_SUMM_WIDE, sales_item WHERE trim(SM_SALES_SUMM_WIDE.fin_year)='"+finYear+"' AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code AND sales_item.item_sub_group NOT IN ('CU','BJ'))WHERE '"+finYear+"' = '"+finYear+"'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -481,13 +506,14 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -481,13 +506,14 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
/*** End of method getProfitGraphData() ***/ /*** End of method getProfitGraphData() ***/
/*** 4 - This method will contains final data for rendering Expense graph ***/ /*** Method :4 - This method will contains raw data for rendering Expense graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getExpenseGraphData(String dataSourceName, String finYear) throws RemoteException, ITMException public JSONObject getExpenseGraphData(String dataSourceName, String month) throws RemoteException, ITMException
{ {
JSONObject rawDataJson = new JSONObject(); JSONObject rawDataJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
String sql = ""; String sql = "";
String finYear="";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
...@@ -499,11 +525,23 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -499,11 +525,23 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
ArrayList<String> dataList = null; ArrayList<String> dataList = null;
Map<String, ArrayList<String>> hashMap = new HashMap<String, ArrayList<String>>(); Map<String, ArrayList<String>> hashMap = new HashMap<String, ArrayList<String>>();
try try
{
//add new code by Birendra Pandey on dated 23 july-2014
if(month!=null && month.trim().length()>0)
{ {
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB(dataSourceName);
connDriver = null; connDriver = null;
if(finYear!=null && finYear.trim().length()>0) System.out.println("Comming month inside getExpenseGraphData ==="+month);
String selectedMonth = month.substring(4, 6);
if(selectedMonth.trim().equalsIgnoreCase("01") ||selectedMonth.trim().equalsIgnoreCase("02") ||selectedMonth.trim().equalsIgnoreCase("03"))
{ {
finYear = String.valueOf(Integer.parseInt(month.substring(0, 4))-1)+"-"+month.substring(2, 4);
}
else
{
finYear = month.substring(0, 4)+"-"+ (String.valueOf(Integer.parseInt(month.substring(0, 4))+1)).substring(2, 4);
}
System.out.println("updates month and year from dcoding in getExpenseGraphData =="+month+"finYear =="+finYear);
sql = "SELECT tran, apr,may,jun,jul,aug,sep,oct,nov,DEC,jan,feb,mar FROM " sql = "SELECT tran, apr,may,jun,jul,aug,sep,oct,nov,DEC,jan,feb,mar FROM "
+" (SELECT '1.EXPENSE' AS tran,sum(NVL(EXPENSE_MTH_APR,0)) AS apr, " +" (SELECT '1.EXPENSE' AS tran,sum(NVL(EXPENSE_MTH_APR,0)) AS apr, "
+" SUM(NVL(EXPENSE_MTH_may,0)) AS may,SUM(NVL(EXPENSE_MTH_jun,0)) AS jun, " +" SUM(NVL(EXPENSE_MTH_may,0)) AS may,SUM(NVL(EXPENSE_MTH_jun,0)) AS jun, "
...@@ -623,7 +661,6 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -623,7 +661,6 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
String isCurrentLine = ""; String isCurrentLine = "";
jsonMetaData = new JSONObject(); jsonMetaData = new JSONObject();
StringBuffer metaData = new StringBuffer(); StringBuffer metaData = new StringBuffer();
String filePath = CommonConstants.JBOSSHOME + File.separator + "server" + File.separator + "default" + File.separator + "deploy" + File.separator + "ibase.ear" + File.separator + "ibase.war" + File.separator + "dashboard" + File.separator + "salesperson" + File.separator +fileName+".xml"; String filePath = CommonConstants.JBOSSHOME + File.separator + "server" + File.separator + "default" + File.separator + "deploy" + File.separator + "ibase.ear" + File.separator + "ibase.war" + File.separator + "dashboard" + File.separator + "salesperson" + File.separator +fileName+".xml";
System.out.println("Final File Path =" + filePath); System.out.println("Final File Path =" + filePath);
try try
...@@ -676,25 +713,37 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -676,25 +713,37 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
/*** 1 - This method will contains final data for rendering Monthly Sales graph ***/ /*** Method:5 - This method will contains raw data for rendering Monthly Sales graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getMnthlySalesGraphData(String dataSourceName, String finYear, String month) throws RemoteException, ITMException public JSONObject getMnthlySalesGraphData(String dataSourceName, String month) throws RemoteException, ITMException
{ {
System.out.println("Final getMnthlySalesGraphData==="+finYear +"month="+month);
JSONObject rawDataMthlySalesJson = new JSONObject(); JSONObject rawDataMthlySalesJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
List<String> dataList = new ArrayList<String>();
String sql = ""; String sql = "";
String finYear="";
try try
{ {
if(month!=null && month.trim().length()>0) if(month!=null && month.trim().length()>0)
{ {
sql = " SELECT a.divGRP,b.div_no||'. '||b.div_descr AS DIVISION, " + " ROUND(a.sale_mth_cy/100000,2) AS MTH_CY_SALES, " + " ROUND(a.sale_mth_ly/100000,2) AS MTH_LY_SALES, " + " (CASE WHEN a.sale_mth_ly<>0 THEN ROUND((a.sale_mth_cy - a.sale_mth_ly)/a.sale_mth_ly*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_GR, " + " ROUND(a.hotrgt_mth_cy/100000,2) AS MTH_HO_TRGT, " + " ROUND(a.trgt_mth_cy/100000,2) AS MTH_FLD_TRGT, " + " (CASE WHEN a.hotrgt_mth_cy<>0 THEN ROUND(a.sale_mth_cy/a.hotrgt_mth_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_HO_ACH, " + " (CASE WHEN a.trgt_mth_cy<>0 THEN ROUND(a.sale_mth_cy/a.trgt_mth_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_FLD_ACH," + " ROUND(a.sale_ytd_cy/100000,2) AS YTD_CY_SALES, " + " ROUND(a.sale_ytd_ly/100000,2) AS YTD_LY_SALES, " + " (CASE WHEN a.sale_ytd_ly<>0 THEN ROUND((a.sale_ytd_cy - a.sale_ytd_ly)/a.sale_ytd_ly*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_GR, " + " ROUND(a.hotrgt_ytd_cy/100000,2) AS YTD_HO_TRGT, " + " ROUND(a.trgt_ytd_cy/100000,2) AS YTD_FLD_TRGT, " + " (CASE WHEN a.hotrgt_ytd_cy<>0 THEN ROUND(a.sale_ytd_cy/a.hotrgt_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_HO_ACH, " + " (CASE WHEN a.trgt_ytd_cy<>0 THEN ROUND(a.sale_ytd_cy/a.trgt_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_FLD_ACH, " + " ROUND(a.sale_Qrt1_cy/100000,2) AS Q1," + " ROUND(a.sale_Qrt2_cy/100000,2) AS Q2, " + " ROUND(a.sale_Qrt3_cy/100000,2) AS Q3, " + " ROUND(a.sale_Qrt4_cy/100000,2) AS Q4, " + " ROUND(a.sale_ytd_cy/100000/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR( '"+month+"',5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) " + " ,2) AS PMPM, " + " b.pmpm_ly AS PMPM_LY, " + " ROUND(a.sale_ytd_cy/100000/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) " + " ,2) - b.pmpm_ly AS INC_PMPM, " + " ROUND((a.sale_ytd_cy-a.hotrgt_ytd_cy)/100000,2) AS YTD_ACH_EXTRA, " + " ROUND(a.sale_ytd_cy/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 " + " ELSE SUBSTR('"+month+"',5,2)-3 END) " + " /100000,2) AS AVG_MTHLY, " + " ( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) " + " WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND((a.hotrgt_annual_cy-a.sale_ytd_cy)/ " + " (12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) " + " ELSE ROUND((a.hotrgt_annual_cy-a.sale_ytd_cy)/ " + " (12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) " + " END ) AS REQD_MTHLY, " + " ROUND(a.hotrgt_annual_cy/100000,2) AS ANNUAL_TRGT, " + " ROUND(a.retu_ytd_cy/100000,2) AS RETU_YTD," + " (CASE WHEN a.sale_ytd_cy<>0 THEN ROUND(a.retu_ytd_cy/a.sale_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS RETU_YTD_PRCT " + " from " + " ( SELECT brnd.div_code as divGRP,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(trgt_mth_cy) AS trgt_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(trgt_YTD_cy) AS trgt_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, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(FLD_TRGT_MTH_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(FLD_TRGT_MTH_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(FLD_TRGT_MTH_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(FLD_TRGT_MTH_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(FLD_TRGT_MTH_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(FLD_TRGT_MTH_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(FLD_TRGT_MTH_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(FLD_TRGT_MTH_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(FLD_TRGT_MTH_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(FLD_TRGT_MTH_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(FLD_TRGT_MTH_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(FLD_TRGT_MTH_MAR) END ) AS trgt_mth_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy, " + " SUM(CY_SALE_YTD_JUN) AS sale_Qrt1_cy, " + " SUM(CY_SALE_YTD_SEP)-SUM(CY_SALE_YTD_JUN) AS sale_Qrt2_cy, " + " SUM(CY_SALE_YTD_DEC)-SUM(CY_SALE_YTD_SEP) AS sale_Qrt3_cy, " + " SUM(CY_SALE_YTD_MAR)-SUM(CY_SALE_YTD_DEC) AS sale_Qrt4_cy, " + " SUM(FLD_TRGT_YTD_MAR) AS trgt_annual_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_RETU_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_RETU_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_RETU_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_RETU_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_RETU_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_RETU_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_RETU_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_RETU_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_RETU_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_RETU_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_RETU_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_RETU_YTD_MAR) END ) AS retu_ytd_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' -100 ,1,4)||'-'||SUBSTR('"+month+"' ,3,2) " + " ELSE SUBSTR('"+month+"' ,1,4)||'-' || SUBSTR('"+month+"' +100,3,2) END) " + " AND '"+month+"' = '"+month+"' " + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " and sales_item.item_sub_group not IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group " + " ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " and BRND.FIN_YEAR(+) = DWH.FIN_YEAR " + " GROUP BY dwh.fin_year, dwh.item_ser,brnd.div_code " + " ) a, " + " SM_SALES_DIV_MST b " + " WHERE trim(a.item_ser)=trim (b.div_code) " + " and B.FIN_YEAR=a.FIN_YEAR " + " ORDER BY division "; conn = connDriver.getConnectDB(dataSourceName);
/*sql =" SELECT b.div_group,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) " connDriver = null;
System.out.println("Comming month inside getMnthlySalesGraphData ==="+month);
String selectedMonth = month.substring(4, 6);
if(selectedMonth.trim().equalsIgnoreCase("01") ||selectedMonth.trim().equalsIgnoreCase("02") ||selectedMonth.trim().equalsIgnoreCase("03"))
{
finYear = String.valueOf(Integer.parseInt(month.substring(0, 4))-1)+"-"+month.substring(2, 4);
}
else
{
finYear = month.substring(0, 4)+"-"+ (String.valueOf(Integer.parseInt(month.substring(0, 4))+1)).substring(2, 4);
}
System.out.println("updates month and year from dcoding in getMnthlySalesGraphData =="+month+"finYear =="+finYear);
sql =" SELECT b.div_group,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) "
+" WHEN SUBSTR('"+month+"' ,5,2)<3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) " +" WHEN SUBSTR('"+month+"' ,5,2)<3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) "
+" /(12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) " +" /(12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) "
+" /(12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) END ) AS REQD_MTHLY, " +" /(12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) END ) AS REQD_MTHLY, "
...@@ -851,24 +900,20 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -851,24 +900,20 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+" AND trim(a.item_ser)=trim(c.table_no) " +" AND trim(a.item_ser)=trim(c.table_no) "
+" AND c.finyr = SUBSTR(a.fin_year,3,2)||SUBSTR(a.fin_year,6,2) " +" AND c.finyr = SUBSTR(a.fin_year,3,2)||SUBSTR(a.fin_year,6,2) "
+" AND b.div_group <> 'SPL CARE' GROUP BY b.div_group ORDER BY div_group "; +" AND b.div_group <> 'SPL CARE' GROUP BY b.div_group ORDER BY div_group ";
*/
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while (rs.next()) while (rs.next())
{ {
rowData = new JSONObject(); rowData = new JSONObject();
//raw data json for Monthly Sales graph rowData.put("division_grp", checkNull(rs.getString("div_group")));
rowData.put("division_grp", checkNull(rs.getString("divGRP")));
//rowData.put("division_grp", checkNull(rs.getString("div_group")));
rowData.put("mth_sales_val", rs.getString("mth_cy_sales")); rowData.put("mth_sales_val", rs.getString("mth_cy_sales"));
rowData.put("avg_month_sal", rs.getString("avg_mthly")); rowData.put("avg_month_sal", rs.getString("avg_mthly"));
rowData.put("req_month_sal", rs.getString("reqd_mthly")); rowData.put("req_month_sal", rs.getString("reqd_mthly"));
rowData.put("growt_perc", rs.getString("mth_gr")); rowData.put("growt_perc", rs.getString("mth_gr"));
rowData.put("ho_ach", rs.getString("MTH_HO_ACH")); rowData.put("ho_ach", rs.getString("MTH_ACH_PER"));
//rowData.put("ho_ach", rs.getString("MTH_ACH_PER"));
rawDataMthlySalesJson.put(count, rowData); rawDataMthlySalesJson.put(count, rowData);
count++; count++;
} }
...@@ -905,18 +950,15 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -905,18 +950,15 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
return rawDataMthlySalesJson; return rawDataMthlySalesJson;
} }
/*** 2 - This method will contains final data for rendering YTD Sales graph ***/ /*** Method:6 - This method will contains Raw data for rendering YTD Sales graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getYTDSalesGraphData(String dataSourceName, String finYear, String month) throws RemoteException, ITMException public JSONObject getYTDSalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException
{ {
System.out.println("Final year in getYTDSalesGraphData===month="+month);
JSONObject rawDataYTDSalesJson = new JSONObject(); JSONObject rawDataYTDSalesJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
List<String> dataList = new ArrayList<String>();
String sql = ""; String sql = "";
String sql1 = ""; String finYear="";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
...@@ -925,8 +967,21 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -925,8 +967,21 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
{ {
if(month!=null && month.trim().length()>0) if(month!=null && month.trim().length()>0)
{ {
sql = " SELECT a.divGRP,b.div_no||'. '||b.div_descr AS DIVISION, " + " ROUND(a.sale_mth_cy/100000,2) AS MTH_CY_SALES, " + " ROUND(a.sale_mth_ly/100000,2) AS MTH_LY_SALES, " + " (CASE WHEN a.sale_mth_ly<>0 THEN ROUND((a.sale_mth_cy - a.sale_mth_ly)/a.sale_mth_ly*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_GR, " + " ROUND(a.hotrgt_mth_cy/100000,2) AS MTH_HO_TRGT, " + " ROUND(a.trgt_mth_cy/100000,2) AS MTH_FLD_TRGT, " + " (CASE WHEN a.hotrgt_mth_cy<>0 THEN ROUND(a.sale_mth_cy/a.hotrgt_mth_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_HO_ACH, " + " (CASE WHEN a.trgt_mth_cy<>0 THEN ROUND(a.sale_mth_cy/a.trgt_mth_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_FLD_ACH," + " ROUND(a.sale_ytd_cy/100000,2) AS YTD_CY_SALES, " + " ROUND(a.sale_ytd_ly/100000,2) AS YTD_LY_SALES, " + " (CASE WHEN a.sale_ytd_ly<>0 THEN ROUND((a.sale_ytd_cy - a.sale_ytd_ly)/a.sale_ytd_ly*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_GR, " + " ROUND(a.hotrgt_ytd_cy/100000,2) AS YTD_HO_TRGT, " + " ROUND(a.trgt_ytd_cy/100000,2) AS YTD_FLD_TRGT, " + " (CASE WHEN a.hotrgt_ytd_cy<>0 THEN ROUND(a.sale_ytd_cy/a.hotrgt_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_HO_ACH, " + " (CASE WHEN a.trgt_ytd_cy<>0 THEN ROUND(a.sale_ytd_cy/a.trgt_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_FLD_ACH, " + " ROUND(a.sale_Qrt1_cy/100000,2) AS Q1," + " ROUND(a.sale_Qrt2_cy/100000,2) AS Q2, " + " ROUND(a.sale_Qrt3_cy/100000,2) AS Q3, " + " ROUND(a.sale_Qrt4_cy/100000,2) AS Q4, " + " ROUND(a.sale_ytd_cy/100000/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR( '"+month+"',5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) " + " ,2) AS PMPM, " + " b.pmpm_ly AS PMPM_LY, " + " ROUND(a.sale_ytd_cy/100000/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) " + " ,2) - b.pmpm_ly AS INC_PMPM, " + " ROUND((a.sale_ytd_cy-a.hotrgt_ytd_cy)/100000,2) AS YTD_ACH_EXTRA, " + " ROUND(a.sale_ytd_cy/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 " + " ELSE SUBSTR('"+month+"',5,2)-3 END) " + " /100000,2) AS AVG_MTHLY, " + " ( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) " + " WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND((a.hotrgt_annual_cy-a.sale_ytd_cy)/ " + " (12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) " + " ELSE ROUND((a.hotrgt_annual_cy-a.sale_ytd_cy)/ " + " (12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) " + " END ) AS REQD_MTHLY, " + " ROUND(a.hotrgt_annual_cy/100000,2) AS ANNUAL_TRGT, " + " ROUND(a.retu_ytd_cy/100000,2) AS RETU_YTD," + " (CASE WHEN a.sale_ytd_cy<>0 THEN ROUND(a.retu_ytd_cy/a.sale_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS RETU_YTD_PRCT " + " from " + " ( SELECT brnd.div_code as divGRP,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(trgt_mth_cy) AS trgt_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(trgt_YTD_cy) AS trgt_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, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(FLD_TRGT_MTH_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(FLD_TRGT_MTH_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(FLD_TRGT_MTH_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(FLD_TRGT_MTH_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(FLD_TRGT_MTH_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(FLD_TRGT_MTH_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(FLD_TRGT_MTH_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(FLD_TRGT_MTH_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(FLD_TRGT_MTH_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(FLD_TRGT_MTH_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(FLD_TRGT_MTH_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(FLD_TRGT_MTH_MAR) END ) AS trgt_mth_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy, " + " SUM(CY_SALE_YTD_JUN) AS sale_Qrt1_cy, " + " SUM(CY_SALE_YTD_SEP)-SUM(CY_SALE_YTD_JUN) AS sale_Qrt2_cy, " + " SUM(CY_SALE_YTD_DEC)-SUM(CY_SALE_YTD_SEP) AS sale_Qrt3_cy, " + " SUM(CY_SALE_YTD_MAR)-SUM(CY_SALE_YTD_DEC) AS sale_Qrt4_cy, " + " SUM(FLD_TRGT_YTD_MAR) AS trgt_annual_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_RETU_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_RETU_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_RETU_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_RETU_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_RETU_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_RETU_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_RETU_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_RETU_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_RETU_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_RETU_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_RETU_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_RETU_YTD_MAR) END ) AS retu_ytd_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' -100 ,1,4)||'-'||SUBSTR('"+month+"' ,3,2) " + " ELSE SUBSTR('"+month+"' ,1,4)||'-' || SUBSTR('"+month+"' +100,3,2) END) " + " AND '"+month+"' = '"+month+"' " + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " and sales_item.item_sub_group not IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group " + " ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " and BRND.FIN_YEAR(+) = DWH.FIN_YEAR " + " GROUP BY dwh.fin_year, dwh.item_ser,brnd.div_code " + " ) a, " + " SM_SALES_DIV_MST b " + " WHERE trim(a.item_ser)=trim (b.div_code) " + " and B.FIN_YEAR=a.FIN_YEAR ORDER BY division "; conn = connDriver.getConnectDB(dataSourceName);
/*sql =" SELECT b.div_group,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) " connDriver = null;
System.out.println("Comming month inside getYTDSalesGraphData ==="+month);
String selectedMonth = month.substring(4, 6);
if(selectedMonth.trim().equalsIgnoreCase("01") ||selectedMonth.trim().equalsIgnoreCase("02") ||selectedMonth.trim().equalsIgnoreCase("03"))
{
finYear = String.valueOf(Integer.parseInt(month.substring(0, 4))-1)+"-"+month.substring(2, 4);
}
else
{
finYear = month.substring(0, 4)+"-"+ (String.valueOf(Integer.parseInt(month.substring(0, 4))+1)).substring(2, 4);
}
System.out.println("updates month and year from dcoding in getYTDSalesGraphData =="+month+"finYear =="+finYear);
sql =" SELECT b.div_group,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) "
+" WHEN SUBSTR('"+month+"' ,5,2)<3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) " +" WHEN SUBSTR('"+month+"' ,5,2)<3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) "
+" /(12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) " +" /(12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy) "
+" /(12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) END ) AS REQD_MTHLY, " +" /(12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) END ) AS REQD_MTHLY, "
...@@ -1083,9 +1138,7 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -1083,9 +1138,7 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+" AND trim(a.item_ser)=trim(c.table_no) " +" AND trim(a.item_ser)=trim(c.table_no) "
+" AND c.finyr = SUBSTR(a.fin_year,3,2)||SUBSTR(a.fin_year,6,2) " +" AND c.finyr = SUBSTR(a.fin_year,3,2)||SUBSTR(a.fin_year,6,2) "
+" AND b.div_group <> 'SPL CARE' GROUP BY b.div_group ORDER BY div_group "; +" AND b.div_group <> 'SPL CARE' GROUP BY b.div_group ORDER BY div_group ";
*/
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
...@@ -1093,12 +1146,10 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -1093,12 +1146,10 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
while (rs.next()) while (rs.next())
{ {
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("division_grp", checkNull(rs.getString("divGRP"))); rowData.put("division_grp", checkNull(rs.getString("div_group")));
//rowData.put("division_grp", checkNull(rs.getString("div_group")));
rowData.put("sal", rs.getString("ytd_cy_sales")); rowData.put("sal", rs.getString("ytd_cy_sales"));
rowData.put("gr", rs.getString("ytd_gr")); rowData.put("gr", rs.getString("ytd_gr"));
rowData.put("ho_ach", rs.getString("MTH_HO_ACH")); rowData.put("ho_ach", rs.getString("YTD_ACH_PER"));
//rowData.put("ho_ach", rs.getString("YTD_ACH_PER"));
rawDataYTDSalesJson.put(count, rowData); rawDataYTDSalesJson.put(count, rowData);
count++; count++;
} }
...@@ -1135,27 +1186,38 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -1135,27 +1186,38 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
return rawDataYTDSalesJson; return rawDataYTDSalesJson;
} }
/*** 3 - This method will contains final data for rendering YTD Sales graph ***/ /***Method:7 - This method will contains Raw data for rendering YTD Sales graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getMnthSalesDivWiseGraphData(String dataSourceName, String finYear, String month) throws RemoteException, ITMException public JSONObject getMnthSalesDivWiseGraphData(String dataSourceName,String month) throws RemoteException, ITMException
{ {
JSONObject rawDataMnthDivWiseSalesJson = new JSONObject(); JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
List<String> dataList = new ArrayList<String>();
String sql = ""; String sql = "";
String sql1 = ""; String finYear="";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
try try
{ {
if(month!=null && month.trim().length()>0) if(month!=null && month.trim().length()>0)
{ {
sql = " SELECT a.divGRP,b.div_no||'. '||b.div_descr AS DIVISION, " + " ROUND(a.sale_mth_cy/100000,2) AS MTH_CY_SALES, " + " ROUND(a.sale_mth_ly/100000,2) AS MTH_LY_SALES, " + " (CASE WHEN a.sale_mth_ly<>0 THEN ROUND((a.sale_mth_cy - a.sale_mth_ly)/a.sale_mth_ly*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_GR, " + " ROUND(a.hotrgt_mth_cy/100000,2) AS MTH_HO_TRGT, " + " ROUND(a.trgt_mth_cy/100000,2) AS MTH_FLD_TRGT, " + " (CASE WHEN a.hotrgt_mth_cy<>0 THEN ROUND(a.sale_mth_cy/a.hotrgt_mth_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_HO_ACH, " + " (CASE WHEN a.trgt_mth_cy<>0 THEN ROUND(a.sale_mth_cy/a.trgt_mth_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS MTH_FLD_ACH," + " ROUND(a.sale_ytd_cy/100000,2) AS YTD_CY_SALES, " + " ROUND(a.sale_ytd_ly/100000,2) AS YTD_LY_SALES, " + " (CASE WHEN a.sale_ytd_ly<>0 THEN ROUND((a.sale_ytd_cy - a.sale_ytd_ly)/a.sale_ytd_ly*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_GR, " + " ROUND(a.hotrgt_ytd_cy/100000,2) AS YTD_HO_TRGT, " + " ROUND(a.trgt_ytd_cy/100000,2) AS YTD_FLD_TRGT, " + " (CASE WHEN a.hotrgt_ytd_cy<>0 THEN ROUND(a.sale_ytd_cy/a.hotrgt_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_HO_ACH, " + " (CASE WHEN a.trgt_ytd_cy<>0 THEN ROUND(a.sale_ytd_cy/a.trgt_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS YTD_FLD_ACH, " + " ROUND(a.sale_Qrt1_cy/100000,2) AS Q1," + " ROUND(a.sale_Qrt2_cy/100000,2) AS Q2, " + " ROUND(a.sale_Qrt3_cy/100000,2) AS Q3, " + " ROUND(a.sale_Qrt4_cy/100000,2) AS Q4, " + " ROUND(a.sale_ytd_cy/100000/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR( '"+month+"',5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) " + " ,2) AS PMPM, " + " b.pmpm_ly AS PMPM_LY, " + " ROUND(a.sale_ytd_cy/100000/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 ELSE SUBSTR('"+month+"' ,5,2)-3 END) " + " ,2) - b.pmpm_ly AS INC_PMPM, " + " ROUND((a.sale_ytd_cy-a.hotrgt_ytd_cy)/100000,2) AS YTD_ACH_EXTRA, " + " ROUND(a.sale_ytd_cy/ " + " (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' ,5,2)+9 " + " ELSE SUBSTR('"+month+"',5,2)-3 END) " + " /100000,2) AS AVG_MTHLY, " + " ( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) " + " WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND((a.hotrgt_annual_cy-a.sale_ytd_cy)/ " + " (12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) " + " ELSE ROUND((a.hotrgt_annual_cy-a.sale_ytd_cy)/ " + " (12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) " + " END ) AS REQD_MTHLY, " + " ROUND(a.hotrgt_annual_cy/100000,2) AS ANNUAL_TRGT, " + " ROUND(a.retu_ytd_cy/100000,2) AS RETU_YTD," + " (CASE WHEN a.sale_ytd_cy<>0 THEN ROUND(a.retu_ytd_cy/a.sale_ytd_cy*100,1)||'%' " + " ELSE ROUND(9.99*100,1)||'%' END) AS RETU_YTD_PRCT " + " from " + " ( SELECT brnd.div_code as divGRP,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(trgt_mth_cy) AS trgt_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(trgt_YTD_cy) AS trgt_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, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(FLD_TRGT_MTH_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(FLD_TRGT_MTH_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(FLD_TRGT_MTH_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(FLD_TRGT_MTH_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(FLD_TRGT_MTH_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(FLD_TRGT_MTH_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(FLD_TRGT_MTH_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(FLD_TRGT_MTH_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(FLD_TRGT_MTH_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(FLD_TRGT_MTH_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(FLD_TRGT_MTH_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(FLD_TRGT_MTH_MAR) END ) AS trgt_mth_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy, " + " SUM(CY_SALE_YTD_JUN) AS sale_Qrt1_cy, " + " SUM(CY_SALE_YTD_SEP)-SUM(CY_SALE_YTD_JUN) AS sale_Qrt2_cy, " + " SUM(CY_SALE_YTD_DEC)-SUM(CY_SALE_YTD_SEP) AS sale_Qrt3_cy, " + " SUM(CY_SALE_YTD_MAR)-SUM(CY_SALE_YTD_DEC) AS sale_Qrt4_cy, " + " SUM(FLD_TRGT_YTD_MAR) AS trgt_annual_cy, " + " (CASE WHEN SUBSTR('"+month+"' ,5,2) ='04' THEN SUM(CY_RETU_YTD_APR) " + " WHEN SUBSTR('"+month+"' ,5,2) ='05' THEN SUM(CY_RETU_YTD_MAY) " + " WHEN SUBSTR('"+month+"' ,5,2) ='06' THEN SUM(CY_RETU_YTD_JUN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='07' THEN SUM(CY_RETU_YTD_JUL) " + " WHEN SUBSTR('"+month+"' ,5,2) ='08' THEN SUM(CY_RETU_YTD_AUG) " + " WHEN SUBSTR('"+month+"' ,5,2) ='09' THEN SUM(CY_RETU_YTD_SEP) " + " WHEN SUBSTR('"+month+"' ,5,2) ='10' THEN SUM(CY_RETU_YTD_OCT) " + " WHEN SUBSTR('"+month+"' ,5,2) ='11' THEN SUM(CY_RETU_YTD_NOV) " + " WHEN SUBSTR('"+month+"' ,5,2) ='12' THEN SUM(CY_RETU_YTD_DEC) " + " WHEN SUBSTR('"+month+"' ,5,2) ='01' THEN SUM(CY_RETU_YTD_JAN) " + " WHEN SUBSTR('"+month+"' ,5,2) ='02' THEN SUM(CY_RETU_YTD_FEB) " + " WHEN SUBSTR('"+month+"' ,5,2) ='03' THEN SUM(CY_RETU_YTD_MAR) END ) AS retu_ytd_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR('"+month+"' ,5,2)<4 THEN SUBSTR('"+month+"' -100 ,1,4)||'-'||SUBSTR('"+month+"' ,3,2) " + " ELSE SUBSTR('"+month+"' ,1,4)||'-' || SUBSTR('"+month+"' +100,3,2) END) " + " AND '"+month+"' = '"+month+"' " + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " and sales_item.item_sub_group not IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group " + " ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " and BRND.FIN_YEAR(+) = DWH.FIN_YEAR " + " GROUP BY dwh.fin_year, dwh.item_ser,brnd.div_code " + " ) a, " + " SM_SALES_DIV_MST b " + " WHERE trim(a.item_ser)=trim (b.div_code) " + " and B.FIN_YEAR=a.FIN_YEAR " + " ORDER BY division "; conn = connDriver.getConnectDB(dataSourceName);
/*sql =" SELECT b.DIV_DESCR,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) 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)/100000,2) AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/100000,2) AS MTH_CY_SALES,ROUND(SUM(a.hotrgt_mth_cy)/100000,2) 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_ytd_cy)/100000,2) AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/100000,2) AS YTD_LY_SALES,ROUND(SUM(a.hotrgt_ytd_cy)/100000,2) 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)/100000,2) AS Q1,ROUND(SUM(a.sale_Qrt2_cy)/100000,2) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/100000,2) AS Q3,ROUND(SUM(a.sale_Qrt4_cy)/100000,2) 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,SUM(b.pmpm_ly) 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) - SUM(b.pmpm_ly ) AS INC_PMPM,ROUND(SUM(a.sale_ytd_cy-a.hotrgt_ytd_cy)/100000,2) 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 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, " connDriver = null;
System.out.println("Comming month inside getMnthSalesDivWiseGraphData ==="+month);
String selectedMonth = month.substring(4, 6);
if(selectedMonth.trim().equalsIgnoreCase("01") ||selectedMonth.trim().equalsIgnoreCase("02") ||selectedMonth.trim().equalsIgnoreCase("03"))
{
finYear = String.valueOf(Integer.parseInt(month.substring(0, 4))-1)+"-"+month.substring(2, 4);
}
else
{
finYear = month.substring(0, 4)+"-"+ (String.valueOf(Integer.parseInt(month.substring(0, 4))+1)).substring(2, 4);
}
System.out.println("updates month and year from dcoding in getMnthSalesDivWiseGraphData =="+month+"finYear =="+finYear);
sql =" SELECT b.DIV_DESCR,( CASE WHEN SUBSTR('"+month+"' ,5,2) =3 THEN ROUND(0 ,2) WHEN SUBSTR('"+month+"' ,5,2) <3 THEN ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)-9) /100000,2) ELSE ROUND(SUM(a.hotrgt_annual_cy-a.sale_ytd_cy)/(12- SUBSTR('"+month+"' ,5,2)+3) /100000,2) 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)/100000,2) AS AVG_MTHLY,ROUND(SUM(a.sale_mth_cy)/100000,2) AS MTH_CY_SALES,ROUND(SUM(a.sale_mth_ly)/100000,2) AS MTH_LY_SALES,ROUND(SUM(a.hotrgt_mth_cy)/100000,2) 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_ytd_cy)/100000,2) AS YTD_CY_SALES,ROUND(SUM(a.sale_ytd_ly)/100000,2) AS YTD_LY_SALES,ROUND(SUM(a.hotrgt_ytd_cy)/100000,2) 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)/100000,2) AS Q1,ROUND(SUM(a.sale_Qrt2_cy)/100000,2) AS Q2,ROUND(SUM(a.sale_Qrt3_cy)/100000,2) AS Q3,ROUND(SUM(a.sale_Qrt4_cy)/100000,2) 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,SUM(b.pmpm_ly) 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) - SUM(b.pmpm_ly ) AS INC_PMPM,ROUND(SUM(a.sale_ytd_cy-a.hotrgt_ytd_cy)/100000,2) 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 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, " +" 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, " +" 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, " +" (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, "
...@@ -1182,19 +1244,16 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -1182,19 +1244,16 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
+" GROUP BY SUBSTR(version_id,3,4) ,table_no, pool_code ) GROUP BY finyr, table_no ) c " +" GROUP BY SUBSTR(version_id,3,4) ,table_no, pool_code ) GROUP BY finyr, table_no ) c "
+" WHERE trim(a.item_ser)=trim(b.div_code) AND b.fin_year=a.fin_year AND trim(a.item_ser)=trim(c.table_no) " +" WHERE trim(a.item_ser)=trim(b.div_code) AND b.fin_year=a.fin_year AND trim(a.item_ser)=trim(c.table_no) "
+" AND c.finyr = SUBSTR(a.fin_year,3,2)||SUBSTR(a.fin_year,6,2) AND b.DIV_DESCR <> 'SPL CARE' GROUP BY b.DIV_DESCR ORDER BY DIV_DESCR "; +" AND c.finyr = SUBSTR(a.fin_year,3,2)||SUBSTR(a.fin_year,6,2) AND b.DIV_DESCR <> 'SPL CARE' GROUP BY b.DIV_DESCR ORDER BY DIV_DESCR ";
*/
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while (rs.next()) while (rs.next())
{ {
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("item_ser", checkNull(rs.getString("DIVISION"))); rowData.put("item_ser", checkNull(rs.getString("DIV_DESCR")));
//rowData.put("item_ser", checkNull(rs.getString("DIV_DESCR")));
rowData.put("mth_sales_val", rs.getString("MTH_CY_SALES")); rowData.put("mth_sales_val", rs.getString("MTH_CY_SALES"));
rowData.put("mth_ly_sales", rs.getString("MTH_LY_SALES"));
rowData.put("pmpm", rs.getString("PMPM")); rowData.put("pmpm", rs.getString("PMPM"));
rowData.put("inc_pmpm", rs.getString("INC_PMPM")); rowData.put("inc_pmpm", rs.getString("INC_PMPM"));
rawDataMnthDivWiseSalesJson.put(count, rowData); rawDataMnthDivWiseSalesJson.put(count, rowData);
...@@ -1234,6 +1293,8 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe ...@@ -1234,6 +1293,8 @@ public class SalesPerformance extends ValidatorEJB implements SalesPerformanceRe
} }
//end code by swati on dated 5Jul-14 //end code by swati on dated 5Jul-14
private String checkNull(String str) private String checkNull(String str)
{ {
if(str == null) if(str == null)
......
...@@ -12,14 +12,13 @@ import org.json.simple.JSONObject; ...@@ -12,14 +12,13 @@ import org.json.simple.JSONObject;
public interface SalesPerformanceLocal extends ValidatorLocal public interface SalesPerformanceLocal extends ValidatorLocal
{ {
public JSONObject getMetaData(String fileName) throws RemoteException, ITMException; public JSONObject getMetaData(String fileName) throws RemoteException, ITMException;
public JSONObject getGridData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getGridData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getSalesGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getSalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getProfitGraphData(String dataSourceName,String year) throws RemoteException, ITMException; public JSONObject getProfitGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getExpenseGraphData(String dataSourceName,String year) throws RemoteException, ITMException; public JSONObject getExpenseGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getMnthlySalesGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getMnthlySalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getYTDSalesGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getYTDSalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getMnthSalesDivWiseGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getMnthSalesDivWiseGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
......
...@@ -10,13 +10,13 @@ import org.json.simple.JSONObject; ...@@ -10,13 +10,13 @@ import org.json.simple.JSONObject;
public interface SalesPerformanceRemote extends ValidatorRemote public interface SalesPerformanceRemote extends ValidatorRemote
{ {
public JSONObject getMetaData(String fileName) throws RemoteException, ITMException ; public JSONObject getMetaData(String fileName) throws RemoteException, ITMException ;
public JSONObject getGridData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getGridData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getSalesGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getSalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getProfitGraphData(String dataSourceName ,String year) throws RemoteException, ITMException; public JSONObject getProfitGraphData(String dataSourceName ,String month) throws RemoteException, ITMException;
public JSONObject getExpenseGraphData(String dataSourceName ,String year) throws RemoteException, ITMException; public JSONObject getExpenseGraphData(String dataSourceName ,String month) throws RemoteException, ITMException;
public JSONObject getMnthlySalesGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getMnthlySalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getYTDSalesGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getYTDSalesGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
public JSONObject getMnthSalesDivWiseGraphData(String dataSourceName,String year,String month) throws RemoteException, ITMException; public JSONObject getMnthSalesDivWiseGraphData(String dataSourceName,String month) throws RemoteException, ITMException;
} }
package ibase.dashboard.ejb; package ibase.dashboard.ejb;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.util.ArrayList;
import javax.ejb.Stateless; import javax.ejb.Stateless;
...@@ -24,7 +17,7 @@ import org.json.simple.JSONObject; ...@@ -24,7 +17,7 @@ import org.json.simple.JSONObject;
* Session Bean implementation class SalesPersonSales * Session Bean implementation class SalesPersonSales
*/ */
@Stateless @Stateless
public class SalesPerformanceTwo extends ValidatorEJB public class SalesPerformanceTwo extends ValidatorEJB implements SalesPerformanceTwoRemote, SalesPerformanceTwoLocal
{ {
/** /**
* Default constructor. * Default constructor.
...@@ -35,14 +28,15 @@ public class SalesPerformanceTwo extends ValidatorEJB ...@@ -35,14 +28,15 @@ public class SalesPerformanceTwo extends ValidatorEJB
{ {
} }
/*** 1 - This method will contains final data for rendering Top Brands graph ***/ /*** 1 - This method will contains final data for rendering Top Brands graph ***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getMnthlyTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException public JSONObject getAllIndiaTopBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{ {
JSONObject rawDataMthlySalesJson = new JSONObject(); JSONObject rawDataMthlySalesJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
String sql=null; String sql = null;
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
...@@ -51,98 +45,31 @@ public class SalesPerformanceTwo extends ValidatorEJB ...@@ -51,98 +45,31 @@ public class SalesPerformanceTwo extends ValidatorEJB
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB(dataSourceName);
connDriver = null; connDriver = null;
if(month!=null && month.trim().length()>0) if (month != null && month.trim().length() > 0)
{ {
connDriver = null; connDriver = null;
sql =" SELECT sr_no, brand_name, divmst.div_descr, ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy, " sql = " SELECT sr_no, brand_name, divmst.div_descr, ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy, " + " ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly,(case when nvl(sale_YTD_ly,0) = 0 then 900 " + " else ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) end) AS gr_prcnt, ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd, " + " ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 then 0 " + " else ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) end ) AS fld_ach_prcnt,totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, item_ser, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT fin_year, item_ser, sub_grp,SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy, SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code,SUM(sale_YTD_cy) AS sale_YTD_cy, " + " SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE when SUM(trgt_YTD_cy) =0 then 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group AS sub_grp, " + " sales_item.item_sub_group_descr AS grp_nm,SM_SALES_SUMM_WIDE.terr_code AS terr_code, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 THEN SUBSTR(" + month + " -100 ,1,4)||'-'||" + " SUBSTR(" + month + " ,3,2) ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " and dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code " + " )GROUP BY fin_year, item_ser, sub_grp) ) dwh, " + " SM_SALES_DIV_MST divmst " + " WHERE dwh.item_ser= divmst.div_code " + " AND dwh.fin_year= divmst.fin_year " + " AND dwh.sr_no <= " + topNos + "" + " order by sr_no";
+" ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly,(case when nvl(sale_YTD_ly,0) = 0 then 900 "
+" else ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) end) AS gr_prcnt, ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd, "
+" ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 then 0 "
+" else ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) end ) AS fld_ach_prcnt,totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt "
+" FROM (SELECT row_number() OVER( ORDER BY sale_YTD_cy DESC ) AS sr_no, "
+" fin_year, item_ser, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, "
+" totterr, terr100 FROM (SELECT fin_year, item_ser, sub_grp,SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly, "
+" SUM(trgt_YTD_cy) AS trgt_YTD_cy, SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 "
+" FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code,SUM(sale_YTD_cy) AS sale_YTD_cy, "
+" SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, "
+" 1 AS terrcnt,(CASE when SUM(trgt_YTD_cy) =0 then 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * "
+" (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt "
+" FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group AS sub_grp, "
+" sales_item.item_sub_group_descr AS grp_nm,SM_SALES_SUMM_WIDE.terr_code AS terr_code, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy "
+" FROM SM_SALES_SUMM_WIDE, sales_item "
+" WHERE trim(fin_year)= (CASE WHEN SUBSTR("+month+" ,5,2)<4 THEN SUBSTR("+month+" -100 ,1,4)||'-'||"
+" SUBSTR("+month+" ,3,2) ELSE SUBSTR("+month+" ,1,4)||'-' || SUBSTR("+month+" +100,3,2) END) "
+" AND "+month+" = "+month+" AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code "
+" AND sales_item.item_sub_group NOT IN ('CU','BJ') "
+" GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, "
+" sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, "
+" SM_SALES_BRAND_MST brnd "
+" WHERE brnd.brand_code(+) = dwh.sub_grp "
+" AND brnd.div_code(+) = dwh.item_ser "
+" AND brnd.fin_year(+) = dwh.fin_year "
+" and dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 "
+" GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code "
+" )GROUP BY fin_year, item_ser, sub_grp) ) dwh, "
+" SM_SALES_DIV_MST divmst "
+" WHERE dwh.item_ser= divmst.div_code "
+" AND dwh.fin_year= divmst.fin_year "
+" AND dwh.sr_no <=:No_of_TOP_Brands "
+" order by sr_no";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while (rs.next()) while (rs.next())
{
if (count < Integer.parseInt(topNos))
{ {
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("brand_name", rs.getString("BRAND_NAME")); rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", rs.getString("SALES_YTD_CY")); rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", rs.getString("GR_PRCNT")); rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", rs.getString("HO_ACH_PRCNT")); rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataMthlySalesJson.put(count, rowData); rawDataMthlySalesJson.put(count, rowData);
count++; count++;
} }
}
} }
System.out.println("fetch Data for Mnthly Top Brand Graph Data rawjson====" + rawDataMthlySalesJson.toString()); System.out.println("fetch Data for All India Top Brand Graph Data rawjson====" + rawDataMthlySalesJson.toString());
} catch (Exception e) } catch (Exception e)
{ {
...@@ -167,117 +94,263 @@ public class SalesPerformanceTwo extends ValidatorEJB ...@@ -167,117 +94,263 @@ public class SalesPerformanceTwo extends ValidatorEJB
} catch (Exception d) } catch (Exception d)
{ {
d.printStackTrace(); d.printStackTrace();
System.out.println("Exception in :SalesPersonSales:getMnthlyTopBrandGraphData:" + d.getMessage()); System.out.println("Exception in :SalesPerformanceTwo:getAllIndiaTopBrandData:" + d.getMessage());
throw new ITMException(d); throw new ITMException(d);
} }
} }
return rawDataMthlySalesJson; return rawDataMthlySalesJson;
} }
/*** 2 - This method will contains final data for rendering Akuna graph ***/ /***
* 3 - This method will contains final data for rendering division wise
* graph CNS
***/
@SuppressWarnings("unchecked")
public JSONObject getCNSDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{
JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
topNos = "10";
try
{
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = "SELECT sr_no, brand_name, div_group,ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy,ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly, " + " (CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 900 ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt, " + " ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd,ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 THEN 0 " + " ELSE ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) END ) AS fld_ach_prcnt, " + " totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( PARTITION BY div_group ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, div_group, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT a.fin_year, divmst.div_group, sub_grp, " + " SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy, " + " SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code, " + " SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE WHEN SUM(trgt_YTD_cy) =0 THEN 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser,sales_item.item_sub_group AS sub_grp, sales_item.item_sub_group_descr AS grp_nm, " + " SM_SALES_SUMM_WIDE.terr_code AS terr_code," + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 " + " THEN SUBSTR(" + month + " -100 ,1,4)||'-'||SUBSTR(" + month + " ,3,2) " + " ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " AND dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code ) a, " + " SM_SALES_DIV_MST divmst " + " WHERE a.item_ser= divmst.div_code AND a.fin_year = divmst.fin_year " + " GROUP BY a.fin_year, divmst.div_group, a.sub_grp )) dwh " + " where DIV_GROUP='CNS' " + " order by DIV_GROUP, SR_NO ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next())
{
if (count < Integer.parseInt(topNos))
{
rowData = new JSONObject();
rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataMnthDivWiseSalesJson.put(count, rowData);
count++;
}
}
System.out.println("fetch Data for getCNSDivisionBrandData rawjson====" + rawDataMnthDivWiseSalesJson.toString());
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
System.out.println("Exception in :SalesPerfomanceTwo:getDivisionWiseBrandData:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataMnthDivWiseSalesJson;
}
/***
* 4 - This method will contains final data for rendering division wise
* graph CVD
***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getAkunaTopBrandGraphData(String dataSourceName,String month ,String topNos) throws RemoteException, ITMException public JSONObject getCVDDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{ {
JSONObject rawDataYTDSalesJson = new JSONObject(); JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
JSONObject rowData = null; JSONObject rowData = null;
String sql=null; String sql = "";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
topNos = "10";
try try
{ {
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB(dataSourceName);
connDriver = null; connDriver = null;
sql = " SELECT sr_no, brand_name, divmst.div_descr, ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy, " sql = "SELECT sr_no, brand_name, div_group,ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy,ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly, " + " (CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 900 ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt, " + " ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd,ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 THEN 0 " + " ELSE ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) END ) AS fld_ach_prcnt, " + " totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( PARTITION BY div_group ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, div_group, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT a.fin_year, divmst.div_group, sub_grp, " + " SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy, " + " SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code, " + " SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE WHEN SUM(trgt_YTD_cy) =0 THEN 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser,sales_item.item_sub_group AS sub_grp, sales_item.item_sub_group_descr AS grp_nm, " + " SM_SALES_SUMM_WIDE.terr_code AS terr_code," + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 " + " THEN SUBSTR(" + month + " -100 ,1,4)||'-'||SUBSTR(" + month + " ,3,2) " + " ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " AND dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code ) a, " + " SM_SALES_DIV_MST divmst " + " WHERE a.item_ser= divmst.div_code AND a.fin_year = divmst.fin_year " + " GROUP BY a.fin_year, divmst.div_group, a.sub_grp )) dwh " + " where DIV_GROUP='CVD' " + " order by DIV_GROUP, SR_NO ";
+" ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly,(case when nvl(sale_YTD_ly,0) = 0 then 900 "
+" else ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) end) AS gr_prcnt, ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd, "
+" ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 then 0 "
+" else ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) end ) AS fld_ach_prcnt,totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt "
+" FROM (SELECT row_number() OVER( ORDER BY sale_YTD_cy DESC ) AS sr_no, "
+" fin_year, item_ser, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, "
+" totterr, terr100 FROM (SELECT fin_year, item_ser, sub_grp,SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly, "
+" SUM(trgt_YTD_cy) AS trgt_YTD_cy, SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 "
+" FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code,SUM(sale_YTD_cy) AS sale_YTD_cy, "
+" SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, "
+" 1 AS terrcnt,(CASE when SUM(trgt_YTD_cy) =0 then 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * "
+" (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt "
+" FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group AS sub_grp, "
+" sales_item.item_sub_group_descr AS grp_nm,SM_SALES_SUMM_WIDE.terr_code AS terr_code, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy "
+" FROM SM_SALES_SUMM_WIDE, sales_item "
+" WHERE trim(fin_year)= (CASE WHEN SUBSTR("+month+" ,5,2)<4 THEN SUBSTR("+month+" -100 ,1,4)||'-'||"
+" SUBSTR("+month+" ,3,2) ELSE SUBSTR("+month+" ,1,4)||'-' || SUBSTR("+month+" +100,3,2) END) "
+" AND "+month+" = "+month+" AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code "
+" AND sales_item.item_sub_group NOT IN ('CU','BJ') "
+" GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, "
+" sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, "
+" SM_SALES_BRAND_MST brnd "
+" WHERE brnd.brand_code(+) = dwh.sub_grp "
+" AND brnd.div_code(+) = dwh.item_ser "
+" AND brnd.fin_year(+) = dwh.fin_year "
+" and dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 "
+" GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code "
+" )GROUP BY fin_year, item_ser, sub_grp) ) dwh, "
+" SM_SALES_DIV_MST divmst "
+" WHERE dwh.item_ser= divmst.div_code "
+" AND dwh.fin_year= divmst.fin_year "
+" AND dwh.sr_no <=:No_of_TOP_Brands "
+" order by sr_no";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next())
{
if (count < Integer.parseInt(topNos))
{
rowData = new JSONObject();
rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataMnthDivWiseSalesJson.put(count, rowData);
count++;
}
}
System.out.println("fetch Data for Division Wise Brand Graph Data rawjson====" + rawDataMnthDivWiseSalesJson.toString());
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
System.out.println("Exception in :SalesPerfomanceTwo:getDivisionWiseBrandData:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataMnthDivWiseSalesJson;
}
/***
* 5 - This method will contains final data for rendering division wise
* graph GI/PAIN
***/
@SuppressWarnings("unchecked")
public JSONObject getGIPAINDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{
JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
topNos = "10";
try
{
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = "SELECT sr_no, brand_name, div_group,ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy,ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly, " + " (CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 900 ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt, " + " ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd,ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 THEN 0 " + " ELSE ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) END ) AS fld_ach_prcnt, " + " totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( PARTITION BY div_group ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, div_group, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT a.fin_year, divmst.div_group, sub_grp, " + " SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy, " + " SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code, " + " SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE WHEN SUM(trgt_YTD_cy) =0 THEN 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser,sales_item.item_sub_group AS sub_grp, sales_item.item_sub_group_descr AS grp_nm, " + " SM_SALES_SUMM_WIDE.terr_code AS terr_code," + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 " + " THEN SUBSTR(" + month + " -100 ,1,4)||'-'||SUBSTR(" + month + " ,3,2) " + " ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " AND dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code ) a, " + " SM_SALES_DIV_MST divmst " + " WHERE a.item_ser= divmst.div_code AND a.fin_year = divmst.fin_year " + " GROUP BY a.fin_year, divmst.div_group, a.sub_grp )) dwh " + " where DIV_GROUP='GI/PAIN' " + " order by DIV_GROUP, SR_NO ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while (rs.next())
{
if (count < Integer.parseInt(topNos))
{
rowData = new JSONObject();
rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataMnthDivWiseSalesJson.put(count, rowData);
count++;
}
}
System.out.println("fetch Data for Division Wise Brand Graph Data rawjson====" + rawDataMnthDivWiseSalesJson.toString());
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
System.out.println("Exception in :SalesPerfomanceTwo:getDivisionWiseBrandData:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataMnthDivWiseSalesJson;
}
/***
* 6 - This method will contains final data for rendering division wise
* graph GYNAEC
***/
@SuppressWarnings("unchecked")
public JSONObject getGYNAECDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{
JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
topNos = "10";
try
{
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = "SELECT sr_no, brand_name, div_group,ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy,ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly, " + " (CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 900 ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt, " + " ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd,ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 THEN 0 " + " ELSE ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) END ) AS fld_ach_prcnt, " + " totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( PARTITION BY div_group ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, div_group, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT a.fin_year, divmst.div_group, sub_grp, " + " SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy, " + " SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code, " + " SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE WHEN SUM(trgt_YTD_cy) =0 THEN 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser,sales_item.item_sub_group AS sub_grp, sales_item.item_sub_group_descr AS grp_nm, " + " SM_SALES_SUMM_WIDE.terr_code AS terr_code," + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 " + " THEN SUBSTR(" + month + " -100 ,1,4)||'-'||SUBSTR(" + month + " ,3,2) " + " ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " AND dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code ) a, " + " SM_SALES_DIV_MST divmst " + " WHERE a.item_ser= divmst.div_code AND a.fin_year = divmst.fin_year " + " GROUP BY a.fin_year, divmst.div_group, a.sub_grp )) dwh " + " where DIV_GROUP='GYNAEC' " + " order by DIV_GROUP, SR_NO ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next()) while (rs.next())
{
if (count < Integer.parseInt(topNos))
{ {
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("brand_name", rs.getString("BRAND_NAME")); rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", rs.getString("SALES_YTD_CY")); rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", rs.getString("GR_PRCNT")); rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", rs.getString("HO_ACH_PRCNT")); rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataYTDSalesJson.put(count, rowData); rawDataMnthDivWiseSalesJson.put(count, rowData);
count++; count++;
} }
System.out.println("fetch Data for YTD Sales Graph rawjson====" + rawDataYTDSalesJson.toString()); }
System.out.println("fetch Data for Division Wise Brand Graph Data rawjson====" + rawDataMnthDivWiseSalesJson.toString());
} catch (Exception e) } catch (Exception e)
{ {
...@@ -302,16 +375,19 @@ public class SalesPerformanceTwo extends ValidatorEJB ...@@ -302,16 +375,19 @@ public class SalesPerformanceTwo extends ValidatorEJB
} catch (Exception d) } catch (Exception d)
{ {
d.printStackTrace(); d.printStackTrace();
System.out.println("Exception in :SalesPersonSales:getYTDSalesGraphData:" + d.getMessage()); System.out.println("Exception in :SalesPerfomanceTwo:getDivisionWiseBrandData:" + d.getMessage());
throw new ITMException(d); throw new ITMException(d);
} }
} }
return rawDataYTDSalesJson; return rawDataMnthDivWiseSalesJson;
} }
/*** 3 - This method will contains final data for rendering Azura graph ***/ /***
* 7 - This method will contains final data for rendering division wise
* graph OPTHAL
***/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getAzuraTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException public JSONObject getOPTHALDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{ {
JSONObject rawDataMnthDivWiseSalesJson = new JSONObject(); JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
...@@ -321,97 +397,100 @@ public class SalesPerformanceTwo extends ValidatorEJB ...@@ -321,97 +397,100 @@ public class SalesPerformanceTwo extends ValidatorEJB
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
topNos = "10";
try try
{ {
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB(dataSourceName);
connDriver = null; connDriver = null;
sql = " SELECT sr_no, brand_name, divmst.div_descr, ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy, " sql = "SELECT sr_no, brand_name, div_group,ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy,ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly, " + " (CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 900 ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt, " + " ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd,ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 THEN 0 " + " ELSE ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) END ) AS fld_ach_prcnt, " + " totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( PARTITION BY div_group ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, div_group, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT a.fin_year, divmst.div_group, sub_grp, " + " SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy, " + " SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code, " + " SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE WHEN SUM(trgt_YTD_cy) =0 THEN 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser,sales_item.item_sub_group AS sub_grp, sales_item.item_sub_group_descr AS grp_nm, " + " SM_SALES_SUMM_WIDE.terr_code AS terr_code," + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 " + " THEN SUBSTR(" + month + " -100 ,1,4)||'-'||SUBSTR(" + month + " ,3,2) " + " ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " AND dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code ) a, " + " SM_SALES_DIV_MST divmst " + " WHERE a.item_ser= divmst.div_code AND a.fin_year = divmst.fin_year " + " GROUP BY a.fin_year, divmst.div_group, a.sub_grp )) dwh " + " where DIV_GROUP='OPTHAL' " + " order by DIV_GROUP, SR_NO ";
+" ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly,(case when nvl(sale_YTD_ly,0) = 0 then 900 "
+" else ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) end) AS gr_prcnt, ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd, "
+" ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 then 0 "
+" else ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) end ) AS fld_ach_prcnt,totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt "
+" FROM (SELECT row_number() OVER( ORDER BY sale_YTD_cy DESC ) AS sr_no, "
+" fin_year, item_ser, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, "
+" totterr, terr100 FROM (SELECT fin_year, item_ser, sub_grp,SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly, "
+" SUM(trgt_YTD_cy) AS trgt_YTD_cy, SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 "
+" FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code,SUM(sale_YTD_cy) AS sale_YTD_cy, "
+" SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, "
+" 1 AS terrcnt,(CASE when SUM(trgt_YTD_cy) =0 then 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * "
+" (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt "
+" FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group AS sub_grp, "
+" sales_item.item_sub_group_descr AS grp_nm,SM_SALES_SUMM_WIDE.terr_code AS terr_code, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, "
+" (CASE WHEN SUBSTR("+month+" ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) "
+" WHEN SUBSTR("+month+" ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) "
+" WHEN SUBSTR("+month+" ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) "
+" WHEN SUBSTR("+month+" ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) "
+" WHEN SUBSTR("+month+" ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) "
+" WHEN SUBSTR("+month+" ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) "
+" WHEN SUBSTR("+month+" ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) "
+" WHEN SUBSTR("+month+" ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) "
+" WHEN SUBSTR("+month+" ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) "
+" WHEN SUBSTR("+month+" ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) "
+" WHEN SUBSTR("+month+" ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) "
+" WHEN SUBSTR("+month+" ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy "
+" FROM SM_SALES_SUMM_WIDE, sales_item "
+" WHERE trim(fin_year)= (CASE WHEN SUBSTR("+month+" ,5,2)<4 THEN SUBSTR("+month+" -100 ,1,4)||'-'||"
+" SUBSTR("+month+" ,3,2) ELSE SUBSTR("+month+" ,1,4)||'-' || SUBSTR("+month+" +100,3,2) END) "
+" AND "+month+" = "+month+" AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code "
+" AND sales_item.item_sub_group NOT IN ('CU','BJ') "
+" GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, "
+" sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, "
+" SM_SALES_BRAND_MST brnd "
+" WHERE brnd.brand_code(+) = dwh.sub_grp "
+" AND brnd.div_code(+) = dwh.item_ser "
+" AND brnd.fin_year(+) = dwh.fin_year "
+" and dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 "
+" GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code "
+" )GROUP BY fin_year, item_ser, sub_grp) ) dwh, "
+" SM_SALES_DIV_MST divmst "
+" WHERE dwh.item_ser= divmst.div_code "
+" AND dwh.fin_year= divmst.fin_year "
+" AND dwh.sr_no <=:No_of_TOP_Brands "
+" order by sr_no";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while (rs.next())
{
if (count < Integer.parseInt(topNos))
{
rowData = new JSONObject();
rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataMnthDivWiseSalesJson.put(count, rowData);
count++;
}
}
System.out.println("fetch Data for Division Wise Brand Graph Data rawjson====" + rawDataMnthDivWiseSalesJson.toString());
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
System.out.println("Exception in :SalesPerfomanceTwo:getDivisionWiseBrandData:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataMnthDivWiseSalesJson;
}
/***
* 8 - This method will contains final data for rendering division wise
* graph SPL CARE
***/
@SuppressWarnings("unchecked")
public JSONObject getSPLCAREDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException
{
JSONObject rawDataMnthDivWiseSalesJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
topNos = "10";
try
{
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = "SELECT sr_no, brand_name, div_group,ROUND(sale_YTD_cy/100000,2) AS sale_YTD_cy,ROUND(sale_YTD_ly/100000,2) AS sale_YTD_ly, " + " (CASE WHEN NVL(sale_YTD_ly,0) = 0 THEN 900 ELSE ROUND((sale_YTD_cy -sale_YTD_ly)/ sale_YTD_ly* 100,1) END) AS gr_prcnt, " + " ROUND(hotrgt_ytd_cy/100000,2) AS hotrgt_ytd,ROUND(trgt_ytd_cy/100000,2) AS Fldtrgt_ytd,(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(trgt_ytd_cy,0) = 0 THEN 0 " + " ELSE ROUND(sale_YTD_cy/trgt_ytd_cy * 100,1) END ) AS fld_ach_prcnt, " + " totterr, terr100, ROUND(terr100/totterr*100,1) AS terr100prcnt " + " FROM (SELECT row_number() OVER( PARTITION BY div_group ORDER BY sale_YTD_cy DESC ) AS sr_no, " + " fin_year, div_group, sub_grp AS brand_name, sale_YTD_cy, sale_YTD_ly, trgt_YTD_cy, hotrgt_ytd_cy, " + " totterr, terr100 FROM (SELECT a.fin_year, divmst.div_group, sub_grp, " + " SUM(sale_YTD_cy) AS sale_YTD_cy, SUM(sale_YTD_ly) AS sale_YTD_ly,SUM(trgt_YTD_cy) AS trgt_YTD_cy, " + " SUM(hotrgt_ytd_cy) AS hotrgt_ytd_cy,SUM(terrcnt) AS totterr, SUM(terr100cnt) AS terr100 " + " FROM(SELECT dwh.fin_year , dwh.item_ser,dwh.grp_nm AS sub_grp,dwh.terr_code, " + " SUM(sale_YTD_cy) AS sale_YTD_cy,SUM(sale_YTD_ly) AS sale_YTD_ly, " + " SUM(trgt_YTD_cy) AS trgt_YTD_cy,ROUND(SUM(trgt_YTD_cy * (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0)) /100),2) AS hotrgt_ytd_cy, " + " 1 AS terrcnt,(CASE WHEN SUM(trgt_YTD_cy) =0 THEN 1 WHEN ROUND(SUM( sale_YTD_cy) / SUM(trgt_YTD_cy * " + " (100+ NVL(brnd.HO_TRGT_INCR_PRCNT,0))/100) *100,1)>= 100 THEN 1 ELSE 0 END ) AS terr100cnt " + " FROM (SELECT fin_year , SM_SALES_SUMM_WIDE.item_ser,sales_item.item_sub_group AS sub_grp, sales_item.item_sub_group_descr AS grp_nm, " + " SM_SALES_SUMM_WIDE.terr_code AS terr_code," + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(CY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(CY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(CY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(CY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(CY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(CY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(CY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(CY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(CY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(CY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(CY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(CY_SALE_YTD_MAR) END ) AS sale_YTD_cy, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(lY_SALE_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(lY_SALE_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(lY_SALE_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(lY_SALE_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(lY_SALE_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(lY_SALE_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(lY_SALE_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(lY_SALE_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(lY_SALE_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(lY_SALE_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(lY_SALE_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(lY_SALE_YTD_MAR) END ) AS sale_YTD_ly, " + " (CASE WHEN SUBSTR(" + month + " ,5,2) ='04' THEN SUM(FLD_TRGT_YTD_APR) " + " WHEN SUBSTR(" + month + " ,5,2) ='05' THEN SUM(FLD_TRGT_YTD_MAY) " + " WHEN SUBSTR(" + month + " ,5,2) ='06' THEN SUM(FLD_TRGT_YTD_JUN) " + " WHEN SUBSTR(" + month + " ,5,2) ='07' THEN SUM(FLD_TRGT_YTD_JUL) " + " WHEN SUBSTR(" + month + " ,5,2) ='08' THEN SUM(FLD_TRGT_YTD_AUG) " + " WHEN SUBSTR(" + month + " ,5,2) ='09' THEN SUM(FLD_TRGT_YTD_SEP) " + " WHEN SUBSTR(" + month + " ,5,2) ='10' THEN SUM(FLD_TRGT_YTD_OCT) " + " WHEN SUBSTR(" + month + " ,5,2) ='11' THEN SUM(FLD_TRGT_YTD_NOV) " + " WHEN SUBSTR(" + month + " ,5,2) ='12' THEN SUM(FLD_TRGT_YTD_DEC) " + " WHEN SUBSTR(" + month + " ,5,2) ='01' THEN SUM(FLD_TRGT_YTD_JAN) " + " WHEN SUBSTR(" + month + " ,5,2) ='02' THEN SUM(FLD_TRGT_YTD_FEB) " + " WHEN SUBSTR(" + month + " ,5,2) ='03' THEN SUM(FLD_TRGT_YTD_MAR) END ) AS trgt_YTD_cy " + " FROM SM_SALES_SUMM_WIDE, sales_item " + " WHERE trim(fin_year)= (CASE WHEN SUBSTR(" + month + " ,5,2)<4 " + " THEN SUBSTR(" + month + " -100 ,1,4)||'-'||SUBSTR(" + month + " ,3,2) " + " ELSE SUBSTR(" + month + " ,1,4)||'-' || SUBSTR(" + month + " +100,3,2) END) " + " AND " + month + " = " + month + " AND SM_SALES_SUMM_WIDE.item_code= sales_item.item_code " + " AND sales_item.item_sub_group NOT IN ('CU','BJ') " + " GROUP BY fin_year ,SM_SALES_SUMM_WIDE.item_ser, sales_item.item_sub_group, " + " sales_item.item_sub_group_descr, SM_SALES_SUMM_WIDE.terr_code ) dwh, " + " SM_SALES_BRAND_MST brnd " + " WHERE brnd.brand_code(+) = dwh.sub_grp " + " AND brnd.div_code(+) = dwh.item_ser " + " AND brnd.fin_year(+) = dwh.fin_year " + " AND dwh.sale_ytd_cy+ dwh.trgt_YTD_cy <>0 " + " GROUP BY dwh.fin_year, dwh.item_ser, dwh.grp_nm,dwh.terr_code ) a, " + " SM_SALES_DIV_MST divmst " + " WHERE a.item_ser= divmst.div_code AND a.fin_year = divmst.fin_year " + " GROUP BY a.fin_year, divmst.div_group, a.sub_grp )) dwh " + " where DIV_GROUP='SPL CARE' " + " order by DIV_GROUP, SR_NO ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next()) while (rs.next())
{
if (count < Integer.parseInt(topNos))
{ {
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("brand_name", rs.getString("BRAND_NAME")); rowData.put("brand_name", getBrandName(checkNull(rs.getString("brand_name"))));
rowData.put("sales_ytd_cy", rs.getString("SALES_YTD_CY")); rowData.put("sales_ytd_cy", checkNull(rs.getString("sale_YTD_cy")));
rowData.put("gr_prcnt", rs.getString("GR_PRCNT")); rowData.put("gr_prcnt", checkNull(rs.getString("gr_prcnt")));
rowData.put("ho_ach_prcnt", rs.getString("HO_ACH_PRCNT")); rowData.put("ho_ach_prcnt", checkNull(rs.getString("ho_ach_prcnt")));
rawDataMnthDivWiseSalesJson.put(count, rowData); rawDataMnthDivWiseSalesJson.put(count, rowData);
count++; count++;
} }
System.out.println("fetch Data for Azura Top Brand Graph Data rawjson====" + rawDataMnthDivWiseSalesJson.toString()); }
System.out.println("fetch Data for Division Wise Brand Graph Data rawjson====" + rawDataMnthDivWiseSalesJson.toString());
} catch (Exception e) } catch (Exception e)
{ {
...@@ -436,14 +515,32 @@ public class SalesPerformanceTwo extends ValidatorEJB ...@@ -436,14 +515,32 @@ public class SalesPerformanceTwo extends ValidatorEJB
} catch (Exception d) } catch (Exception d)
{ {
d.printStackTrace(); d.printStackTrace();
System.out.println("Exception in :SalesPersonSales:getAzuraTopBrandGraphData:" + d.getMessage()); System.out.println("Exception in :SalesPerfomanceTwo:getDivisionWiseBrandData:" + d.getMessage());
throw new ITMException(d); throw new ITMException(d);
} }
} }
return rawDataMnthDivWiseSalesJson; return rawDataMnthDivWiseSalesJson;
} }
private String checkNull(String str)
{
if (str == null)
{
return "";
} else
{
return str;
}
}
private String getBrandName(String brandName)
{
if (brandName.trim().length() > 14)
{
brandName = brandName.substring(0, 14);
}
return brandName;
}
} }
package ibase.dashboard.ejb; package ibase.dashboard.ejb;
import java.rmi.RemoteException;
import java.util.ArrayList;
import ibase.webitm.ejb.ValidatorLocal; import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local; import javax.ejb.Local;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
...@@ -13,9 +12,12 @@ import org.json.simple.JSONObject; ...@@ -13,9 +12,12 @@ import org.json.simple.JSONObject;
@Local @Local
public interface SalesPerformanceTwoLocal extends ValidatorLocal public interface SalesPerformanceTwoLocal extends ValidatorLocal
{ {
public JSONObject getMnthlyTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException; public JSONObject getAllIndiaTopBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getAkunaTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException; public JSONObject getCNSDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getAzuraTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException; public JSONObject getCVDDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getGIPAINDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getGYNAECDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getOPTHALDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getSPLCAREDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
} }
package ibase.dashboard.ejb; package ibase.dashboard.ejb;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import ibase.utility.BaseException;
import ibase.webitm.ejb.ValidatorRemote; import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import javax.ejb.Remote; import javax.ejb.Remote;
...@@ -11,8 +9,12 @@ import org.json.simple.JSONObject; ...@@ -11,8 +9,12 @@ import org.json.simple.JSONObject;
@Remote @Remote
public interface SalesPerformanceTwoRemote extends ValidatorRemote public interface SalesPerformanceTwoRemote extends ValidatorRemote
{ {
public JSONObject getMnthlyTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException; public JSONObject getAllIndiaTopBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getAkunaTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException; public JSONObject getCNSDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getAzuraTopBrandGraphData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException; public JSONObject getCVDDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getGIPAINDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getGYNAECDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getOPTHALDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
public JSONObject getSPLCAREDivisionBrandData(String dataSourceName, String month, String topNos) throws RemoteException, ITMException;
} }
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