Commit 1f39d808 authored by dkasliwal's avatar dkasliwal

Added code for SSC Dashboard


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98426 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 04c73fa7
<!--Start the Mapping for Parent Dashboard -->
<module id="ibase3-webitm-dashboardparent">
<ejb>ibase3-webitm-dashboardparent1-1-0-2.jar</ejb>
</module>
<module id="gwt-table-to-excel">
<ejb>gwt-table-to-excel-0.0.4.jar</ejb>
</module>
<module id="json-simple">
<ejb>json-simple-1.1.1.jar</ejb>
</module>
<!-- End the Mapping for Parent Dashboard -->
<!--Start the Mapping for SSC Dashboard -->
<module id="ibase3-webitm-sscdashboard1-0-0-1">
<ejb>ibase3-webitm-sscdashboard1-0-0-1.jar</ejb>
</module>
<!--END the Mapping for SSC Dashboard -->
<?xml version='1.0'?>
<Root>
<page_title ><![CDATA[Account Paid/Payable For Current Month]]></page_title>
<datasource id ='1' driverName='DriverITM'><![CDATA[PaymentEfficiencyServlet]]></datasource>
<datasource id ='2' driverName='DriverITM'><![CDATA[PayableProfitServlet]]></datasource>
<datasource id ='3' driverName='DriverITM'><![CDATA[SavingOpportunityServlet]]></datasource>
<datasource id ='4' driverName='DriverITM'><![CDATA[EfficiencyTrendServlet]]></datasource>
<view id='1' name='Grid View'>
<component datasource='1' id='1' type='CARD'>
<ComponentTitle><![CDATA[Payment Efficiency]]></ComponentTitle>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<component_css><![CDATA[outerChartContainerPos1of3]]></component_css>
<height><![CDATA[150]]></height>
<width><![CDATA[98%]]></width>
<layout>
<html><![CDATA[<table border='0' width='100%'>
<tr>
<td width='60%' class='topAlign'>
<span style='color: #000;font-size:15px;' >{descr}</span>
<table width='100%' {tbldisplay} class='marginTop'>
<tr>
<td class='cardViewTable'>Ontime</td>
<td class='cardViewTable'>Delay</td>
<td class='cardViewTable'>Total</td>
</tr>
<tr>
<td class='cardViewTable'>{ontimeval}</td>
<td class='cardViewTable'>{delayval}</td>
<td class='cardViewTable'>{totalval}</td>
</tr>
</table>
</td>
<td><div class='{circledisplay} p{percentage} green'>
<span class='internalSpan'> {spanvalue} </span>
<div class='slice'> <div class='bar'>
</div> <div class='fill'></div> </div> </div> </td></tr></table>]]></html>
</layout>
</component>
<component datasource='2' id='2' type='G'>
<ComponentTitle><![CDATA[Payable Profile Volume ]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of3]]></component_css>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<chart_properties>
<win_properties><![CDATA[]]></win_properties>
<chart_type id='pie'><![CDATA[Pie2D]]></chart_type>
<caption><![CDATA[]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[ffffff]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
<showborder><![CDATA[0]]></showborder>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='descr'><![CDATA[Number]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='invoice_number' linktype='n' linkedmetadata='' render='bar' showvalue='1' color='#2F8C87' linevisibility='0' dotthickness='0'><![CDATA[Number of Invoice]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</component>
<component datasource='2' id='3' type='G'>
<ComponentTitle><![CDATA[Payable Profile Value]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of3]]></component_css>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<chart_properties>
<win_properties><![CDATA[]]></win_properties>
<chart_type id='pie'><![CDATA[Pie2D]]></chart_type>
<caption><![CDATA[]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[ffffff]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
<showborder><![CDATA[0]]></showborder>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='descr'><![CDATA[Value]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='invoice_val' linktype='n' linkedmetadata='' render='bar' showvalue='1' color='#2F8C87' linevisibility='0' dotthickness='0'><![CDATA[Value of Invoice]]></column>
</columns>
<left_yaxis_title><![CDATA[]]></left_yaxis_title>
<right_yaxis_title><![CDATA[]]></right_yaxis_title>
</column_group>
</component>
<component datasource='4' id='4' type='G'>
<ComponentTitle><![CDATA[Efficiency Trends]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of1]]></component_css>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<chart_properties>
<win_properties><![CDATA[]]></win_properties>
<chart_type id='bar'><![CDATA[ScrollCombiDY2D]]></chart_type>
<caption><![CDATA[]]></caption>
<height><![CDATA[300]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[ffffff]]></bg_color>
<showborder><![CDATA[0]]></showborder>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<slantlabels><![CDATA[1]]></slantlabels>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[Date]]></col_group_title>
<columns>
<column id='conf_date'><![CDATA[Date]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[Value]]></col_group_title>
<columns>
<column id='inv_paid_ontime' render='column' parentaxis='S' linktype='' linkedmetadata='' color='#8BBA00' showvalue='1' linevisibility='3' dotthickness='3'><![CDATA[Invoice Paid on Time]]></column>
<column id='inv_paid_delay' render='column' parentaxis='S' linktype='' linkedmetadata='' color='#FF9900' showvalue='1' linevisibility='3' dotthickness='3'><![CDATA[Invoice Paid on Delay]]></column>
<column id='inv_paid_perc' render='line' parentaxis='P' linktype='' linkedmetadata='' color='#CC0033' showvalue='1' linevisibility='3' dotthickness='3'><![CDATA[Invoice Paid on Time(%)]]></column>
<column id='amt_paid_perc' render='line' parentaxis='P' linktype='' linkedmetadata='' color='#0066CC' showvalue='1' linevisibility='3' dotthickness='3'><![CDATA[Amount Paid on Time(%)]]></column>
</columns>
<left_yaxis_title><![CDATA[Efficiency]]></left_yaxis_title>
<right_yaxis_title><![CDATA[Value]]></right_yaxis_title>
</column_group>
</component>
<component datasource='3' id='5' type='T'>
<component_type><![CDATA[DataGrid]]></component_type>
<ComponentTitle><![CDATA[Saving Opportunity]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of1]]></component_css>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<column_group id='bill_no'>
<col_group_title><![CDATA[Bill No ]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='bill_no'><![CDATA[Bill No]]></column>
</columns>
</column_group>
<column_group id='sh_name'>
<col_group_title><![CDATA[Short Name ]]></col_group_title>
<column_size><![CDATA[110]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='sh_name'><![CDATA[Short Name]]></column>
</columns>
</column_group>
<column_group id='net_amt'>
<col_group_title><![CDATA[Net Amount]]></col_group_title>
<column_size><![CDATA[130]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='net_amt'><![CDATA[Net Amount]]></column>
</columns>
</column_group>
<column_group id='disc_amt'>
<col_group_title><![CDATA[Discount Amount]]></col_group_title>
<column_size><![CDATA[140]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='disc_amt'><![CDATA[Discount Amount]]></column>
</columns>
</column_group>
<column_group id='due_date'>
<col_group_title><![CDATA[Due Date]]></col_group_title>
<column_size><![CDATA[110]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='due_date'><![CDATA[Due Date]]></column>
</columns>
</column_group>
<component_caption><![CDATA[]]></component_caption>
</component>
</view>
</Root>
<?xml version='1.0'?>
<Root>
<filters display='N'>
</filters>
<page_title><![CDATA[Pending Purchase Order Details]]></page_title>
<datasource id ='1' driverName='DriverITM'><![CDATA[PendingPOSummaryServlet]]></datasource>
<datasource id ='2' driverName='DriverITM'><![CDATA[PendingInvoiceServlet]]></datasource>
<datasource id ='3' driverName='DriverITM'><![CDATA[PendingPOServlet]]></datasource>
<datasource id ='4' driverName='DriverITM'><![CDATA[PendingPOValueServlet]]></datasource>
<view id='1' name='Graph View'>
<component datasource='1' id='1' type='T'>
<component_type><![CDATA[DataGrid]]></component_type>
<component_caption><![CDATA[]]></component_caption>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<ComponentTitle><![CDATA[Order Summary]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of2]]></component_css>
<column_group id='status'>
<col_group_title><![CDATA[Status of PO]]></col_group_title>
<column_size><![CDATA[50]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='status'><![CDATA[Status of PO]]></column>
</columns>
</column_group>
<column_group id='no_of_po'>
<col_group_title><![CDATA[No.of PO]]></col_group_title>
<column_size><![CDATA[50]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='no_of_po'><![CDATA[No. of PO]]></column>
</columns>
</column_group>
<column_group id='process_orders'>
<col_group_title><![CDATA[Value]]></col_group_title>
<column_size><![CDATA[50]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='process_orders'><![CDATA[Value]]></column>
</columns>
</column_group>
</component>
<component datasource='2' id='2' type='T'>
<component_type><![CDATA[DataGrid]]></component_type>
<component_caption><![CDATA[]]></component_caption>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<ComponentTitle><![CDATA[Bill/Invoice Submitted]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of2]]></component_css>
<column_group id='purc_order'>
<col_group_title><![CDATA[PO Number]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='purc_order'><![CDATA[PO Number]]></column>
</columns>
</column_group>
<column_group id='ord_date'>
<col_group_title><![CDATA[PO Date]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='ord_date'><![CDATA[PO Date]]></column>
</columns>
</column_group>
<column_group id='tot_amt'>
<col_group_title><![CDATA[Total Amount]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='tot_amt'><![CDATA[Total Amount]]></column>
</columns>
</column_group>
<column_group id='receipt'>
<col_group_title><![CDATA[Receipt]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='receipt'><![CDATA[Receipt]]></column>
</columns>
</column_group>
<column_group id='warehouse'>
<col_group_title><![CDATA[Warehouse]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='warehouse'><![CDATA[Warehouse]]></column>
</columns>
</column_group>
</component>
<component datasource='3' id='3' type='T'>
<component_type><![CDATA[DataGrid]]></component_type>
<component_caption><![CDATA[]]></component_caption>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<ComponentTitle><![CDATA[Last 5 Payments]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of2]]></component_css>
<column_group id='tran_id'>
<col_group_title><![CDATA[Payment Id]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='tran_id'><![CDATA[Payment Id]]></column>
</columns>
</column_group>
<column_group id='tran_date'>
<col_group_title><![CDATA[Date]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='tran_date'><![CDATA[Date]]></column>
</columns>
</column_group>
<column_group id='cheque_no'>
<col_group_title><![CDATA[Cheque No.]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='cheque_no'><![CDATA[Cheque No.]]></column>
</columns>
</column_group>
<column_group id='bank_code'>
<col_group_title><![CDATA[Bank Name]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[left]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='bank_code'><![CDATA[Bank Name]]></column>
</columns>
</column_group>
<column_group id='net_amt'>
<col_group_title><![CDATA[Net Amount]]></col_group_title>
<column_size><![CDATA[100]]></column_size>
<column_alignment><![CDATA[right]]></column_alignment>
<link_metadata><![CDATA[]]></link_metadata>
<columns>
<column id='net_amt'><![CDATA[Net Amount]]></column>
</columns>
</column_group>
</component>
<component datasource='4' id='4' type='G'>
<ComponentTitle><![CDATA[Purchase Order Value For Last 5 Month]]></ComponentTitle>
<component_css><![CDATA[outerChartContainerPos1of2]]></component_css>
<component_icon><![CDATA[reportswht.png]]></component_icon>
<chart_properties>
<win_properties><![CDATA[]]></win_properties>
<chart_type id='bar'><![CDATA[ScrollCombiDY2D]]></chart_type>
<caption><![CDATA[]]></caption>
<height><![CDATA[315]]></height>
<width><![CDATA[100%]]></width>
<bg_color><![CDATA[ffffff]]></bg_color>
<showlegend><![CDATA[1]]></showlegend>
<useroundedges><![CDATA[1]]></useroundedges>
<rotatevalues><![CDATA[0]]></rotatevalues>
<decimals><![CDATA[1]]></decimals>
<formatnumberscale><![CDATA[0]]></formatnumberscale>
<formatnumber><![CDATA[1]]></formatnumber>
<showborder><![CDATA[0]]></showborder>
</chart_properties>
<column_group id='x_axis'>
<col_group_title><![CDATA[Month]]></col_group_title>
<columns>
<column id='month'><![CDATA[Month]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[ Value]]></col_group_title>
<columns>
<column id='povalue' render='bar' linktype='' linkedmetadata='' color='#1ECC2A' showvalue='1' linevisibility='3' dotthickness='3'><![CDATA[PO Value]]></column>
<column id='no_of_po' render='line' linktype='' linkedmetadata='' color='#DD37DA' showvalue='1' linevisibility='3' dotthickness='3'><![CDATA[ No. of PO]]></column>
</columns>
<left_yaxis_title><![CDATA[PO Value]]></left_yaxis_title>
<right_yaxis_title><![CDATA[ No.of PO]]></right_yaxis_title>
</column_group>
</component>
</view>
</Root>
<!--Start Mapping for Parent Dashboard-->
<servlet>
<servlet-name>ParentMetaDataServlet</servlet-name>
<servlet-class>ibase.dashboard.metadata.servlet.ParentMetaDataServlet</servlet-class>
</servlet>
<servlet-mapping id="ParentMetaDataServlet">
<servlet-name>ParentMetaDataServlet</servlet-name>
<url-pattern>/ParentMetaDataServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DashboardFilterServlet</servlet-name>
<servlet-class>ibase.dashboard.metadata.servlet.DashboardFilterServlet</servlet-class>
</servlet>
<servlet-mapping id="DashboardFilterServlet">
<servlet-name>DashboardFilterServlet</servlet-name>
<url-pattern>/DashboardFilterServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>gwtTableToExcelServlet</servlet-name>
<servlet-class>ibase.server.TableToExcelServlet</servlet-class>
</servlet>
<servlet-mapping id="gwtTableToExcelServlet">
<servlet-name>gwtTableToExcelServlet</servlet-name>
<url-pattern>/dwh/gwtdashboardreport/excel</url-pattern>
</servlet-mapping>
<!--End Mapping for Parent Dashboard-->
<!--Start Mapping for AP-SSC Dashboard -->
<servlet>
<servlet-name>PaymentEfficiencyServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.PaymentEfficiencyServlet</servlet-class>
</servlet>
<servlet-mapping id="PaymentEfficiencyServlet">
<servlet-name>PaymentEfficiencyServlet</servlet-name>
<url-pattern>/PaymentEfficiencyServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PayableProfitServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.PayableProfitServlet</servlet-class>
</servlet>
<servlet-mapping id="PayableProfitServlet">
<servlet-name>PayableProfitServlet</servlet-name>
<url-pattern>/PayableProfitServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SavingOpportunityServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.SavingOpportunityServlet</servlet-class>
</servlet>
<servlet-mapping id="SavingOpportunityServlet">
<servlet-name>SavingOpportunityServlet</servlet-name>
<url-pattern>/SavingOpportunityServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>EfficiencyTrendServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.EfficiencyTrendServlet</servlet-class>
</servlet>
<servlet-mapping id="EfficiencyTrendServlet">
<servlet-name>EfficiencyTrendServlet</servlet-name>
<url-pattern>/EfficiencyTrendServlet</url-pattern>
</servlet-mapping>
<!--End Mapping for AP-SSC Dashboard -->
<!--Start Mapping for Pending Details Dashboard -->
<servlet>
<servlet-name>PendingPOServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.PendingPOServlet</servlet-class>
</servlet>
<servlet-mapping id="PendingPOServlet">
<servlet-name>PendingPOServlet</servlet-name>
<url-pattern>/PendingPOServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PendingPOValueServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.PendingPOValueServlet</servlet-class>
</servlet>
<servlet-mapping id="PendingPOValueServlet">
<servlet-name>PendingPOValueServlet</servlet-name>
<url-pattern>/PendingPOValueServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PendingInvoiceServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.PendingInvoiceServlet</servlet-class>
</servlet>
<servlet-mapping id="PendingInvoiceServlet">
<servlet-name>PendingInvoiceServlet</servlet-name>
<url-pattern>/PendingInvoiceServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PendingPOSummaryServlet</servlet-name>
<servlet-class>ibase.dashboard.ssc.servlet.PendingPOSummaryServlet</servlet-class>
</servlet>
<servlet-mapping id="PendingPOSummaryServlet">
<servlet-name>PendingPOSummaryServlet</servlet-name>
<url-pattern>/PendingPOSummaryServlet</url-pattern>
</servlet-mapping>
<!--End Mapping for Pending Details Dashboard -->
package ibase.dashboard.ssc.ejb;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import javax.ejb.Stateless;
import org.json.simple.JSONObject;
/**
* Session Bean implementation class SalesPersonSales
*/
@Stateless
public class AcctPayable extends ValidatorEJB implements AcctPayableLocal, AcctPayableRemote
{
public AcctPayable() {
// TODO Auto-generated constructor stub
}
GenericUtility genericUtility = GenericUtility.getInstance();
@SuppressWarnings("unchecked")
public JSONObject getPaymentEfficiency(String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataAcctPayableDtlJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside AcctPayable for getPaymentEfficiency Data Soruc Name ="+dataSourceName);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
int delayCount = 0;
double delayAmount = 0.0;
int paymentCount = 0;
double totalCount = 0.0;
double paymentAmount = 0.0;
double paidAmount = 0.0;
double delayTotalAmount = 0.0;
double delayDays = 0.0;
double delayIndex = 0.0;
double percntVal = 0.0;
double percntValForAmountPaid = 0.0;
double totalAmount = 0.0;
/* sql="select count(1)as totalcount, round(sum(tot_amt)) as totalamt from misc_payables m, period p " +
"where m.tran_date between p.fr_date " +
"and p.to_date and to_date(sysdate) between p.fr_date and p.to_date";*/
sql = "select count(1) delay_Invoice , round(sum(d.pay_amt)) delay_Inv_payment " +
"from misc_payment h, misc_paydet d, misc_payables m, period p where d.tran_id = h.tran_id " +
"and m.tran_ser = d.tran_ser and m.ref_no = d.vouch_no and to_date(h.conf_date) > m.due_date " +
"and to_date(h.conf_date) between p.fr_date and p.to_date and h.confirmed = 'Y'" +
"and to_date(sysdate) between p.fr_date and p.to_date" ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
delayCount = rs.getInt("delay_Invoice");
delayAmount = Double.parseDouble(checkZero(rs.getString("delay_Inv_payment")));
}
sql="select count(1) as paymentcount, round(sum(d.pay_amt)) as paymentamt " +
"from misc_payment h, misc_paydet d, misc_payables m, " +
"period p where d.tran_id = h.tran_id and m.tran_ser = d.tran_ser " +
"and m.ref_no = d.vouch_no and to_date(h.conf_date) <= m.due_date " +
"and to_date(h.conf_date) between p.fr_date and p.to_date and h.confirmed = 'Y'" +
"and to_date(sysdate) between p.fr_date and p.to_date";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
paymentCount = rs.getInt("paymentcount");
paymentAmount = Double.parseDouble(checkZero(rs.getString("paymentamt")));
}
sql="select sum(d.pay_amt) as paid_amount, sum(m.tot_amt) total_amount, " +
"sum(to_date(h.conf_date) - m.due_date) delayed_days from misc_payment h, " +
"misc_paydet d, misc_payables m, period p where d.tran_id = h.tran_id " +
"and m.tran_ser = d.tran_ser and m.ref_no = d.vouch_no " +
"and to_date(h.conf_date) <= m.due_date and to_date(h.conf_date) " +
"between p.fr_date and p.to_date and h.confirmed = 'Y'" +
"and to_date(sysdate) between p.fr_date and p.to_date";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
paidAmount = Double.parseDouble(checkZero(rs.getString("paid_amount")));
//delayTotalAmount = Double.parseDouble(checkZero(rs.getString("total_amount")));
delayDays = Double.parseDouble(checkZero(rs.getString("delayed_days")));
}
sql="select sum(d.pay_amt) delay_Total_Amount from misc_payment h, misc_paydet d, " +
"misc_payables m, period p where d.tran_id = h.tran_id and m.tran_ser = d.tran_ser " +
"and m.ref_no = d.vouch_no and to_date(h.conf_date) between p.fr_date and p.to_date and h.confirmed = 'Y'" +
"and to_date(sysdate) between p.fr_date and p.to_date";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
delayTotalAmount = Double.parseDouble(checkZero(rs.getString("delay_Total_Amount")));
}
System.out.println("paymentCount :"+paymentCount + "-- delayCount :"+delayCount);
totalCount = paymentCount + delayCount;
System.out.println("totalCount :"+totalCount);
if(totalCount != 0)
{
percntVal = (((double)paymentCount / totalCount) * 100) ;
}
totalAmount = paymentAmount + delayAmount;
System.out.println("totalAmount :"+totalAmount);
if(totalAmount != 0)
{
percntValForAmountPaid = ((paymentAmount / (paymentAmount+delayAmount)) * 100);
}
System.out.println("twoDecFormat.format percntValForAmountPaid :"+(percntValForAmountPaid));
rowData = new JSONObject();
rowData.put("descr", "No of voucher paid");
rowData.put("percentage", Math.round(percntVal));
rowData.put("spanvalue", Math.round(percntVal)+"%");
rowData.put("ontimeval", paymentCount);
rowData.put("delayval", delayCount );
rowData.put("totalval", (paymentCount + delayCount));
rowData.put("tbldisplay", "style='display: visible'");
rowData.put("circledisplay", "c100");
rawDataAcctPayableDtlJson.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("descr", "Value of payment in (INR)");
rowData.put("percentage", Math.round(percntValForAmountPaid));
rowData.put("spanvalue", Math.round(percntValForAmountPaid)+"%");
rowData.put("ontimeval", paymentAmount);
rowData.put("delayval", delayAmount );
rowData.put("totalval", (paymentAmount+delayAmount));
rowData.put("tbldisplay", "style='display: visible'");
rowData.put("circledisplay", "c100");
rawDataAcctPayableDtlJson.put(count, rowData);
count++;
System.out.println("paidAmount :"+paidAmount + "-- delayDays :"+delayDays + "delayTotalAmount :"+delayTotalAmount);
if(delayDays <0)
{
delayIndex = (paidAmount * delayDays) *(-1) / delayTotalAmount;
}else
{
delayIndex = (paidAmount * delayDays) / delayTotalAmount;
}
rowData = new JSONObject();
rowData.put("descr", "Delay index");
rowData.put("percentage", "0");
rowData.put("spanvalue", Math.round(delayIndex));
rowData.put("ontimeval", "0");
rowData.put("delayval", "0");
rowData.put("totalval", "0");
rowData.put("tbldisplay", "style='display: none'");
rowData.put("circledisplay", "circleNotDisplay");
rawDataAcctPayableDtlJson.put(count, rowData);
}
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 :getPaymentEfficiency:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataAcctPayableDtlJson;
}
@SuppressWarnings("unchecked")
@Override
public JSONObject getPayableProfit(String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataPayableProfitJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside AcctPayable for getPayableProfit Data Soruc Name ="+dataSourceName);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
/*sql=" select sum(cnt) as invoice_number,sum(due_amount) as invoice_val," +
" (case when due_days <= 7 then '7 Days' when due_days <= 15 then '15 Days' " +
"when due_days <= 30 then '30 Days' else '60 Days' end ) as descr " +
"from ( select 1 cnt, (m.tot_amt - m.adj_amt) due_amount, " +
"(m.due_date - to_date(sysdate)) due_days " +
"from misc_payables m where m.due_date > to_date(sysdate) " +
"and m.due_date - to_date(sysdate) <= 60 and m.tot_amt - m.adj_amt <> 0 )" +
" group by case when due_days <= 7 then '7 Days' when due_days <= 15 then '15 Days'" +
" when due_days <= 30 then '30 Days' else '60 Days' end " +
"order by case when due_days <= 7 then '7 Days' when due_days <= 15 then '15 Days' " +
"when due_days <= 30 then '30 Days' else '60 Days' end ";*/
sql = "select sum(1) invoice_number, sum(m.tot_amt - m.adj_amt) invoice_val,'7 Days' as descr "+
" from misc_payables m where m.due_date > to_date(sysdate) and m.due_date - to_date(sysdate) <= 7 "+
" and m.tot_amt - m.adj_amt <> 0 "+
" union all "+
" select sum(1) invoice_number, sum(m.tot_amt - m.adj_amt) invoice_val,'15 Days' as descr "+
" from misc_payables m where m.due_date > to_date(sysdate) and m.due_date - to_date(sysdate) <= 15 "+
" and m.tot_amt - m.adj_amt <> 0 "+
" union all "+
" select sum(1) invoice_number, sum(m.tot_amt - m.adj_amt) invoice_val,'30 Days' as descr "+
" from misc_payables m where m.due_date > to_date(sysdate) and m.due_date - to_date(sysdate) <= 30 "+
" and m.tot_amt - m.adj_amt <> 0 "+
" union all "+
" select sum(1) invoice_number, sum(m.tot_amt - m.adj_amt) invoice_val,'60 Days' as descr "+
" from misc_payables m where m.due_date > to_date(sysdate) and m.due_date - to_date(sysdate) <= 60 "+
" and m.tot_amt - m.adj_amt <> 0";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("invoice_number", checkNull(rs.getString("invoice_number")));
rowData.put("invoice_val", checkNull(rs.getString("invoice_val")));
rowData.put("descr", rs.getString("descr"));
rawDataPayableProfitJson.put(count, rowData);
count++;
}
}
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 :getPayableProfit:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPayableProfitJson;
}
@SuppressWarnings("unchecked")
@Override
public JSONObject getSavingOpportunity(String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataSavingOpporntyJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside AcctPayable for getSavingOpportunity Data Soruc Name ="+dataSourceName);
SimpleDateFormat gridDateFormat = new SimpleDateFormat( genericUtility.getApplDateFormat());
SimpleDateFormat convrtToTimStmDate= new SimpleDateFormat(genericUtility.getDBDateFormat());
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
sql=" select v.bill_no, s.sh_name, v.net_amt, round(case when c.FCHG_TYPE ='F' " +
" then c.FIN_CHG else (v.net_amt * c.FIN_CHG / 100) end,0) as disc_amt , " +
" v.due_date from voucher v, supplier s, crtermfc c, misc_payables m " +
" where v.supp_code = s.supp_code and v.cr_term = c.cr_term and c.max_day < 0 " +
" and m.tran_ser = 'VOUCH' and m.ref_no = v.tran_id and m.adj_amt = 0 " +
" and m.due_date > to_date(sysdate) ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("bill_no", checkNull(rs.getString("bill_no")));
rowData.put("sh_name", checkNull(rs.getString("sh_name")));
rowData.put("net_amt", checkNull(rs.getString("net_amt")));
rowData.put("disc_amt", checkNull(rs.getString("disc_amt")));
rowData.put("due_date", gridDateFormat.format(convrtToTimStmDate.parse(rs.getString("due_date"))));
rawDataSavingOpporntyJson.put(count, rowData);
count++;
}
}
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 :getSavingOpportunity:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataSavingOpporntyJson;
}
@SuppressWarnings("unchecked")
@Override
public JSONObject getEfficiencyTrend(String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataEfficiencyTrendJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside AcctPayable for getEfficiencyTrend Data Soruc Name ="+dataSourceName);
SimpleDateFormat gridDateFormat = new SimpleDateFormat( "yyyy-MM-dd");
SimpleDateFormat convrtToTimStmDate= new SimpleDateFormat(genericUtility.getDBDateFormat());
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
HashMap<String, ArrayList<String>> onTimeMap = new HashMap<String,ArrayList<String>>();
HashMap<String, String> delayTimeMap = new HashMap<String, String>();
ArrayList<String> valueList =null;
TreeMap<String, ArrayList<String>> finalHashMap = new TreeMap<String, ArrayList<String>>();
ArrayList<String> tempList = null;
TreeMap<String, String> onTimeDataMap = new TreeMap<String, String>();
TreeMap<String, String> delayTimeDataMap = new TreeMap<String, String>();
TreeMap<String, String> onTimeDataMapLine1 = new TreeMap<String, String>();
TreeMap<String, String> onTimeDataMapLine2 = new TreeMap<String, String>();
String conf_date = "";
int count = 0;
int sumOfOnTimeInv = 0;
sql=" select to_date(h.conf_date) as conf_date, sum(d.pay_amt) paid_amount, sum(m.tot_amt) total_amount, " +
" sum(to_date(h.conf_date) - m.due_date) delayed_days, count(1) no_inv " +
" from misc_payment h, misc_paydet d, misc_payables m, period p " +
" where d.tran_id = h.tran_id and m.tran_ser = d.tran_ser and m.ref_no = d.vouch_no and h.confirmed = 'Y'" +
" and to_date(h.conf_date) <= m.due_date and to_date(h.conf_date) between p.fr_date and p.to_date " +
" and to_date(sysdate) between p.fr_date and p.to_date " +
" group by to_date(h.conf_date) order by to_date(h.conf_date) ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
valueList = new ArrayList<String>();
sumOfOnTimeInv = sumOfOnTimeInv + rs.getInt("no_inv");
conf_date = gridDateFormat.format(convrtToTimStmDate.parse(rs.getString("conf_date")));
valueList.add(checkZero(rs.getString("no_inv")));
valueList.add(checkZero(rs.getString("paid_amount")));
valueList.add(checkZero(rs.getString("total_amount")));
onTimeMap.put(conf_date, valueList);
}
sql="select to_date(h.conf_date) as conf_date, sum(d.pay_amt) paid_amount, sum(m.tot_amt) total_amount, " +
" sum(to_date(h.conf_date) - m.due_date) delayed_days, count(1) no_inv " +
" from misc_payment h, misc_paydet d, misc_payables m, period p " +
" where d.tran_id = h.tran_id and m.tran_ser = d.tran_ser and m.ref_no = d.vouch_no and h.confirmed = 'Y'" +
" and to_date(h.conf_date) > m.due_date and to_date(h.conf_date) between p.fr_date and p.to_date" +
" and to_date(sysdate) between p.fr_date and p.to_date" +
" group by to_date(h.conf_date) order by to_date(h.conf_date)";
pstmt = null;
rs = null;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
conf_date = "";
while (rs.next())
{
conf_date = gridDateFormat.format(convrtToTimStmDate.parse(rs.getString("conf_date")));
delayTimeMap.put(conf_date, checkZero(rs.getString("no_inv")));
}
for (Map.Entry<String, String> entry : delayTimeMap.entrySet())
{
if(onTimeMap.containsKey(entry.getKey()))
{
valueList = new ArrayList<String>();
tempList = new ArrayList<String>();
tempList = onTimeMap.get(entry.getKey());
//valueList.add(onTimeMap.get(entry.getKey()));
valueList.add(tempList.get(0));
valueList.add(""+delayTimeMap.get(entry.getKey()));
valueList.add(""+((Double.parseDouble(tempList.get(0)))/sumOfOnTimeInv) * 100);
valueList.add(""+((Double.parseDouble(tempList.get(1)))/(Double.parseDouble(tempList.get(2)))) * 100);
finalHashMap.put(entry.getKey(), valueList);
}else if(!onTimeMap.containsKey(entry.getKey()))
{
valueList = new ArrayList<String>();
valueList.add("0");
valueList.add(""+delayTimeMap.get(entry.getKey()));
valueList.add("0");
valueList.add("0");
finalHashMap.put(entry.getKey(), valueList);
}
}
for (Map.Entry<String, ArrayList<String>> entry : onTimeMap.entrySet())
{
if(!finalHashMap.containsKey(entry.getKey()))
{
valueList = new ArrayList<String>();
tempList = new ArrayList<String>();
tempList = onTimeMap.get(entry.getKey());
valueList.add(tempList.get(0));
//valueList.add(""+onTimeMap.get(entry.getKey()));
valueList.add("0");
valueList.add(""+((Double.parseDouble(tempList.get(0)))/sumOfOnTimeInv) * 100);
valueList.add(""+((Double.parseDouble(tempList.get(1)))/(Double.parseDouble(tempList.get(2)))) * 100);
finalHashMap.put(entry.getKey(), valueList);
}
}
System.out.println("finalHashMap :"+finalHashMap);
ArrayList<String> tempData = null;
for (Map.Entry<String, ArrayList<String>> entry : finalHashMap.entrySet())
{
tempData = new ArrayList<String>();
tempData = entry.getValue();
onTimeDataMap.put(entry.getKey(), tempData.get(0));
delayTimeDataMap.put(entry.getKey(), tempData.get(1));
onTimeDataMapLine1.put(entry.getKey(), tempData.get(2));
onTimeDataMapLine2.put(entry.getKey(), tempData.get(3));
rowData = new JSONObject();
rowData.put("conf_date", entry.getKey());
rowData.put("inv_paid_ontime", tempData.get(0));
rowData.put("inv_paid_delay", tempData.get(1));
rowData.put("inv_paid_perc", tempData.get(2));
rowData.put("amt_paid_perc", tempData.get(3));
rawDataEfficiencyTrendJson.put(count, rowData);
count++;
}
}
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 :getEfficiencyTrend:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataEfficiencyTrendJson;
}
/*Stack Implemantation by Dhanendra*/
/*@SuppressWarnings("unchecked")
@Override
public JSONObject getEfficiencyTrend(String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataEfficiencyTrendJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside AcctPayable for getEfficiencyTrend Data Soruc Name ="+dataSourceName);
SimpleDateFormat gridDateFormat = new SimpleDateFormat( "yy-MM-dd");
SimpleDateFormat convrtToTimStmDate= new SimpleDateFormat(genericUtility.getDBDateFormat());
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
HashMap<String, ArrayList<String>> onTimeMap = new HashMap<String,ArrayList<String>>();
HashMap<String, String> delayTimeMap = new HashMap<String, String>();
ArrayList<String> valueList =null;
TreeMap<String, ArrayList<String>> finalHashMap = new TreeMap<String, ArrayList<String>>();
ArrayList<String> tempList = null;
TreeMap<String, String> onTimeDataMap = new TreeMap<String, String>();
TreeMap<String, String> delayTimeDataMap = new TreeMap<String, String>();
TreeMap<String, String> onTimeDataMapLine1 = new TreeMap<String, String>();
TreeMap<String, String> onTimeDataMapLine2 = new TreeMap<String, String>();
String conf_date = "";
int count = 0;
int sumOfOnTimeInv = 0;
sql="select to_date(h.conf_date) as conf_date, sum(d.pay_amt) paid_amount, sum(m.tot_amt) total_amount, " +
"sum(to_date(h.conf_date) - m.due_date) delayed_days, count(1) no_inv " +
"from misc_payment h, misc_paydet d, misc_payables m, period p " +
"where d.tran_id = h.tran_id and m.tran_ser = d.tran_ser and m.ref_no = d.vouch_no " +
"and to_date(h.conf_date) <= m.due_date and to_date(h.conf_date) between p.fr_date and p.to_date " +
" and to_date(sysdate) between p.fr_date and p.to_date" +
"group by to_date(h.conf_date) order by to_date(h.conf_date)";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
valueList = new ArrayList<String>();
sumOfOnTimeInv = sumOfOnTimeInv + rs.getInt("no_inv");
conf_date = gridDateFormat.format(convrtToTimStmDate.parse(rs.getString("conf_date")));
valueList.add(checkZero(rs.getString("no_inv")));
valueList.add(checkZero(rs.getString("paid_amount")));
valueList.add(checkZero(rs.getString("total_amount")));
onTimeMap.put(conf_date, valueList);
}
sql="select to_date(h.conf_date) as conf_date, sum(d.pay_amt) paid_amount, sum(m.tot_amt) total_amount, " +
"sum(to_date(h.conf_date) - m.due_date) delayed_days, count(1) no_inv " +
"from misc_payment h, misc_paydet d, misc_payables m, period p " +
"where d.tran_id = h.tran_id and m.tran_ser = d.tran_ser and m.ref_no = d.vouch_no " +
"and to_date(h.conf_date) > m.due_date and to_date(h.conf_date) between p.fr_date and p.to_date" +
" and to_date(sysdate) between p.fr_date and p.to_date" +
" group by to_date(h.conf_date) order by to_date(h.conf_date)";
pstmt = null;
rs = null;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
conf_date = "";
while (rs.next())
{
conf_date = gridDateFormat.format(convrtToTimStmDate.parse(rs.getString("conf_date")));
delayTimeMap.put(conf_date, checkZero(rs.getString("no_inv")));
}
for (Map.Entry<String, String> entry : delayTimeMap.entrySet())
{
if(onTimeMap.containsKey(entry.getKey()))
{
valueList = new ArrayList<String>();
tempList = new ArrayList<String>();
tempList = onTimeMap.get(entry.getKey());
//valueList.add(onTimeMap.get(entry.getKey()));
valueList.add(tempList.get(0));
valueList.add(""+delayTimeMap.get(entry.getKey()));
valueList.add(""+((Double.parseDouble(tempList.get(0)))/sumOfOnTimeInv) * 100);
valueList.add(""+((Double.parseDouble(tempList.get(1)))/(Double.parseDouble(tempList.get(2)))) * 100);
finalHashMap.put(entry.getKey(), valueList);
}else if(!onTimeMap.containsKey(entry.getKey()))
{
valueList = new ArrayList<String>();
valueList.add("0");
valueList.add(""+delayTimeMap.get(entry.getKey()));
valueList.add("0");
valueList.add("0");
finalHashMap.put(entry.getKey(), valueList);
}
}
for (Map.Entry<String, ArrayList<String>> entry : onTimeMap.entrySet())
{
if(!finalHashMap.containsKey(entry.getKey()))
{
valueList = new ArrayList<String>();
tempList = new ArrayList<String>();
tempList = onTimeMap.get(entry.getKey());
valueList.add(tempList.get(0));
//valueList.add(""+onTimeMap.get(entry.getKey()));
valueList.add("0");
valueList.add(""+((Double.parseDouble(tempList.get(0)))/sumOfOnTimeInv) * 100);
valueList.add(""+((Double.parseDouble(tempList.get(1)))/(Double.parseDouble(tempList.get(2)))) * 100);
finalHashMap.put(entry.getKey(), valueList);
}
}
System.out.println("finalHashMap :"+finalHashMap);
ArrayList<String> tempData = null;
for (Map.Entry<String, ArrayList<String>> entry : finalHashMap.entrySet())
{
tempData = new ArrayList<String>();
tempData = entry.getValue();
onTimeDataMap.put(entry.getKey(), tempData.get(0));
delayTimeDataMap.put(entry.getKey(), tempData.get(1));
onTimeDataMapLine1.put(entry.getKey(), tempData.get(2));
onTimeDataMapLine2.put(entry.getKey(), tempData.get(3));
}
System.out.println("onTimeDataMap :"+onTimeDataMap);
System.out.println("delayTimeDataMap :"+delayTimeDataMap);
System.out.println("onTimeDataMapLine1 :"+onTimeDataMapLine1);
System.out.println("onTimeDataMapLine2 :"+onTimeDataMapLine2);
rowData = new JSONObject();
rowData.put("conf_date", count);
rowData.put("category", "Invoice Paid on Time");
rowData.put("value", onTimeDataMap);
rawDataEfficiencyTrendJson.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("conf_date", count);
rowData.put("category", "Invoice Paid on Delay");
rowData.put("value", delayTimeDataMap);
rawDataEfficiencyTrendJson.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("conf_date", count);
rowData.put("category", "Invoice Paid on Time(%)");
rowData.put("value", onTimeDataMapLine1);
rawDataEfficiencyTrendJson.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("conf_date", count);
rowData.put("category", "Amount Paid on Time(%)");
rowData.put("value", onTimeDataMapLine2);
rawDataEfficiencyTrendJson.put(count, rowData);
count++;
}
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 :getEfficiencyTrend:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataEfficiencyTrendJson;
}*/
private String checkNull(String str)
{
if (str == null)
{
return "";
} else
{
return str;
}
}
private String checkZero(String str)
{
if (str == null)
{
return "0";
} else
{
return str;
}
}
}
package ibase.dashboard.ssc.ejb;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local;
import org.json.simple.JSONObject;
@Local
public interface AcctPayableLocal extends ValidatorLocal
{
public JSONObject getPaymentEfficiency(String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPayableProfit(String dataSourceName) throws RemoteException, ITMException;
public JSONObject getSavingOpportunity(String dataSourceName) throws RemoteException, ITMException;
public JSONObject getEfficiencyTrend(String dataSourceName) throws RemoteException, ITMException;
}
package ibase.dashboard.ssc.ejb;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
import org.json.simple.JSONObject;
@Remote
public interface AcctPayableRemote extends ValidatorRemote
{
public JSONObject getPaymentEfficiency(String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPayableProfit(String dataSourceName) throws RemoteException, ITMException;
public JSONObject getSavingOpportunity(String dataSourceName) throws RemoteException, ITMException;
public JSONObject getEfficiencyTrend(String dataSourceName) throws RemoteException, ITMException;
}
package ibase.dashboard.ssc.ejb;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless;
import org.json.simple.JSONObject;
/**
* Session Bean implementation class CustomerInfoEJB
*/
@Stateless
public class PendingPurcOrder extends ValidatorEJB implements PendingPurcOrderRemote, PendingPurcOrderLocal {
/**
* Default constructor.
*/
public PendingPurcOrder() {
}
GenericUtility genericUtility = GenericUtility.getInstance();
SimpleDateFormat gridDateFormat=null;
SimpleDateFormat convrtToTimStmDate=null;
/*Last*/
@SuppressWarnings("unchecked")
public JSONObject getPendingPO(String loginCode, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataPaymentDet = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
gridDateFormat = new SimpleDateFormat( genericUtility.getApplDateFormat());
convrtToTimStmDate = new SimpleDateFormat(genericUtility.getDBDateFormat());
System.out.println(" Inside PendingPurcOrder for getPendingPO Method Data Soruc Name ="+dataSourceName+" loginCode is =" + loginCode);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
sql = " select m.tran_id,m.tran_date, m.net_amt,m.ref_no,m. bank_code,b.bank_name from misc_payment m inner join bank b on m.bank_code=b.bank_code " +
" where Rownum <= 5 and m.sundry_type = 'S'and m.net_amt>0 " +
" and m.sundry_code in (select entity_code from entity_contact where entity_type = 'S' and User_id__portal = '"+loginCode+"' ) "+
" and tran_date >= (select fr_date from acctprd where to_date(sysdate) " +
" between fr_date and to_date) and confirmed = 'Y'order by tran_date desc ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("tran_id", checkNull(rs.getString("tran_id")));
String tranDate =checkNull(rs.getString("tran_date"));
if(tranDate.trim().length()>0)
{
rowData.put("tran_date", gridDateFormat.format((convrtToTimStmDate.parse(tranDate))));
}
else
{
rowData.put("tran_date",checkNull(rs.getString("tran_date")));
}
rowData.put("net_amt", checkNull(rs.getString("net_amt")));
rowData.put("cheque_no",checkNull (rs.getString("ref_no")));
rowData.put("bank_code", checkNull(rs.getString("bank_name")));
rawDataPaymentDet.put(count, rowData);
count++;
}
}
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 :PendingPurcOrder for getPendingPurcOrder Method :" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPaymentDet;
}
@SuppressWarnings("unchecked")
public JSONObject getPendingPOValue(String loginCode, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataPOValueDet = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside PendingPurcOrderEJB for getPOValueData Method Data Soruc Name ="+dataSourceName+" logincode is =" + loginCode);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = " select to_char(ORD_DATE, 'MON-YY') as month, sum(tot_amt) as povalue,to_char(ORD_DATE,'MMYY'),count(1) as no_of_po "+
" from porder where ORD_DATE >= (SELECT ADD_MONTHS(SYSDATE,-5) FROM DUAL ) "+
" and case when confirmed is null then 'N' else confirmed end = 'Y' "+
" and case when status is null then 'O' else status end <> 'X' "+
" and supp_code in (select entity_code from entity_contact where entity_type = 'S' and User_id__portal ='"+loginCode+"')"+
" group by to_char(ORD_DATE, 'MON-YY') ,to_char(ORD_DATE,'MMYY') "+
" order by to_char(ORD_DATE,'MMYY') asc ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next())
{
rowData = new JSONObject();
rowData.put("month", (rs.getString("month")));
rowData.put("povalue", (rs.getString("povalue")));
rowData.put("no_of_po", (rs.getString("no_of_po")));
rawDataPOValueDet.put(count, rowData);
count++;
}
}
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 :PendingPurcOrder for getPendingPOValue Method :" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPOValueDet;
}
@SuppressWarnings("unchecked")
public JSONObject getPendingInvoice(String loginCode, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataPOValueDet = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside PendingPurcOrder for getPendingInvoice Method Data Soruc Name ="+dataSourceName+" logincode is =" + loginCode);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = " select o.purc_order,o.ord_date, o.tot_amt, sum(r.amount) as receipt, " +
" t.descr as warehouse from porder o, porcp r, site s, station t " +
" where r.purc_order = o.purc_order and s.site_code = o.site_code__dlv " +
" and t.stan_code = s.stan_code and not exists (select b.bill_no " +
" from supplier_bill b where b.porder_no = o.purc_order " +
" and (b.bill_no = r.dc_no or b.bill_no = r.invoice_no)) " +
" and o.supp_code in (select entity_code from entity_contact " +
" where entity_type = 'S' and User_id__portal = '"+loginCode+"')" +
" and case when o.confirmed is null then 'N' else o.confirmed end = 'Y' " +
" and case when o.status is null then 'O' else o.status end not in ('X','C')" +
" group by t.descr,o.purc_order,o.ord_date, o.tot_amt ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
String ord_date="";
gridDateFormat = new SimpleDateFormat( genericUtility.getApplDateFormat());
convrtToTimStmDate = new SimpleDateFormat(genericUtility.getDBDateFormat());
while (rs.next())
{
rowData = new JSONObject();
rowData.put("purc_order", checkNull(rs.getString("purc_order")));
ord_date = checkNull(rs.getString("ord_date"));
if(ord_date.trim().length()>0)
{
rowData.put("ord_date", gridDateFormat.format((convrtToTimStmDate.parse(ord_date))));
}
else
{
rowData.put("ord_date",checkNull(rs.getString("ord_date")));
}
rowData.put("tot_amt", rs.getDouble("tot_amt"));
rowData.put("receipt", checkNull (rs.getString("receipt")));
rowData.put("warehouse", checkNull(rs.getString("warehouse")));
rawDataPOValueDet.put(count, rowData);
count++;
}
}
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 :PendingPurcOrder for getPendingInvoice Method :" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPOValueDet;
}
//POOrderSummary Method
@SuppressWarnings("unchecked")
public JSONObject getPendingPOSummary(String loginCode, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataPaymentDet = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
String processOrder="",completed="",open="";
try
{
gridDateFormat = new SimpleDateFormat( genericUtility.getApplDateFormat());
convrtToTimStmDate = new SimpleDateFormat(genericUtility.getDBDateFormat());
System.out.println(" Inside PendingPurcOrder for getPendingPOSummary Method Data Soruc Name ="+dataSourceName+" loginCode is =" + loginCode);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
/*to get P Order summary data */
sql = " select sum(tot_amt) as process_orders,count(1) as no_of_po "
+" from porder where ORD_DATE >= (SELECT ADD_MONTHS(SYSDATE,-5) FROM DUAL ) "
+" and case when confirmed is null then 'N' else confirmed end = 'N' "
+" and case when status is null then 'O' else status end not in ('X','C') "
+" and supp_code in (select entity_code from entity_contact where entity_type = 'S' and User_id__portal = '"+loginCode+"') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next())
{
rowData = new JSONObject();
rowData.put("status", "In Process ");
rowData.put("process_orders",checkDoubleNull(rs.getString("process_orders")));
rowData.put("no_of_po", rs.getString("no_of_po"));
rawDataPaymentDet.put(count, rowData);
count++;
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = " select sum(tot_amt) as completed,count(1) as no_of_po "
+" from porder where ORD_DATE >= (SELECT ADD_MONTHS(SYSDATE,-5) FROM DUAL ) "
+" and case when confirmed is null then 'N' else confirmed end = 'Y' "
+" and case when status is null then 'O' else status end = 'C' "
+" and supp_code in (select entity_code from entity_contact where entity_type = 'S' and User_id__portal = '"+loginCode+"') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("status", "Completed");
rowData.put("process_orders", checkDoubleNull(rs.getString("completed")));
rowData.put("no_of_po", rs.getString("no_of_po"));
rawDataPaymentDet.put(count, rowData);
count++;
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = " select sum(tot_amt) as open,count(1) as no_of_po "
+" from porder where ORD_DATE >= (SELECT ADD_MONTHS(SYSDATE,-5) FROM DUAL ) "
+" and case when confirmed is null then 'N' else confirmed end = 'Y' "
+" and case when status is null then 'O' else status end not in ('X','C') "
+" and supp_code in (select entity_code from entity_contact where entity_type = 'S' and User_id__portal = '"+loginCode+"' ) ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("status", "Open");
rowData.put("process_orders",checkDoubleNull(rs.getString("open")));
rowData.put("no_of_po", rs.getString("no_of_po"));
rawDataPaymentDet.put(count, rowData);
count++;
}
}
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 :PendingPurcOrder for getPendingPOSummary Method :" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPaymentDet;
}
//check null functionallity for required component
private double checkDoubleNull(String str)
{
if(str == null || str.trim().length() == 0 || str.trim().equalsIgnoreCase("null"))
{
return 0.0;
}
else
{
return Math.round(Double.parseDouble(str)* Math.pow(10, 2)) / Math.pow(10, 2);
}
}
private String checkNull(String str)
{
if(str == null || str.trim().equalsIgnoreCase("null"))
{
return "";
}
else
{
return str.trim() ;
}
}
}
package ibase.dashboard.ssc.ejb;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local;
import org.json.simple.JSONObject;
@Local
public interface PendingPurcOrderLocal extends ValidatorLocal
{
/*public JSONObject getLastFivePaymentsDetail(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPOValueDetail(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingInvoice(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPOrderSummary(String prdCode, String dataSourceName) throws RemoteException, ITMException;*/
public JSONObject getPendingPO(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingPOValue(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingInvoice(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingPOSummary(String prdCode, String dataSourceName) throws RemoteException, ITMException;
}
package ibase.dashboard.ssc.ejb;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
import org.json.simple.JSONObject;
@Remote
public interface PendingPurcOrderRemote extends ValidatorRemote
{
/*public JSONObject getLastFivePaymentsDetail(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPOValueDetail(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingInvoice(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPOrderSummary(String prdCode, String dataSourceName) throws RemoteException, ITMException;*/
public JSONObject getPendingPO(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingPOValue(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingInvoice(String prdCode, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getPendingPOSummary(String prdCode, String dataSourceName) throws RemoteException, ITMException;
}
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.AcctPayableRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import javax.servlet.http.HttpSession;
public class EfficiencyTrendServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
AcctPayableRemote acctPayableRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
try
{
response.setContentType("application/xml");
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
acctPayableRemote = (AcctPayableRemote) context.lookup("ibase/AcctPayable/remote");
JSONObject jsonObjData = (JSONObject) acctPayableRemote.getEfficiencyTrend(dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for EfficiencyTrendServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : EfficiencyTrendServlet :doPost(HttpServletRequest request, HttpServletResponse response) :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.AcctPayableRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import javax.servlet.http.HttpSession;
public class PayableProfitServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
AcctPayableRemote acctPayableRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
try
{
response.setContentType("application/xml");
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
acctPayableRemote = (AcctPayableRemote) context.lookup("ibase/AcctPayable/remote");
JSONObject jsonObjData = (JSONObject) acctPayableRemote.getPayableProfit(dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for PayableProfitServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : PayableProfitServlet :doPost(HttpServletRequest request, HttpServletResponse response) :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.AcctPayableRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import javax.servlet.http.HttpSession;
public class PaymentEfficiencyServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
AcctPayableRemote acctPayableRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
try
{
response.setContentType("application/xml");
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
acctPayableRemote = (AcctPayableRemote) context.lookup("ibase/AcctPayable/remote");
JSONObject jsonObjData = (JSONObject) acctPayableRemote.getPaymentEfficiency(dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for PaymentEfficiencyServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : PaymentEfficiencyServlet :doPost(HttpServletRequest request, HttpServletResponse response) :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.PendingPurcOrderRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.simple.JSONObject;
public class PendingInvoiceServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
JSONObject jsonObjMetaData =null;
JSONObject jsonMetaData = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
PendingPurcOrderRemote pendingPurcOrdRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
try
{
response.setContentType("application/xml");
HttpSession session = request.getSession(true);
/*ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
if(loginId==null ||loginId=="" )
{
loginId="CPATIL";
}
dataSourceName =request.getParameter("dataSourceName");
System.out.println( "loginId is =" + loginId );
context = new InitialContext(appConnectParm.getProperty());
pendingPurcOrdRemote = (PendingPurcOrderRemote)context.lookup("ibase/PendingPurcOrder/remote");
JSONObject jsonObjData = (JSONObject)pendingPurcOrdRemote.getPendingInvoice(loginId,dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for PendingInvoiceServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : PendingInvoiceServlet :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.PendingPurcOrderRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.simple.JSONObject;
public class PendingPOServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
JSONObject jsonObjMetaData =null;
JSONObject jsonMetaData = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
PendingPurcOrderRemote pendingPurcOrderRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
try
{
response.setContentType("application/xml");
HttpSession session = request.getSession(true);
/*ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
if(loginId==null ||loginId=="" )
{
loginId="CPATIL";
}
dataSourceName =request.getParameter("dataSourceName");
System.out.println( "loginId is =" + loginId );
context = new InitialContext(appConnectParm.getProperty());
pendingPurcOrderRemote = (PendingPurcOrderRemote)context.lookup("ibase/PendingPurcOrder/remote");
//JSONObject jsonObjData = (JSONObject)pendingPurcOrderRemote.getLastFivePaymentsDetail(loginId,dataSourceName);
JSONObject jsonObjData = (JSONObject)pendingPurcOrderRemote.getPendingPO(loginId,dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for PendingPurcOrderServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : PendingPurcOrderServlet :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.PendingPurcOrderRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.simple.JSONObject;
public class PendingPOSummaryServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
JSONObject jsonObjMetaData =null;
JSONObject jsonMetaData = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
PendingPurcOrderRemote custInfoRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
try
{
response.setContentType("application/xml");
HttpSession session = request.getSession(true);
/*ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
if(loginId==null ||loginId=="" )
{
loginId="CPATIL";
}
dataSourceName =request.getParameter("dataSourceName");
System.out.println( "loginId is =" + loginId );
context = new InitialContext(appConnectParm.getProperty());
custInfoRemote = (PendingPurcOrderRemote)context.lookup("ibase/PendingPurcOrder/remote");
//JSONObject jsonObjData = (JSONObject)custInfoRemote.getPOrderSummary(loginId,dataSourceName);
JSONObject jsonObjData = (JSONObject)custInfoRemote.getPendingPOSummary(loginId,dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for POrderSummaryServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : POrderSummaryServlet :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.PendingPurcOrderRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.simple.JSONObject;
public class PendingPOValueServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
JSONObject jsonObjMetaData =null;
JSONObject jsonMetaData = null;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
PendingPurcOrderRemote pendingPurcOrderRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
try
{
response.setContentType("application/xml");
HttpSession session = request.getSession(true);
/*ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
if(loginId==null ||loginId=="" )
{
loginId="CPATIL";
}
dataSourceName =request.getParameter("dataSourceName");
System.out.println( "loginId is =" + loginId );
context = new InitialContext(appConnectParm.getProperty());
pendingPurcOrderRemote = (PendingPurcOrderRemote)context.lookup("ibase/PendingPurcOrder/remote");
//JSONObject jsonObjData = (JSONObject)pendingPurcOrderRemote.getPOValueDetail(loginId,dataSourceName);
JSONObject jsonObjData = (JSONObject)pendingPurcOrderRemote.getPendingPOValue(loginId,dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for PendingPurcOrderValServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : PendingPurcOrderValServlet :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
package ibase.dashboard.ssc.servlet;
import ibase.dashboard.ssc.ejb.AcctPayableRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import javax.servlet.http.HttpSession;
public class SavingOpportunityServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
AcctPayableRemote acctPayableRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
try
{
response.setContentType("application/xml");
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
acctPayableRemote = (AcctPayableRemote) context.lookup("ibase/AcctPayable/remote");
JSONObject jsonObjData = (JSONObject) acctPayableRemote.getSavingOpportunity(dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set for SavingOpportunityServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : SavingOpportunityServlet :doPost(HttpServletRequest request, HttpServletResponse response) :" + e);
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
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