Commit 3a27484b authored by prumde's avatar prumde

Added executeSalesTrends jsp

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@210615 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 68b30d87
<%System.out.println("------------BGProcessStatus Called------"); %>
<?xml version="1.0" encoding="UTF-8"?>
<%@page import="ibase.webitm.bean.*, ibase.utility.CommonConstants"%>
<%@page import="ibase.webitm.utility.ITMException"%>
<%@page import="ibase.utility.*"%>
<%@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.webitm.reports.utility.CustwiseSalesBean"%>
<%@page import="ibase.system.config.ConnDriver"%>
<html>
<head>
<style>
#dataTable {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#dataTable td, #dataTable th {
border: 1px solid #ddd;
padding: 8px;
white-space: nowrap;
}
#dataTable tr:nth-child(even){background-color: #f2f2f2;}
#dataTable tr:hover {background-color: #ddd;}
#dataTable th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #b4adee ; /*#5fdeb2*/
color: white;
}
</style>
</head>
<body>
<Div style="position:relative;top:0;left:0;height:85%;width:100%;overflow:scroll;">
<%
//Modified by Ahmed on 15/06/2016 [UserInfoBean is initialized and session is checked] [START]
UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
String referer = request.getRequestURL().toString();
referer = referer.substring(referer.indexOf("ibase") - 1);
referer = referer + "?" + (String) request.getQueryString();
if (userInfo == null) //Ahmed
{
%>
<jsp:forward page="/jsp/DirectAccess.jsp">
<jsp:param name="REFERER" value="<%=referer%>"/>
</jsp:forward>
<%
}
//Modified by Ahmed on 15/06/2016 [UserInfoBean is initialized and session is checked] [END]
String userCode = userInfo.getLoginCode();
String transDB = userInfo.getTransDB();
String site = userInfo.getPropValue("SITE_CODE");
String empCode = request.getParameter("empCode");
if( empCode == null || empCode.trim().length() == 0)
{
empCode = userCode;
}
String siteCode = request.getParameter("siteCode");
if( siteCode == null || siteCode.trim().length() == 0)
{
siteCode = site;
}
String month = request.getParameter("month");
if( month == null || month.trim().length() == 0)
{
month = "10/2019";
}
Connection con = null;
Statement stmt=null;;
ResultSet rs = null;
try
{
StringBuffer sqlbuffer = new StringBuffer();
sqlbuffer.append("select DSS.DOC_DATE as \"TRANSACTION DATE\",");
sqlbuffer.append(" DSS.POS_CODE as \"LEVEL CODE\",");
sqlbuffer.append(" DHH.lv4 as \"LEVEL1 CODE\",");
sqlbuffer.append(" DHH.lv4_descr as \"LEVEL1 DESCRIPTION\",");
sqlbuffer.append(" DHH.lv3 as \"LEVEL2 CODE\",");
sqlbuffer.append(" DHH.lv3_descr as \"LEVEL2 DESCRIPTION\",");
sqlbuffer.append(" DHH.lv2 as \"LEVEL3 CODE\",");
sqlbuffer.append(" DHH.lv2_descr as \"LEVEL3 DESCRIPTION\",");
sqlbuffer.append(" DHH.lv1 as \"LEVEL4 CODE\",");
sqlbuffer.append(" DHH.lv1_descr as \"LEVEL4 DESCRIPTION\",");
sqlbuffer.append(" DHH.POS_CODE as \"POSITION CODE\",");
sqlbuffer.append(" DHH.POOL_CODE as \"POOL CODE\",");
sqlbuffer.append(" DHH.TABLE_NO as \"TABLE NO\",");
sqlbuffer.append(" DHH.VERSION_ID as \"VERSION ID\",");
sqlbuffer.append(" DSS.CUST_CODE as \"CUSTOMER CODE\",");
sqlbuffer.append(" (SELECT CUST_NAME from SUNERP.CUSTOMER where CUST_CODE = DSS.CUST_CODE) as \"CUSTOMER NAME\",");
sqlbuffer.append(" DSS.SITE_CODE as \"SITE CODE\",");
sqlbuffer.append(" (SELECT DESCR from SUNERP.SITE where SITE_CODE = DSS.SITE_CODE) as \"SITE DESCRIPTION\",");
sqlbuffer.append(" DSS.ITEM_CODE AS \"ITEM CODE\", I.DESCR AS \"ITEM DESCRIPTION\",");
sqlbuffer.append(" I.ITEM_SER as \"ITEM SERIES\",");
sqlbuffer.append(" ISER.DESCR as \"ITEM SERIES DESCRIPTION\",");
sqlbuffer.append(" ISER.PRODUCT_LINE as \"PRODUCT LINE\",");
sqlbuffer.append(" (SELECT descr from SUNERP.GENCODES where FLD_NAME='PRODUCT_LINE' AND mod_name='W_ITEMSER' AND RPAD(fld_value, 5, ' ') = ISER.PRODUCT_LINE) as \"PRODUCT LINE DESCRIPTION\",");
sqlbuffer.append(" DSS.NET_SALES_VALUE as \"NET SALES VALUE\",");
sqlbuffer.append(" DSS.SALES_QTY as \"SALES QUANTITY\",");
sqlbuffer.append(" DSS.GROSS_SALES_VALUE as \"GROSS SALES VALUE\",");
sqlbuffer.append(" DSS.FREE_QTY as \"FREE QUANTITY\",");
sqlbuffer.append(" DSS.FREE_SALES_VALUE as \"FREE SALES VALUE\",");
sqlbuffer.append(" DSS.NET_SALES_QTY as \"NET SALES QUANTITY\",");
sqlbuffer.append(" DSS.REPL_VALUE as \"REPLACEMENT VALUE\",");
sqlbuffer.append(" DSS.SALEABLE_RETURN_QTY as \"SALEABLE RETURN QUANTITY\",");
sqlbuffer.append(" DSS.SALEABLE_RETURN_AMT as \"SALEABLE RETURN VALUE\",");
sqlbuffer.append(" DSS.BREAKAGE_RETURN_QTY as \"DAMAGED RETURN QUANTITY\",");
sqlbuffer.append(" DSS.BREAKAGE_RETURN_AMT as \"DAMAGED RETURN VALUE\",");
sqlbuffer.append(" DSS.EXPIRY_RETURN_QTY as \"EXPIRY RETURN QUANTITY\",");
sqlbuffer.append(" DSS.EXPIRY_RETURN_AMT as \"EXPIRY RETURN VALUE\",");
sqlbuffer.append(" DSS.CORRECTION_RETURN_QTY as \"CANCELED RETURN QUANTITY\",");
sqlbuffer.append(" DSS.CORRECTION_RETURN_AMT as \"CANCELED RETURN VALUE\",");
sqlbuffer.append(" DSS.REPL_RETURN_QTY as \"REPLACEMENT RETURN QUANTITY\",");
sqlbuffer.append(" DSS.REPL_RETURN_VALUE as \"REPLACEMENT RETURN VALUE\",");
sqlbuffer.append(" DSS.RETURN_QTY as \"RETURN QUANTITY\",");
sqlbuffer.append(" DSS.GROSS_RETURN_VALUE as \"GROSS RETURN VALUE\",");
sqlbuffer.append(" DSS.NET_RETURN_VALUE as \"NET RETURN VALUE\" ,");
sqlbuffer.append(" DSS.TRAN_ID,");
sqlbuffer.append(" DSS.REPL_QTY as \"REPLACEMENT QUANTITY\",");
sqlbuffer.append(" DSS.DISC_AMT,");
sqlbuffer.append(" DSS.MRP,");
sqlbuffer.append(" DSS.PTR,");
sqlbuffer.append(" DSS.PTS,");
sqlbuffer.append(" DSS.HSN_CODE,");
sqlbuffer.append(" DSS.PACK,");
sqlbuffer.append(" DUE_DATE,");
sqlbuffer.append(" DSS.CGST_AMT,");
sqlbuffer.append(" DSS.CGST_RATE,");
sqlbuffer.append(" DSS.SGST_RATE,");
sqlbuffer.append(" DSS.SGST_AMT,");
sqlbuffer.append(" DSS.CITY,");
sqlbuffer.append(" DSS.ITEM_BRAND,");
sqlbuffer.append(" DSS.IGST_AMT,");
sqlbuffer.append(" DSS.IGST_RATE,");
sqlbuffer.append(" DSS.REF_SER,");
sqlbuffer.append(" DSS.SALES_VALUE,");
sqlbuffer.append(" DSS.RETURN_VALUE,");
sqlbuffer.append(" DSS.CUST_CODE__BIL");
sqlbuffer.append(" from SUNERP.DWH_SALES_SUM DSS");
sqlbuffer.append(" LEFT OUTER JOIN SUNERP.ITEM I ON DSS.ITEM_CODE = I.ITEM_CODE");
sqlbuffer.append(" LEFT OUTER JOIN SUNERP.ITEMSER ISER ON I.ITEM_SER = ISER.ITEM_SER,");
sqlbuffer.append(" (");
sqlbuffer.append(" select lv1.pos_code lv1, lv1.pos_code__repto lv1_repo, case when lv1.descr is null then 'NA' else lv1.descr end lv1_descr,");
sqlbuffer.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,");
sqlbuffer.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,");
sqlbuffer.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,");
sqlbuffer.append(" lv1.pos_code, lv1.table_no, lv1.version_id, lv1.pool_code");
sqlbuffer.append(" from SUNERP.org_structure lv1");
sqlbuffer.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");
sqlbuffer.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");
sqlbuffer.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");
sqlbuffer.append(" ) DHH");
sqlbuffer.append(" WHERE DHH.POS_CODE = DSS.POS_CODE");
sqlbuffer.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)");
sqlbuffer.append(" AND DHH.TABLE_NO=NVL(ISER.TABLE_NO__HIER, ISER.ITEM_SER)");
sqlbuffer.append(" AND to_char(DSS.DOC_DATE, 'MM/YYYY')= '"+ month +"'");
sqlbuffer.append(" AND I.ITEM_SER >= '00'");
sqlbuffer.append(" AND I.ITEM_SER <= 'zz'");
sqlbuffer.append(" AND DSS.SITE_CODE = '" + siteCode + "' ");
sqlbuffer.append(" AND DSS.POS_CODE IN (");
sqlbuffer.append(" SELECT POS_CODE FROM SUNERP.ORG_STRUCTURE");
sqlbuffer.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) AND TABLE_NO <> 'NFE'");
sqlbuffer.append(" START WITH POS_CODE = ( SELECT POS_CODE FROM SUNERP.ORG_STRUCTURE ");
sqlbuffer.append(" WHERE EMP_CODE= '" + empCode + "' ");
sqlbuffer.append(" 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' )");
sqlbuffer.append(" CONNECT BY PRIOR POS_CODE = POS_CODE__REPTO)");
ConnDriver mConnDriver = new ConnDriver();
con = mConnDriver.getConnectDB(transDB);
stmt = con.createStatement();
rs = stmt.executeQuery(sqlbuffer.toString());
System.out.println("transDB [" +transDB + "] SQL Exection done ! SQL => \n " + sqlbuffer.toString());
ResultSetMetaData rsmd = rs.getMetaData();
ArrayList<HashMap<String, String>> dataList = new ArrayList<HashMap<String, String>>();
HashMap<Integer, String> dataColsMap = new HashMap<Integer, String>();
int noOfRows = 0;
int noOfColumns = 0;
while(rs.next())
{
System.out.println("Result iteration !");
HashMap<String, String> dataMap = new HashMap<String, String>();
noOfColumns = rsmd.getColumnCount();
System.out.println("Result noOfColumns !" + noOfColumns);
for(int ctr = 1; ctr <= noOfColumns; ctr++)
{
if( noOfRows == 0 )
{
dataColsMap.put(ctr, rsmd.getColumnName(ctr));
}
dataMap.put(rsmd.getColumnName(ctr), rs.getString(ctr));
}
System.out.println("Result dataMap !" + dataMap);
dataList.add(dataMap);
noOfRows++;
}
System.out.println("Result dataColsMap !" + dataColsMap);
int totalRows = noOfRows > 100 ? 100 : noOfRows;
%>
<div>
Sales Trends Data for Month <%=month%> (<%=noOfRows%> rows) <br/>
Displaying <%=totalRows%> rows <br/>
User <%=empCode%> of Site <%=siteCode%> <br/>
</div>
<TABLE id ="dataTable" class="tableFormat" align="left" width="100%">
<tr>
<%
for( int ctr = 1; ctr <= noOfColumns; ctr++ )
{
%>
<th><%=dataColsMap.get(ctr)%></th>
<%
}
%>
</tr>
<%
for( int rowNum = 0; rowNum < totalRows; rowNum++ )
{
HashMap<String, String> dataMap = dataList.get(rowNum);
%>
<tr>
<%
for( int ctr = 1; ctr <= noOfColumns; ctr++ )
{
String keyStr = dataColsMap.get(ctr);
%>
<td><%=dataMap.get(keyStr)%></td>
<%
}
%>
</tr>
<%
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if( stmt != null )
{
stmt.close();
stmt = null;
}
if( con != null )
{
con.close();
con = null;
}
}
catch( Exception eI )
{
eI.printStackTrace();
}
}
%>
</TABLE>
</Div >
</body>
</html>
<html>
<body>
<h3>Sales Trends Data</h3>
<form method="POST" action="executeSaleTrends.jsp">
Employee Code : <br/>
<input type="text" name="empCode" id="empCode"/><br/><br/>
Site Code : <br/>
<input type="text" name="siteCode" id="siteCode"/><br/><br/>
Month : <br/>
<input type="text" placeholder="MM/YYYY" name="month" id="month"/><br/><br/>
<button type="submit">View Data</button>
</form>
</body>
</html>
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