Commit dd679e94 authored by pborate's avatar pborate

Updated account activity dao.

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@179458 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 2c678b2f
......@@ -5,6 +5,7 @@ import java.io.FileFilter;
import java.io.IOException;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.security.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
......@@ -46,10 +47,25 @@ public class AccountActivityDao
System.out.println("getUserActivityData>>>");
profileId=profileId.trim();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYYMMdd");
String today = LocalDate.now().format(formatter);
System.out.println("today date ["+today+"]");
/* FOR MIN MAX LOGIN TIME , LOGOUT TIME AND BATTERY STATUS
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd-MM-YY");
String today1 = LocalDate.now().format(formatter1);
System.out.println("today1 date ["+today1+"]");
List<Object[]> minMaxTimeList= getMinMaxTime(today1);
System.out.println("minMaxTimeList::::::: ["+minMaxTimeList+"]");
List<Object[]> batteryStatus = getBatteryStatus(today1);
System.out.println("batteryStatus::::::: ["+batteryStatus+"]");
*/
if( "ADMIN".equalsIgnoreCase(profileId) || "ADM".equalsIgnoreCase(profileId) )
{
List<JSONObject> fileDataList= getUserActivityFileData(null, "", "");
List<JSONObject> fileDataList= getUserActivityFileData(null,today);
System.out.println("getUserActivityData>>>"+ fileDataList);
for(JSONObject fileDataObj : fileDataList )
{
......@@ -69,7 +85,7 @@ public class AccountActivityDao
{
List<String> userDataList = getUserDetails(loginCode,profileId);
List<JSONObject> fileDataList= getUserActivityFileData(userDataList, "", "");
List<JSONObject> fileDataList= getUserActivityFileData(userDataList, today);
JSONObject selfActivityData = null;
JSONArray teamActivityData = new JSONArray();
......@@ -91,6 +107,7 @@ public class AccountActivityDao
JSONObject teamMemberActivityData = createActivityData(userId, fileContents);
teamActivityData.put(teamMemberActivityData);
}
System.out.println("selfActivityData::::::::: ["+selfActivityData+"]");
}
if(fileDataList != null && fileDataList.size() > 0 )
{
......@@ -331,6 +348,7 @@ public class AccountActivityDao
return activityData;
}
/*
private ActivityTime calcTotalTime(JSONArray prevArray) throws JSONException
{
ActivityTime firstTime = null;
......@@ -366,6 +384,32 @@ public class AccountActivityDao
return firstTime;
}
*/
private ActivityTime calcTotalTime(JSONArray prevArray) throws JSONException
{
String startTime, endTime="";
ActivityTime actTime = new ActivityTime();
System.out.println("Inside calcTotalTime");
int len = prevArray.length();
if( len > 0 )
{
JSONObject jsonObjectStart = prevArray.getJSONObject(0);
startTime = jsonObjectStart.getString("ACCESS_START_TIME");
JSONObject jsonObjectEnd = prevArray.getJSONObject( len - 1 );
endTime = jsonObjectEnd.optString("ACCESS_END_TIME");
System.out.println("ACCESS_START_TIME>>"+startTime);
System.out.println("ACCESS_END_TIME>>"+endTime);
actTime = new ActivityTime(startTime, endTime);
}
System.out.println( "ActivityTime calcTotalTime >> " + actTime );
return actTime;
}
public JSONObject processSessionIds(String userCode, NodeList activitySessIdNL) throws JSONException
{
......@@ -558,6 +602,90 @@ public class AccountActivityDao
return userDetailList;
}
public List<Object[]> getMinMaxTime(String today)
{
List<Object[]> minMaxTimeList = null;
try
{
// 1. Get Session object
System.out.println("Inside getUserDetails userId: [" + today + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace"
+ " where to_char(LOGINTIME,'dd-MM-yy') = '"+today+"'"
+ " and LOGIN_STATUS = 'T'"
+ " group by userid");
System.out.println("query result>>>>>"+query);
minMaxTimeList= (List<Object[]>)query.list();
for(Object[] minMaxTime: minMaxTimeList){
String id = (String)minMaxTime[0];
Date loginTime = (Date) minMaxTime[1];
Date logoutTime = (Date) minMaxTime[2];
System.out.println("minMaxTimeList query result:::::::"+minMaxTimeList.size());
System.out.println("minMaxTimeList query id::::::: ["+id+"] loginTime ["+loginTime+"] logoutTime ["+logoutTime+"]");
}
session.close();
}
catch (HibernateException e)
{
System.out.println("HibernateException :");
System.out.println(e.getMessage());
}
System.out.println("minMaxTimeList >>>>>>>>>"+minMaxTimeList.toString());
return minMaxTimeList;
}
public List<Object[]> getBatteryStatus(String today)
{
List<Object[]> batteryStatusList = null;
try
{
// 1. Get Session object
System.out.println("Inside getUserDetails userId: [" + today + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select A.userid, to_char(A.LOGINTIME,'dd-MM-yy hh24:mi:ss') IN_TIME, "
+ " to_char(A.LOGOUTTIME,'dd-MM-yy hh24:mi:ss') OUT_TIME, "
+ " A.LOGIN_BATTERY_STAT, "
+ " A.LOGOUT_BATTERY_STAT"
+ " from logintrace A,"
+ " ("
+ " select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace"
+ " where to_char(LOGINTIME,'dd-MM-yy') = '"+today+"'"
+ " and LOGIN_BATTERY_STAT is not null "
+ " and LOGOUT_BATTERY_STAT is not null"
+ " group by userid"
+ " )B"
+ " where A.userid= B.userid"
+ " and ( A.LOGINTIME = B.LOGINTIME"
+ " or A.LOGOUTTIME = B.LOGOUTTIME )"
+ " order by A.userid, A.LOGINTIME"
+ "");
batteryStatusList= (List<Object[]>)query.list();
for(Object[] batteryStatus: batteryStatusList){
String id = (String)batteryStatus[0];
String loginTime = (String) batteryStatus[1];
System.out.println("batteryStatusList query result:::::::"+batteryStatusList.size()+"] userid ["+id);
System.out.println("batteryStatusList query result ID ["+id+"] loginTime ["+loginTime+"]");
}
session.close();
}
catch (HibernateException e)
{
System.out.println("HibernateException :");
System.out.println(e.getMessage());
}
System.out.println("batteryStatusList >>>>>>>>>"+batteryStatusList.toString());
return batteryStatusList;
}
public JSONArray processActivityAction(Node activityChildNode, JSONArray eventArray) throws JSONException
{
if( activityChildNode != null )
......@@ -615,12 +743,10 @@ public class AccountActivityDao
return eventObj;
}
public List<JSONObject> getUserActivityFileData(List<String> users, String fromDate, String toDate) throws IOException, JSONException
// public List<JSONObject> getUserActivityFileData(List<String> users, String fromDate, String toDate) throws IOException, JSONException
// {
public List<JSONObject> getUserActivityFileData(List<String> users, String today) throws IOException, JSONException
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYYMMdd");
String today = LocalDate.now().format(formatter);
List<JSONObject> filesArrayList = new ArrayList<JSONObject>();
String jbossPath=CommonConstants.JBOSSHOME;
System.out.println("CommonConstants.JBOSSHOME ["+CommonConstants.JBOSSHOME+"]");
......@@ -631,7 +757,7 @@ public class AccountActivityDao
File[] userActivityFiles = userActivityFolder.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".txt");
return pathname.getName().endsWith(today+".txt");
}
});
......
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