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