Commit 83e3fe76 authored by prumde's avatar prumde

Updated

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@211363 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b9f009c9
......@@ -7,14 +7,153 @@
<%@page import="ibase.ejb.CommonDBAccessEJB"%>
<%@page import="java.io.*,java.text.*,java.util.*,java.util.Calendar,java.util.zip.*"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.sql.Connection"%>
<%-- <%@page import="ibase.webitm.dashboard.fin.ejb.UpdateDWHSalesSumStanCodeWise"%> --%>
<%@page import="java.sql.*"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.SQLException"%>
<%@page import="ibase.system.config.ConnDriver"%>
<%!
public HashMap getSQLResultData(String sqlStr, String transDB)
private String getMonth(String selectedMonth, int selectedYear)
{
System.out.println(" selectedMonth = "+selectedMonth);
String monthInChar = "";
try
{
if (selectedMonth.equals("1"))
{
monthInChar = "Jan";
}
if (selectedMonth.equals("2"))
{
monthInChar = "Feb";
}
if (selectedMonth.equals("3"))
{
monthInChar = "Mar";
}
if (selectedMonth.equals("4"))
{
monthInChar = "Apr";
}
if (selectedMonth.equals("5"))
{
monthInChar = "May";
}
if (selectedMonth.equals("6"))
{
monthInChar = "Jun";
}
if (selectedMonth.equals("7"))
{
monthInChar = "Jul";
}
if (selectedMonth.equals("8"))
{
monthInChar = "Aug";
}
if (selectedMonth.equals("9"))
{
monthInChar = "Sep";
}
if (selectedMonth.equals("10"))
{
monthInChar = "Oct";
}
if (selectedMonth.equals("11"))
{
monthInChar = "Nov";
}
if (selectedMonth.equals("12"))
{
monthInChar = "Dec";
}
}
catch(Exception e)
{
System.out.println("Inside SaleTrendsDetails:: getMonth :: "+ e.getMessage());
}
String resultStr = monthInChar + " " + selectedYear;
System.out.println(" resultStr = "+resultStr);
return resultStr;
}
private String getSalesSummarySQL(String empCode, String siteCode, String monthStr, boolean isGroupByDate )
{
String schemaName = "";
StringBuffer summarySqlBuff = new StringBuffer();
summarySqlBuff.append(" select DHH.POS_CODE, DHH.LV1_DESCR, ");
if( isGroupByDate ) summarySqlBuff.append(" DSS.DOC_DATE, ");
summarySqlBuff.append(" SUM(DSS.SALES_VALUE) as \"SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.SALES_QTY) as \"SALES QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.FREE_SALES_VALUE) as \"FREE SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.FREE_QTY) as \"FREE QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.NET_SALES_VALUE) as \"NET SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.NET_SALES_QTY) as \"NET SALES QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.GROSS_SALES_VALUE) as \"GROSS SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.REPL_VALUE) as \"REPLACEMENT VALUE\", ");
summarySqlBuff.append(" SUM(DSS.SALEABLE_RETURN_QTY) as \"SALEABLE RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.SALEABLE_RETURN_AMT) as \"SALEABLE RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.BREAKAGE_RETURN_QTY) as \"DAMAGED RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.BREAKAGE_RETURN_AMT) as \"DAMAGED RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.EXPIRY_RETURN_QTY) as \"EXPIRY RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.EXPIRY_RETURN_AMT) as \"EXPIRY RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.CORRECTION_RETURN_QTY) as \"CANCELED RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.CORRECTION_RETURN_AMT) as \"CANCELED RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.REPL_RETURN_QTY) as \"REPLACEMENT RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.REPL_RETURN_VALUE) as \"REPLACEMENT RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.RETURN_QTY) as \"RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.RETURN_VALUE) as \"RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.GROSS_RETURN_VALUE) as \"GROSS RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.NET_RETURN_VALUE) as \"NET RETURN VALUE\" , ");
summarySqlBuff.append(" SUM(DSS.CGST_AMT) as \"CGST Amount\", ");
summarySqlBuff.append(" SUM(DSS.SGST_AMT) as \"SGST Amount\", ");
summarySqlBuff.append(" SUM(DSS.IGST_AMT) as \"IGST Amount\" ");
summarySqlBuff.append(" from " + schemaName + "DWH_SALES_SUM DSS ");
summarySqlBuff.append(" LEFT OUTER JOIN " + schemaName + "ITEM I ON DSS.ITEM_CODE = I.ITEM_CODE ");
summarySqlBuff.append(" LEFT OUTER JOIN " + schemaName + "ITEMSER ISER ON I.ITEM_SER = ISER.ITEM_SER, ");
summarySqlBuff.append(" ( ");
summarySqlBuff.append(" select lv4.level_no lv1_no, lv1.pos_code lv1, lv1.pos_code__repto lv1_repo, case when lv1.descr is null then 'NA' else lv1.descr end lv1_descr, ");
summarySqlBuff.append(" lv2.pos_code lv2, lv2.pos_code__repto lv2_repo, case when lv2.descr is null then 'NA' else lv2.descr end lv2_descr, ");
summarySqlBuff.append(" lv3.pos_code lv3, lv3.pos_code__repto lv3_repo, case when lv3.descr is null then 'NA' else lv3.descr end lv3_descr, ");
summarySqlBuff.append(" lv4.pos_code lv4, lv4.pos_code__repto lv4_repo, case when lv4.descr is null then 'NA' else lv4.descr end lv4_descr, ");
summarySqlBuff.append(" lv1.pos_code, lv1.table_no, lv1.version_id, lv1.pool_code ");
summarySqlBuff.append(" from " + schemaName + "org_structure lv1 ");
summarySqlBuff.append(" left outer join " + schemaName + "org_structure lv2 on lv1.pos_code__repto = lv2.pos_code and Lv1.TABLE_NO=Lv2.TABLE_NO and Lv1.VERSION_ID=Lv2.VERSION_ID ");
summarySqlBuff.append(" left outer join " + schemaName + "org_structure lv3 on lv2.pos_code__repto = lv3.pos_code and Lv2.TABLE_NO=Lv3.TABLE_NO and Lv2.VERSION_ID=Lv3.VERSION_ID ");
summarySqlBuff.append(" left outer join " + schemaName + "org_structure lv4 on lv3.pos_code__repto = lv4.pos_code and Lv3.TABLE_NO=Lv4.TABLE_NO and Lv3.VERSION_ID=Lv4.VERSION_ID ");
summarySqlBuff.append(" ) DHH ");
summarySqlBuff.append(" WHERE DHH.POS_CODE = DSS.POS_CODE ");
summarySqlBuff.append(" AND DHH.VERSION_ID in (SELECT V.VERSION_ID FROM " + schemaName + "VERSION V WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO) ");
summarySqlBuff.append(" AND DHH.TABLE_NO=NVL(ISER.TABLE_NO__HIER, ISER.ITEM_SER) ");
summarySqlBuff.append(" AND to_char(DSS.DOC_DATE, 'MM/YYYY')= '"+ monthStr +"' ");
summarySqlBuff.append(" AND I.ITEM_SER >= '00' ");
summarySqlBuff.append(" AND I.ITEM_SER <= 'zz' ");
summarySqlBuff.append(" AND DSS.SITE_CODE = '" + siteCode + "' ");
summarySqlBuff.append(" AND DSS.POS_CODE in ( ");
summarySqlBuff.append(" SELECT POS_CODE FROM " + schemaName + "ORG_STRUCTURE ");
summarySqlBuff.append(" WHERE VERSION_ID IN (SELECT V.VERSION_ID FROM " + schemaName + "VERSION V WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO) ");
summarySqlBuff.append(" AND TABLE_NO <> 'NFE' ");
summarySqlBuff.append(" START WITH POS_CODE = (SELECT POS_CODE FROM " + schemaName + "ORG_STRUCTURE WHERE EMP_CODE= '" + empCode + "' AND VERSION_ID IN (SELECT V.VERSION_ID FROM " + schemaName + "VERSION V WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO) AND TABLE_NO <> 'NFE' ) ");
summarySqlBuff.append(" CONNECT BY PRIOR POS_CODE = POS_CODE__REPTO) ");
summarySqlBuff.append(" group by DHH.POS_CODE, DHH.LV1_DESCR ");
if( isGroupByDate ) summarySqlBuff.append(" ,DSS.DOC_DATE ORDER BY DSS.DOC_DATE ");
System.out.println("summarySqlBuff !" + summarySqlBuff.toString());
return summarySqlBuff.toString();
}
private String replace(String value, String serach, String replacement)
{
if(value != null)
{
value = value.replaceAll(serach, replacement);
}
return value;
}
public HashMap getSQLResultData(String sqlStr, String transDB) throws Exception
{
HashMap sqlDataMap = null;
Connection con = null;
......@@ -76,6 +215,7 @@ public HashMap getSQLResultData(String sqlStr, String transDB)
sqlDataMap = null;
System.out.println("Inside SaleTrendsDetails::getSQLResultData Exception : " + e.getMessage());
e.printStackTrace();
throw new Exception(e);
}
finally
{
......@@ -100,149 +240,104 @@ public HashMap getSQLResultData(String sqlStr, String transDB)
return sqlDataMap;
}
private String formatValue(String value)
private String formatValue(String valueStr)
{
try
{
if( !"0".equalsIgnoreCase(value) )
valueStr = valueStr.trim();
if( !"0".equalsIgnoreCase(valueStr) )
{
NumberFormat nf = NumberFormat.getCurrencyInstance();
nf.setMaximumFractionDigits(0);
value = nf.format(Double.parseDouble(value));
valueStr = format( Double.parseDouble(valueStr) );
}
}
catch(Exception e)
{
}
return value;
return valueStr;
}
private String getMonth(String selectedMonth, int selectedYear)
public String format(double value)
{
System.out.println(" selectedMonth = "+selectedMonth);
String monthInChar = "";
try
{
if (selectedMonth.equals("1"))
{
monthInChar = "Jan";
}
if (selectedMonth.equals("2"))
{
monthInChar = "Feb";
}
if (selectedMonth.equals("3"))
if (value < 1000)
{
monthInChar = "Mar";
}
if (selectedMonth.equals("4"))
{
monthInChar = "Apr";
return format("###", value);
}
if (selectedMonth.equals("5"))
{
monthInChar = "May";
}
if (selectedMonth.equals("6"))
{
monthInChar = "Jun";
}
if (selectedMonth.equals("7"))
{
monthInChar = "Jul";
}
if (selectedMonth.equals("8"))
{
monthInChar = "Aug";
}
if (selectedMonth.equals("9"))
{
monthInChar = "Sep";
}
if (selectedMonth.equals("10"))
{
monthInChar = "Oct";
}
if (selectedMonth.equals("11"))
{
monthInChar = "Nov";
}
if (selectedMonth.equals("12"))
{
monthInChar = "Dec";
}
}
catch(Exception e)
else
{
System.out.println("Inside SaleTrendsDetails:: getMonth :: "+ e.getMessage());
double hundreds = value % 1000;
int other = (int) (value / 1000);
return format(",##", other) + ',' + format("000", hundreds);
}
String resultStr = monthInChar + " " + selectedYear;
System.out.println(" resultStr = "+resultStr);
return resultStr;
}
private String format(String pattern, Object value)
{
return new DecimalFormat(pattern).format(value);
}
%>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<style>
*{
font-family: Arial, Helvetica, sans-serif;
}
}
body{
background-color: #efefef;
margin: 0;
padding: 0;
}
.sales-container{
max-width: 1024px;
margin: auto;
}
.db-kpi-container{
background-color: #efefef;
display: grid;
width: 100%;
height: auto;
}
}
.db-kpi-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 100%;
}
}
.db-kpi-column {
display: flex;
flex-direction: column;
flex-basis: 100%;
flex: 1;
padding: 3px;
}
}
.kpi-card-containers {
padding: 0 0.3em 0 0;
}
padding: 0;
}
.detail-box {
display: block;
color: #fff;
text-align: center;
height: 150px;
width: calc(100% - 16px);
width: calc(100% - 32px);
position: relative;
MIN-WIDTH: 0;
float: left;
box-shadow: 0 0 15px -5px rgba(0,0,0,.1), 0 0 0 1px rgb(144,157,165,.1);
margin: 10px;
margin: 8px;
padding: 0 8px;
border-radius: 4px;
overflow: hidden;
}
background: #fff;
}
.detail-box-kpi-value{
display: block;
font-size: 52px;
position: relative;
height: 108px;
line-height: 118px;
}
}
.detail-box-kpi-name{
font-size: 14px;
display: block;
......@@ -251,8 +346,7 @@ private String getMonth(String selectedMonth, int selectedYear)
height: 42px;
line-height: 44px;
font-weight: 700;
}
}
.summary-box{
display: block;
text-align: center;
......@@ -263,16 +357,17 @@ private String getMonth(String selectedMonth, int selectedYear)
background-color: #fff;
float: left;
box-shadow: 0 0 15px -5px rgba(0,0,0,.1), 0 0 0 1px rgb(144,157,165,.1);
margin: 10px;
margin: 8px;
border-radius: 4px;
overflow: hidden;
}
}
.summary-box-kpi-value{
font-size: 42px;
line-height: 68px;
}
}
.summary-box-kpi-value:before {
content: "\20B9 ";
}
.summary-box-kpi-name{
display: block;
position: relative;
......@@ -280,53 +375,42 @@ private String getMonth(String selectedMonth, int selectedYear)
font-size: 14px;
font-weight: bold;
line-height: 24px;
}
text-transform: capitalize;
}
@media screen and (min-width: 64em){
.large-3 {
width: calc(25% - 5px) !important;
.chart-2{
width: calc(66.66% - 12px) !important;
}
.banner-3 {
/*width: calc(75% - 5px) !important;*/
width: calc(33.33% - 5px) !important;
margin: 0 21% !important;
.large-3 {
width: calc(33.33333% - 5px) !important;
}
.db-kpi-header{
width: calc( 75% - 20px);
}
width: calc( 100% - 32px);
}
}
@media screen and (max-width: 39.9375em) {
.small-12 {
width: 100% !important;
}
.banner-12 {
width: 100% !important;
}
.chart-2 {
width: calc( 99% - 5px ) !important;
}
}
@media screen and (min-width: 40em){
.chart-2 {
width: calc(66.66666% - 5px);
}
.medium-4 {
width: calc(33.33333% - 5px);
}
.banner-4 {
/*width: calc(100% - 5px) ;*/
width: calc(50% - 5px);
margin: 0 25%;
}
}
}
.column, .columns {
float: left;
}
}
.db-kpi-header-title {
font-size: 18px;
color: #666;
}
}
.db-kpi-header-info {
font-size: 14px;
font-weight: 400;
......@@ -336,15 +420,12 @@ private String getMonth(String selectedMonth, int selectedYear)
text-overflow: ellipsis;
display: flex;
flex-direction: column;
}
}
.db-kpi-header{
padding: 10px;
display: flex;
justify-content: space-between;
}
}
.nodata-msg-cont {
height: 100px;
width: auto;
......@@ -353,8 +434,90 @@ private String getMonth(String selectedMonth, int selectedYear)
font-size: 12px;
padding: 10px 0 10px 10px;
box-shadow: 0 0 1px 0px #666;
}
}
.maximize-button{
top: 0;
right: 0px;
position: absolute;
width: 18px;
height: 18px;
padding: 7px;
cursor: pointer;
}
.kpi-box {
height: 150px;
max-height: 150px;
box-shadow: 0px 0px 15px -5px rgba(0,0,0,.1), 0px 0px 0px 1px rgb(144, 157, 165,.1);
position: relative;
border-radius: 4px;
cursor: pointer;
display: flex;
flex-direction: column;
margin: 8px;
width: calc( 100% - 16px);
}
.kpi-header {
display: inline-block;
height: 32px;
width: 100%;
}
.kpi-icon {
color: #fff;
padding: 4px;
margin: 4px;
border-radius: 50%;
background: rgba(0, 0, 0, .1);
display: inline-block;
position: relative;
width: 20px;
height: 20px;
}
.kpi-icon img {
height: 15px;
width: 15px;
margin: 3px;
padding: 0;
}
.kpi-title {
color: #fff;
font-size: 16px;
width: calc( 100% - 44px );
line-height: 32px;
display: inline-block;
position: absolute;
text-align: right;
margin: 0 8px 0 0;
text-transform: capitalize;
}
.kpi-count-summary {
display: block;
margin: auto;
padding-bottom: 24px;
height: 50px;
}
.kpi-count {
color: #fff;
padding: 0;
font-size: 42px;
display: block;
text-align: center;
height: 36px;
line-height: 36px;
}
.kpi-count:before {
content: "\20B9 ";
}
.kpi-summary {
color: #fff;
padding: 0;
font-size: 12px;
display: block;
text-align: right;
line-height: 24px;
}
.no-kpi-count{
height: 18px;
}
</style>
</head>
<body>
......@@ -421,7 +584,7 @@ private String getMonth(String selectedMonth, int selectedYear)
StringBuffer htmlHeadBuff = new StringBuffer();
htmlHeadBuff.append("<div class=\"db-kpi-header\"> ");
htmlHeadBuff.append(" <div class=\"db-kpi-header-title\">Current Sales Summary</div>");
htmlHeadBuff.append(" <div class=\"db-kpi-header-title\">Sales Information</div>");
htmlHeadBuff.append(" <div class=\"db-kpi-header-info\">");
htmlHeadBuff.append(" <span>").append(empDetail).append("</span>");
htmlHeadBuff.append(" <span>").append(siteDetail).append("</span>");
......@@ -429,90 +592,59 @@ private String getMonth(String selectedMonth, int selectedYear)
htmlHeadBuff.append(" </div>");
htmlHeadBuff.append("</div>");
String lables = "[]";
String netSalesData = "[]";
String grossSalesData = "[]";
String grossReturnData = "[]";
String replReturnData = "[]";
StringBuffer htmlStrBuff = new StringBuffer();
try
{
StringBuffer summarySqlBuff = new StringBuffer();
summarySqlBuff.append(" select DHH.POS_CODE, DHH.LV1_DESCR, ");
summarySqlBuff.append(" SUM(DSS.SALES_VALUE) as \"SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.SALES_QTY) as \"SALES QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.FREE_SALES_VALUE) as \"FREE SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.FREE_QTY) as \"FREE QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.NET_SALES_VALUE) as \"NET SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.NET_SALES_QTY) as \"NET SALES QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.GROSS_SALES_VALUE) as \"GROSS SALES VALUE\", ");
summarySqlBuff.append(" SUM(DSS.REPL_VALUE) as \"REPLACEMENT VALUE\", ");
summarySqlBuff.append(" SUM(DSS.SALEABLE_RETURN_QTY) as \"SALEABLE RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.SALEABLE_RETURN_AMT) as \"SALEABLE RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.BREAKAGE_RETURN_QTY) as \"DAMAGED RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.BREAKAGE_RETURN_AMT) as \"DAMAGED RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.EXPIRY_RETURN_QTY) as \"EXPIRY RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.EXPIRY_RETURN_AMT) as \"EXPIRY RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.CORRECTION_RETURN_QTY) as \"CANCELED RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.CORRECTION_RETURN_AMT) as \"CANCELED RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.REPL_RETURN_QTY) as \"REPLACEMENT RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.REPL_RETURN_VALUE) as \"REPLACEMENT RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.RETURN_QTY) as \"RETURN QUANTITY\", ");
summarySqlBuff.append(" SUM(DSS.RETURN_VALUE) as \"RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.GROSS_RETURN_VALUE) as \"GROSS RETURN VALUE\", ");
summarySqlBuff.append(" SUM(DSS.NET_RETURN_VALUE) as \"NET RETURN VALUE\" , ");
summarySqlBuff.append(" SUM(DSS.CGST_AMT) as \"CGST Amount\", ");
summarySqlBuff.append(" SUM(DSS.SGST_AMT) as \"SGST Amount\", ");
summarySqlBuff.append(" SUM(DSS.IGST_AMT) as \"IGST Amount\" ");
summarySqlBuff.append(" from SUNERP.DWH_SALES_SUM DSS ");
summarySqlBuff.append(" LEFT OUTER JOIN SUNERP.ITEM I ON DSS.ITEM_CODE = I.ITEM_CODE ");
summarySqlBuff.append(" LEFT OUTER JOIN SUNERP.ITEMSER ISER ON I.ITEM_SER = ISER.ITEM_SER, ");
summarySqlBuff.append(" ( ");
summarySqlBuff.append(" select lv4.level_no lv1_no, lv1.pos_code lv1, lv1.pos_code__repto lv1_repo, case when lv1.descr is null then 'NA' else lv1.descr end lv1_descr, ");
summarySqlBuff.append(" lv2.pos_code lv2, lv2.pos_code__repto lv2_repo, case when lv2.descr is null then 'NA' else lv2.descr end lv2_descr, ");
summarySqlBuff.append(" lv3.pos_code lv3, lv3.pos_code__repto lv3_repo, case when lv3.descr is null then 'NA' else lv3.descr end lv3_descr, ");
summarySqlBuff.append(" lv4.pos_code lv4, lv4.pos_code__repto lv4_repo, case when lv4.descr is null then 'NA' else lv4.descr end lv4_descr, ");
summarySqlBuff.append(" lv1.pos_code, lv1.table_no, lv1.version_id, lv1.pool_code ");
summarySqlBuff.append(" from SUNERP.org_structure lv1 ");
summarySqlBuff.append(" left outer join SUNERP.org_structure lv2 on lv1.pos_code__repto = lv2.pos_code and Lv1.TABLE_NO=Lv2.TABLE_NO and Lv1.VERSION_ID=Lv2.VERSION_ID ");
summarySqlBuff.append(" left outer join SUNERP.org_structure lv3 on lv2.pos_code__repto = lv3.pos_code and Lv2.TABLE_NO=Lv3.TABLE_NO and Lv2.VERSION_ID=Lv3.VERSION_ID ");
summarySqlBuff.append(" left outer join SUNERP.org_structure lv4 on lv3.pos_code__repto = lv4.pos_code and Lv3.TABLE_NO=Lv4.TABLE_NO and Lv3.VERSION_ID=Lv4.VERSION_ID ");
summarySqlBuff.append(" ) DHH ");
summarySqlBuff.append(" WHERE DHH.POS_CODE = DSS.POS_CODE ");
summarySqlBuff.append(" AND DHH.VERSION_ID in (SELECT V.VERSION_ID FROM SUNERP.VERSION V WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO) ");
summarySqlBuff.append(" AND DHH.TABLE_NO=NVL(ISER.TABLE_NO__HIER, ISER.ITEM_SER) ");
summarySqlBuff.append(" AND to_char(DSS.DOC_DATE, 'MM/YYYY')= '"+ monthStr +"' ");
summarySqlBuff.append(" AND I.ITEM_SER >= '00' ");
summarySqlBuff.append(" AND I.ITEM_SER <= 'zz' ");
summarySqlBuff.append(" AND DSS.SITE_CODE = '" + siteCode + "' ");
summarySqlBuff.append(" AND DSS.POS_CODE in ( ");
summarySqlBuff.append(" SELECT POS_CODE FROM SUNERP.ORG_STRUCTURE ");
summarySqlBuff.append(" WHERE VERSION_ID IN (SELECT V.VERSION_ID FROM SUNERP.VERSION V WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO) ");
summarySqlBuff.append(" AND TABLE_NO <> 'NFE' ");
summarySqlBuff.append(" START WITH POS_CODE = (SELECT POS_CODE FROM SUNERP.ORG_STRUCTURE WHERE EMP_CODE= '" + empCode + "' AND VERSION_ID IN (SELECT V.VERSION_ID FROM SUNERP.VERSION V WHERE TO_DATE(SYSDATE) BETWEEN V.EFF_FROM AND V.VALID_UPTO) AND TABLE_NO <> 'NFE' ) ");
summarySqlBuff.append(" CONNECT BY PRIOR POS_CODE = POS_CODE__REPTO) ");
summarySqlBuff.append(" group by DHH.POS_CODE, DHH.LV1_DESCR ");
HashMap sqlDataMap = getSQLResultData(summarySqlBuff.toString(), transDB);
String salesSummarySql = getSalesSummarySQL(empCode, siteCode, monthStr, false);
//UpdateDWHSalesSumStanCodeWise updtDwhSalesObj = new UpdateDWHSalesSumStanCodeWise();
//HashMap sqlDataMap = updtDwhSalesObj.getSQLResultData(salesSummarySql, transDB);
HashMap sqlDataMap = getSQLResultData(salesSummarySql, transDB);
System.out.println("Result sqlDataMap !" + sqlDataMap);
ArrayList<HashMap<String, String>> dataRows = (ArrayList<HashMap<String, String>>) sqlDataMap.get("ROWS");
ArrayList<HashMap<String, String>> dataRows = (ArrayList<HashMap<String, String>>) sqlDataMap.get("ROWS");
int noOfRows = dataRows.size();
System.out.println("Result dataRows !" + dataRows);
htmlStrBuff.append("<div class=\"sales-container\">");
if( noOfRows == 0 )
{
htmlStrBuff.append(htmlHeadBuff);
htmlStrBuff.append("<div class=\"nodata-msg-cont\">No data to display</div>");
}
else //Temporary
{
noOfRows = 1;
}
for( int rowNum = 0; rowNum < noOfRows; rowNum++ ) {
for( int rowNum = 0; rowNum < noOfRows; rowNum++ )
{
HashMap<String, String> dataMap = dataRows.get(rowNum);
htmlStrBuff.append(htmlHeadBuff);
//htmlStrBuff.append("<details open style=\"padding: 10px 0;\" >");
htmlStrBuff.append("<div class=\"db-kpi-container\">");
htmlStrBuff.append(" <div class=\"kpi-container\">");
htmlStrBuff.append(" <div class=\"banner-12 banner-4 banner-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"detail-box\" style=\"background-color: #f9af92;\">");
htmlStrBuff.append(" <span class=\"detail-box-kpi-value\">").append(dataMap.get("NET SALES VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"detail-box-kpi-name\">NET SALES VALUE</span>");
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, #e47842, #ffac83);\">");
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\">net sales</div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("NET SALES VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"kpi-summary\">Month to Date</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
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>");
......@@ -521,82 +653,141 @@ private String getMonth(String selectedMonth, int selectedYear)
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=\"summary-box\" >");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #89cbfc;\">").append(dataMap.get("SALES VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">SALES VALUE</span>");
//htmlStrBuff.append(" <div class=\"summary-box\" >");
//htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #89cbfc;\">").append(dataMap.get("GROSS SALES VALUE")).append("</span>");
//htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">GROSS SALES VALUE</span>");
//htmlStrBuff.append(" </div>");
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/gross-sales.svg\"/></div>");
htmlStrBuff.append(" <div class=\"kpi-title\">gross sales</div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("GROSS SALES VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"summary-box\" >");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #89cbfc;\">").append(dataMap.get("FREE SALES VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">FREE SALES VALUE</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"summary-box\" >");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #89cbfc;\">").append(dataMap.get("GROSS SALES VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">GROSS SALES VALUE</span>");
//htmlStrBuff.append(" <div class=\"summary-box\" >");
//htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #89cbfc;\">").append(dataMap.get("GROSS RETURN VALUE")).append("</span>");
//htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">GROSS RETURN VALUE</span>");
//htmlStrBuff.append(" </div>");
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-return.svg\"/></div>");
htmlStrBuff.append(" <div class=\"kpi-title\">gross return</div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("GROSS RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append("</div>");
//htmlStrBuff.append("<summary style=\"outline: none;cursor: pointer;\">");
//htmlStrBuff.append("Sales Summary");
//htmlStrBuff.append("</summary>");
//htmlStrBuff.append("</details>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
//htmlStrBuff.append(" <div class=\"summary-box\" >");
//htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #89cbfc;\">").append(dataMap.get("REPLACEMENT RETURN VALUE")).append("</span>");
//htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">REPLACEMENT RETURN VALUE</span>");
//htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-box\" style=\"background-image:linear-gradient(-45deg, #007bab, #00c9ff);\">");
htmlStrBuff.append(" <div class=\"kpi-header\">");
htmlStrBuff.append(" <div class=\"kpi-icon\"><img src=\"images/repl-return.svg\"/></div>");
htmlStrBuff.append(" <div class=\"kpi-title\">replacement return</div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"kpi-count-summary\">");
htmlStrBuff.append(" <span class=\"kpi-count\">").append(dataMap.get("REPLACEMENT RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"kpi-summary\"></span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append("</div>");
//htmlStrBuff.append("<details open style=\"padding: 10px 0;\" >");
htmlStrBuff.append("<div class=\"db-kpi-container\">");
htmlStrBuff.append(" <div class=\"kpi-container\">");
htmlStrBuff.append(" <div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"summary-box\" >");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\">").append(dataMap.get("SALEABLE RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">SALEABLE RETURN VALUE</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">saleable return</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"summary-box\">");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\"> ").append(dataMap.get("DAMAGED RETURN VALUE")).append(" </span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">DAMAGED RETURN VALUE</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"summary-box\">");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\">").append(dataMap.get("DAMAGED RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">damaged return</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=\"summary-box\" >");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\">").append(dataMap.get("EXPIRY RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">EXPIRY RETURN VALUE</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">expiry return</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"summary-box\">");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\"> ").append(dataMap.get("CANCELED RETURN VALUE")).append(" </span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">CANCELED RETURN VALUE</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"small-12 medium-4 large-3 column kpi-card-containers\">");
htmlStrBuff.append(" <div class=\"summary-box\">");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\">").append(dataMap.get("CANCELED RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">canceled return</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=\"summary-box\" >");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\">").append(dataMap.get("GROSS RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">GROSS RETURN VALUE</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <div class=\"summary-box\">");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\"> ").append(dataMap.get("NET RETURN VALUE")).append(" </span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">NET RETURN VALUE</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-value\" style=\"color: #f37487;\">").append(dataMap.get("NET RETURN VALUE")).append("</span>");
htmlStrBuff.append(" <span class=\"summary-box-kpi-name\">net return</span>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append(" </div>");
htmlStrBuff.append("</div>");
//htmlStrBuff.append("<summary style=\"outline: none;cursor: pointer;\">");
//htmlStrBuff.append("Returns Summary");
//htmlStrBuff.append("</summary>");
//htmlStrBuff.append("</details>");
}
htmlStrBuff.append("</div>");
salesSummarySql = getSalesSummarySQL(empCode, siteCode, monthStr, true);
//sqlDataMap = updtDwhSalesObj.getSQLResultData(salesSummarySql, transDB);
sqlDataMap = getSQLResultData(salesSummarySql, transDB);
System.out.println("Result sqlDataMap !" + sqlDataMap);
dataRows = (ArrayList<HashMap<String, String>>) sqlDataMap.get("ROWS");
noOfRows = dataRows.size();
System.out.println("Result dataRows !" + dataRows);
ArrayList<String> lableList = new ArrayList<String>();
ArrayList<String> netSList = new ArrayList<String>();
ArrayList<String> groSList = new ArrayList<String>();
ArrayList<String> groRList = new ArrayList<String>();
ArrayList<String> rplRList = new ArrayList<String>();
E12GenericUtility genUtil = new E12GenericUtility();
for( int rowNum = 0; rowNum < noOfRows; rowNum++ )
{
HashMap<String, String> dataMap = dataRows.get(rowNum);
String dateStr = dataMap.get("DOC_DATE");
dateStr = genUtil.getValidDateString(dateStr, "yyyy-MM-dd", "dd-MMM");
lableList.add("'" + dateStr + "'");
String netS = replace(dataMap.get("NET SALES VALUE"), "," ,"");
netSList.add(netS);
String groS = replace(dataMap.get("GROSS SALES VALUE"), "," ,"");
groSList.add(groS);
String groR = replace(dataMap.get("GROSS RETURN VALUE"), "," ,"");
groRList.add(groR);
String rplR = replace(dataMap.get("REPLACEMENT RETURN VALUE"), "," ,"");
rplRList.add(rplR);
}
lables = lableList.toString();
netSalesData = netSList.toString();
grossSalesData = groSList.toString();
grossReturnData = groRList.toString();
replReturnData = rplRList.toString();
/*
System.out.println(lables);
System.out.println(netSalesData);
System.out.println(grossSalesData);
System.out.println(grossReturnData);
System.out.println(replReturnData);
*/
}
catch(Exception e)
{
......@@ -606,14 +797,112 @@ private String getMonth(String selectedMonth, int selectedYear)
}
%>
<%=htmlStrBuff.toString()%>
<!--
<form method="POST" action="saleTrendsDetails.jsp">
<%=htmlStrBuff.toString()%>
<input type="hidden" name="empCode" id="empCode" value='<%=empCode%>'/>
<input type="hidden" name="siteCode" id="siteCode" value='<%=siteCode%>'/>
<input type="hidden" name="month" id="month" value='<%=monthStr%>'/>
<button type="submit">Explore Data</button>
</form>
-->
<script>
var isFullscreen = false;
loadChart("sales-info-chart");
function loadChart(elmId)
{
new Chart(document.getElementById(elmId), {
type: 'line',
data: {
labels: <%=lables%>,
datasets: [{
data: <%=netSalesData%>,
label: "Net Sales",
borderColor: "#fb9f6e",
fill: false
}, {
data: <%=grossSalesData%>,
label: "Gross Sales",
borderColor: "#38c796",
fill: false
}, {
data: <%=grossReturnData%>,
label: "Gross Return",
borderColor: "#a79fec",
fill: false
}, {
data: <%=replReturnData%>,
label: "Replacement Return",
borderColor: "#68beff",
fill: false
}
]
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
// Include a dollar sign in the ticks
callback: function(value, index, values) {
return '\u20B9 ' + numConversion(value);
}
},
scaleLabel:{
display: true,
labelString : 'Value in (\u20B9)'
}
}]
},
tooltips: {
callbacks: {
label: function(tooltipItem) {
return "\u20B9 " + numConversion(tooltipItem.yLabel);
}
}
}
}
});
}
// Fullscreen
function numConversion(val) {
if (val >= 10000000) val = (val / 10000000).toFixed(2) + ' Cr';
else if (val >= 100000) val = (val / 100000).toFixed(2) + ' Lac';
else if (val >= 1000) val = (val / 1000).toFixed(2) + ' K';
return val;
}
function toggleFullscreen(elmId, srcElm) {
if( !isFullscreen )
{
srcElm.src = "images/fullscreen_back.svg";
}
else
{
srcElm.src = "images/fullscreen_enter.svg";
}
var elem = document.getElementById(elmId);
elem = elem || document.documentElement;
if (!document.fullscreenElement && !document.mozFullScreenElement &&
!document.webkitFullscreenElement && !document.msFullscreenElement) {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
isFullscreen = !isFullscreen;
}
</script>
</body>
</html>
......@@ -14,6 +14,8 @@
body{
background-color: #efefef;
padding: 0;
margin: 0;
}
.input-field label{
......@@ -46,6 +48,10 @@ body{
.input-form{
padding: 10px;
}
.sales-container{
max-width: 1024px;
margin: auto;
}
</style>
</head>
<body>
......@@ -92,10 +98,10 @@ body{
}
}
%>
<div class="sales-container">
<div style="padding: 10px 0 10px 10px;">
<div class="ang-dbtitle">
Current Sales Summary
Sales Information
</div>
</div>
<form method="POST" action="executeSaleTrends.jsp">
......@@ -115,5 +121,6 @@ body{
<button class="view-button" type="submit">View Data</button>
</div>
</form>
</div>
</body>
</html>
......@@ -6,94 +6,6 @@
<%@page import="ibase.utility.UserInfoBean"%>
<%@page import="java.io.*,java.util.*,java.util.zip.*"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.*"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.SQLException"%>
<%@page import="ibase.system.config.ConnDriver"%>
<%!
public HashMap getSQLResultData(String sqlStr, String transDB)
{
HashMap sqlDataMap = null;
Connection con = null;
Statement stmt=null;;
ResultSet rs = null;
try
{
System.out.println("Inside SaleTrendsDetails::getSQLResultData transDB [" +transDB + "] SQL Exection done ! SQL => \n " + sqlStr);
ConnDriver mConnDriver = new ConnDriver();
con = mConnDriver.getConnectDB(transDB);
if( con == null ) {
System.out.println("Unable to get connection for [" + transDB + "]");
throw new Exception("Unable to get connection for [" + transDB + "]");
}
ArrayList<HashMap<String, String>> dataRows = new ArrayList<HashMap<String, String>>();
HashMap<Integer, String> dataCols = new HashMap<Integer, String>();
sqlDataMap = new HashMap();
int noOfRows = 0;
int noOfColumns = 0;
stmt = con.createStatement();
rs = stmt.executeQuery(sqlStr);
ResultSetMetaData rsmd = rs.getMetaData();
while(rs.next())
{
//System.out.println("Result iteration !");
HashMap<String, String> rowDataMap = new HashMap<String, String>();
noOfColumns = rsmd.getColumnCount();
//System.out.println("Result noOfColumns !" + noOfColumns);
for(int ctr = 1; ctr <= noOfColumns; ctr++)
{
if( noOfRows == 0 )
{
dataCols.put(ctr, rsmd.getColumnName(ctr));
}
rowDataMap.put(rsmd.getColumnName(ctr), rs.getString(ctr));
}
//System.out.println("Result dataMap !" + dataMap);
dataRows.add(rowDataMap);
noOfRows++;
}
//System.out.println("Result dataArray !" + dataArray);
sqlDataMap.put("COLS", dataCols);
sqlDataMap.put("ROWS", dataRows);
}
catch(Exception e)
{
sqlDataMap = null;
System.out.println("Inside SaleTrendsDetails::getSQLResultData Exception : " + e.getMessage());
e.printStackTrace();
}
finally
{
try
{
if( stmt != null )
{
stmt.close();
stmt = null;
}
if( con != null )
{
con.close();
con = null;
}
}
catch( Exception eI )
{
eI.printStackTrace();
}
}
return sqlDataMap;
}
%>
<html>
<head>
......@@ -272,9 +184,6 @@ public HashMap getSQLResultData(String sqlStr, String transDB)
int totalRows = noOfRows > 100 ? 100 : noOfRows;
int noOfColumns = dataCols.size();
htmlStrBuff.append("<TABLE id =\"dataTable\">");
htmlStrBuff.append("<tr>");
for( int ctr = 1; ctr <= noOfColumns; ctr++ ) {
......
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