Commit 7e2965c6 authored by prumde's avatar prumde

Changes for SUN Sales Trends Dashboard

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@217001 ce508802-f39f-4f6c-b175-0d175dae99d5
parent c3b8d363
......@@ -79,7 +79,7 @@ private String getMonth(String selectedMonth, int selectedYear)
private String getSalesSummarySQL(String empCode, String siteCode, String monthStr, boolean isGroupByDate )
{
String schemaName = "";
String schemaName = "SUNERP.";
StringBuffer summarySqlBuff = new StringBuffer();
summarySqlBuff.append(" select DHH.POS_CODE, DHH.LV1_DESCR, ");
......@@ -146,19 +146,19 @@ private String getSalesSummarySQL(String empCode, String siteCode, String monthS
private String getSalesInfoSQL(String empCode, String monthStr, boolean isGroupByDate )
{
String schemaName = "";
String schemaName = "SUNERP.";
StringBuffer summarySqlBuff = new StringBuffer();
summarySqlBuff.append(" SELECT NVL(SUM(NET_VAL), 0) AS NET_VAL, ");
summarySqlBuff.append(" SELECT NVL(SUM(NET_VAL) / NO_OF_SE, 0) AS NET_VAL, ");
if( isGroupByDate ) summarySqlBuff.append(" TRAN_DATE, ");
summarySqlBuff.append(" NVL(SUM(SALES_VAL), 0) AS SALES_VAL, ");
summarySqlBuff.append(" NVL(SUM(RETURN_VAL), 0) AS RETURN_VAL, ");
summarySqlBuff.append(" NVL(SUM(REPLACEMENT_VAL), 0) AS REPLACEMENT_VAL, ");
summarySqlBuff.append(" NVL(SUM(FREE_VAL), 0) AS FREE_VAL ");
summarySqlBuff.append(" NVL(SUM(SALES_VAL) / NO_OF_SE, 0) AS SALES_VAL, ");
summarySqlBuff.append(" NVL(SUM(RETURN_VAL) / NO_OF_SE, 0) AS RETURN_VAL, ");
summarySqlBuff.append(" NVL(SUM(REPLACEMENT_VAL) / NO_OF_SE, 0) AS REPLACEMENT_VAL, ");
summarySqlBuff.append(" NVL(SUM(FREE_VAL) / NO_OF_SE, 0) AS FREE_VAL ");
summarySqlBuff.append(" FROM " + schemaName + "DWH_INV_SRET_SUM ");
summarySqlBuff.append(" WHERE EMP_CODE = '" + empCode + "' ");
summarySqlBuff.append(" AND TO_CHAR(TRAN_DATE, 'MM/YYYY')= '"+ monthStr +"' ");
summarySqlBuff.append(" GROUP BY EMP_CODE ");
summarySqlBuff.append(" GROUP BY EMP_CODE, NO_OF_SE ");
if( isGroupByDate ) summarySqlBuff.append(", TRAN_DATE ORDER BY TRAN_DATE ");
System.out.println("summarySqlBuff !" + summarySqlBuff.toString());
......@@ -168,22 +168,22 @@ private String getSalesInfoSQL(String empCode, String monthStr, boolean isGroupB
private String getSITopBrandSQL(String empCode, String monthStr, int topCnt)
{
String schemaName = "";
String schemaName = "SUNERP.";
StringBuffer summarySqlBuff = new StringBuffer();
summarySqlBuff.append(" SELECT * FROM ( ");
summarySqlBuff.append(" SELECT BRAND_CODE, ");
summarySqlBuff.append(" BRAND_NAME, ");
summarySqlBuff.append(" SUM(NET_VAL) NET_VAL, ");
summarySqlBuff.append(" SUM(SALES_VAL) SALES_VAL, ");
summarySqlBuff.append(" SUM(RETURN_VAL) RETURN_VAL, ");
summarySqlBuff.append(" SUM(REPLACEMENT_VAL) REPLACEMENT_VAL, ");
summarySqlBuff.append(" SUM(FREE_VAL) FREE_VAL ");
summarySqlBuff.append(" FROM DWH_INV_SRET_SUM ");
summarySqlBuff.append(" NVL(SUM(NET_VAL) / NO_OF_SE, 0) AS NET_VAL, ");
summarySqlBuff.append(" NVL(SUM(SALES_VAL) / NO_OF_SE, 0) AS SALES_VAL, ");
summarySqlBuff.append(" NVL(SUM(RETURN_VAL) / NO_OF_SE, 0) AS RETURN_VAL, ");
summarySqlBuff.append(" NVL(SUM(REPLACEMENT_VAL) / NO_OF_SE, 0) AS REPLACEMENT_VAL, ");
summarySqlBuff.append(" NVL(SUM(FREE_VAL) / NO_OF_SE, 0) AS FREE_VAL ");
summarySqlBuff.append(" FROM " + schemaName + "DWH_INV_SRET_SUM ");
summarySqlBuff.append(" WHERE EMP_CODE = '" + empCode + "' ");
summarySqlBuff.append(" AND TO_CHAR(TRAN_DATE, 'MM/YYYY')= '"+ monthStr +"' ");
summarySqlBuff.append(" AND NET_VAL > 0 ");
summarySqlBuff.append(" GROUP BY BRAND_CODE, BRAND_NAME ");
summarySqlBuff.append(" GROUP BY BRAND_CODE, BRAND_NAME, NO_OF_SE ");
summarySqlBuff.append(" ORDER BY NET_VAL DESC ");
summarySqlBuff.append(" )WHERE ROWNUM < " + (topCnt + 1 )+ " ORDER BY NET_VAL DESC ");
System.out.println("summarySqlBuff !" + summarySqlBuff.toString());
......@@ -191,6 +191,28 @@ private String getSITopBrandSQL(String empCode, String monthStr, int topCnt)
return summarySqlBuff.toString();
}
private String getSalesTargetSQL(String empCode, String monthStr, String periodCode )
{
String schemaName = "SUNERP.";
StringBuffer summarySqlBuff = new StringBuffer();
summarySqlBuff.append(" SELECT NVL(SUM(NET_VAL) / NO_OF_SE, 0) AS NET_VAL, ");
summarySqlBuff.append(" NVL(SUM(SALES_VAL) / NO_OF_SE, 0) AS SALES_VAL, ");
summarySqlBuff.append( schemaName + "FN_GET_TARGET_SALES(EMP_CODE, '" + periodCode + "', 'VALUE') AS TARGET_VAL, ");
summarySqlBuff.append(" NVL(SUM(RETURN_VAL) / NO_OF_SE, 0) AS RETURN_VAL, ");
summarySqlBuff.append(" NVL(SUM(REPLACEMENT_VAL) / NO_OF_SE, 0) AS REPLACEMENT_VAL, ");
summarySqlBuff.append(" NVL(SUM(FREE_VAL) / NO_OF_SE, 0) AS FREE_VAL ");
summarySqlBuff.append(" FROM " + schemaName + "DWH_INV_SRET_SUM ");
summarySqlBuff.append(" WHERE EMP_CODE = '" + empCode + "' ");
summarySqlBuff.append(" AND TO_CHAR(TRAN_DATE, 'MM/YYYY')= '"+ monthStr +"' ");
summarySqlBuff.append(" GROUP BY EMP_CODE, NO_OF_SE ");
System.out.println("summarySqlBuff !" + summarySqlBuff.toString());
return summarySqlBuff.toString();
}
private String replace(String value, String serach, String replacement)
{
if(value != null)
......@@ -305,7 +327,9 @@ private String formatValue(String valueStr)
if(value < 0)
{
value = value * -1;
valueStr = "-" + format( value );
//Changes as per Danish Sir Suggestion on 19Feb2020
//valueStr = "-" + format( value );
valueStr = format( value );
}
else
{
......@@ -447,6 +471,9 @@ private String format(String pattern, Object value)
.large-3 {
width: calc(33.33333% - 5px) !important;
}
.large-2 {
width: calc(50% - 8px) !important;
}
.db-kpi-header{
width: calc( 100% - 32px);
}
......@@ -568,7 +595,7 @@ private String format(String pattern, Object value)
line-height: 36px;
}
.kpi-count:before {
content: "\20B9 ";
content: "\20B9 \0020";
}
.kpi-summary {
color: #fff;
......@@ -632,6 +659,7 @@ private String format(String pattern, Object value)
// siteCode = site;
//}
String monthStr = request.getParameter("month");
String periodCode = "";
Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH) + 1 ;
int year = cal.get(Calendar.YEAR) ;
......@@ -640,27 +668,39 @@ private String format(String pattern, Object value)
if( month < 10 )
{
monthStr = "0" + month + "/" + year;
periodCode = year + "0" + month;
}
else
{
monthStr = month + "/" + year;
periodCode = year + month + "";
}
}
else
{
try{
try
{
String[] monthArr = monthStr.split("/");
month = Integer.parseInt(monthArr[0]) ;
year = Integer.parseInt(monthArr[1]) ;
if( month < 10 )
{
periodCode = year + "0" + month;
}
else
{
periodCode = year + month + "";
}
}
catch(Exception e){
System.out.println("Exception monthStr ==>" + e.getMessage());
e.printStackTrace();
}
}
System.out.println("monthStr ==>" + monthStr);
System.out.println("monthStr ==>" + month);
System.out.println("monthStr ==>" + year);
System.out.println("monthStr ==>[" + monthStr+ "]");
System.out.println("monthStr ==>[" + month+ "]");
System.out.println("monthStr ==>[" + year+ "]");
System.out.println("periodCode ==>[" + periodCode + "]");
CommonDBAccessEJB localCDBAccess = new CommonDBAccessEJB();
String empDetail = localCDBAccess.getDBColumnValue( " EMPLOYEE ", " EMP_FNAME || ' ' || EMP_LNAME || ' (' || trim(EMP_CODE) || ')' AS EMP_NAME ", " WHERE EMP_CODE = '"+empCode+"' ", transDB);
//String siteDetail = localCDBAccess.getDBColumnValue( " SITE ", " DESCR || ' (' || TRIM(SITE_CODE) || ')' AS SITE_DESCR ", " WHERE SITE_CODE = '"+siteCode+"' ", transDB);
......@@ -689,7 +729,8 @@ private String format(String pattern, Object value)
try
{
//String salesSummarySql = getSalesSummarySQL(empCode, siteCode, monthStr, false);
String salesSummarySql = getSalesInfoSQL(empCode, monthStr, false);
//String salesSummarySql = getSalesInfoSQL(empCode, monthStr, false);
String salesSummarySql = getSalesTargetSQL(empCode, monthStr, periodCode);
//UpdateDWHSalesSumStanCodeWise updtDwhSalesObj = new UpdateDWHSalesSumStanCodeWise();
//HashMap sqlDataMap = updtDwhSalesObj.getSQLResultData(salesSummarySql, transDB);
HashMap sqlDataMap = getSQLResultData(salesSummarySql, transDB);
......@@ -715,7 +756,8 @@ private String format(String pattern, Object value)
htmlStrBuff.append("<div class=\"db-kpi-container\">");
htmlStrBuff.append(" <div class=\"kpi-container\">");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-2 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #e47842, #ffac83);\">");
htmlStrBuff.append(" <div class=\"kpi-header\">");
htmlStrBuff.append(" <div class=\"kpi-icon\"><img src=\"images/net-sales.svg\"/></div>");
......@@ -723,23 +765,49 @@ private String format(String pattern, Object value)
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("NET_VAL")).append("</span>");
htmlStrBuff.append(" <span class=\"kpi-summary\">Month to Date</span>");
//htmlStrBuff.append(" <span class=\"kpi-summary\">Month to Date</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-2 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #01a27f, #00e1af);\">");
htmlStrBuff.append(" <div class=\"kpi-header\">");
htmlStrBuff.append(" <div class=\"kpi-icon\"><img src=\"images/net-sales.svg\"/></div>");
htmlStrBuff.append(" <div class=\"kpi-title\">target sales</div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("TARGET_VAL")).append("</span>");
//htmlStrBuff.append(" <span class=\"kpi-summary\">Month to Date</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"chart-2 column kpi-card-containers\">");
htmlStrBuff.append(" <div id=\"sales-info-chart-container\" class=\"detail-box\" >");
htmlStrBuff.append(" <canvas id=\"sales-info-chart\" width=\"100%\" height=\"100%\"></canvas>");
htmlStrBuff.append(" <img src=\"images/fullscreen_enter.svg\" class=\"maximize-button\" onClick=\"toggleFullscreen('sales-info-chart-container', this);\"/>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
//htmlStrBuff.append(" <div class=\"chart-2 column kpi-card-containers\">");
//htmlStrBuff.append(" <div class=\"detail-box\" >");
//htmlStrBuff.append(" <div class=\"kpi-header\">");
//htmlStrBuff.append(" <div class=\"kpi-icon\"><img src=\"images/gross-sales.svg\"/></div>");
//htmlStrBuff.append(" <div class=\"kpi-title\">target sales</div>");
//htmlStrBuff.append(" </div>");
//htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
//htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("TARGET_VAL")).append("</span>");
//htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
//htmlStrBuff.append(" </div>");
//htmlStrBuff.append(" </div>");
////htmlStrBuff.append(" <div id=\"sales-info-chart-container\" class=\"detail-box\" >");
////htmlStrBuff.append(" <canvas id=\"sales-info-chart\" width=\"100%\" height=\"100%\"></canvas>");
////htmlStrBuff.append(" <img src=\"images/fullscreen_enter.svg\" class=\"maximize-button\" onClick=\"toggleFullscreen('sales-info-chart-container', this);\"/>");
////htmlStrBuff.append(" </div>");
//htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append("</div>");
htmlStrBuff.append("<div class=\"db-kpi-container\">");
htmlStrBuff.append(" <div class=\"kpi-container\">");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #01a27f, #00e1af);\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #7053cc, #c3b3f7);\">");
htmlStrBuff.append(" <div class=\"kpi-header\">");
htmlStrBuff.append(" <div class=\"kpi-icon\"><img src=\"images/gross-sales.svg\"/></div>");
htmlStrBuff.append(" <div class=\"kpi-title\">gross sales</div>");
......@@ -749,10 +817,10 @@ private String format(String pattern, Object value)
htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #7053cc, #c3b3f7);\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image: linear-gradient(-45deg, #f74242, #ff9797);\">");
htmlStrBuff.append(" <div class=\"kpi-header\">");
htmlStrBuff.append(" <div class=\"kpi-icon\"><img src=\"images/gross-return.svg\"/></div>");
htmlStrBuff.append(" <div class=\"kpi-title\">gross return</div>");
......@@ -762,8 +830,8 @@ private String format(String pattern, Object value)
htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #007bab, #00c9ff);\">");
htmlStrBuff.append(" <div class=\"kpi-header\">");
......@@ -775,8 +843,8 @@ private String format(String pattern, Object value)
htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append("</div>");
......@@ -921,14 +989,10 @@ private String format(String pattern, Object value)
<% if(lables != null && lables != "[]") { %>
loadChart("sales-info-chart");
<%}%>
<% if(brandsData != null && brandsData != "[]") { %>
loadBrands('top-brand-chart');
<%}%>
function loadChart(elmId)
{
if(!document.getElementById(elmId)) return;
new Chart(document.getElementById(elmId), {
type: 'line',
data: {
......@@ -992,7 +1056,12 @@ private String format(String pattern, Object value)
});
}
<% if(brandsData != null && brandsData != "[]") { %>
//Top Brands Chart Configuration Starts
loadBrands('top-brand-chart');
<%}%>
function loadBrands(elmId) {
if(!document.getElementById(elmId)) return;
//Blue : background-image: linear-gradient(-45deg, #007bab, #00c9ff);
//Orange : background-image: linear-gradient(-45deg, #e47842, #ffac83);
......@@ -1021,7 +1090,7 @@ private String format(String pattern, Object value)
hoverBackgroundColor: bGradients,
barThickness: 1,
data: _dataNum,
borderWidth: 10,
borderWidth: 15,
borderColor: 'transparent'
}
]
......@@ -1103,7 +1172,8 @@ private String format(String pattern, Object value)
var data = dataset.data[index];
var x_pos = bar._model.x + 30;
var y_pos = bar._model.y + 7;
if ( index == 0 )
//if ( index == 0 )
if ( index == -1 )
{
x_pos = bar._model.x - 40;
y_pos = bar._model.y - 5;
......
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