Commit 5e46b6d0 authored by abibave's avatar abibave

Changes in TreeStructure & Addition of 'Todays Agenda' functionality.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103736 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 39135987
package ibase.dashboard.sfa.ejb;
import ibase.dashboard.Report.Utility.DashboardUtility;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
......@@ -35,13 +36,16 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
String appendSQL = "";
fromDate = fromDate == null ? "": fromDate.trim();
toDate = toDate == null ? "": toDate.trim();
salePersons = salePersons == null ? "": salePersons.trim();
DashboardUtility dashboardUtility = null;
SimpleDateFormat formatter = null;
E12GenericUtility e12GenericUtility = null;
try
{
fromDate = fromDate == null ? "": fromDate.trim();
toDate = toDate == null ? "": toDate.trim();
salePersons = salePersons == null ? "": salePersons.trim();
dashboardUtility = new DashboardUtility();
salePersons = dashboardUtility.getCommaSeparated(salePersons);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
formatter = new SimpleDateFormat("dd-MMM-yy");
......@@ -54,22 +58,18 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
/*----------Planned doctors visited-----Planned--------*/
if("".equalsIgnoreCase(fromDate) && "".equalsIgnoreCase(toDate)){
fromDate = getDate("firstDayOfWeek",formatter);
toDate = getDate("",formatter);
/*fromDate = "TO_CHAR(TRUNC(sysdate, 'DAY')+1,'DD-MON-RR')";
toDate = "TO_CHAR(sysdate,'DD-MON-RR')";*/
fromDate = getDateString("firstDayOfWeek",formatter);
toDate = getDateString("",formatter);
appendSQL = " AND SP.SALES_PERS IN (SELECT EMP_CODE FROM EMPLOYEE START WITH EMP_CODE = (SELECT EMP_CODE FROM USERS WHERE CODE='"+loginId+"') connect by prior emp_code = report_to))";
}
else {
appendSQL = " AND sp.sales_pers in('"+salePersons+"')) ";
appendSQL = " AND sp.sales_pers in("+salePersons+")) ";
e12GenericUtility = new E12GenericUtility();
fromDate = e12GenericUtility.getValidDateString(fromDate, "dd/MM/yyyy", "dd-MMM-yy");
toDate = e12GenericUtility.getValidDateString(toDate, "dd/MM/yyyy", "dd-MMM-yy");
/*fromDate = "to_char(TO_DATE(TO_CHAR('"+fromDate+"'),'DD-MM-YYYY'),'DD-MON-RR')";
toDate = "to_char(TO_DATE(TO_CHAR('"+toDate+"'),'DD-MM-YYYY'),'DD-MON-RR')";*/
}
//sql="(SELECT TO_CHAR(sm.event_date,'dd-mm-yy') AS eventdate , sp.sales_pers ,sp.sp_name ,SM.STRG_CODE ,INITCAP(SC.first_name||' '||SC.middle_name||' '||SC.last_name )AS DoctorName ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY from sales_pers sp inner join strg_meet sm on sp.sales_pers=sm.sales_pers INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE sm.event_date BETWEEN '06-AUG-16' AND '16-AUG-16' AND SM.SALES_PERS='M00005') intersect (SELECT TO_CHAR(SPH.PLAN_DATE,'dd-mm-yy') AS eventdate , sp.sales_pers ,sp.sp_name ,spc.SC_CODE ,INITCAP(SC.first_name||' '||SC.middle_name||' '||SC.last_name )AS DoctorName ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY from sales_pers sp inner join sprs_plan_hdr sph on sp.sales_pers=sph.sprs_code__plan inner join sprs_plan_cust spc on sph.plan_id=spc.plan_id inner join STRG_CUSTOMER SC ON SC.SC_CODE=spc.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '06-AUG-16' AND '16-AUG-16' AND SPRS_CODE__PLAN='M00005' and sp.sales_pers in (select emp_code from employee start with emp_code = (select emp_code from users where code='M00001') connect by prior emp_code = report_to) and sp.sales_pers in ('M00005') )";
sql = "(SELECT TO_CHAR(SM.EVENT_DATE,'dd-mm-yy') AS EVENTDATE , SP.SALES_PERS ,SP.SP_NAME ,SM.STRG_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" INTERSECT (SELECT TO_CHAR(SPH.PLAN_DATE,'dd-mm-yy') AS EVENTDATE , SP.SALES_PERS , SP.SP_NAME ,SPC.SC_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME , L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
sql = "(SELECT TO_CHAR(SM.EVENT_DATE,'DD-MON-YYYY') AS EVENTDATE , SP.SALES_PERS ,SP.SP_NAME ,SM.STRG_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" INTERSECT (SELECT TO_CHAR(SPH.PLAN_DATE,'DD-MON-YYYY') AS EVENTDATE , SP.SALES_PERS , SP.SP_NAME ,SPC.SC_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME , L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
String docName = "",locality = "", speciality = "";
......@@ -111,7 +111,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
docList = new ArrayList<String>();
/*----------Planned doctors not visited-----Missed-------*/
//sql="(select to_char(SPH.PLAN_DATE,'dd-mm-yy') as eventdate ,sp.sales_pers ,sp.sp_name ,spc.SC_CODE ,INITCAP(SC.first_name||' '||SC.middle_name||' '||SC.last_name )AS DoctorName ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY from sales_pers sp inner join sprs_plan_hdr sph on sp.sales_pers=sph.sprs_code__plan inner join sprs_plan_cust spc on sph.plan_id=spc.plan_id inner join STRG_CUSTOMER SC ON SC.SC_CODE=spc.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE between '06-AUG-16' and '16-AUG-16' AND SPRS_CODE__PLAN='M00005') MINUS (select to_char(sm.event_date,'dd-mm-yy') as eventdate ,sp.sales_pers ,sp.sp_name ,SM.STRG_CODE ,INITCAP(SC.first_name||' '||SC.middle_name||' '||SC.last_name )AS DoctorName ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY from sales_pers sp inner join strg_meet sm on sp.sales_pers=sm.sales_pers INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE where sm.event_date between '06-AUG-16' and '16-AUG-16' AND SM.SALES_PERS='M00005' and sp.sales_pers in (select emp_code from employee start with emp_code = (select emp_code from users where code='M00001') connect by prior emp_code = report_to) and sp.sales_pers in ('M00005') )";
sql = "(SELECT TO_CHAR(SPH.PLAN_DATE,'dd-mm-yy') AS EVENTDATE ,SP.SALES_PERS ,SP.SP_NAME ,SPC.SC_CODE , INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" MINUS (SELECT TO_CHAR(SM.EVENT_DATE,'dd-mm-yy') AS EVENTDATE ,SP.SALES_PERS , SP.SP_NAME ,SM.STRG_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
sql = "(SELECT TO_CHAR(SPH.PLAN_DATE,'DD-MON-YYYY') AS EVENTDATE ,SP.SALES_PERS ,SP.SP_NAME ,SPC.SC_CODE , INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" MINUS (SELECT TO_CHAR(SM.EVENT_DATE,'DD-MON-YYYY') AS EVENTDATE ,SP.SALES_PERS , SP.SP_NAME ,SM.STRG_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
......@@ -147,12 +147,11 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
rs = null;
pstmt =null;
//System.out.println(" Planned doctors not visited hashMap :"+meetHashMap);
docList = new ArrayList<String>();
/*----------Unplanned doctors visited----Unplanned--------*/
//sql="(select to_char(sm.event_date,'dd-mm-yy') as eventdate ,sp.sales_pers ,sp.sp_name ,SM.STRG_CODE ,INITCAP(SC.first_name||' '||SC.middle_name||' '||SC.last_name )AS DoctorName ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY from sales_pers sp inner join strg_meet sm on sp.sales_pers=sm.sales_pers INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE where sm.event_date between '06-AUG-16' and '16-AUG-16' AND SM.SALES_PERS='M00005') minus (select to_char(SPH.PLAN_DATE,'dd-mm-yy') as eventdate ,sp.sales_pers ,sp.sp_name ,spc.SC_CODE ,INITCAP(SC.first_name||' '||SC.middle_name||' '||SC.last_name )AS DoctorName ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY from sales_pers sp inner join sprs_plan_hdr sph on sp.sales_pers=sph.sprs_code__plan inner join sprs_plan_cust spc on sph.plan_id=spc.plan_id inner join STRG_CUSTOMER SC ON SC.SC_CODE=spc.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE between '06-AUG-16' and '16-AUG-16' AND SPRS_CODE__PLAN='M00005' and sp.sales_pers in (select emp_code from employee start with emp_code = (select emp_code from users where code='M00001') connect by prior emp_code = report_to) and sp.sales_pers in ('M00005'))";
sql = "(SELECT TO_CHAR(SM.EVENT_DATE,'dd-mm-yy') AS EVENTDATE ,SP.SALES_PERS ,SP.SP_NAME ,SM.STRG_CODE , INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY , SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" MINUS (SELECT TO_CHAR(SPH.PLAN_DATE,'dd-mm-yy') AS EVENTDATE ,SP.SALES_PERS ,SP.SP_NAME ,SPC.SC_CODE , INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
sql = "(SELECT TO_CHAR(SM.EVENT_DATE,'DD-MON-YYYY') AS EVENTDATE ,SP.SALES_PERS ,SP.SP_NAME ,SM.STRG_CODE , INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY , SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" MINUS (SELECT TO_CHAR(SPH.PLAN_DATE,'DD-MON-YYYY') AS EVENTDATE ,SP.SALES_PERS ,SP.SP_NAME ,SPC.SC_CODE , INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
......@@ -230,17 +229,119 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
return rawDataPlanDtlJson;
}
public String getDate(String dateCondition,SimpleDateFormat formatter ) {
/*----------Method for getting Todays Agenda--------*/
@SuppressWarnings("unchecked")
public JSONObject getTodayAgenda(String dataSourceName,String loginId,String salePersons) throws ITMException{
JSONObject rawDataPlanDtlJson = new JSONObject();
JSONObject rawJson = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
String appendSQL = "";
DashboardUtility dashboardUtility = null;
SimpleDateFormat formatter = null;
String fromDate ="",toDate = "";
try
{
salePersons = salePersons == null ? "": salePersons.trim();
dashboardUtility = new DashboardUtility();
salePersons = dashboardUtility.getCommaSeparated(salePersons);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
formatter = new SimpleDateFormat("dd-MMM-yy");
fromDate = getDateString("",formatter);
toDate = getDateString("",formatter);
if("".equalsIgnoreCase(salePersons) && loginId != null){
appendSQL = " AND SP.SALES_PERS IN (SELECT EMP_CODE FROM EMPLOYEE START WITH EMP_CODE = (SELECT EMP_CODE FROM USERS WHERE CODE='"+loginId+"') connect by prior emp_code = report_to))";
}
else {
appendSQL = " AND sp.sales_pers in("+salePersons+")) ";
}
sql = "(SELECT TO_CHAR(SM.EVENT_DATE,'DD-MON-YYYY') AS EVENTDATE , SP.SALES_PERS ,SP.SP_NAME ,SM.STRG_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME ,L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN STRG_MEET SM ON SP.SALES_PERS=SM.SALES_PERS INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SM.STRG_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SM.EVENT_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+" INTERSECT (SELECT TO_CHAR(SPH.PLAN_DATE,'DD-MON-YYYY') AS EVENTDATE , SP.SALES_PERS , SP.SP_NAME ,SPC.SC_CODE ,INITCAP(SC.FIRST_NAME||' '||SC.MIDDLE_NAME||' '||SC.LAST_NAME )AS DOCTORNAME , L.DESCR AS LOCALITY ,SPL.DESCR AS SPECIALITY FROM SALES_PERS SP INNER JOIN SPRS_PLAN_HDR SPH ON SP.SALES_PERS=SPH.SPRS_CODE__PLAN INNER JOIN SPRS_PLAN_CUST SPC ON SPH.PLAN_ID=SPC.PLAN_ID INNER JOIN STRG_CUSTOMER SC ON SC.SC_CODE=SPC.SC_CODE INNER JOIN LOCALITY L ON L.LOCALITY_CODE=SC.LOCALITY_CODE INNER JOIN STRG_SERIES SS ON SS.SC_CODE=SC.SC_CODE INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count = 0;
while(rs.next())
{
rawJson = new JSONObject();
rawJson.put("doctorName", rs.getString("DoctorName"));
rawJson.put("locality", rs.getString("LOCALITY"));
rawJson.put("speciality", rs.getString("SPECIALITY"));
rawDataPlanDtlJson.put(count, rawJson);
count++;
}
/*while(rs.next())
{
rawJson = new JSONObject();
if(count == 0){
rawJson.put("heading", "<table border='1' width='100%'> <tr> <td>Planning of "+rs.getString("SP_NAME")+"</td> </tr> </table>");
rawJson.put("tableHeader", "<table><tr><td style='text-align: left;'>Doctor Name</td><td style='text-align: left;'>Speciality</td><td style='text-align: left;'>Location</td></tr>");
rawJson.put("doctorName", rs.getString("DoctorName"));
rawJson.put("locality", rs.getString("LOCALITY"));
rawJson.put("speciality", rs.getString("SPECIALITY"));
}
else{
rawJson.put("heading", "");
rawJson.put("tableHeader", "");
rawJson.put("doctorName", rs.getString("DoctorName"));
rawJson.put("locality", rs.getString("LOCALITY"));
rawJson.put("speciality", rs.getString("SPECIALITY"));
}
rawDataPlanDtlJson.put(count, rawJson);
count++;
}*/
rs = null;
pstmt =null;
}
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 PlanVsActual:getTodayAgenda()" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPlanDtlJson;
}
public String getDateString(String dateCondition,SimpleDateFormat formatter ) {
Date curr = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(curr);
if("firstDayOfWeek".equalsIgnoreCase(dateCondition)){
int currentDOW = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DAY_OF_YEAR, (currentDOW * -1)+2);
}
String date = formatter.format(cal.getTime());
System.out.println("First day of week="+date);
System.out.println("Formatted Date = "+date);
return date;
}
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
......@@ -12,5 +11,6 @@ public interface PlanVsActualLocal extends ValidatorLocal
{
public abstract JSONObject getPlanVsActualTreeStructure(String dataSourceName,String loginId,String fromDate,String toDate,String salePersons)throws RemoteException,ITMException;
public JSONObject getTodayAgenda(String dataSourceName,String loginId,String salePersons)throws RemoteException,ITMException;
}
......@@ -11,7 +11,6 @@ import org.json.simple.JSONObject;
public interface PlanVsActualRemote extends ValidatorRemote
{
public abstract JSONObject getPlanVsActualTreeStructure(String dataSourceName,String loginId,String fromDate,String toDate,String salePersons) throws RemoteException, ITMException;
public JSONObject getTodayAgenda(String dataSourceName,String loginId,String salePersons)throws RemoteException,ITMException;
}
......@@ -42,13 +42,15 @@ public class PlanVsActualServlet extends HttpServlet
session = request.getSession(true);
userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();
//loginId = "M00001";
fromDate = request.getParameter("fromDate");
toDate = request.getParameter("toDate");
salePersons = request.getParameter("salePersons");
System.out.println("loginId = "+loginId+"fromDate = "+fromDate+"toDate = "+toDate+"sales person = "+salePersons);
dataSourceName = request.getParameter("dataSourceName");
if(salePersons.length()== 0)
{
salePersons = loginId;
}
context = new InitialContext(appConnectParm.getProperty());
planvsactualRemote = (PlanVsActualRemote) context.lookup("ibase/PlanVsActual/remote");
jsonObjData = (JSONObject) planvsactualRemote.getPlanVsActualTreeStructure(dataSourceName,loginId,fromDate,toDate,salePersons);
......@@ -58,15 +60,6 @@ public class PlanVsActualServlet extends HttpServlet
outputStream.flush();
outputStream.close();
//String jsonObjData = "{'0':{'category':{'plan':null,'unplan':['Vipul Mehotra','Atul Deokar','Tushar Maniar'],'meet':['Vipul Mehotra','Atul Deokar','Tushar Maniar']},'eventdate':'2016-08-17 00:00:00.0'},'1':{'category':{'plan':['K Guptha'],'unplan':['A Deshpande','Rahul Tambe','R Jain','Anil Pichad','Vipul Gandhi'],'meet':['A Deshpande','Rahul Tambe','R Jain','Anil Pichad','Vipul Gandhi']},'eventdate':'2016-08-16 00:00:00.0'},'2':{'category':{'plan':['Vipul Mehotra','Atul Deokar','Varsha Medical'],'unplan':[],'meet':[]},'eventdate':'2016-08-08 00:00:00.0'},'3':{'category':{'plan':['Vipul Mehotra','Amr Anvekar','Vijay Kumar','Philip John','Anil Mehta'],'unplan':['N R Save','Pradeep Rathod'],'meet':['N R Save','Pradeep Rathod']},'eventdate':'2016-08-06 00:00:00.0'}}";
/*String jsonObjData1 = "{'0':{'category':{'plan':null,'unplan':['Vipul Mehotra','Amr Anvekar','Vijay Kumar'],'missed':null},'eventdate':'09-08-16'},'1':{'category':{'plan':['Vipul Mehotra','Amr Anvekar','Vijay Kumar','Philip John','Anil Mehta'],'unplan':['Nishal Shetty','Deepa Bhandarkar'],'missed':['N R Save','Pradeep Rathod']},'eventdate':'06-08-16'},'2':{'category':{'plan':['K Guptha'],'unplan':[],'missed':['A Deshpande','Rahul Tambe','R Jain','Anil Pichad','Vipul Gandhi']},'eventdate':'16-08-16'},'3':{'category':{'plan':null,'unplan':['K Guptha'],'missed':null},'eventdate':'10-08-16'},'4':{'category':{'plan':null,'unplan':['Vipul Mehotra'],'missed':null},'eventdate':'11-08-16'},'5':{'category':{'plan':['Vipul Mehotra'],'unplan':[],'missed':[]},'eventdate':'08-08-16'}}";
System.out.println(" Final data set for PlanVsActualServlet build the Graph is===" + jsonObjData1);
outputStream = response.getOutputStream();
outputStream.write(jsonObjData1.toString().replace('\'', '"').getBytes());
outputStream.flush();
outputStream.close();*/
}
catch (Exception e)
{
......
package ibase.dashboard.sfa.servlet;
import ibase.dashboard.sfa.ejb.PlanVsActualRemote;
import ibase.system.config.AppConnectParm;
import ibase.utility.UserInfoBean;
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 TodayAgendaServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
PlanVsActualRemote planvsactualRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
String salePersons = "";
HttpSession session = null;
JSONObject jsonObjData = null;
OutputStream outputStream = null;
UserInfoBean userInfo = null;
try
{
response.setContentType("application/xml");
session = request.getSession(true);
userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();
salePersons = request.getParameter("salePersons");
System.out.println("loginId = "+loginId+",sales person = "+salePersons);
dataSourceName = request.getParameter("dataSourceName");
/*if(salePersons.length()== 0)
{
salePersons = loginId;
}*/
context = new InitialContext(appConnectParm.getProperty());
planvsactualRemote = (PlanVsActualRemote) context.lookup("ibase/PlanVsActual/remote");
jsonObjData = (JSONObject) planvsactualRemote.getTodayAgenda(dataSourceName,loginId,salePersons);
System.out.println(" Final data set for TodayAgendaServlet build the Graph is===" + jsonObjData);
outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
}
catch (Exception e)
{
System.out.println("Exception : TodayAgendaServlet :doPost(HttpServletRequest request, HttpServletResponse response) :"+ e);
try
{
throw new ITMException(e);
}
catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
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