Commit bf76c16a authored by pborate's avatar pborate

Updated account activity dao.

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@179606 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 6c5e47ca
......@@ -12,6 +12,7 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
......@@ -51,22 +52,24 @@ public class AccountActivityDao
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+"]");
String todayFormat = LocalDate.now().format(formatter1);
System.out.println("today1 date ["+todayFormat+"]");
List<Object[]> minMaxTimeList= getMinMaxTime(today1);
/* FOR MIN MAX LOGIN TIME , LOGOUT TIME AND BATTERY STATUS
List<Object[]> minMaxTimeList= getMinMaxTime(todayFormat);
System.out.println("minMaxTimeList::::::: ["+minMaxTimeList+"]");
List<Object[]> batteryStatus = getBatteryStatus(today1);
List<Object[]> batteryStatus = getBatteryStatus(todayFormat);
System.out.println("batteryStatus::::::: ["+batteryStatus+"]");
*/
if( "ADMIN".equalsIgnoreCase(profileId) || "ADM".equalsIgnoreCase(profileId) )
{
List<JSONObject> fileDataList= getUserActivityFileData(null,today);
System.out.println("getUserActivityData>>>"+ fileDataList);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat,null);
for(JSONObject fileDataObj : fileDataList )
{
String userId = fileDataObj.optString("userId");
......@@ -75,6 +78,7 @@ public class AccountActivityDao
System.out.println("fileName::::::::: ["+userId+"]["+activityDate+"]");
JSONObject activityData = createActivityData(userId, fileContents);
activityData = updateMinMaxTime(activityData, minMaxTimeList.get(userId)) ;
activityDataFinal.put(activityData);
}
......@@ -84,6 +88,11 @@ public class AccountActivityDao
else
{
List<String> userDataList = getUserDetails(loginCode,profileId);
System.out.println("userDataList AFTER>>>"+userDataList);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat,userDataList);
System.out.println("minMaxTimeList AFTER>>>"+minMaxTimeList);
List<JSONObject> fileDataList= getUserActivityFileData(userDataList, today);
......@@ -101,10 +110,12 @@ public class AccountActivityDao
if( userId.equalsIgnoreCase(loginCode) )
{
selfActivityData = createActivityData(userId, fileContents);
selfActivityData = updateMinMaxTime(selfActivityData, minMaxTimeList.get(loginCode)) ;
}
else
{
JSONObject teamMemberActivityData = createActivityData(userId, fileContents);
teamMemberActivityData = updateMinMaxTime(teamMemberActivityData, minMaxTimeList.get(loginCode)) ;
teamActivityData.put(teamMemberActivityData);
}
System.out.println("selfActivityData::::::::: ["+selfActivityData+"]");
......@@ -114,6 +125,7 @@ public class AccountActivityDao
if( selfActivityData == null )
{
selfActivityData = getUserDetail(new JSONObject(), loginCode);
selfActivityData = updateMinMaxTime(selfActivityData, minMaxTimeList.get(loginCode)) ;
}
if(teamActivityData.length()>0){
selfActivityData.put("TEAM", teamActivityData);
......@@ -142,15 +154,32 @@ public class AccountActivityDao
return activityDataFinal;
}
private JSONObject updateMinMaxTime(JSONObject activityData, JSONObject minMaxTimeObj) throws JSONException
{
if(minMaxTimeObj != null)
{
activityData.put("LOGIN_TIME", minMaxTimeObj.opt("loginTime"));
activityData.put("LOGOUT_TIME", minMaxTimeObj.opt("logoutTime"));
System.out.println("minMaxTimeList query result:::::::"+minMaxTimeObj);
}
return activityData;
}
private JSONObject getUserDetail(JSONObject activityData, String userCode) throws JSONException
{
List<Employee> employeeDataList = getUserDesignation(userCode);
for( Employee employee : employeeDataList )
Employee employee= getEmployeeDetail(userCode);
if( employee != null )
{
activityData.put("NAME", employee.getEmpFname());
activityData.put("DESIGNATION", employee.getDesignation());
activityData.put("USER_ID", userCode);
}
// if(minMaxTimeObj != null)
// {
// activityData.put("LOGIN_TIME", minMaxTimeObj.opt("loginTime"));
// activityData.put("LOGOUT_TIME", minMaxTimeObj.opt("logoutTime"));
// System.out.println("minMaxTimeList query result:::::::"+minMaxTimeObj);
// }
return activityData;
}
......@@ -524,10 +553,10 @@ public class AccountActivityDao
return loginTraceList;
}
private List<Employee> getUserDesignation(String userCode)
private Employee getEmployeeDetail(String userCode)
{
System.out.println("Inside getUserDesignation");
List<Employee> employeeDataList = null;
Employee employee = null;
Employee result = new Employee();
try {
// 1. Get Session object
......@@ -546,9 +575,12 @@ public class AccountActivityDao
System.out.println("Inside getLogDetails query: [" + query + "]");
employeeDataList = query.getResultList();
List<Employee> employeeDataList = query.getResultList();
System.out.println("getLogDetails: loginTraceList [" + employeeDataList + "]");
if( employeeDataList != null && employeeDataList.size() > 0 )
{
employee = employeeDataList.get(0);
}
session.close();
} catch (HibernateException e) {
......@@ -556,7 +588,7 @@ public class AccountActivityDao
System.out.println(e.getMessage());
}
return employeeDataList;
return employee;
}
public List<String> getUserDetails(String userId, String profileId)
......@@ -602,13 +634,18 @@ public class AccountActivityDao
return userDetailList;
}
public List<Object[]> getMinMaxTime(String today)
public HashMap<String, JSONObject> getMinMaxTime(String today, List<String> userDataList )
{
List<Object[]> minMaxTimeList = null;
HashMap<String, JSONObject> minMaxTimeMap = new HashMap<String, JSONObject>();
try
{
// 1. Get Session object
String whereClausePart = "";
if(userDataList != null)
{
String userList = getEnclosedString(userDataList);
whereClausePart = " and userid in("+ userList +")";
}
System.out.println("Inside getUserDetails userId: [" + today + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
......@@ -616,15 +653,21 @@ public class AccountActivityDao
+ " from logintrace"
+ " where to_char(LOGINTIME,'dd-MM-yy') = '"+today+"'"
+ " and LOGIN_STATUS = 'T'"
+ whereClausePart
+ " group by userid");
System.out.println("query result>>>>>"+query);
minMaxTimeList= (List<Object[]>)query.list();
List<Object[]> minMaxTimeList= (List<Object[]>)query.list();
for(Object[] minMaxTime: minMaxTimeList){
String id = (String)minMaxTime[0];
String userId = (String)minMaxTime[0];
Date loginTime = (Date) minMaxTime[1];
Date logoutTime = (Date) minMaxTime[2];
JSONObject jsonObject = new JSONObject();
jsonObject.put("loginTime", loginTime);
jsonObject.put("logoutTime", logoutTime);
minMaxTimeMap.put(userId, jsonObject);
System.out.println("minMaxTimeList query result:::::::"+minMaxTimeList.size());
System.out.println("minMaxTimeList query id::::::: ["+id+"] loginTime ["+loginTime+"] logoutTime ["+logoutTime+"]");
System.out.println("minMaxTimeList query id::::::: ["+userId+"] jsonObject ["+jsonObject+"]");
}
session.close();
}
......@@ -632,9 +675,12 @@ public class AccountActivityDao
{
System.out.println("HibernateException :");
System.out.println(e.getMessage());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("minMaxTimeList >>>>>>>>>"+minMaxTimeList.toString());
return minMaxTimeList;
System.out.println("minMaxTimeMap >>>>>>>>>"+minMaxTimeMap);
return minMaxTimeMap;
}
public List<Object[]> getBatteryStatus(String today)
......@@ -751,7 +797,7 @@ public class AccountActivityDao
String jbossPath=CommonConstants.JBOSSHOME;
System.out.println("CommonConstants.JBOSSHOME ["+CommonConstants.JBOSSHOME+"]");
File userActivityFolder = new File(jbossPath+"/server/default/UserActivity");
System.out.println("userActivityFolder ["+userActivityFolder+"]");
System.out.println("userActivityFolder ["+userActivityFolder+"] Users "+users+"]");
if( userActivityFolder.isDirectory() )
{
File[] userActivityFiles = userActivityFolder.listFiles(new FileFilter() {
......@@ -797,6 +843,28 @@ public class AccountActivityDao
return filesArrayList;
}
private String getEnclosedString(List<String> docIdList)
{
StringBuffer buffer = new StringBuffer();
int len = 0;
for(String docId : docIdList)
{
buffer.append("'").append(docId.trim()).append("'");
len++;
if( len < docIdList.size() )
{
buffer.append(",");
}
}
if( buffer.length() == 0 )
{
buffer.append("''");
}
System.out.println("Inside getEnclosedString buffer: [" + buffer +"]");
return buffer.toString();
}
/*
private JSONArray processData(JSONArray activityDataFinal)
{
......
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