Commit c4c9fdf7 authored by rzore's avatar rzore

added components for my expense dashboard link

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@189223 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 442f0013
package ibase.dashboard.sfa.ejb;
import ibase.dashboard.Report.Utility.DashboardUtility;
import ibase.system.config.ConnDriver;
//import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import java.io.File;
import java.rmi.RemoteException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.Calendar;
import javax.ejb.Stateless;
@Stateless
public class MyExpenseData extends ValidatorEJB implements MyExpenseDataLocal,MyExpenseDataRemote
{
public String getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode,String dummy)throws RemoteException,ITMException
{
System.out.println("getCategoryCodes==========\n dataSourceName-["+dataSourceName+"]loginId-["+loginId+"]salePersons-["+salePersons+"]");
return getCategoryCodes(dataSourceName, loginId, salePersons, fromDate, toDate, allowCode).toString();
}
@SuppressWarnings("unchecked")
public ArrayList getCategoryCodes(String dataSourceName,String loginCode,String salePersons, String fromDate,String toDate,String allowCode) throws RemoteException, ITMException
{
System.out.println("inside getCategoryCodes");
JSONObject rawDataPlanDtlJson = new JSONObject();
JSONObject rawJson = new JSONObject();
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
DashboardUtility dashboardUtility = null;
E12GenericUtility e12GenUtility = new E12GenericUtility();
int count = 0;
String categoryCode = "", categoryDescr = "", category_image = "", amount = "", dispExpDate = "",expenseDescr = "" ;
String expDate = "", currCode = "" , expHead = "", allowDescr = "", allowCodeDocImagePath = "", allowCode_image = "" ;
StringBuffer rowBuffer = new StringBuffer();
StringBuffer listedBuffer = new StringBuffer();
int totalCalls=0, cnt = 0, totalAmount = 0, expAmount = 0;
String currentDate="";
E12GenericUtility e12genericUtil = new E12GenericUtility();
ArrayList myList = new ArrayList();
try
{
SimpleDateFormat dateFormat = new SimpleDateFormat(e12genericUtil.getApplDateFormat());
Date date = new Date();
if( "".equals( E12GenericUtility.checkNull(fromDate) ) )
{
fromDate = dateFormat.format(date);
System.out.println("fromDateStr:::["+fromDate+"]");
}
if( "".equals( E12GenericUtility.checkNull(toDate) ) )
{
toDate = dateFormat.format(date);
System.out.println("toDateStr:::["+toDate+"]");
}
fromDate = e12genericUtil.getValidDateString(fromDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
toDate = e12genericUtil.getValidDateString(toDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
System.out.println("fromDateStr["+fromDate+"] toDateStr["+toDate+"]");
rowBuffer.append("<div>");
listedBuffer.append("<div>");
salePersons = salePersons == null ? "": salePersons.trim();
dashboardUtility = new DashboardUtility();
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
System.out.println(" >>>>>>>> SQL FOR PLANNED DOCTORS >>>>>>> salePersons: "+salePersons+" loginCode: "+loginCode+" currentDate: "+currentDate);
if(salePersons == null || salePersons.length()==0)
{
salePersons = loginCode;
}
sql = "SELECT ME.CATEGORY_CODE,EXPCAT.DESCR AS EXP_CATEGORY_DESCR,ME.DESCR AS EXPENSE_DESCR,ME.AMOUNT,ME.EXP_DATE,ME.CURR_CODE,EXPCAT.EXP_HEAD, "+
"TA.DESCR AS WALLET FROM MY_EXPENSE ME, EXP_CATEGORY EXPCAT,TRV_ALLOWANCE TA WHERE ME.CATEGORY_CODE = EXPCAT.CATEGORY_CODE AND EXPCAT.EXP_HEAD = TA.ALLOW_CODE "+
"AND TA.ALLOW_CODE = ? AND ME.USER_ID = ? AND ME.EXP_DATE BETWEEN ? AND ?";
pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
pstmt.setString(1, allowCode);
pstmt.setString(2, salePersons);
pstmt.setDate(3, java.sql.Date.valueOf(fromDate) );
pstmt.setDate(4, java.sql.Date.valueOf(toDate) );
rs = pstmt.executeQuery();
rs.last();
cnt = rs.getRow();
String categoryDocImagePath = "";
System.out.println("get listed category code count" + cnt);
rs.beforeFirst();
if(cnt > 0)
{
/*listedBuffer.append("<div style= 'max-height: 20%;overflow:-moz-scrollbars-vertical;width: 95%;BACKGROUND-COLOR:#FFF;margin: 1em auto;"+
"margin-top: 5px;overflow-x: auto;overflow-y: auto;white-space: nowrap;border-left: 1px solid lightgray;"+
"border-right: 1px solid lightgray;border-color: #6cf #ccc #ccc;border-width: 2px 1px 1px;border-style: solid;border-bottom: 1px solid lightgray;'>");
listedBuffer.append("<table cellspacing='0' cellpadding='0' width='100%' ><tr rowspan='2'><td class='defaultTitle'></td></tr>");*/
while(rs.next())
{
categoryCode = checkNull(rs.getString("CATEGORY_CODE"));
expenseDescr = checkNull(rs.getString("EXPENSE_DESCR")) ;
categoryDescr = checkNull(rs.getString("EXP_CATEGORY_DESCR")) ;
amount = checkNull(rs.getString("AMOUNT"));
expDate = checkNull(rs.getString("EXP_DATE")) ;
currCode = checkNull(rs.getString("CURR_CODE")) ;
expHead = checkNull(rs.getString("EXP_HEAD"));
allowDescr = checkNull(rs.getString("WALLET"));
dispExpDate = e12genericUtil.getValidDateString(expDate, e12genericUtil.getDBDateFormat(), e12genericUtil.getApplDateFormat());
categoryDocImagePath = e12GenUtility.getCustomImageURL("my_expense", "myExpense", categoryCode, categoryDescr, "Icon");
//category_image = "<img class='dashboard-userAvatar' src='"+categoryDocImagePath+"'/>";
allowCodeDocImagePath = e12GenUtility.getCustomImageURL("trv_allowance", "TrvAllowance", expHead, allowDescr, "Icon");
//allowCode_image = "<img class='dashboard-userAvatar' src='"+categoryDocImagePath+"'/>";
JSONObject feedDataJson = new JSONObject();
feedDataJson.put( "category_code", categoryCode );
feedDataJson.put( "exp_category_descr", categoryDescr );
feedDataJson.put( "amount", amount );
feedDataJson.put( "exp_date", dispExpDate );
feedDataJson.put( "curr_code", currCode );
feedDataJson.put( "allow_descr", allowDescr );
feedDataJson.put( "exp_head", expHead );
feedDataJson.put( "descr", expenseDescr );
feedDataJson.put( "category_image", categoryDocImagePath );
feedDataJson.put( "allowCode_image", allowCodeDocImagePath );
expAmount = Integer.parseInt(amount);
totalAmount = totalAmount + expAmount;
String jsonString = feedDataJson.toString();
String feedData = jsonString.replaceAll("\\\\","");
System.out.println("feedData string is["+feedData+"]");
myList.add(feedData);
System.out.println("myList is"+myList);
/*listedBuffer.append("<tr id='"+categoryCode+"' feedDataJson='"+feedData+"' onclick='getRowWisePkValue(this.id)'><td><table cellspacing='0' cellpadding='0' " +
"style='border-bottom:1px solid #E8E8E8;' width='100%'><tr>" +
"<td width='2%' style='padding-left: 2px;'>"+category_image+"</td>" +
"<td><table cellspacing='0' cellpadding='0' width='100%'><tr><td>"+categoryDescr+"</td><td style='float:right; padding-right: 5px;'>"+ currCode+" "+amount + "</td></tr>"+
"<tr><td>"+expenseDescr+"</td><td style='float:right; padding-right: 5px;'>"+dispExpDate+"</td></tr></table>" +
"</td></tr></table></td></tr>");*/
}
/*listedBuffer.append("<tr height='32px' ><td style='padding-left: 2px;'>Total Amount <span style='float:right; padding-right: 5px;'>"+totalAmount+"</span></td></tr>");
listedBuffer.append("</table></div>");*/
rawJson.put("total_amount", totalAmount);
myList.add(rawJson);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
/*rowBuffer.append("</div>");
listedBuffer.append("</div>");
System.out.println("rowbuffer ======> "+rowBuffer);
System.out.println("listed buffer =========> " + listedBuffer);
rawJson.put("listedtodaystatus", listedBuffer.toString());
rawJson.put("plannedtodaystatus", "");
rawDataPlanDtlJson.put(count, rawJson);*/
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception in MyExpenseData.getCategoryCodes() " + 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 MyExpenseData.getCategoryCodes() " + d.getMessage());
throw new ITMException(d);
}
}
//return rawDataPlanDtlJson;
return myList;
}
public String getDateString(String dateCondition,SimpleDateFormat formatter ) {
Calendar cal = Calendar.getInstance();
if("firstDayOfWeek".equalsIgnoreCase(dateCondition)){
int currentDOW = cal.get(Calendar.DAY_OF_WEEK);
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);
}
System.out.println("formatter.format(cal.getTime(): "+formatter.format(cal.getTime()));
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.close();
rs=null;
pstmt.close();
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);
}
}
return strgCodeList;
}
private String checkNull(String input)
{
if (input == null)
{
input = "";
} else
{
input = input.trim();
}
return input;
}
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Local;
import org.json.simple.JSONObject;
@Local
public interface MyExpenseDataLocal extends ValidatorLocal
{
//public JSONObject getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode)throws RemoteException,ITMException;
public ArrayList getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode)throws RemoteException,ITMException;
public String getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode,String dummy)throws RemoteException,ITMException;
}
\ No newline at end of file
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import javax.ejb.Remote;
import org.json.simple.JSONObject;
@Remote
public interface MyExpenseDataRemote extends ValidatorRemote
{
//public JSONObject getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode)throws RemoteException,ITMException;
public ArrayList getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode)throws RemoteException,ITMException;
public String getCategoryCodes(String dataSourceName,String loginId,String salePersons,String fromDate,String toDate,String allowCode,String dummy)throws RemoteException,ITMException;
}
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