Commit 8201e6c0 authored by vpathare's avatar vpathare

changes in battery usage and edetailing report

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@183892 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 3a9db76a
......@@ -11,6 +11,7 @@ import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
......@@ -40,16 +41,28 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
ConnDriver connDriver = new ConnDriver();
try
{
conn = connDriver.getConnectDB(dataSourceName);
conn = connDriver.getConnectDB( dataSourceName );
connDriver = null;
sql="SELECT * from (SELECT M.EMP_FNAME||' '||M.EMP_LNAME AS report_to, "+
/*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)";
" 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)";*/
sql= " SELECT EMPLOYEE.HOBBY1 AS REGION,(SELECT EMP_FNAME ||' ' ||EMP_LNAME FROM EMPLOYEE WHERE EMP_CODE = SUPERVISOR.EMP_CODE ) AS SUPERVISOR_NAME," +
" (SELECT DESCR FROM STATION WHERE STAN_CODE = ABM.STAN_CODE__HQ ) AS ABM_HQ,(SELECT DESCR FROM STATION WHERE STAN_CODE = EMP.STAN_CODE__HQ ) AS ESI_HQ,"+
" SM.SALES_PERS as ESI_EMP_CODE, EMPLOYEE.DESIGNATION AS ESI_DSG, EMPLOYEE.EMP_FNAME ||' '||EMPLOYEE.EMP_LNAME AS MR_NAME, SM.EVENT_DATE AS EVENT_DATE," +
" SC.FIRST_NAME ||' ' || SC.MIDDLE_NAME ||' '|| SC.LAST_NAME AS CUSTOMER, CUSTYPE.SH_DESCR AS CUSTOMER_TYPE, SMB.BRAND_DESCR AS BRAND, '' AS CONTENT_NAME,"+
" SMB.USAGE_DETAIL_DATA AS DURATION_DATA, SC.ADDR1 ||' '|| SC.ADDR2 ||' '|| SC.ADDR3 ||', '|| SC.CITY AS ACTUAL_LOCATION, SM.GEO_POS_NAME AS REPORTED_LOCATION,"+
" SM.CHG_DATE AS REPORTED_DATE, SM.EVENT_TIME_END as REPORTED_TIME FROM EMPLOYEE EMPLOYEE LEFT OUTER JOIN ORG_STRUCTURE EMP ON EMPLOYEE.EMP_CODE = EMP.EMP_CODE"+
" LEFT OUTER JOIN ORG_STRUCTURE ABM ON EMP.POS_CODE__REPTO = ABM.POS_CODE LEFT OUTER JOIN ORG_STRUCTURE SUPERVISOR ON ABM.POS_CODE__REPTO = SUPERVISOR.POS_CODE ,"+
" STRG_MEET SM LEFT OUTER JOIN STRG_CUSTOMER SC ON SC.SC_CODE = SM.STRG_CODE,STRG_CUST_TYPE CUSTYPE, STRG_BRAND_PITCH SMB WHERE 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' AND EMPLOYEE.EMP_CODE = SM.SALES_PERS"+
" AND SM.STRG_TYPE = CUSTYPE.TYPE ORDER BY EVENT_DATE";
System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql );
......@@ -85,16 +98,39 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
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 event_date = checkNull(rs.getString( "event_date" ));
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("region", checkNull(rs.getString( "REGION" )));
jsonObject.put("supervisor_name", checkNull(rs.getString( "SUPERVISOR_NAME" )));
jsonObject.put("abm_HQ", checkNull(rs.getString( "ABM_HQ" )));
jsonObject.put("esi_HQ", checkNull(rs.getString( "ESI_HQ" )));
jsonObject.put("esi_emp_code", checkNull(rs.getString( "ESI_EMP_CODE" )));
jsonObject.put("esi_Dsg", checkNull(rs.getString( "ESI_DSG" )));
jsonObject.put("mr_name", checkNull(rs.getString( "MR_NAME" )));
jsonObject.put("customer_name", checkNull(rs.getString( "CUSTOMER" )));
jsonObject.put("customer_type", checkNull(rs.getString( "CUSTOMER_TYPE" )));
jsonObject.put("brand", checkNull(rs.getString( "BRAND" )));
jsonObject.put("actual_location", checkNull(rs.getString( "ACTUAL_LOCATION" )));
jsonObject.put("reported_location", checkNull(rs.getString( "REPORTED_LOCATION" )));
String reported_date= rs.getString( "REPORTED_DATE" );
Date reportedDate = dbFormat.parse( reported_date );
reported_date = applFormat.format( reportedDate );
jsonObject.put("reported_date", reported_date );
jsonObject.put("reported_time", checkNull(rs.getString( "REPORTED_TIME" )));
jsonObject.put("content_name", "" );
jsonObject.put("content_duration", 0 );
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;
String docName="";
if( duration_data.length() > 0 )
{
String totalTime ="";
......@@ -103,31 +139,46 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
{
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++ )
JSONArray jsonArray= null;
jsonArray = (JSONArray)new org.json.simple.parser.JSONParser().parse(duration_data);
int jsnArrSize =jsonArray.size();
for( int i=0; i< jsnArrSize;i++ )
{
JSONObject jsnObject = (JSONObject)json.get(i);
JSONObject jsnObject = (JSONObject)jsonArray.get(i);
// totalTime=(String)jsnObject.get("TOTAL_TIME");
totalTime = String.valueOf(jsnObject.get("TOTAL_TIME"));
docName = String.valueOf(jsnObject.get("DOC_NAME"));
System.out.println("totalTime["+totalTime+"]docName["+docName+"]");
if( i>0 )
{
JSONObject jsnObj = new JSONObject( jsonObject );
jsnArray.add( jsnObj );
}
System.out.println("totalTime["+totalTime+"]docName["+docName+"]");
if( totalTime.length()>0 )
{
totalMili += Integer.parseInt( totalTime );
totalMili =Integer.parseInt( totalTime );
System.out.println("totalMili["+totalMili+"]");
putTotalTimeInJsn( totalMili, jsonObject );
}
System.out.println("totalMili["+totalMili+"]");
jsonObject.put("content_name", docName );
}
}
if( duration_data.startsWith("{") )
{
JSONObject json= null;
json = (JSONObject)new org.json.simple.parser.JSONParser().parse(duration_data);
totalTime = (String)json.get("TOTAL_TIME");
totalTime = String.valueOf(json.get("TOTAL_TIME"));
docName = String.valueOf(json.get("DOC_NAME"));
System.out.println( "totalTime["+totalTime+"]" );
if( totalTime.length()>0 )
{
totalMili =Integer.parseInt( totalTime );
}
if( totalTime.length()>0 )
{
totalMili =Integer.parseInt( totalTime );
System.out.println("totalMili["+totalMili+"]");
putTotalTimeInJsn( totalMili, jsonObject );
}
jsonObject.put("content_name", docName );
}
System.out.println("totalMili["+totalMili+"]");
}
......@@ -136,33 +187,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
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+"]");
......@@ -185,7 +210,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception in EDetailingReportEJB["+e.getMessage()+"]");
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
......@@ -268,7 +293,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
}
return userIdSql.toString();
}
@SuppressWarnings("unchecked")
private JSONObject getResponseMessage(String successResponse, String status)
{
JSONObject respMessage = new JSONObject();
......@@ -284,4 +309,26 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
return respMessage;
}
@SuppressWarnings("unchecked")
private void putTotalTimeInJsn(long totalMili, JSONObject jsonObject )
{
double totalMinute = 0;
long minutes = (totalMili / 1000) / 60;
long seconds = (totalMili / 1000) % 60;
System.out.println("minutes["+minutes+"]seconds["+seconds+"]");
if( seconds != 0 )
{
String strTime = minutes+"."+seconds;
totalMinute = Double.parseDouble( strTime );
jsonObject.put( "content_duration", totalMinute );
}
else
{
jsonObject.put( "content_duration", minutes );
}
}
}
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