Commit dde94c2c authored by abibave's avatar abibave

Request ID-W16EBAS008

Changes for Prototype and Today's Agenda Feature.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104325 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 14e832f3
...@@ -2,10 +2,12 @@ package ibase.dashboard.sfa.ejb; ...@@ -2,10 +2,12 @@ package ibase.dashboard.sfa.ejb;
import ibase.dashboard.Report.Utility.DashboardUtility; import ibase.dashboard.Report.Utility.DashboardUtility;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import java.io.File;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import java.sql.Connection; import java.sql.Connection;
...@@ -17,7 +19,6 @@ import java.util.HashMap; ...@@ -17,7 +19,6 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date;
import javax.ejb.Stateless; import javax.ejb.Stateless;
...@@ -60,7 +61,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -60,7 +61,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
/*----------Planned doctors visited-----Planned--------*/ /*----------Planned doctors visited-----Planned--------*/
if("".equalsIgnoreCase(fromDate) && "".equalsIgnoreCase(toDate)){ if("".equalsIgnoreCase(fromDate) && "".equalsIgnoreCase(toDate)){
fromDate = getDateString("firstDayOfWeek",formatter); fromDate = getDateString("firstDayOfWeek",formatter);
toDate = getDateString("",formatter); toDate = getDateString("lastDayOfWeek",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))"; 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 { else {
...@@ -69,18 +71,19 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -69,18 +71,19 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
fromDate = e12GenericUtility.getValidDateString(fromDate, "dd/MM/yyyy", "dd-MMM-yy"); fromDate = e12GenericUtility.getValidDateString(fromDate, "dd/MM/yyyy", "dd-MMM-yy");
toDate = e12GenericUtility.getValidDateString(toDate, "dd/MM/yyyy", "dd-MMM-yy"); toDate = e12GenericUtility.getValidDateString(toDate, "dd/MM/yyyy", "dd-MMM-yy");
} }
//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-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+""; 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); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
String docName = "",locality = "", speciality = ""; String docName = "",locality = "", speciality = "";
String eventDate = ""; String eventDate = "",docNamewithImage = "";
while(rs.next()) while(rs.next())
{ {
eventDate = rs.getString("eventdate"); eventDate = rs.getString("eventdate");
docName = rs.getString("DoctorName"); docName = rs.getString("DoctorName");
docNamewithImage = getImageStrfromName(docName);
locality = rs.getString("LOCALITY"); locality = rs.getString("LOCALITY");
speciality = rs.getString("SPECIALITY"); speciality = rs.getString("SPECIALITY");
planHashMap = new HashMap<String, ArrayList<String>>(); planHashMap = new HashMap<String, ArrayList<String>>();
...@@ -88,7 +91,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -88,7 +91,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
{ {
planHashMap = finalMap.get(eventDate); planHashMap = finalMap.get(eventDate);
docList = planHashMap.get("plan"); docList = planHashMap.get("plan");
docList.add(docName+"@"+speciality+"@"+locality); //docList.add(docName+"@"+speciality+"@"+locality);
docList.add(docNamewithImage+"@"+speciality+"@"+locality);
planHashMap.put("plan", docList); planHashMap.put("plan", docList);
planHashMap.put("missed", new ArrayList<String>()); planHashMap.put("missed", new ArrayList<String>());
planHashMap.put("unplan", new ArrayList<String>()); planHashMap.put("unplan", new ArrayList<String>());
...@@ -97,7 +101,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -97,7 +101,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
else else
{ {
docList = new ArrayList<String>(); docList = new ArrayList<String>();
docList.add(docName+"@"+speciality+"@"+locality); docList.add(docNamewithImage+"@"+speciality+"@"+locality);
planHashMap.put("plan", docList); planHashMap.put("plan", docList);
planHashMap.put("missed", new ArrayList<String>()); planHashMap.put("missed", new ArrayList<String>());
planHashMap.put("unplan", new ArrayList<String>()); planHashMap.put("unplan", new ArrayList<String>());
...@@ -120,6 +124,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -120,6 +124,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
{ {
eventDate = rs.getString("eventdate"); eventDate = rs.getString("eventdate");
docName = rs.getString("DoctorName"); docName = rs.getString("DoctorName");
docNamewithImage = getImageStrfromName(docName);
locality = rs.getString("LOCALITY"); locality = rs.getString("LOCALITY");
speciality = rs.getString("SPECIALITY"); speciality = rs.getString("SPECIALITY");
planHashMap = new HashMap<String, ArrayList<String>>(); planHashMap = new HashMap<String, ArrayList<String>>();
...@@ -127,7 +132,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -127,7 +132,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
{ {
planHashMap = finalMap.get(eventDate); planHashMap = finalMap.get(eventDate);
docList = planHashMap.get("missed"); docList = planHashMap.get("missed");
docList.add(docName+"@"+speciality+"@"+locality); //docList.add(docName+"@"+speciality+"@"+locality);
docList.add(docNamewithImage+"@"+speciality+"@"+locality);
planHashMap.put("plan", planHashMap.get("plan")); planHashMap.put("plan", planHashMap.get("plan"));
planHashMap.put("missed", docList); planHashMap.put("missed", docList);
planHashMap.put("unplan", new ArrayList<String>()); planHashMap.put("unplan", new ArrayList<String>());
...@@ -136,7 +142,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -136,7 +142,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
else else
{ {
docList = new ArrayList<String>(); docList = new ArrayList<String>();
docList.add(docName+"@"+speciality+"@"+locality); docList.add(docNamewithImage+"@"+speciality+"@"+locality);
planHashMap.put("plan", planHashMap.get("plan")); planHashMap.put("plan", planHashMap.get("plan"));
planHashMap.put("missed", docList); planHashMap.put("missed", docList);
planHashMap.put("unplan", new ArrayList<String>()); planHashMap.put("unplan", new ArrayList<String>());
...@@ -160,6 +166,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -160,6 +166,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
{ {
eventDate = rs.getString("eventdate"); eventDate = rs.getString("eventdate");
docName = rs.getString("DoctorName"); docName = rs.getString("DoctorName");
docNamewithImage = getImageStrfromName(docName);
locality = rs.getString("LOCALITY"); locality = rs.getString("LOCALITY");
speciality = rs.getString("SPECIALITY"); speciality = rs.getString("SPECIALITY");
planHashMap = new HashMap<String, ArrayList<String>>(); planHashMap = new HashMap<String, ArrayList<String>>();
...@@ -167,7 +174,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -167,7 +174,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
{ {
planHashMap = finalMap.get(eventDate); planHashMap = finalMap.get(eventDate);
docList = planHashMap.get("unplan"); docList = planHashMap.get("unplan");
docList.add(docName+"@"+speciality+"@"+locality); //docList.add(docName+"@"+speciality+"@"+locality);
docList.add(docNamewithImage+"@"+speciality+"@"+locality);
planHashMap.put("plan", planHashMap.get("plan")); planHashMap.put("plan", planHashMap.get("plan"));
planHashMap.put("missed", planHashMap.get("missed")); planHashMap.put("missed", planHashMap.get("missed"));
planHashMap.put("unplan", docList); planHashMap.put("unplan", docList);
...@@ -176,7 +184,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -176,7 +184,7 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
else else
{ {
docList = new ArrayList<String>(); docList = new ArrayList<String>();
docList.add(docName+"@"+speciality+"@"+locality); docList.add(docNamewithImage+"@"+speciality+"@"+locality);
planHashMap.put("plan", planHashMap.get("plan")); planHashMap.put("plan", planHashMap.get("plan"));
planHashMap.put("missed", planHashMap.get("missed")); planHashMap.put("missed", planHashMap.get("missed"));
planHashMap.put("unplan", docList); planHashMap.put("unplan", docList);
...@@ -191,7 +199,15 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -191,7 +199,15 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
for (Map.Entry<String, HashMap<String, ArrayList<String>>> entry : finalMap.entrySet()) for (Map.Entry<String, HashMap<String, ArrayList<String>>> entry : finalMap.entrySet())
{ {
rawJson = new JSONObject(); rawJson = new JSONObject();
if((getDateString("", formatter)).equalsIgnoreCase(entry.getKey())){
rawJson.put("eventdate", "Today");
}
else if((getDateString("yesterday", formatter)).equalsIgnoreCase(entry.getKey())){
rawJson.put("eventdate", "Yesterday");
}
else{
rawJson.put("eventdate", entry.getKey()); rawJson.put("eventdate", entry.getKey());
}
rawJson.put("category", entry.getValue()); rawJson.put("category", entry.getValue());
rawDataPlanDtlJson.put(count, rawJson); rawDataPlanDtlJson.put(count, rawJson);
count++; count++;
...@@ -230,12 +246,41 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -230,12 +246,41 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
return rawDataPlanDtlJson; return rawDataPlanDtlJson;
} }
private String getImageStrfromName(String doctorName) {
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;
File file = new File(userImagePath+doctorName+".png");
String retString = "";
if(file.exists())
{
retString = "<img class='cardProdImg1' src='"+CommonConstants.TOMCAT_HOME+"/ibase/resource/images/users/"+doctorName+".png'/>";
}else
{
doctorName = doctorName.trim();
String[] splited = doctorName.split(" ");
System.out.println("splited getImageStrfromName :"+splited[0].charAt(0));
String defaultUserImg = ""+splited[0].charAt(0);
if(splited.length>1)
{
String lastWord = doctorName.substring(doctorName.lastIndexOf(" ")+1);
System.out.println("lastWord getImageStrfromName :"+lastWord);
defaultUserImg = defaultUserImg + ""+lastWord.charAt(0);
}
System.out.println("defaultUserImg :"+defaultUserImg);
retString = "<div class='defaultUserImg1'> "+defaultUserImg+" </div>";
}
System.out.println("doctorName = "+doctorName+"retString ="+retString);
retString = doctorName+"~"+retString;
return retString;
}
/*----------Method for getting Todays Agenda--------*/ /*----------Method for getting Todays Agenda--------*/
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public JSONObject getTodayAgenda(String dataSourceName,String loginId,String salePersons) throws ITMException{ public JSONObject getTodayAgenda(String dataSourceName,String loginId,String salePersons) throws ITMException{
JSONObject rawDataPlanDtlJson = new JSONObject(); JSONObject rawDataPlanDtlJson = new JSONObject();
JSONObject rawJson = null; JSONObject rawJson = null;
String sql = ""; String sql = "", scCode = "";
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
Connection conn = null; Connection conn = null;
...@@ -243,7 +288,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -243,7 +288,8 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
String appendSQL = ""; String appendSQL = "";
DashboardUtility dashboardUtility = null; DashboardUtility dashboardUtility = null;
SimpleDateFormat formatter = null; SimpleDateFormat formatter = null;
String fromDate ="",toDate = ""; String fromDate ="",toDate = "",locality = "",prvlocality = "",doctorName = "";
ArrayList<String> strgCodeList = null;
try try
{ {
salePersons = salePersons == null ? "": salePersons.trim(); salePersons = salePersons == null ? "": salePersons.trim();
...@@ -262,23 +308,70 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -262,23 +308,70 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
else { else {
appendSQL = " AND sp.sales_pers in("+salePersons+")) "; appendSQL = " AND sp.sales_pers in("+salePersons+")) ";
} }
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 AND SS.SALES_PERS=SP.SALES_PERS INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_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 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 INNER JOIN SPECIALITY SPL ON SPL.SPL_CODE=SS.SPL_CODE WHERE SPH.PLAN_DATE BETWEEN '"+fromDate+"' AND '"+toDate+"'"+appendSQL+"";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; 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);
while(rs.next()) while(rs.next())
{ {
rawJson = new JSONObject(); rawJson = new JSONObject();
rawJson.put("doctorName", rs.getString("DOCTORNAME")); locality = rs.getString("LOCALITY");
rawJson.put("locality", rs.getString("LOCALITY")); doctorName = rs.getString("DOCTORNAME").trim();
scCode = rs.getString("SC_CODE").trim();
if(!locality.equalsIgnoreCase(prvlocality))
{
rawJson.put("locality", locality);
rawJson.put("cardSalesPersonTitle", "cardSalesPersonTitle");
System.out.println("locality :"+locality);
prvlocality = locality;
}else
{
rawJson.put("locality", "");
}
File file = new File(userImagePath+doctorName+".png");
if(file.exists())
{
rawJson.put("doctor_image", "<img class='cardProdImg1' src='"+CommonConstants.TOMCAT_HOME+"/ibase/resource/images/users/"+doctorName+".png'/>");
}else
{
doctorName = doctorName.trim();
String[] splited = doctorName.split(" ");
System.out.println("splited getTodayAgenda :"+splited[0].charAt(0));
String defaultUserImg = ""+splited[0].charAt(0);
if(splited.length>1)
{
String lastWord = doctorName.substring(doctorName.lastIndexOf(" ")+1);
System.out.println("lastWord getTodayAgenda :"+lastWord);
defaultUserImg = defaultUserImg + ""+lastWord.charAt(0);
}
System.out.println("defaultUserImg :"+defaultUserImg);
rawJson.put("doctor_image", "<div class='defaultUserImg1'> "+defaultUserImg+" </div>");
}
rawJson.put("doctorName", doctorName);
rawJson.put("time", "10:00 am");
rawJson.put("speciality", rs.getString("SPECIALITY")); rawJson.put("speciality", rs.getString("SPECIALITY"));
if(strgCodeList.contains(scCode)){
rawJson.put("meet_status", "<img class='cardProdImg1' src='"+CommonConstants.TOMCAT_HOME+"/ibase/dwh/FusionChart/images/Tick-mark.png'/>");
}
else{
rawJson.put("meet_status", "");
}
rawDataPlanDtlJson.put(count, rawJson); rawDataPlanDtlJson.put(count, rawJson);
count++; count++;
} }
/*while(rs.next()) /*while(rs.next())
{ {
rawJson = new JSONObject();
if(count == 0){ if(count == 0){
rawJson.put("heading", "<table border='1' width='100%'> <tr> <td>Planning of "+rs.getString("SP_NAME")+"</td> </tr> </table>"); 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("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("doctorName", rs.getString("DoctorName"));
...@@ -332,17 +425,84 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan ...@@ -332,17 +425,84 @@ public class PlanVsActual extends ValidatorEJB implements PlanVsActualLocal,Plan
} }
public String getDateString(String dateCondition,SimpleDateFormat formatter ) { public String getDateString(String dateCondition,SimpleDateFormat formatter ) {
Date curr = new Date();
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(curr);
if("firstDayOfWeek".equalsIgnoreCase(dateCondition)){ if("firstDayOfWeek".equalsIgnoreCase(dateCondition)){
int currentDOW = cal.get(Calendar.DAY_OF_WEEK); int currentDOW = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DAY_OF_YEAR, (currentDOW * -1)+2); cal.add(Calendar.DAY_OF_YEAR, (currentDOW * -1)+1);
}
if("yesterday".equalsIgnoreCase(dateCondition)){
cal.add(Calendar.DATE, -1);
}
if("lastDayOfWeek".equalsIgnoreCase(dateCondition)){
int currentDOW = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DAY_OF_YEAR, (currentDOW * -1)+7);
}
return formatter.format(cal.getTime());
}
public ArrayList<String> getStrgCodeList(String dataSourceName,String loginId,String salePersons) throws ITMException{
String todayDate = getDateString("",new SimpleDateFormat("dd-MMM-yy"));
String appendSQL = "",sql = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
ArrayList<String> strgCodeList = new ArrayList<String>();
try {
if(!salePersons.contains(",")){
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+")) ";
}
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
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();
String strg_code = "";
while(rs.next())
{
strg_code = rs.getString("STRG_CODE");
strg_code = strg_code == null ? "" : strg_code.trim();
strgCodeList.add(strg_code);
}
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:getStrgCodeList()" + d.getMessage());
throw new ITMException(d);
}
} }
String date = formatter.format(cal.getTime()); return strgCodeList;
System.out.println("Formatted Date = "+date);
return date;
} }
} }
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