Commit b6b2ebb4 authored by pborate's avatar pborate

Updated account activity dao

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@179758 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 0b462335
......@@ -13,13 +13,17 @@ import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Set;
import org.apache.commons.io.FileUtils;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.hql.ast.origin.hql.parse.HQLParser.new_key_return;
import org.hibernate.hql.ast.origin.hql.parse.HQLParser.set_key_return;
import org.hibernate.query.Query;
import org.json.JSONArray;
import org.json.JSONException;
......@@ -55,12 +59,11 @@ public class AccountActivityDao
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd-MM-YY");
String todayFormat = LocalDate.now().format(formatter1);
System.out.println("today1 date ["+todayFormat+"]");
/* FOR MIN MAX LOGIN TIME , LOGOUT TIME AND BATTERY STATUS
List<Object[]> minMaxTimeList= getMinMaxTime(todayFormat);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat);
System.out.println("minMaxTimeList::::::: ["+minMaxTimeList+"]");
List<Object[]> batteryStatus = getBatteryStatus(todayFormat);
HashMap<String, JSONObject> batteryStatus = getBatteryStatus(todayFormat);
System.out.println("batteryStatus::::::: ["+batteryStatus+"]");
*/
if( "ADMIN".equalsIgnoreCase(profileId) || "ADM".equalsIgnoreCase(profileId) )
......@@ -69,7 +72,9 @@ public class AccountActivityDao
System.out.println("getUserActivityData>>>"+ fileDataList);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat,null);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(todayFormat);
for(JSONObject fileDataObj : fileDataList )
{
String userId = fileDataObj.optString("userId");
......@@ -79,9 +84,10 @@ public class AccountActivityDao
JSONObject activityData = createActivityData(userId, fileContents);
activityData = updateMinMaxTime(activityData, minMaxTimeList.get(userId)) ;
activityData = checkUserForBatteryStatus(activityData, minMaxBatteryStatus,userId) ;
activityDataFinal.put(activityData);
}
activityDataFinal = prepareAllUsersData(activityDataFinal);
}
......@@ -91,9 +97,13 @@ public class AccountActivityDao
System.out.println("userDataList AFTER>>>"+userDataList);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat,userDataList);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(todayFormat);
System.out.println("minMaxTimeList AFTER>>>"+minMaxTimeList);
System.out.println("minMaxBatteryStatus >>>>>"+minMaxBatteryStatus);
List<JSONObject> fileDataList= getUserActivityFileData(userDataList, today);
JSONObject selfActivityData = null;
......@@ -110,12 +120,16 @@ public class AccountActivityDao
if( userId.equalsIgnoreCase(loginCode) )
{
selfActivityData = createActivityData(userId, fileContents);
selfActivityData = updateMinMaxTime(selfActivityData, minMaxTimeList.get(loginCode)) ;
selfActivityData = updateMinMaxTime(selfActivityData, minMaxTimeList.get(userId)) ;
selfActivityData = checkUserForBatteryStatus(selfActivityData, minMaxBatteryStatus,userId) ;
}
else
{
JSONObject teamMemberActivityData = createActivityData(userId, fileContents);
teamMemberActivityData = updateMinMaxTime(teamMemberActivityData, minMaxTimeList.get(loginCode)) ;
teamMemberActivityData = updateMinMaxTime(teamMemberActivityData,minMaxTimeList.get(userId)) ;
teamMemberActivityData = checkUserForBatteryStatus(teamMemberActivityData, minMaxBatteryStatus,userId) ;
teamActivityData.put(teamMemberActivityData);
}
System.out.println("selfActivityData::::::::: ["+selfActivityData+"]");
......@@ -126,6 +140,8 @@ public class AccountActivityDao
{
selfActivityData = getUserDetail(new JSONObject(), loginCode);
selfActivityData = updateMinMaxTime(selfActivityData, minMaxTimeList.get(loginCode)) ;
selfActivityData = checkUserForBatteryStatus(selfActivityData, minMaxBatteryStatus,loginCode) ;
}
if(teamActivityData.length()>0){
selfActivityData.put("TEAM", teamActivityData);
......@@ -156,13 +172,46 @@ public class AccountActivityDao
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"));
activityData.put("LOGIN_TIME", checkNull(minMaxTimeObj.opt("loginTime")));
activityData.put("LOGOUT_TIME", checkNull(minMaxTimeObj.opt("logoutTime")));
System.out.println("minMaxTimeList query result:::::::"+minMaxTimeObj);
}
return activityData;
return activityData;
}
private JSONObject updateMinMaxBatteryStatus(JSONObject activityData, JSONObject minMaxBatteryStatus) throws JSONException
{
if(minMaxBatteryStatus !=null)
{
activityData.put("LOGIN_BATTERY_STATUS", checkNull(minMaxBatteryStatus.opt("loginBatteryStatus")));
activityData.put("LOGOUT_BATTERY_STATUS",checkNull(minMaxBatteryStatus.opt("logoutBatteryStatus")));
System.out.println("minMaxBatteryStatus query result:::::::"+minMaxBatteryStatus);
return activityData;
}
else
{
activityData.put("LOGIN_BATTERY_STATUS", "NA");
activityData.put("LOGOUT_BATTERY_STATUS","NA");
System.out.println("minMaxBatteryStatus else query result:::::::"+minMaxBatteryStatus);
return activityData;
}
}
private JSONObject checkUserForBatteryStatus(JSONObject activityData,HashMap<String, JSONObject> minMaxBatteryStatus,String userId) throws JSONException
{
System.out.println("checkUser:::::::userId ["+userId+"] minMaxBatteryStatus"+minMaxBatteryStatus);
if(minMaxBatteryStatus.get(userId) != null)
{
activityData = updateMinMaxBatteryStatus(activityData, minMaxBatteryStatus.get(userId)) ;
return activityData;
}
else
{
activityData = updateMinMaxBatteryStatus(activityData, null) ;
return activityData;
}
}
private JSONObject getUserDetail(JSONObject activityData, String userCode) throws JSONException
......@@ -518,6 +567,7 @@ public class AccountActivityDao
}
}
private Object checkNullDate(Object data) {
System.out.println("Inside checkNull"+data);
if(data==null){
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
}
......@@ -646,7 +696,7 @@ public class AccountActivityDao
String userList = getEnclosedString(userDataList);
whereClausePart = " and userid in("+ userList +")";
}
System.out.println("Inside getUserDetails userId: [" + today + "]");
System.out.println("Inside getMinMaxTime today: [" + today + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
......@@ -683,14 +733,16 @@ public class AccountActivityDao
return minMaxTimeMap;
}
public List<Object[]> getBatteryStatus(String today)
public HashMap<String, JSONObject> getBatteryStatus(String todayFormat) throws JSONException
{
List<Object[]> batteryStatusList = null;
HashMap<String, JSONObject> minMaxBatteryStatus = new HashMap<String, JSONObject>();
//List<Object[]> batteryStatusList = null;
try
{
// 1. Get Session object
System.out.println("Inside getUserDetails userId: [" + today + "]");
System.out.println("Inside getBatteryStatus todayFormat: [" + todayFormat + "]");
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, "
......@@ -701,7 +753,7 @@ public class AccountActivityDao
+ " ("
+ " select userid, min(LOGINTIME) as LOGINTIME , max(LOGOUTTIME)as LOGOUTTIME"
+ " from logintrace"
+ " where to_char(LOGINTIME,'dd-MM-yy') = '"+today+"'"
+ " where to_char(LOGINTIME,'dd-MM-yy') = '"+todayFormat+"'"
+ " and LOGIN_BATTERY_STAT is not null "
+ " and LOGOUT_BATTERY_STAT is not null"
+ " group by userid"
......@@ -712,12 +764,30 @@ public class AccountActivityDao
+ " order by A.userid, A.LOGINTIME"
+ "");
batteryStatusList= (List<Object[]>)query.list();
List<Object[]> batteryStatusList= (List<Object[]>)query.list();
JSONObject jsonObject = new JSONObject();
List userList = new ArrayList<>();
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+"]");
String userId = (String)batteryStatus[0];
if(!userList.contains(userId)){
jsonObject=new JSONObject();
userList.add(userId);
String loginTime = (String) batteryStatus[1];
BigDecimal loginBatteryStatus = (BigDecimal) batteryStatus[3];
jsonObject.put("loginTime", loginTime);
jsonObject.put("loginBatteryStatus", loginBatteryStatus);
}
String logoutTime = (String) batteryStatus[2];
BigDecimal logoutBatteryStatus = (BigDecimal) batteryStatus[4];
jsonObject.put("logoutTime", logoutTime);
jsonObject.put("logoutBatteryStatus", logoutBatteryStatus);
minMaxBatteryStatus.put(userId, jsonObject);
System.out.println("minMaxBatteryStatus query result:::::::"+minMaxBatteryStatus.size());
System.out.println("minMaxBatteryStatus query result userId ["+userId+"] jsonObject ["+jsonObject+"]");
}
session.close();
......@@ -728,8 +798,12 @@ public class AccountActivityDao
System.out.println("HibernateException :");
System.out.println(e.getMessage());
}
System.out.println("batteryStatusList >>>>>>>>>"+batteryStatusList.toString());
return batteryStatusList;
// catch (JSONException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
System.out.println("minMaxBatteryStatus >>>>>>>>>"+minMaxBatteryStatus.toString());
return minMaxBatteryStatus;
}
public JSONArray processActivityAction(Node activityChildNode, JSONArray eventArray) throws JSONException
......
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