Commit cdcc5468 authored by vpathare's avatar vpathare

1)Battery Usage report 2)Edetailing Report 3)Variance report related components

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@182536 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 79726269
package ibase.dashboard.sfa.ejb;
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.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 javax.ejb.Stateless;
@Stateless
public class BatteryUsageEJB extends ValidatorEJB implements BatteryUsageEJBLocal,BatteryUsageEJBRemote
{
@SuppressWarnings("unchecked")
@Override
public String getBatteryUsageData(String dataSourceName, String minBatteryStatus) throws RemoteException
{
System.out.println("dataSourceName["+dataSourceName+"]minBatteryStatus["+minBatteryStatus+"]");
// JSONObject batteryUsgDataJsn = new JSONObject();
JSONArray batteryUsgArrJsn = new JSONArray();
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
String sql="";
ConnDriver connDriver = new ConnDriver();
try
{
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
String dbName = CommonConstants.DB_NAME;
String sqlOpr = "trunc";
if( dbName.equalsIgnoreCase("db2"))
{
sqlOpr ="date";
}
sql = " select (emp.emp_fname || ' ' || emp.emp_lname) AS \"MR NAME\", A.LOGIN_BATTERY_STAT AS \"BATTERY %\""
+" from employee emp,logintrace A,users usr,"
+" (select rtrim(userid) as userid, min(LOGINTIME) as LOGINTIME from logintrace"
+" where trunc(LOGINTIME) =?"
+" and LOGIN_STATUS = 'T'"
+" and LOGIN_BATTERY_STAT is not null"
+" and login_battery_stat <?"
+" group by userid)B where A.userid= B.userid"
+" and A.LOGINTIME = B.LOGINTIME and B.userid = rtrim(usr.code)"
+" and usr.emp_code = emp.emp_code order by (emp.emp_fname || ' ' || emp.emp_lname)";
System.out.println("battery sql["+sql+"]");
pstmt = conn.prepareStatement( sql );
E12GenericUtility genericUtility = new E12GenericUtility();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String loginDate = sdf.format(new java.util.Date());
System.out.println("loginDate121["+loginDate+"]");
loginDate = genericUtility.getValidDateTimeString( loginDate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat());
System.out.println("loginDate["+loginDate+"]");
pstmt.setTimestamp(1, java.sql.Timestamp.valueOf( loginDate ));
System.out.println("111331");
if( checkNull(minBatteryStatus).length()>0 )
{
pstmt.setString(2, minBatteryStatus);
}
else
{
pstmt.setString(2, "100");
}
rs = pstmt.executeQuery();
System.out.println("122");
while( rs.next() )
{
JSONObject batteryUsgDataJsn = new JSONObject();
System.out.println("while rs");
String mrName = checkNull(rs.getString("MR NAME"));
int batteryPercent = rs.getInt("BATTERY %");
System.out.println("mrName["+mrName+"]");
System.out.println("batteryPercent["+batteryPercent+"]");
batteryUsgDataJsn.put("MR NAME", mrName);
batteryUsgDataJsn.put("BATTERY", batteryPercent);
batteryUsgArrJsn.add( batteryUsgDataJsn );
}
System.out.println("jsonObject1111131["+batteryUsgArrJsn+"]");
/*batteryUsgDataJsn = new JSONObject();
JSONObject newJson = new JSONObject();
newJson.put("MR NAME","vishal");
newJson.put("BATTERY %","3");
JSONObject newJson1 = new JSONObject();
newJson1.put("MR NAME","prasad");
newJson1.put("BATTERY %","4");
batteryUsgDataJsn.put("0", newJson);
batteryUsgDataJsn.put("1", newJson1);*/
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn!= null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
//throw new ITMException(e);
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
}
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 BatteryUsageEJB()" + d.getMessage());
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
//throw new ITMException(d);
}
}
return batteryUsgArrJsn.toString();
}
private String checkNull(String str)
{
if(str == null)
{
return "";
}
else
{
return str.trim() ;
}
}
private JSONObject getResponseMessage(String successResponse, String status)
{
JSONObject respMessage = new JSONObject();
try
{
respMessage.put("message", successResponse);
respMessage.put("status", status);
}
catch (Exception e)
{
e.printStackTrace();
}
return respMessage;
}
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
@Local
public interface BatteryUsageEJBLocal extends ValidatorLocal
{
public String getBatteryUsageData(String dataSourceName, String minBatteryStatus)throws RemoteException, ITMException;
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
@Remote
public interface BatteryUsageEJBRemote extends ValidatorRemote
{
public String getBatteryUsageData(String dataSourceName, String minBatteryStatus)throws RemoteException, ITMException;
}
package ibase.dashboard.sfa.ejb;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.ejb.Stateless;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@Stateless
public class EDetailingReportEJB extends ValidatorEJB implements EDetailingReportEJBLocal,EDetailingReportEJBRemote
{
@SuppressWarnings("unchecked")
@Override
public String getEDetailingData(String dataSourceName, String loginCode, String fromDate, String toDate, String teamArgs ) throws RemoteException
{
System.out.println("dataSourceName["+dataSourceName+"loginCode["+loginCode+"]fromDate["+fromDate+"[toDate"+toDate+"teamArgs["+teamArgs+"]");
JSONArray jsnArray = new JSONArray();
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
String sql="";
if( checkNull( teamArgs ).length()>0 )
{
loginCode = teamArgs;
}
ConnDriver connDriver = new ConnDriver();
try
{
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
sql="SELECT * from (SELECT M.EMP_FNAME||' '||M.EMP_LNAME AS report_to, "+
" EMP.EMP_FNAME||' '||EMP.EMP_LNAME AS sales_pers,(SELECT DESCR FROM STATION WHERE STAN_CODE=EMP.STAN_CODE__HQ ) AS HQ , "+
" SM.EVENT_DATE AS event_DATE,"+
" (SELECT COUNT(*) FROM STRG_MEET DC WHERE DC.EVENT_DATE=SM.EVENT_DATE AND DC.EVENT_TYPE=SM.EVENT_TYPE and dc.strg_type=sm.strg_type AND dc.SALEs_PERS=EMP.EMP_CODE) AS Meet_COUNT ,"+
" smb.brand_descr as brand, smb.usage_detail_data as duration_data"+
" FROM EMPLOYEE EMP,EMPLOYEE M,STRG_MEET SM ,strg_brand_pitch smb"+
" WHERE EMP.REPORT_TO=M.EMP_CODE and smb.tran_id=sm.tran_id and smb.sales_pers=sm.sales_pers and smb.work_date=sm.event_date"+
" AND EMP.EMP_CODE in"+getFormattedUserId( loginCode )+" AND SM.SALEs_PERS=EMP.EMP_CODE AND SM.EVENT_DATE>=? AND SM.EVENT_DATE<? AND SM.EVENT_TYPE='FW' and sm.strg_type='D' ORDER BY event_DATE)";
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql );
System.out.println("fromDate["+fromDate+"]");
System.out.println("toDate["+toDate+"]");
E12GenericUtility genericUtility = new E12GenericUtility();
SimpleDateFormat applFormat = new SimpleDateFormat( genericUtility.getApplDateFormat() );
Date applFrmDate = null;
Date applToDate = null;
if( checkNull(fromDate).length()>0 || checkNull(toDate).length()>0 )
{
applFrmDate = applFormat.parse(fromDate);
applToDate = applFormat.parse(toDate);
long millis = applToDate.getTime();
millis += 24 * 60 * 60 * 1000;
applToDate = new Date( millis );
System.out.println("applToDate+1["+applToDate+"]");
}
else
{
applFrmDate = applFormat.parse( applFormat.format(new java.util.Date() ));
applToDate = applFormat.parse( applFormat.format( new java.util.Date() ));
long millis = applToDate.getTime();
millis += 24 * 60 * 60 * 1000;
applToDate = new Date( millis );
System.out.println("applToDate+1["+applToDate+"]");
}
pstmt.setTimestamp(1, new java.sql.Timestamp( applFrmDate.getTime() ));
pstmt.setTimestamp(2, new java.sql.Timestamp( applToDate.getTime() ));
rs = pstmt.executeQuery();
while( rs.next() )
{
JSONObject jsonObject = new JSONObject();
String report_to = checkNull(rs.getString( "report_to" ));
String sales_pers = checkNull(rs.getString( "sales_pers" ));
String Meet_COUNT = checkNull(rs.getString( "Meet_COUNT" ));
String HQ = checkNull(rs.getString( "HQ" ));
String event_DATE = checkNull(rs.getString( "event_DATE" ));
String brand = checkNull(rs.getString( "brand" ));
String duration_data = checkNull(rs.getString( "duration_data" ));
System.out.println("report_to["+report_to+"]sales_pers["+sales_pers+"][Meet_COUNT"+Meet_COUNT+"]HQ["+HQ+"]event_DATE["+event_DATE+"]brand["+brand+"]\nduration_data["+duration_data+"]");
long totalMili=0;
if( duration_data.length() > 0 )
{
String totalTime ="";
duration_data = duration_data.trim();
try
{
if( duration_data.startsWith("[") )
{
JSONArray json= null;
json = (JSONArray)new org.json.simple.parser.JSONParser().parse(duration_data);
for( int i=0; i< json.size();i++ )
{
JSONObject jsnObject = (JSONObject)json.get(i);
totalTime=(String)jsnObject.get("TOTAL_TIME");
if( totalTime.length()>0 )
{
totalMili += Integer.parseInt( totalTime );
}
System.out.println("totalMili["+totalMili+"]");
}
}
if( duration_data.startsWith("{") )
{
JSONObject json= null;
json = (JSONObject)new org.json.simple.parser.JSONParser().parse(duration_data);
totalTime = (String)json.get("TOTAL_TIME");
System.out.println( "totalTime["+totalTime+"]" );
if( totalTime.length()>0 )
{
totalMili =Integer.parseInt( totalTime );
}
}
System.out.println("totalMili["+totalMili+"]");
}
catch (Exception e)
{
System.out.println("Exception in json ["+e.getMessage()+"]");
}
}
double totalMinute = 0;
long minutes = (totalMili / 1000) / 60;
long seconds = (totalMili / 1000) % 60;
System.out.println("minutes["+minutes+"]seconds["+seconds+"]");
jsonObject.put( "report_to", report_to );
jsonObject.put( "sales_pers",sales_pers );
jsonObject.put( "meet_count", Meet_COUNT );
jsonObject.put( "hq", HQ );
SimpleDateFormat dbFormat = new SimpleDateFormat( genericUtility.getDBDateFormat() );
Date eventDate = dbFormat.parse( event_DATE );
event_DATE = applFormat.format( eventDate );
jsonObject.put( "event_date", event_DATE );
jsonObject.put( "brand", brand );
if( seconds != 0 )
{
String strTime = minutes+"."+seconds;
totalMinute = Double.parseDouble( strTime );
jsonObject.put( "duration", totalMinute );
}
else
{
jsonObject.put( "duration", minutes );
}
jsnArray.add(jsonObject );
}
System.out.println("jsnArray["+jsnArray+"]");
if (rs!= null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
//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 BatteryUsageEJB()" + d.getMessage());
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
//throw new ITMException(d);
}
}
return jsnArray.toString();
}
private String checkNull(String str)
{
if( str == null || str.equalsIgnoreCase("ull") )
{
return "";
}
else
{
return str.trim() ;
}
}
public static String getFormattedUserId( String userId )
{
StringBuffer userIdSql = new StringBuffer();
try
{
System.out.println("@@@ getFormattedProfileId userId:::["+userId+"]");
if( userId.contains(",") )
{
userIdSql.append("(");
String[] pArr = userId.split(",");
for( int i = 0; i < pArr.length; i++ )
{
if( i == pArr.length - 1 )
{
userIdSql.append("'"+pArr[i]+"'");
}
else
{
userIdSql.append("'"+pArr[i]+"',");
}
}
userIdSql.append(")");
}
else
{
userIdSql.append("('"+userId+"')");
}
System.out.println("@@@ getFormattedProfileId profileIdSql:::["+userIdSql.toString()+"]");
}
catch( Exception e )
{
System.out.println("Exception : [E12GenericUtility][getFormattedProfileId] :==>\n"+e.getMessage());
e.printStackTrace();
}
return userIdSql.toString();
}
private JSONObject getResponseMessage(String successResponse, String status)
{
JSONObject respMessage = new JSONObject();
try
{
respMessage.put("message", successResponse);
respMessage.put("status", status);
}
catch (Exception e)
{
e.printStackTrace();
}
return respMessage;
}
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
@Local
public interface EDetailingReportEJBLocal extends ValidatorLocal
{
public String getEDetailingData(String dataSourceName, String userId, String fromDate, String toDate, String teamArgs) throws RemoteException,ITMException;
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
@Remote
public interface EDetailingReportEJBRemote extends ValidatorRemote
{
public String getEDetailingData(String dataSourceName, String userId, String fromDate, String toDate, String teamArgs) throws RemoteException,ITMException;
}
package ibase.dashboard.sfa.ejb;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.ejb.Stateless;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
@Stateless
public class VarianceReportMR extends ValidatorEJB implements VarianceReportMRLocal,VarianceReportMRRemote
{
public VarianceReportMR()
{
}
@Override
public String getVarianceReportOnGeoPos(String loginCode, String dataSourceName, String fromDateStr, String toDateStr, String dist, String profileId)throws RemoteException, ITMException
{
JSONArray returnJsonArr = new JSONArray();
System.out.println("In getVarianceReportOnGeoPos loginCode["+loginCode+"] dataSourceName["+dataSourceName+"] fromDateStr["+fromDateStr+"] toDateStr["+toDateStr+"] dist["+dist+"] profileId["+profileId+"]");
Connection mConnection = null;
PreparedStatement mStatement = null;
ResultSet mResultSet = null;
ConnDriver connDriver = new ConnDriver();
E12GenericUtility e12genericUtil = new E12GenericUtility();
try
{
if( "".equals( E12GenericUtility.checkNull(dist) ) )
{
dist = "500";
}
SimpleDateFormat dateFormat = new SimpleDateFormat(e12genericUtil.getApplDateFormat());
Date date = new Date();
if( "".equals( E12GenericUtility.checkNull(fromDateStr) ) )
{
// Calendar c = Calendar.getInstance();
// c.set(Calendar.DAY_OF_MONTH, 1);
fromDateStr = dateFormat.format(date);
System.out.println("fromDateStr:::["+fromDateStr+"]");
}
if( "".equals( E12GenericUtility.checkNull(toDateStr) ) )
{
toDateStr = dateFormat.format(date);
System.out.println("toDateStr:::["+toDateStr+"]");
}
if(mConnection == null)
{
mConnection = connDriver.getConnectDB( dataSourceName );
}
fromDateStr = e12genericUtil.getValidDateString(fromDateStr, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
toDateStr = e12genericUtil.getValidDateString(toDateStr, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
System.out.println("fromDateStr["+fromDateStr+"] toDateStr["+toDateStr+"]");
String query = ""; //$NON-NLS-1$
if( "ADMIN".equalsIgnoreCase( profileId.trim() ) )
{
query = "select s.tran_id, s.event_date, s.event_type, sr.station_type, s.strg_code, s.strg_name, s.sales_pers, c.addr1 || ' ' || c.addr2 || ' ' || c.addr3 || ', ' || city as Address, c.geo_pos, s.chg_geopos "+
"from strg_meet s left join strg_customer c on s.strg_code=c.sc_code, sprs_route sr "+
"where s.event_date between ? and ? and s.event_type='FW' and s.locality_code=sr.locality_code and s.sales_pers=sr.sprs_code order by s.event_date";
mStatement = mConnection.prepareStatement(query);
mStatement.setDate(1, java.sql.Date.valueOf(fromDateStr) );
mStatement.setDate(2, java.sql.Date.valueOf(toDateStr) );
}
else
{
query = "select code from users where report_to = ?";
mStatement = mConnection.prepareStatement(query);
mStatement.setString(1,loginCode);
mResultSet = mStatement.executeQuery();
ArrayList<String> subordinateUsers = new ArrayList<String>();
while(mResultSet.next())
{
subordinateUsers.add( mResultSet.getString(1) );
}
if(mStatement!=null)
{
mStatement=null;
}
if(mResultSet!=null)
{
mResultSet = null;
}
if( subordinateUsers != null && !subordinateUsers.isEmpty() )
{
System.out.println("subordinateUsers:::["+subordinateUsers+"]");
query = "select s.tran_id, s.event_date, s.event_type, sr.station_type, s.strg_code, s.strg_name, s.sales_pers, c.addr1 || ' ' || c.addr2 || ' ' || c.addr3 || ', ' || city as Address, c.geo_pos, s.chg_geopos "+
"from strg_meet s left join strg_customer c on s.strg_code=c.sc_code, sprs_route sr "+
"where s.event_date between ? and ? and s.sales_pers IN ";
String queryIN = "(";
for( int i = 0; i < subordinateUsers.size(); i++)
{
if( i == subordinateUsers.size() -1 )
{
queryIN += "'"+ subordinateUsers.get(i) +"'";
}
else
{
queryIN += "'"+ subordinateUsers.get(i) +"',";
}
}
queryIN += ")";
query += queryIN + " and s.event_type='FW' and s.locality_code=sr.locality_code and s.sales_pers=sr.sprs_code order by s.event_date";
mStatement = mConnection.prepareStatement(query);
mStatement.setDate(1, java.sql.Date.valueOf(fromDateStr) );
mStatement.setDate(2, java.sql.Date.valueOf(toDateStr) );
}
}
mResultSet = mStatement.executeQuery();
ResultSetMetaData rsmd = mResultSet.getMetaData();
int colCount = rsmd.getColumnCount();
while (mResultSet.next())
{
String geo_pos = "";
String chg_geopos = "";
JSONObject rowDataVar = new JSONObject();
for (int i = 1; i <= colCount; i++)
{
String columnName = rsmd.getColumnName(i);
System.out.println("columnName in loop:::"+columnName);
String value = E12GenericUtility.checkNull(mResultSet.getString(i));
System.out.println("Value in loop:::"+value);
if( "GEO_POS".equalsIgnoreCase( columnName ) )
{
geo_pos = value;
}
if( "CHG_GEOPOS".equalsIgnoreCase( columnName ) )
{
chg_geopos = value;
}
rowDataVar.put(columnName, value);
}
if( geo_pos.trim().length() > 0 && chg_geopos.trim().length() > 0 )
{
double lat1 = Double.parseDouble( geo_pos.split(",")[0] );
double lng1 = Double.parseDouble( geo_pos.split(",")[1] );
double lat2 = Double.parseDouble( chg_geopos.split(",")[0] );
double lng2 = Double.parseDouble( chg_geopos.split(",")[1] );
if( getLatLngInMtr( lat1, lng1, lat2, lng2 ) > Double.parseDouble( dist ) )
{
returnJsonArr.add(rowDataVar);
}
}
}
if(mStatement!=null)
{
mStatement.close();
mStatement=null;
}
if(mResultSet!=null)
{
mResultSet.close();
mResultSet = null;
}
if(mConnection!= null && !mConnection.isClosed())
{
mConnection.close();
mConnection = null;
}
}
catch ( Exception e)
{
System.out.println("Exception in VarianceReportMR.getVarianceReportOnGeoPos():["+e.getMessage()+"]");
e.printStackTrace();
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
//throw new ITMException(e);
}
finally
{
try
{
if(mStatement!=null)
{
mStatement.close();
mStatement=null;
}
if(mResultSet!=null)
{
mResultSet.close();
mResultSet = null;
}
if(mConnection!= null && !mConnection.isClosed())
{
mConnection.close();
mConnection = null;
}
}
catch(SQLException se)
{
System.out.println("DeviationReportEJB.getCustomerVariationReport.finally["+se.getMessage()+"]");
se.printStackTrace();
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
}
}
System.out.println("returnJsonArr:::["+returnJsonArr+"]");
return returnJsonArr.toString();
}
private double getLatLngInMtr( double lat1, double lon1, double lat2, double lon2 )
{
double R = 6371; // Radius of the earth in km
double dLat = deg2rad(lat2-lat1); // deg2rad below
double dLon = deg2rad(lon2-lon1);
double a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
double d = R * c; // Distance in km
System.out.println("In getAddress()...distanceinMtrs:::"+d*1000);
return d*1000;
}
private double deg2rad( double deg )
{
return deg * (Math.PI/180);
}
private JSONObject getResponseMessage(String successResponse, String status)
{
JSONObject respMessage = new JSONObject();
try
{
respMessage.put("message", successResponse);
respMessage.put("status", status);
}
catch (Exception e)
{
e.printStackTrace();
}
return respMessage;
}
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
@Local
public abstract interface VarianceReportMRLocal extends ValidatorLocal
{
public String getVarianceReportOnGeoPos(String loginCode,String dataSourceName,String fromDate,String toDate, String dist, String profileId)throws RemoteException, ITMException;
}
package ibase.dashboard.sfa.ejb;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
@Remote
public abstract interface VarianceReportMRRemote extends ValidatorRemote
{
public String getVarianceReportOnGeoPos(String loginCode,String dataSourceName,String fromDate,String toDate, String dist, String profileId)throws RemoteException, ITMException;
}
package ibase.dashboard.sfa.servlet;
import ibase.dashboard.sfa.ejb.BatteryUsageEJBRemote;
import ibase.dashboard.sfa.ejb.EDetailingReportEJBRemote;
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 BatteryUsageServlet 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
{
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "",fromDate = "",salePersons = "", toDate = "";
HttpSession session = 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();
String minBatteryStatus = request.getParameter("MinBatteryStatus");
System.out.println("loginId["+loginId+"minBatteryStatus[ "+minBatteryStatus);
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
BatteryUsageEJBRemote batteryUsageEJBRemote = (BatteryUsageEJBRemote) context.lookup("ibase/BatteryUsageEJB/remote");
String jsonObjData = (String) batteryUsageEJBRemote.getBatteryUsageData(dataSourceName, minBatteryStatus);
System.out.println(" Final data set for BatteryUsageEJB build the Graph is===" + jsonObjData);
outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
}
catch (Exception e)
{
System.out.println("Exception : BatteryUsageServlet :doPost(HttpServletRequest request, HttpServletResponse response) :"+ e);
try
{
throw new ITMException(e);
}
catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
package ibase.dashboard.sfa.servlet;
import ibase.dashboard.sfa.ejb.EDetailingReportEJBRemote;
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;
public class EDetailingServlet 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
{
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "",fromDate = "", toDate = "";
HttpSession session = 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();
fromDate = request.getParameter("from_date");
toDate = request.getParameter("to_date");
String teamArgs = request.getParameter("my_team");
System.out.println("loginId = "+loginId+"fromDate = "+fromDate+"toDate = "+toDate+"teamArgs = "+teamArgs);
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
EDetailingReportEJBRemote eDetailingReportEJBRemote = (EDetailingReportEJBRemote) context.lookup("ibase/EDetailingReportEJB/remote");
String jsonObjData = (String) eDetailingReportEJBRemote. getEDetailingData( dataSourceName, loginId, fromDate, toDate, teamArgs );
System.out.println(" Final data set for EDetailingServlet build the Graph is===" + jsonObjData);
outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
}
catch (Exception e)
{
System.out.println("Exception : EDetailingServlet :doPost(HttpServletRequest request, HttpServletResponse response) :"+ e);
try
{
throw new ITMException(e);
}
catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
package ibase.dashboard.sfa.servlet;
import ibase.dashboard.sfa.ejb.VarianceReportMRLocal;
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;
public class MeetVarianceServlet 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
{
VarianceReportMRLocal meetVarianceLocal = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginCode = "";
HttpSession session = null;
String jsonObjData = "";
OutputStream outputStream = null;
UserInfoBean userInfo = null;
String toDate = "";
String fromDate = "";
String dist = "";
String profileId = "";
try
{
response.setContentType("application/xml");
session = request.getSession(true);
userInfo = (UserInfoBean) session.getAttribute("USER_INFO");
loginCode = userInfo.getLoginCode();
profileId = userInfo.getProfileId();
dataSourceName= request.getParameter("dataSourceName");
fromDate = request.getParameter("from_date");
toDate = request.getParameter("to_date");
dist = request.getParameter("min_distance");
context = new InitialContext(appConnectParm.getProperty());
meetVarianceLocal = (VarianceReportMRLocal) context.lookup("ibase/VarianceReportMR/local");
jsonObjData = (String) meetVarianceLocal.getVarianceReportOnGeoPos(loginCode,dataSourceName,fromDate,toDate,dist,profileId);
outputStream = response.getOutputStream();
outputStream.write(jsonObjData.getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set in MeetVarianceServlet build the Graph ="+ jsonObjData);
}
catch (Exception e)
{
System.out.println("Exception : MeetVarianceServlet :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