Commit 6ffc44ae authored by nsawalakhe's avatar nsawalakhe

Modify file and added file in SFA


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@100960 ce508802-f39f-4f6c-b175-0d175dae99d5
parent dd7982f0
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>sfa</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
package ibase.dashboard.sfa.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.DateFormat;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless;
import javax.servlet.http.HttpSession;
import org.json.simple.JSONObject;
/**
* Session Bean implementation class SalesPersonSales
*/
@Stateless
public class ComplianceEJB extends ValidatorEJB implements ComplianceLocal, ComplianceRemote
{
public ComplianceEJB() {
// TODO Auto-generated constructor stub
}
GenericUtility genericUtility = GenericUtility.getInstance();
@SuppressWarnings("unchecked")
@Override
public JSONObject getComplianceDetails(String loginId,String dataSourceName,String period) throws RemoteException, ITMException
{
JSONObject rawDataComplianceDtlJson = 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 ComplianceEJB for getComplianceDetails Data Soruc Name ="+dataSourceName+" loginId=:"+ loginId+"---- month=:"+ period);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
/*sql = " Select FHCODE , FHNAME, FHDESG, NSMCODE, NSMNAME, NSMDESG, SMCODE," +
" SMNAME, SMDESG, RSECODE, RSENAME, RSEDESG, REPCODE, " +
" REPNAME, REPDESG, REP_NONREP,CNT " +
" FROM Temp_SALES_HIER_JJ_CNT ORDER BY fhcode , nsmcode ,smcode,rsecode, repcode";*/
sql = " SELECT FHCODE ,FHNAME ,FHDESG ,NSMCODE ,NSMNAME ,NSMDESG ,SMCODE ,SMNAME ,SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,REP_NONREP , COUNT(*) CNT FROM (SELECT DISTINCT FHCODE ,FHNAME ,FHDESG ,NSMCODE ,NSMNAME ,NSMDESG ,SMCODE ,SMNAME ,SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,AVAILABLE_DY ,ACTIVITY_CODE ,REP_NONREP ,CUSTOMER_NAME FROM ( SELECT FHCODE ,FHNAME ,FHDESG ,NSMCODE ,NSMNAME ,NSMDESG ,SMCODE ,SMNAME ,SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,SALES_PERS_AV.AVAILABLE_DY ,SPRS_ACT_TRAN.ACTIVITY_CODE ,( CASE WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) = 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN 'R' WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) <> 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN '-' ELSE 'NR' END ) AS REP_NONREP ,NVL(STRG_CUSTOMER.FIRST_NAME, '') || NVL(STRG_CUSTOMER.MIDDLE_NAME, '') || NVL(STRG_CUSTOMER.LAST_NAME, '') AS CUSTOMER_NAME FROM ( SELECT VW_SALES_HIER_JJ.REPCODE AS SALESPERS ,AV_DATES.available_dy AS AVAILABLE_DY FROM ( SELECT REPCODE ,'a' AS a FROM VW_SALES_HIER_JJ ) VW_SALES_HIER_JJ ,( SELECT dt AS available_dy ,'a' AS a FROM sfa_time WHERE dt BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) ) AV_DATES WHERE VW_SALES_HIER_JJ.a = AV_DATES.a MINUS SELECT EMPLOYEE.EMP_CODE AS SALESPERS ,holiday.hol_date AS AVAILABLE_DY FROM holiday ,EMPLOYEE WHERE holiday.hol_tblno = EMPLOYEE.hol_tblno AND holiday.hol_date BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) AND NOT EXISTS ( SELECT * FROM sprs_act_tran s WHERE s.sales_pers = employee.emp_code AND s.event_date = holiday.hol_date ) ) SALES_PERS_AV LEFT OUTER JOIN ( SELECT S.* FROM SPRS_ACT_TRAN S WHERE S.ACTIVITY_CODE <> 'PR' AND S.CONFIRMED = 'Y' ) SPRS_ACT_TRAN ON SPRS_ACT_TRAN.SALES_PERS = SALES_PERS_AV.SALESPERS AND SPRS_ACT_TRAN.EVENT_DATE = SALES_PERS_AV.AVAILABLE_DY LEFT OUTER JOIN ( SELECT S.* FROM STRG_MEET S WHERE S.EVENT_TYPE <> 'PR' ) STRG_MEET ON SPRS_ACT_TRAN.SALES_PERS = STRG_MEET.SALES_PERS AND SPRS_ACT_TRAN.EVENT_DATE = STRG_MEET.EVENT_DATE AND SPRS_ACT_TRAN.DCR_ID = STRG_MEET.DCR_ID LEFT OUTER JOIN STRG_CUSTOMER ON STRG_MEET.STRG_CODE = STRG_CUSTOMER.SC_CODE ,VW_SALES_HIER_JJ WHERE SALES_PERS_AV.SALESPERS = VW_SALES_HIER_JJ.REPCODE AND VW_SALES_HIER_JJ.FHCODE = '"+loginId+"' " +
" union all SELECT '' AS FHCODE ,'' AS FHNAME ,'' AS FHDESG ,NSMCODE ,NSMNAME ,NSMDESG ,SMCODE ,SMNAME ,SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,SALES_PERS_AV.AVAILABLE_DY ,SPRS_ACT_TRAN.ACTIVITY_CODE ,( CASE WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) = 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN 'R' WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) <> 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN '-' ELSE 'NR' END ) AS REP_NONREP ,NVL(STRG_CUSTOMER.FIRST_NAME, '') || NVL(STRG_CUSTOMER.MIDDLE_NAME, '') || NVL(STRG_CUSTOMER.LAST_NAME, '') AS CUSTOMER_NAME FROM ( SELECT VW_SALES_HIER_JJ.REPCODE AS SALESPERS ,AV_DATES.available_dy AS AVAILABLE_DY FROM ( SELECT REPCODE ,'a' AS a FROM VW_SALES_HIER_JJ ) VW_SALES_HIER_JJ ,( SELECT dt AS available_dy ,'a' AS a FROM sfa_time WHERE dt BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) ) AV_DATES WHERE VW_SALES_HIER_JJ.a = AV_DATES.a MINUS SELECT EMPLOYEE.EMP_CODE AS SALESPERS ,holiday.hol_date AS AVAILABLE_DY FROM holiday ,EMPLOYEE WHERE holiday.hol_tblno = EMPLOYEE.hol_tblno AND holiday.hol_date BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) AND NOT EXISTS ( SELECT * FROM sprs_act_tran s WHERE s.sales_pers = employee.emp_code AND s.event_date = holiday.hol_date ) ) SALES_PERS_AV LEFT OUTER JOIN ( SELECT S.* FROM SPRS_ACT_TRAN S WHERE S.ACTIVITY_CODE <> 'PR' AND S.CONFIRMED = 'Y' ) SPRS_ACT_TRAN ON SPRS_ACT_TRAN.SALES_PERS = SALES_PERS_AV.SALESPERS AND SPRS_ACT_TRAN.EVENT_DATE = SALES_PERS_AV.AVAILABLE_DY LEFT OUTER JOIN ( SELECT S.* FROM STRG_MEET S WHERE S.EVENT_TYPE <> 'PR' ) STRG_MEET ON SPRS_ACT_TRAN.SALES_PERS = STRG_MEET.SALES_PERS AND SPRS_ACT_TRAN.EVENT_DATE = STRG_MEET.EVENT_DATE AND SPRS_ACT_TRAN.DCR_ID = STRG_MEET.DCR_ID LEFT OUTER JOIN STRG_CUSTOMER ON STRG_MEET.STRG_CODE = STRG_CUSTOMER.SC_CODE ,VW_SALES_HIER_JJ WHERE SALES_PERS_AV.SALESPERS = VW_SALES_HIER_JJ.REPCODE AND VW_SALES_HIER_JJ.NSMCODE = '"+loginId+"' " +
" union all SELECT '' AS FHCODE ,'' AS FHNAME ,'' AS FHDESG ,'' AS NSMCODE ,'' AS NSMNAME ,'' AS NSMDESG ,SMCODE ,SMNAME ,SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,SALES_PERS_AV.AVAILABLE_DY ,SPRS_ACT_TRAN.ACTIVITY_CODE ,( CASE WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) = 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN 'R' WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) <> 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN '-' ELSE 'NR' END ) AS REP_NONREP ,NVL(STRG_CUSTOMER.FIRST_NAME, '') || NVL(STRG_CUSTOMER.MIDDLE_NAME, '') || NVL(STRG_CUSTOMER.LAST_NAME, '') AS CUSTOMER_NAME FROM ( SELECT VW_SALES_HIER_JJ.REPCODE AS SALESPERS ,AV_DATES.available_dy AS AVAILABLE_DY FROM ( SELECT REPCODE ,'a' AS a FROM VW_SALES_HIER_JJ ) VW_SALES_HIER_JJ ,( SELECT dt AS available_dy ,'a' AS a FROM sfa_time WHERE dt BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) ) AV_DATES WHERE VW_SALES_HIER_JJ.a = AV_DATES.a MINUS SELECT EMPLOYEE.EMP_CODE AS SALESPERS ,holiday.hol_date AS AVAILABLE_DY FROM holiday ,EMPLOYEE WHERE holiday.hol_tblno = EMPLOYEE.hol_tblno AND holiday.hol_date BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) AND NOT EXISTS ( SELECT * FROM sprs_act_tran s WHERE s.sales_pers = employee.emp_code AND s.event_date = holiday.hol_date ) ) SALES_PERS_AV LEFT OUTER JOIN ( SELECT S.* FROM SPRS_ACT_TRAN S WHERE S.ACTIVITY_CODE <> 'PR' AND S.CONFIRMED = 'Y' ) SPRS_ACT_TRAN ON SPRS_ACT_TRAN.SALES_PERS = SALES_PERS_AV.SALESPERS AND SPRS_ACT_TRAN.EVENT_DATE = SALES_PERS_AV.AVAILABLE_DY LEFT OUTER JOIN ( SELECT S.* FROM STRG_MEET S WHERE S.EVENT_TYPE <> 'PR' ) STRG_MEET ON SPRS_ACT_TRAN.SALES_PERS = STRG_MEET.SALES_PERS AND SPRS_ACT_TRAN.EVENT_DATE = STRG_MEET.EVENT_DATE AND SPRS_ACT_TRAN.DCR_ID = STRG_MEET.DCR_ID LEFT OUTER JOIN STRG_CUSTOMER ON STRG_MEET.STRG_CODE = STRG_CUSTOMER.SC_CODE ,VW_SALES_HIER_JJ WHERE SALES_PERS_AV.SALESPERS = VW_SALES_HIER_JJ.REPCODE AND VW_SALES_HIER_JJ.SMCODE = '"+loginId+"' " +
" union all SELECT '' AS FHCODE ,'' AS FHNAME ,'' AS FHDESG ,'' AS NSMCODE ,'' AS NSMNAME ,'' AS NSMDESG ,'' AS SMCODE ,'' AS SMNAME ,'' AS SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,SALES_PERS_AV.AVAILABLE_DY ,SPRS_ACT_TRAN.ACTIVITY_CODE ,( CASE WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) = 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN 'R' WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) <> 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN '-' ELSE 'NR' END ) AS REP_NONREP ,NVL(STRG_CUSTOMER.FIRST_NAME, '') || NVL(STRG_CUSTOMER.MIDDLE_NAME, '') || NVL(STRG_CUSTOMER.LAST_NAME, '') AS CUSTOMER_NAME FROM ( SELECT VW_SALES_HIER_JJ.REPCODE AS SALESPERS ,AV_DATES.available_dy AS AVAILABLE_DY FROM ( SELECT REPCODE ,'a' AS a FROM VW_SALES_HIER_JJ ) VW_SALES_HIER_JJ ,( SELECT dt AS available_dy ,'a' AS a FROM sfa_time WHERE dt BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) ) AV_DATES WHERE VW_SALES_HIER_JJ.a = AV_DATES.a MINUS SELECT EMPLOYEE.EMP_CODE AS SALESPERS ,holiday.hol_date AS AVAILABLE_DY FROM holiday ,EMPLOYEE WHERE holiday.hol_tblno = EMPLOYEE.hol_tblno AND holiday.hol_date BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) AND NOT EXISTS ( SELECT * FROM sprs_act_tran s WHERE s.sales_pers = employee.emp_code AND s.event_date = holiday.hol_date ) ) SALES_PERS_AV LEFT OUTER JOIN ( SELECT S.* FROM SPRS_ACT_TRAN S WHERE S.ACTIVITY_CODE <> 'PR' AND S.CONFIRMED = 'Y' ) SPRS_ACT_TRAN ON SPRS_ACT_TRAN.SALES_PERS = SALES_PERS_AV.SALESPERS AND SPRS_ACT_TRAN.EVENT_DATE = SALES_PERS_AV.AVAILABLE_DY LEFT OUTER JOIN ( SELECT S.* FROM STRG_MEET S WHERE S.EVENT_TYPE <> 'PR' ) STRG_MEET ON SPRS_ACT_TRAN.SALES_PERS = STRG_MEET.SALES_PERS AND SPRS_ACT_TRAN.EVENT_DATE = STRG_MEET.EVENT_DATE AND SPRS_ACT_TRAN.DCR_ID = STRG_MEET.DCR_ID LEFT OUTER JOIN STRG_CUSTOMER ON STRG_MEET.STRG_CODE = STRG_CUSTOMER.SC_CODE ,VW_SALES_HIER_JJ WHERE SALES_PERS_AV.SALESPERS = VW_SALES_HIER_JJ.REPCODE AND VW_SALES_HIER_JJ.RSECODE = '"+loginId+"' " +
" UNION ALL SELECT '' AS FHCODE ,'' AS FHNAME ,'' AS FHDESG ,'' AS NSMCODE ,'' AS NSMNAME ,'' AS NSMDESG ,'' AS SMCODE ,'' AS SMNAME ,'' AS SMDESG ,'' AS RSECODE ,'' AS RSENAME ,'' AS RSEDESG ,REPCODE ,REPNAME ,REPDESG ,SALES_PERS_AV.AVAILABLE_DY ,SPRS_ACT_TRAN.ACTIVITY_CODE ,( CASE WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) = 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN 'R' WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) <> 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN '-' ELSE 'NR' END ) AS REP_NONREP ,NVL(STRG_CUSTOMER.FIRST_NAME, '') || NVL(STRG_CUSTOMER.MIDDLE_NAME, '') || NVL(STRG_CUSTOMER.LAST_NAME, '') AS CUSTOMER_NAME FROM ( SELECT VW_SALES_HIER_JJ.REPCODE AS SALESPERS ,AV_DATES.available_dy AS AVAILABLE_DY FROM ( SELECT REPCODE ,'a' AS a FROM VW_SALES_HIER_JJ ) VW_SALES_HIER_JJ ,( SELECT dt AS available_dy ,'a' AS a FROM sfa_time WHERE dt BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) ) AV_DATES WHERE VW_SALES_HIER_JJ.a = AV_DATES.a MINUS SELECT EMPLOYEE.EMP_CODE AS SALESPERS ,holiday.hol_date AS AVAILABLE_DY FROM holiday ,EMPLOYEE WHERE holiday.hol_tblno = EMPLOYEE.hol_tblno AND holiday.hol_date BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) AND NOT EXISTS ( SELECT * FROM sprs_act_tran s WHERE s.sales_pers = employee.emp_code AND s.event_date = holiday.hol_date ) ) SALES_PERS_AV LEFT OUTER JOIN ( SELECT S.* FROM SPRS_ACT_TRAN S WHERE S.ACTIVITY_CODE <> 'PR' AND S.CONFIRMED = 'Y' ) SPRS_ACT_TRAN ON SPRS_ACT_TRAN.SALES_PERS = SALES_PERS_AV.SALESPERS AND SPRS_ACT_TRAN.EVENT_DATE = SALES_PERS_AV.AVAILABLE_DY LEFT OUTER JOIN ( SELECT S.* FROM STRG_MEET S WHERE S.EVENT_TYPE <> 'PR' ) STRG_MEET ON SPRS_ACT_TRAN.SALES_PERS = STRG_MEET.SALES_PERS AND SPRS_ACT_TRAN.EVENT_DATE = STRG_MEET.EVENT_DATE AND SPRS_ACT_TRAN.DCR_ID = STRG_MEET.DCR_ID LEFT OUTER JOIN STRG_CUSTOMER ON STRG_MEET.STRG_CODE = STRG_CUSTOMER.SC_CODE ,VW_SALES_HIER_JJ WHERE SALES_PERS_AV.SALESPERS = VW_SALES_HIER_JJ.REPCODE AND VW_SALES_HIER_JJ.REPCODE = '"+loginId+"' ) where REP_NONREP <> '-') " +
" GROUP BY FHCODE ,FHNAME ,FHDESG ,NSMCODE ,NSMNAME ,NSMDESG ,SMCODE ,SMNAME ,SMDESG ,RSECODE ,RSENAME ,RSEDESG ,REPCODE ,REPNAME ,REPDESG ,REP_NONREP " +
" ORDER BY FHCODE ,NSMCODE ,SMCODE ,RSECODE ,REPCODE ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next())
{
rowData = new JSONObject();
//rowData.put("fhcode", checkNull(rs.getString("FHCODE")).trim());
rowData.put("fhname", checkNull(rs.getString("FHNAME")).trim());
rowData.put("fhdesg", checkNull(rs.getString("FHDESG")).trim());
//rowData.put("nsmcode", checkNull(rs.getString("NSMCODE")).trim());
rowData.put("nsmname", checkNull(rs.getString("NSMNAME")).trim());
rowData.put("nsmdesg", checkNull(rs.getString("NSMDESG")).trim());
//rowData.put("smcode", checkNull(rs.getString("SMCODE")).trim());
rowData.put("smname", checkNull(rs.getString("SMNAME")).trim());
rowData.put("smdesg", checkNull(rs.getString("SMDESG")).trim());
//rowData.put("rsecode", checkNull(rs.getString("RSECODE")).trim());
rowData.put("rsename", checkNull(rs.getString("RSENAME")).trim());
rowData.put("rsedesg", checkNull(rs.getString("RSEDESG")).trim());
//rowData.put("repcode", checkNull(rs.getString("REPCODE")).trim());
rowData.put("repname", checkNull(rs.getString("REPNAME")).trim());
rowData.put("repdesg", checkNull(rs.getString("REPDESG")).trim());
rowData.put("rep_nonrep", checkNull(rs.getString("REP_NONREP")).trim());
rowData.put("count", rs.getString("CNT"));
rawDataComplianceDtlJson.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 :ComplianceEJB:" + d.getMessage());
throw new ITMException(d);
}
}
//System.out.println("ComplianceEJB JSON String======>>"+rawDataComplianceDtlJson.toString());
return rawDataComplianceDtlJson;
}
@SuppressWarnings("unchecked")
@Override
public JSONObject getComplianceCustDetails(String firstVal, String cellVal, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataComplianceCustDtlJson = 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 ComplianceEJB for getComplianceCustDetails Data Soruc Name ="+dataSourceName+" firstVal=:"+ firstVal + "===cellVal :"+ cellVal);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
SimpleDateFormat gridDateFormat = new SimpleDateFormat( "dd-MMM-yy");
SimpleDateFormat convrtToTimStmDate= new SimpleDateFormat("dd/MM/yy");
cellVal = gridDateFormat.format(convrtToTimStmDate.parse(cellVal));
System.out.println("cellVal :"+cellVal);
/*sql = "Select 'DH' as STRG_TYPE, 'Dhanendra' as CUST_NAME from Dual";*/
sql="SELECT SM.STRG_TYPE, (SC.FIRST_NAME ||' '||SC.MIDDLE_NAME ||' '||SC.LAST_NAME) AS CUST_NAME FROM STRG_MEET SM " +
"INNER JOIN STRG_CUSTOMER SC ON SM.STRG_CODE = SC.SC_CODE INNER JOIN VW_SALES_HIER_JJ VW ON SM.SALES_PERS = VW.REPCODE " +
"WHERE SM.EVENT_DATE ='"+cellVal+"' AND VW.REPNAME = '"+firstVal.trim()+"' ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while (rs.next())
{
rowData = new JSONObject();
rowData.put("customer_name", checkNull(rs.getString("CUST_NAME")));
rowData.put("strg_type", checkNull(rs.getString("STRG_TYPE")));
rawDataComplianceCustDtlJson.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 :ComplianceEJB:" + d.getMessage());
throw new ITMException(d);
}
}
System.out.println("ComplianceEJB rawDataComplianceCustDtlJson String======>>"+rawDataComplianceCustDtlJson.toString());
return rawDataComplianceCustDtlJson;
}
@SuppressWarnings("unchecked")
@Override
public JSONObject getComplianceGrid(String period, String personName, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataComplianceGridJson = 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 ComplianceEJB for getComplianceCustDetails Data Soruc Name ="+dataSourceName+" period=:"+ period + "=== personName :"+ personName);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
/*sql = "Select '01/10/2015' as AVAILABLE_DY, 'FW' as ACTIVITY_CODE from Dual";*/
sql=" SELECT REPCODE ,REPNAME ,REPDESG ,REP_NONREP ,to_char(AVAILABLE_DY,'dd/mm/yy') AS AVAILABLE_DY ,ACTIVITY_CODE " +
" FROM( SELECT distinct REPCODE ,REPNAME ,REPDESG ,SALES_PERS_AV.AVAILABLE_DY ,SPRS_ACT_TRAN.ACTIVITY_CODE ," +
" ( CASE WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY ORDER BY REPCODE ,AVAILABLE_DY ) ) = 1 " +
" AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN 'R' WHEN ( ROW_NUMBER() OVER ( PARTITION BY REPCODE ,AVAILABLE_DY " +
" ORDER BY REPCODE ,AVAILABLE_DY ) ) <> 1 AND SPRS_ACT_TRAN.SALES_PERS IS NOT NULL THEN '-' ELSE 'NR' END ) AS REP_NONREP ," +
" NVL(STRG_CUSTOMER.FIRST_NAME, '') || NVL(STRG_CUSTOMER.MIDDLE_NAME, '') || NVL(STRG_CUSTOMER.LAST_NAME, '') AS CUSTOMER_NAME " +
" FROM ( SELECT VW_SALES_HIER_JJ.REPCODE AS SALESPERS ,AV_DATES.available_dy AS AVAILABLE_DY " +
" FROM ( SELECT REPCODE ,'a' AS a FROM VW_SALES_HIER_JJ ) VW_SALES_HIER_JJ ,( SELECT dt AS available_dy ,'a' AS a " +
" FROM sfa_time WHERE dt BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') " +
" AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) ) AV_DATES " +
" WHERE VW_SALES_HIER_JJ.a = AV_DATES.a MINUS SELECT EMPLOYEE.EMP_CODE AS SALESPERS ,holiday.hol_date AS AVAILABLE_DY " +
" FROM holiday ,EMPLOYEE WHERE holiday.hol_tblno = EMPLOYEE.hol_tblno AND holiday.hol_date BETWEEN trunc(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'MM') " +
" AND trunc(last_day(TO_DATE(to_char(TO_DATE('01-' || SUBSTR('"+period+"', 5, 6) || '-' || SUBSTR('"+period+"', 1, 4), 'DD-MM-YYYY'), 'DD-MM-YYYY'), 'DD-MM-YYYY'))) " +
" AND NOT EXISTS ( SELECT * FROM sprs_act_tran s WHERE s.sales_pers = employee.emp_code AND s.event_date = holiday.hol_date ) ) SALES_PERS_AV " +
" LEFT OUTER JOIN ( SELECT S.* FROM SPRS_ACT_TRAN S WHERE S.ACTIVITY_CODE <> 'PR' AND S.CONFIRMED = 'Y' ) SPRS_ACT_TRAN ON SPRS_ACT_TRAN.SALES_PERS = SALES_PERS_AV.SALESPERS " +
" AND SPRS_ACT_TRAN.EVENT_DATE = SALES_PERS_AV.AVAILABLE_DY LEFT OUTER JOIN ( SELECT S.* FROM STRG_MEET S WHERE S.EVENT_TYPE <> 'PR' ) STRG_MEET ON SPRS_ACT_TRAN.SALES_PERS = STRG_MEET.SALES_PERS " +
" AND SPRS_ACT_TRAN.EVENT_DATE = STRG_MEET.EVENT_DATE AND SPRS_ACT_TRAN.DCR_ID = STRG_MEET.DCR_ID LEFT OUTER JOIN STRG_CUSTOMER ON STRG_MEET.STRG_CODE = STRG_CUSTOMER.SC_CODE ,VW_SALES_HIER_JJ " +
" WHERE SALES_PERS_AV.SALESPERS = VW_SALES_HIER_JJ.REPCODE AND UPPER(TRIM(VW_SALES_HIER_JJ.REPNAME)) = UPPER(TRIM('"+personName+"')) ) where REP_NONREP <> '-' " +
" ORDER BY AVAILABLE_DY ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
String activityCode = "";
while (rs.next())
{
rowData = new JSONObject();
rowData.put("repcode", checkNull(rs.getString("REPCODE")).trim());
rowData.put("repname", checkNull(rs.getString("REPNAME")).trim());
rowData.put("repdesg", checkNull(rs.getString("REPDESG")).trim());
rowData.put("rep_nonrep", checkNull(rs.getString("REP_NONREP")).trim());
rowData.put("available_dy", checkNull(rs.getString("AVAILABLE_DY")).trim());
activityCode = rs.getString("ACTIVITY_CODE");
System.out.println("activityCode :"+activityCode);
if(activityCode == null)
{
rowData.put("activity_code", "Not-Reported");
}else
{
rowData.put("activity_code", rs.getString("ACTIVITY_CODE"));
}
rawDataComplianceGridJson.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 :ComplianceEJB: getComplianceGrid " + d.getMessage());
throw new ITMException(d);
}
}
return rawDataComplianceGridJson;
}
private String checkNull(String str)
{
if(str == null)
{
return "";
}
else
{
return str ;
}
}
}
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