Commit 60528f3d authored by pborate's avatar pborate

Updated for Todays Dashboard

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@188741 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 6beb64e4
......@@ -9,6 +9,8 @@ import ibase.webitm.utility.ITMException;
import java.io.File;
import java.rmi.RemoteException;
import org.apache.poi.util.SystemOutLogger;
import org.json.JSONException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.sql.Connection;
......@@ -22,6 +24,8 @@ import java.util.Map;
import java.util.TreeMap;
import java.util.Calendar;
import javax.ejb.Stateless;
import java.util.ArrayList;
import java.util.List;
@Stateless
public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,PlanVsActualRemote
......@@ -40,11 +44,13 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
//System.out.println("Result ---2["+getTodayAgenda(dataSourceName, loginId, salePersons).toJSONString()+"]");
return getTodayAgenda(dataSourceName, loginId, salePersons).toString();
}
public String getTodaysCalls(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException
public String getTodaysCalls(String dataSourceName,String loginId,String salePersons,String dummy,String eventDate)throws Exception
{
System.out.println("getTodaysCalls==========\n dataSourceName-["+dataSourceName+"]loginId-["+loginId+"]salePersons-["+salePersons+"]");
//System.out.println("Result ---3["+getTodaysCalls(dataSourceName, loginId, salePersons).toJSONString()+"]");
return getTodaysCalls(dataSourceName, loginId, salePersons).toString();
//return getTodaysCalls(dataSourceName, loginId, salePersons).toString();
return getTodaysMyData(dataSourceName, loginId, salePersons,eventDate).toString();
}
public String getTodaysCallsSummary(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException
{
......@@ -154,7 +160,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
rs=null;
pstmt.close();
pstmt=null;
System.out.println(" Planned doctors visited finalMap :"+finalMap);
System.out.println(" Planned doctors visited finalMap getPlanVsActualTreeStructure:"+finalMap);
docList = new ArrayList<String>();
/*----------Planned doctors not visited-----Missed-------*/
......@@ -384,6 +390,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
sql = "(SELECT TO_CHAR(SPH.PLAN_DATE,'DD-MON-YYYY') AS EVENTDATE , SP.SALES_PERS , SP.SP_NAME , SPC.SC_CODE AS 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 AND SS.SALES_PERS=SP.SALES_PERS LEFT 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();
System.out.println("getTodayAgenda :::::"+sql);
int count = 0;
//String userImagePath = CommonConstants.JBOSSHOME + File.separator +"server"+File.separator +"default"+File.separator +"deploy"+File.separator +"ibase.ear"+File.separator + "ibase.war" +File.separator + "resource" + File.separator + "images"+ File.separator + "users"+File.separator;
strgCodeList = getStrgCodeList(dataSourceName, loginId, salePersons);
......@@ -554,6 +561,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
throw new ITMException(d);
}
}
System.out.println("getTodayAgenda rawDataPlanDtlJson "+rawDataPlanDtlJson);
return rawDataPlanDtlJson;
}
......@@ -600,6 +608,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
sql = "(SELECT TO_CHAR(SM.EVENT_DATE,'DD-MON-YYYY') AS EVENTDATE , SP.SALES_PERS ,SP.SP_NAME ,SM.STRG_CODE AS 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 = '"+todayDate+"' "+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 = '"+todayDate+"' "+appendSQL+"";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
System.out.println("getStrgCodeList :::: "+sql);
String strg_code = "";
while(rs.next())
......@@ -972,7 +981,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
rs.last();
planned = rs.getRow();
String plannedDocImagePath = "";
System.out.println("get planned visited count" + planned);
System.out.println("get planned visited count inside getTodaysCalls planned sql "+sql+" planned " + planned);
rs.beforeFirst();
......@@ -1064,7 +1073,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
rs = pstmt.executeQuery();
rs.last();
unplanned = rs.getRow();
System.out.println("get unplanned doctor visited count" + unplanned);
System.out.println("get unplanned doctor visited count inside getTodaysCalls unplanned sql "+sql+" unplanned " + unplanned);
rs.beforeFirst();
String unplannedDocImagePath = "";// Please define proper variable name
if(unplanned > 0)
......@@ -1133,7 +1142,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
rs.last();
listed = rs.getRow();
String listedDocImagePath = "";
System.out.println("get listed doctor visited count" + listed);
System.out.println("get listed doctor visited count listed" +sql+"data listed"+ listed);
rs.beforeFirst();
if(listed > 0)
{
......@@ -1199,7 +1208,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
rs.last();
unListed = rs.getRow();
String unlistedDocImagePath = "";
System.out.println("get listed doctor visited count" + unListed);
System.out.println("get unlisted doctor visited count inside getTodaysCalls unlisted sql "+sql+"unlisted " + unListed);
rs.beforeFirst();
if(unListed > 0)
{
......@@ -1399,7 +1408,7 @@ public JSONObject getTodaysCallsSummary(String dataSourceName,String loginCode,S
rs = pstmt.executeQuery();
rs.last();
planned = rs.getRow();
System.out.println("get planned visited count " + planned);
System.out.println("get planned visited count inside getTodaysCallsSummary planned sql "+sql+" planned data " + planned);
rs.beforeFirst();
rs.close();
......@@ -1425,7 +1434,7 @@ public JSONObject getTodaysCallsSummary(String dataSourceName,String loginCode,S
rs = pstmt.executeQuery();
rs.last();
unplanned = rs.getRow();
System.out.println("get unplanned doctor visited count " + unplanned);
System.out.println("get unplanned doctor visited count inside getTodaysCallsSummary sql unplanned "+sql+" unplanned data " + unplanned);
rs.beforeFirst();
rs.close();
......@@ -1762,6 +1771,471 @@ public JSONObject getTodaysCallsSummary(String dataSourceName,String loginCode,S
//Added by Priyanka B. as per Prajyot R. [Missed Calls Dashboard] End
//Added by Priyanka B. [Todays Calls Dashboard] Start
public org.json.JSONObject getTodaysMyData(String dataSourceName,String loginCode,String salePersons,String eventDate) throws Exception
{
System.out.println("inside getTodaysMyData "+dataSourceName);
org.json.JSONObject rawDataPlanDtlJson = new org.json.JSONObject();
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
DashboardUtility dashboardUtility = null;
E12GenericUtility e12GenUtility = new E12GenericUtility();
String sourceDateFormat=e12GenUtility.getApplDateFormat();
String targetDateFormat=e12GenUtility.getDBDateFormat();
int count = 0;
String salesPersonCode = "", salesPersonName = "", salesPerson_image = "", salesPersonTranId = "" ;
String customerCode = "", customerName = "" , customer_Image = "";
StringBuffer rowBuffer = new StringBuffer();
StringBuffer listedBuffer = new StringBuffer();
int planned=0, unplanned=0,listed=0, unListed=0;
int totalCalls=0;
String currentDate="";
org.json.JSONArray optionArray =new org.json.JSONArray();
try
{
salePersons = salePersons == null ? "": salePersons.trim();
dashboardUtility = new DashboardUtility();
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
SimpleDateFormat sdf = new SimpleDateFormat(e12GenUtility.getApplDateFormat());
currentDate = sdf.format(new java.util.Date());
currentDate=e12GenUtility.getValidDateString(currentDate, sourceDateFormat, targetDateFormat);
if(eventDate != null) {
System.out.println("Inside event data not null ["+eventDate+"] sourceDateFormat ["+sourceDateFormat+"] targetDateFormat ["+targetDateFormat+"]");
eventDate=e12GenUtility.getValidDateString(eventDate, sourceDateFormat, targetDateFormat);
currentDate=eventDate;
}
System.out.println("getTodaysMyData >>>>>>> salePersons: "+salePersons+" loginCode: "+loginCode+" currentDate: "+currentDate);
if(salePersons == null || salePersons.length()==0)
{
salePersons = loginCode;
}
salePersons = dashboardUtility.getCommaSeparated(salePersons);
JSONObject sourceDestination=getSourceDestination(salePersons,currentDate,dataSourceName,targetDateFormat);
System.out.println("after sourceDestination "+sourceDestination);
rawDataPlanDtlJson.put("EVENT_DATE",currentDate);
rawDataPlanDtlJson.put("CALL_RESULT","1");
rawDataPlanDtlJson.put("CALL_RESULT_DESCR","As per plan");
rawDataPlanDtlJson.put("ACTIVITY_START_LOCALITY",sourceDestination.get("ACTIVITY_START_LOCALITY"));
rawDataPlanDtlJson.put("ACTIVITY_END_LOCALITY",sourceDestination.get("ACTIVITY_END_LOCALITY"));
System.out.println("after rawDataPlanDtlJson 1 "+rawDataPlanDtlJson);
JSONObject countListed=countOfListedUnlisted(salePersons,currentDate,dataSourceName,targetDateFormat);
System.out.println("after countListed "+countListed);
rawDataPlanDtlJson.put("TODAYS_SUMMARY",countListed.get("TODAYS_SUMMARY"));
rawDataPlanDtlJson.put("VISIT_SUMMARY",countListed.get("VISIT_SUMMARY"));
System.out.println("after rawDataPlanDtlJson 2"+rawDataPlanDtlJson);
org.json.JSONArray doctorArray=new org.json.JSONArray();
doctorArray=getTodaysCallData(salePersons,currentDate,dataSourceName,targetDateFormat);
System.out.println("after doctorArray 1::: "+doctorArray);
doctorArray=getDoctorAryLoc(doctorArray);
System.out.println("after doctorArray 2"+doctorArray);
rawDataPlanDtlJson.put("TODAYS_CALL",doctorArray);
System.out.println("final result "+rawDataPlanDtlJson);
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception in getTodaysMyData " + e.getMessage());
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 getTodaysMyData " + d.getMessage());
throw new ITMException(d);
}
}
return rawDataPlanDtlJson;
}
private org.json.JSONArray getDoctorAryLoc(org.json.JSONArray doctorArray) throws JSONException {
// TODO Auto-generated method stub
org.json.JSONArray doctorFinalArray =new org.json.JSONArray();
System.out.println("Inside getDoctorAryLoc"+doctorArray);
if(doctorArray != null) {
for(int i = 0; i < doctorArray.length(); i++) {
org.json.JSONObject doctorObject = doctorArray.getJSONObject(i);
org.json.JSONObject doctorObjectNew =new org.json.JSONObject();
System.out.println("json doctor object "+doctorObject);
String locality=doctorObject.optString("LOCALITY");
boolean localityFound = false;
for(int j = 0; j < doctorFinalArray.length(); j++) {
org.json.JSONObject doctorObject1 = doctorFinalArray.getJSONObject(j);
if(doctorObject1.optString("LOCALITY").equalsIgnoreCase(locality)) {
org.json.JSONArray existingDocArray = doctorObject1.getJSONArray("CUSTOMERS");
org.json.JSONObject doctorarryObj =new org.json.JSONObject();
doctorarryObj.put("EVENT_TIME", doctorObject.optString("EVENT_TIME"));
doctorarryObj.put("CUST_NAME", doctorObject.optString("CUST_NAME"));
doctorarryObj.put("CUST_TYPE", doctorObject.optString("CUST_TYPE"));
doctorarryObj.put("CUST_TYPE_DESCR", doctorObject.getString("CUST_TYPE_DESCR"));
existingDocArray.put(doctorarryObj);
doctorFinalArray.getJSONObject(j).put("CUSTOMERS", existingDocArray);
localityFound = true;
}
}
if(!localityFound) {
org.json.JSONArray newDocArray =new org.json.JSONArray();
org.json.JSONObject doctorarryObj =new org.json.JSONObject();
doctorObjectNew.put("LOCALITY", doctorObject.optString("LOCALITY"));
doctorObjectNew.put("EVENT_TIME", doctorObject.optString("EVENT_TIME"));
doctorarryObj.put("EVENT_TIME", doctorObject.optString("EVENT_TIME"));
doctorarryObj.put("CUST_NAME", doctorObject.optString("CUST_NAME"));
doctorarryObj.put("CUST_TYPE", doctorObject.optString("CUST_TYPE"));
doctorarryObj.put("CUST_TYPE_DESCR", doctorObject.getString("CUST_TYPE_DESCR"));
newDocArray.put(doctorarryObj);
doctorObjectNew.put("CUSTOMERS", newDocArray);
doctorFinalArray.put(doctorObjectNew);
}
}
System.out.println("doctorFinalArray >>>>>> "+doctorFinalArray);
}
return doctorFinalArray;
}
private JSONObject getSourceDestination(String salePersons,String currentDate,String dataSourceName,String targetDateFormat)throws Exception {
System.out.println("Inside getSourceDestination : "+salePersons);
JSONObject sourceDes=new JSONObject();
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
String source = "";
String destination = "";
try {
conn = connDriver.getConnectDB(dataSourceName);
connDriver=null;
sql = "SELECT St.Locality_Code," +
" Loc.Descr" +
" FROM Sprs_Travel St," +
" Locality Loc" +
" WHERE Sales_Pers = "+salePersons+"" +
" AND Travel_Date = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" AND St.Locality_Code = Loc.Locality_Code" +
" AND Order_Of_Visit =" +
" (SELECT MIN(Order_Of_Visit)" +
" FROM Sprs_Travel" +
" WHERE Sales_Pers = "+salePersons+"" +
" AND Travel_Date = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" )";
System.out.println("getSourceDestination 1"+sql);
pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = pstmt.executeQuery();
while(rs.next())
{
source=rs.getString("descr");
sourceDes.put("ACTIVITY_START_LOCALITY",source);
}
System.out.println("sourceDes ::::: 1"+sourceDes);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT st.locality_code," +
" loc.descr" +
" FROM sprs_travel st," +
" locality loc" +
" WHERE sales_pers = "+salePersons+"" +
" AND travel_date = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" AND st.locality_code = loc.locality_code" +
" AND order_of_visit =" +
" (SELECT MAX(order_of_visit)" +
" FROM sprs_travel" +
" WHERE sales_pers = "+salePersons+"" +
" AND travel_date = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" )";
System.out.println("getSourceDestination 2"+sql);
pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = pstmt.executeQuery();
while(rs.next())
{
destination=rs.getString("descr");
sourceDes.put("ACTIVITY_END_LOCALITY",destination);
}
System.out.println("sourceDes :::::2 "+sourceDes);
}
catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("inside getSourceDestination exception "+e);
e.printStackTrace();
}
System.out.println("getSourceDestination final json data "+sourceDes);
return sourceDes;
}
private JSONObject countOfListedUnlisted(String salePersons,String currentDate,String dataSourceName,String targetDateFormat)throws Exception {
System.out.println("Inside getSourceDestination : "+salePersons);
JSONObject listOfCount=new JSONObject();
JSONArray finalArray=new JSONArray();
JSONArray visitSummeryArray=new JSONArray();
JSONObject visitObj=new JSONObject();
JSONArray todaySummeryArray=new JSONArray();
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
int doctor = 0;
int retailer = 0;
int distributer = 0;
int unlisted = 0;
int listed = 0;
try {
conn = connDriver.getConnectDB(dataSourceName);
connDriver=null;
sql = "SELECT SCT.SH_DESCR," +
" COUNT(*) AS COUNT" +
" FROM STRG_SERIES SS" +
" INNER JOIN STRG_MEET SM" +
" ON SM.STRG_CODE =SS.SC_CODE" +
" AND SM.SALES_PERS=SS.SALES_PERS" +
" INNER JOIN SALES_PERS SP" +
" ON SP.SALES_PERS=SS.SALES_PERS" +
" INNER JOIN STRG_CUSTOMER SC" +
" ON SC.SC_CODE=SM.STRG_CODE ," +
" STRG_CUST_TYPE SCT" +
" WHERE SM.SALES_PERS = "+salePersons+"" +
" AND SM.EVENT_DATE = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" AND SS.STATUS ='Y'" +
" AND SM.EVENT_TYPE NOT IN" +
" ("+
" SELECT ACTIVITY_CODE FROM FIELDACTIVITY WHERE ACTIVITY_TYPE = 'PR'" +
" )" +
" AND SCT.TYPE = SM.STRG_TYPE" +
" GROUP BY SCT.SH_DESCR";
System.out.println("countOfListedUnlisted 1 sql "+sql);
pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = pstmt.executeQuery();
int listedCount=0;
while(rs.next())
{
JSONObject visitSummerObj=new JSONObject();
String shDescr=rs.getString("SH_DESCR");
int count1=Integer.parseInt(rs.getString("COUNT"));
System.out.println("count in countOfListedUnlisted 1 "+count1);
if(shDescr.equalsIgnoreCase("DOCTOR")) {
visitSummerObj.put("OPTION_NAME", "Doctor");
visitSummerObj.put("OPTION_VALUE", count1);
}
if(shDescr.equalsIgnoreCase("CHEMIST")) {
visitSummerObj.put("OPTION_NAME", "Retailer");
visitSummerObj.put("OPTION_VALUE", count1);
}
if(shDescr.equalsIgnoreCase("STOCKIST")) {
visitSummerObj.put("OPTION_NAME", "Distributer");
visitSummerObj.put("OPTION_VALUE", count1);
}
listedCount=listedCount+count1;
visitSummeryArray.add(visitSummerObj);
}
System.out.println("visitSummeryArray in countOfListedUnlisted 1 "+visitSummeryArray);
System.out.println("listed in countOfListedUnlisted "+listedCount);
JSONObject todaysSummyObjList=new JSONObject();
todaysSummyObjList.put("OPTION_NAME", "Listed");
todaysSummyObjList.put("OPTION_VALUE", listedCount);
todaySummeryArray.add(todaysSummyObjList);
System.out.println("countOfListedUnlisted 1 todaySummeryArray "+todaySummeryArray);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT 'ULNISTED' AS ULNISTED," +
" COUNT(*) AS COUNT" +
" FROM STRG_MEET SM" +
" LEFT JOIN STRG_CUSTOMER SC" +
" ON SC.SC_CODE = SM.STRG_CODE" +
" INNER JOIN SALES_PERS SP" +
" ON SP.SALES_PERS =SM.SALES_PERS" +
" WHERE SM.SALES_PERS="+salePersons+"" +
" AND SM.EVENT_DATE =TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" AND NOT EXISTS" +
" ( "+
" SELECT STRG_CODE FROM STRG_MEET SM WHERE SC.SC_CODE = SM.STRG_CODE" +
" )" +
" AND SM.EVENT_TYPE NOT IN" +
" ("+
" SELECT ACTIVITY_CODE FROM FIELDACTIVITY WHERE ACTIVITY_TYPE = 'PR'" +
" )";
System.out.println("countOfListedUnlisted 2 todaySummeryArray "+sql);
pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = pstmt.executeQuery();
while(rs.next())
{
JSONObject visitSummerObj=new JSONObject();
unlisted=Integer.parseInt(rs.getString("COUNT"));
visitSummerObj.put("OPTION_NAME", "Unlisted");
visitSummerObj.put("OPTION_VALUE", unlisted);
visitSummeryArray.add(visitSummerObj);
}
System.out.println("countOfListedUnlisted 2 visitSummeryArray "+visitSummeryArray);
visitObj.put("VISIT_SUMMARY", visitSummeryArray);
JSONObject todaysSummyObjUnList=new JSONObject();
todaysSummyObjUnList.put("OPTION_NAME", "Unlisted");
todaysSummyObjUnList.put("OPTION_VALUE", unlisted);
todaySummeryArray.add(todaysSummyObjUnList);
JSONObject todaysSummyObj=new JSONObject();
visitObj.put("TODAYS_SUMMARY", todaySummeryArray);
//finalArray.add(todaysSummyObj);
//finalArray.add(visitObj);
}
catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("inside countOfListedUnlisted exception "+e);
e.printStackTrace();
}
System.out.println("countOfListedUnlisted final json data "+visitObj);
return visitObj;
}
private org.json.JSONArray getTodaysCallData(String salePersons,String currentDate,String dataSourceName,String targetDateFormat) throws Exception{
System.out.println("Inside getTodaysCallData ");
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
String descr = "";
String shDescr = "";
int customerCount = 0;
String startTime = "";
org.json.JSONArray doctorArray=new org.json.JSONArray();
try {
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql = "SELECT SM.STRG_CODE AS SC_CODE, " +
" SM.STRG_NAME AS STRG_NAME, " +
" LOC.DESCR AS Locality, " +
" SCT.SH_DESCR, " +
" (SM.STRG_TYPE) AS STRG_TYPE, " +
" (SM.EVENT_TIME_START) AS START_TIME " +
"FROM STRG_MEET SM " +
"INNER JOIN SALES_PERS SP " +
"ON SP.SALES_PERS = SM.SALES_PERS, " +
" STRG_CUST_TYPE SCT, " +
" LOCALITY LOC " +
"WHERE SM.SALES_PERS = "+salePersons+" " +
"AND SM.EVENT_DATE = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
"AND SM.EVENT_TYPE NOT IN " +
" (SELECT ACTIVITY_CODE FROM FIELDACTIVITY WHERE ACTIVITY_TYPE = 'PR' " +
" ) " +
"AND SCT.TYPE = SM.STRG_TYPE " +
"AND SM.LOCALITY_CODE = LOC.LOCALITY_CODE " +
"UNION ALL " +
"SELECT SPC.SC_CODE AS SC_CODE, " +
" SC.FIRST_NAME " +
" || ' ' " +
" || SC.LAST_NAME AS STRG_NAME, " +
" LOC.DESCR AS Locality, " +
" 'MISSED' AS SH_DESCR, " +
" SC.CUST_TYPE AS STRG_TYPE, " +
" (SPC.PLAN_TIME_START) AS START_TIME " +
"FROM SPRS_PLAN_HDR SPH " +
"INNER JOIN SPRS_PLAN_CUST SPC " +
"ON SPC.PLAN_ID = SPH.PLAN_ID " +
"INNER JOIN SALES_PERS SP " +
"ON SP.SALES_PERS = SPH.SPRS_CODE__PLAN " +
"INNER JOIN STRG_CUSTOMER SC " +
"ON SPC.SC_CODE = SC.SC_CODE, " +
" LOCALITY LOC " +
"WHERE PLAN_DATE =TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
"AND SPH.SPRS_CODE__PLAN ="+salePersons+" " +
"AND SPH.CONFIRM ='Y' " +
"AND SPH.PLAN_ACTIVITY NOT IN " +
" (SELECT ACTIVITY_CODE FROM FIELDACTIVITY WHERE ACTIVITY_TYPE = 'PR' " +
" ) " +
"AND LOC.LOCALITY_CODE = TRIM(SPC.LOCALITY_CODE) " +
"AND SPC.SC_CODE NOT IN " +
" (SELECT SM.STRG_CODE " +
" FROM STRG_MEET SM " +
" INNER JOIN SALES_PERS SP " +
" ON SP.SALES_PERS = SM.SALES_PERS " +
" WHERE SM.SALES_PERS = "+salePersons+" " +
" AND SM.EVENT_DATE = TO_DATE('"+currentDate+"','" +targetDateFormat+"')"+
" AND SM.EVENT_TYPE NOT IN " +
" (SELECT ACTIVITY_CODE FROM FIELDACTIVITY WHERE ACTIVITY_TYPE = 'PR' " +
" ) " +
" ) " +
"ORDER BY locality";
System.out.println("getTodaysCallData sql "+sql);
pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = pstmt.executeQuery();
while(rs.next())
{
JSONObject doctorObject=new JSONObject();
doctorObject.put("EVENT_TIME", checkNull(rs.getString("START_TIME")));
doctorObject.put("LOCALITY", checkNull(rs.getString("Locality")));
doctorObject.put("CUST_NAME", checkNull(rs.getString("STRG_NAME")));
doctorObject.put("CUST_TYPE", checkNull(rs.getString("STRG_TYPE")));
doctorObject.put("CUST_TYPE_DESCR", checkNull(rs.getString("SH_DESCR")));
doctorArray.put(doctorObject);
System.out.println("getTodaysCallData dcotor obj "+doctorObject);
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("inside getactivity type descr "+e);
e.printStackTrace();
}
System.out.println("getTodaysCallData doctor array "+doctorArray);
return doctorArray;
}
//Added by Priyanka B. [Todays Calls Dashboard] End
}
......
......@@ -19,7 +19,7 @@ public interface PlanVsActualLocal extends ValidatorLocal
//Added by Anjali R.[Start]
public String getPlanVsActualTreeStructure(String dataSourceName,String loginId,String fromDate,String toDate,String salePersons,String dummy)throws RemoteException,ITMException;
public String getTodayAgenda(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException;
public String getTodaysCalls(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException;
public String getTodaysCalls(String dataSourceName,String loginId,String salePersons,String dummy,String eventDate)throws RemoteException,ITMException, Exception;
public String getTodaysCallsSummary(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException;
//Added by Anjali R.[End]
......
......@@ -17,7 +17,7 @@ public interface PlanVsActualRemote extends ValidatorRemote
//Added by Anjali R.[Start]
public String getPlanVsActualTreeStructure(String dataSourceName,String loginId,String fromDate,String toDate,String salePersons,String dummy)throws RemoteException,ITMException;
public String getTodayAgenda(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException;
public String getTodaysCalls(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException;
public String getTodaysCalls(String dataSourceName,String loginId,String salePersons,String dummy,String eventDate)throws RemoteException,ITMException,Exception;
public String getTodaysCallsSummary(String dataSourceName,String loginId,String salePersons,String dummy)throws RemoteException,ITMException;
//Added by Anjali R.[End]
......
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