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; ...@@ -11,6 +11,7 @@ import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
...@@ -40,16 +41,28 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -40,16 +41,28 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
try try
{ {
conn = connDriver.getConnectDB(dataSourceName); conn = connDriver.getConnectDB( dataSourceName );
connDriver = null; 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 , "+ " 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,"+ " 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 ,"+ " (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"+ " smb.brand_descr as brand, smb.usage_detail_data as duration_data"+
" FROM EMPLOYEE EMP,EMPLOYEE M,STRG_MEET SM ,strg_brand_pitch smb"+ " 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"+ " 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+"]"); System.out.println("sql["+sql+"]");
pstmt = conn.prepareStatement( sql ); pstmt = conn.prepareStatement( sql );
...@@ -85,16 +98,39 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -85,16 +98,39 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
while( rs.next() ) while( rs.next() )
{ {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
String report_to = checkNull(rs.getString( "report_to" ));
String sales_pers = checkNull(rs.getString( "sales_pers" )); String event_date = checkNull(rs.getString( "event_date" ));
String Meet_COUNT = checkNull(rs.getString( "Meet_COUNT" )); SimpleDateFormat dbFormat = new SimpleDateFormat( genericUtility.getDBDateFormat() );
String HQ = checkNull(rs.getString( "HQ" )); Date eventDate = dbFormat.parse( event_date );
String event_DATE = checkNull(rs.getString( "event_DATE" )); event_date = applFormat.format( eventDate );
String brand = checkNull(rs.getString( "brand" )); 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" )); 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; long totalMili=0;
String docName="";
if( duration_data.length() > 0 ) if( duration_data.length() > 0 )
{ {
String totalTime =""; String totalTime ="";
...@@ -103,31 +139,46 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -103,31 +139,46 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
{ {
if( duration_data.startsWith("[") ) if( duration_data.startsWith("[") )
{ {
JSONArray json= null; JSONArray jsonArray= null;
json = (JSONArray)new org.json.simple.parser.JSONParser().parse(duration_data); jsonArray = (JSONArray)new org.json.simple.parser.JSONParser().parse(duration_data);
for( int i=0; i< json.size();i++ ) 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)jsnObject.get("TOTAL_TIME");
totalTime = String.valueOf(jsnObject.get("TOTAL_TIME")); totalTime = String.valueOf(jsnObject.get("TOTAL_TIME"));
if( totalTime.length()>0 ) docName = String.valueOf(jsnObject.get("DOC_NAME"));
System.out.println("totalTime["+totalTime+"]docName["+docName+"]");
if( i>0 )
{ {
totalMili += Integer.parseInt( totalTime ); JSONObject jsnObj = new JSONObject( jsonObject );
jsnArray.add( jsnObj );
} }
System.out.println("totalTime["+totalTime+"]docName["+docName+"]");
if( totalTime.length()>0 )
{
totalMili =Integer.parseInt( totalTime );
System.out.println("totalMili["+totalMili+"]"); System.out.println("totalMili["+totalMili+"]");
putTotalTimeInJsn( totalMili, jsonObject );
}
jsonObject.put("content_name", docName );
} }
} }
if( duration_data.startsWith("{") ) if( duration_data.startsWith("{") )
{ {
JSONObject json= null; JSONObject json= null;
json = (JSONObject)new org.json.simple.parser.JSONParser().parse(duration_data); 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+"]" ); System.out.println( "totalTime["+totalTime+"]" );
if( totalTime.length()>0 ) if( totalTime.length()>0 )
{ {
totalMili =Integer.parseInt( totalTime ); totalMili =Integer.parseInt( totalTime );
System.out.println("totalMili["+totalMili+"]");
putTotalTimeInJsn( totalMili, jsonObject );
} }
jsonObject.put("content_name", docName );
} }
System.out.println("totalMili["+totalMili+"]"); System.out.println("totalMili["+totalMili+"]");
} }
...@@ -136,33 +187,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -136,33 +187,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
System.out.println("Exception in json ["+e.getMessage()+"]"); 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 ); jsnArray.add(jsonObject );
} }
System.out.println("jsnArray["+jsnArray+"]"); System.out.println("jsnArray["+jsnArray+"]");
...@@ -185,7 +210,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -185,7 +210,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
} }
catch (Exception e) catch (Exception e)
{ {
e.printStackTrace(); System.out.println("Exception in EDetailingReportEJB["+e.getMessage()+"]");
JSONObject errMsgJson = new JSONObject(); JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") ); errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString(); return errMsgJson.toString();
...@@ -268,7 +293,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -268,7 +293,7 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
} }
return userIdSql.toString(); return userIdSql.toString();
} }
@SuppressWarnings("unchecked")
private JSONObject getResponseMessage(String successResponse, String status) private JSONObject getResponseMessage(String successResponse, String status)
{ {
JSONObject respMessage = new JSONObject(); JSONObject respMessage = new JSONObject();
...@@ -284,4 +309,26 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor ...@@ -284,4 +309,26 @@ public class EDetailingReportEJB extends ValidatorEJB implements EDetailingRepor
return respMessage; 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