Commit c6a66927 authored by pborate's avatar pborate

Updated account acitivity dao.

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@180040 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 5aeb36ca
......@@ -49,7 +49,8 @@ public class AccountActivityDao
public String getUserActivityData(String loginCode, String profileId)throws Exception
{
JSONArray activityDataFinal = new JSONArray();
JSONObject activityDataFinal = new JSONObject();
JSONArray activityDataFinalArray = new JSONArray();
System.out.println("getUserActivityData>>>");
profileId=profileId.trim();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYYMMdd");
......@@ -68,15 +69,23 @@ public class AccountActivityDao
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat,null);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(todayFormat);
List<String> loginUserList = getLoginUsers(todayFormat);
JSONObject activityData = new JSONObject();
System.out.println("loginUserList in Admin case:::::"+loginUserList);
JSONObject activityData = new JSONObject();
JSONArray deviceTypeList= getDeviceType(loginUserList, todayFormat);
System.out.println("device Type::::::"+ deviceTypeList);
JSONObject clientAppList= getClientApp(activityData,loginUserList, todayFormat);
System.out.println("clientAppList Type::::::"+ clientAppList);
JSONObject osNameList= getOsName(activityData,loginUserList, todayFormat);
System.out.println("osNameList Type::::::"+ osNameList);
System.out.println(" activityData Device data object::::"+activityData);
activityDataFinal.put("ACTIVITY_GRAPH_DATA",activityData);
if(fileDataList.isEmpty()) //No User perform userActivity.
{
if(loginUserList != null){
for(String usersId : loginUserList){
activityData=fileNotFoundUsers(activityData,minMaxTimeList,minMaxBatteryStatus,usersId);
activityDataFinal.put(activityData);
activityDataFinalArray.put(activityData);
}
}
System.out.println("activityDataFinal for if"+activityDataFinal);
......@@ -95,17 +104,18 @@ public class AccountActivityDao
activityData = createActivityData(userId, fileContents);
activityData = updateMinMaxTime(activityData, minMaxTimeList.get(userId)) ;
activityData = checkUserForBatteryStatus(activityData, minMaxBatteryStatus,userId) ;
activityDataFinal.put(activityData);
activityDataFinalArray.put(activityData);
}
loginUserList.removeAll(fileUsersList); //For some user who didn't perform userActivity
System.out.println("loginUserList after:::"+loginUserList);
for(String usersId : loginUserList)
{
activityData=fileNotFoundUsers(activityData,minMaxTimeList,minMaxBatteryStatus,usersId);
activityDataFinal.put(activityData);
activityDataFinalArray.put(activityData);
}
}
activityDataFinal = prepareAllUsersData(activityDataFinal);
activityDataFinalArray = prepareAllUsersData(activityDataFinalArray);
activityDataFinal.put("ACTIVITY_DATA", activityDataFinalArray);
}
/* For Profile Ids except ADMIN and ADM */
......@@ -115,14 +125,23 @@ public class AccountActivityDao
System.out.println("userDataList AFTER>>>"+userDataList);
HashMap<String, JSONObject> minMaxTimeList= getMinMaxTime(todayFormat,userDataList);
HashMap<String, JSONObject> minMaxBatteryStatus = getBatteryStatus(todayFormat);
JSONObject selfActivityData = new JSONObject();
JSONArray deviceTypeList= getDeviceType(userDataList, todayFormat);
System.out.println("device Type in else::::::"+ deviceTypeList);
JSONObject clientAppList= getClientApp(selfActivityData,userDataList, todayFormat);
System.out.println("clientAppList Type in else::::::"+ clientAppList);
JSONObject osNameList= getOsName(selfActivityData,userDataList, todayFormat);
System.out.println("osNameList Type in else::::::"+ osNameList);
activityDataFinal.put("ACTIVITY_GRAPH_DATA",selfActivityData);
System.out.println("minMaxTimeList AFTER>>>"+minMaxTimeList);
System.out.println("minMaxBatteryStatus >>>>>"+minMaxBatteryStatus);
List<JSONObject> fileDataList= getUserActivityFileData(userDataList, today);
System.out.println("fileDataList AFTER>>>"+fileDataList);
JSONObject selfActivityData = new JSONObject();
JSONObject teamMemberActivityData = new JSONObject();
JSONArray teamActivityData = new JSONArray();
......@@ -143,7 +162,8 @@ public class AccountActivityDao
selfActivityData.put("TEAM", teamActivityData);
}
}
activityDataFinal.put(selfActivityData);
activityDataFinalArray.put(selfActivityData);
activityDataFinal.put("ACTIVITY_DATA", activityDataFinalArray);
System.out.println("activityDataFinal for if"+activityDataFinal);
}
......@@ -202,10 +222,11 @@ public class AccountActivityDao
{
selfActivityData.put("TEAM", teamActivityData);
}
activityDataFinal.put(selfActivityData);
activityDataFinalArray.put(selfActivityData);
}
}
activityDataFinal = prepareTeamUsersData(activityDataFinal);
activityDataFinalArray = prepareTeamUsersData(activityDataFinalArray);
activityDataFinal.put("ACTIVITY_DATA", activityDataFinalArray);
}
System.out.println("activityDataFinal data " + activityDataFinal.toString());
return activityDataFinal.toString();
......@@ -739,25 +760,21 @@ public class AccountActivityDao
System.out.println("userDetailList >>>>>>>>>"+userDetailList);
return userDetailList;
}
/* TODO FOR DEVICE TYPE
JSONArray deviceTypeList= getDeviceType(loginCode, todayFormat);
System.out.println("device Type::::::"+ deviceTypeList);
public JSONArray getDeviceType(String userId,String today) throws JSONException
public JSONArray getDeviceType(List<String> loginUserList,String today) throws JSONException
{
HashMap<String, JSONObject> deviceTypeList = new HashMap<String, JSONObject> ();
JSONArray device=new JSONArray();
try
{
// 1. Get Session object
System.out.println("Inside getUserDetails userId: [" + userId + "]");
String userList = getEnclosedString(loginUserList);
System.out.println("Inside getUserDetails userId: [" + loginUserList + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select count(1), DEVICE_TYPE "
+ "from logintrace where to_char(LOGINTIME, 'dd-MM-yy')= '"+today+"'"
+ " and userid ='"+userId+"'"
+ " and userid in ("+userList+")"
+ " and LOGIN_STATUS = 'T'"
+ " group by DEVICE_TYPE "
+ "");
......@@ -772,7 +789,7 @@ public class AccountActivityDao
jsonObject.put("DEVICE_COUNT", count);
device.put(jsonObject);
// deviceTypeList.put(userId, jsonObject);
System.out.println("minMaxTimeList query id::::::: ["+userId+"] jsonObject ["+jsonObject+"]");
System.out.println("minMaxTimeList query id::::::: jsonObject ["+jsonObject+"]");
}
System.out.println("deviceTypeList result:::::::"+device);
......@@ -787,8 +804,150 @@ public class AccountActivityDao
System.out.println("deviceTypeList >>>>>>>>>"+deviceTypeList);
return device;
}
/*
BROWSER : {
TOTAL : 0,
CHROME : 0,
INTEXP : 0,
FIREFOX : 0,
OTHER : 0
}
*/
public JSONObject getClientApp(JSONObject activityData,List<String> loginUserList,String today) throws JSONException
{
JSONObject clientApp=new JSONObject();
try
{
// 1. Get Session object
String userList = getEnclosedString(loginUserList);
System.out.println("Inside getClientApp userId: [" + loginUserList + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select count(1), CLIENT_APP "
+ " from logintrace "
+ " where to_char(LOGINTIME, 'dd-MM-yy')= '"+today+"' "
+ " and LOGIN_STATUS = 'T' "
+ " and userid in ("+userList+")"
+ " and DEVICE_TYPE = 'Browser'"
+ " group by (CLIENT_APP)");
System.out.println("getClientApp query >>>>>"+query);
JSONObject jsonObject = new JSONObject();
jsonObject.put( "CHROME", 0 );
jsonObject.put( "INTEXP", 0 );
jsonObject.put( "FIREFOX", 0 );
jsonObject.put( "OTHER", 0 );
BigDecimal total = new BigDecimal(0);
List<Object[]> clientAppList= (List<Object[]>)query.list();
for(Object[] clientapplist: clientAppList){
BigDecimal clientAppCount = (BigDecimal)clientapplist[0];
String clientAppName = (String) clientapplist[1];
if("CHROME".equalsIgnoreCase(clientAppName))
{
jsonObject.put( "CHROME",clientAppCount);
}
else if("INTEXP".equalsIgnoreCase(clientAppName))
{
jsonObject.put( "INTEXP",clientAppCount);
}
else if("FIREFOX".equalsIgnoreCase(clientAppName))
{
jsonObject.put( "FIREFOX",clientAppCount);
}
else
{
jsonObject.put( "OTHER",clientAppCount);
}
total=total.add(clientAppCount);
System.out.println("getClientApp query id::::::: jsonObject ["+jsonObject+"]");
}
jsonObject.put("TOTAL", total);
activityData.put("BROWSER", jsonObject);
System.out.println("clientApp result:::::::"+clientApp);
session.close();
}
catch (HibernateException e)
{
System.out.println("HibernateException :");
System.out.println(e.getMessage());
}
return activityData;
}
*/
/*
MOBILE : {
TOTAL: 0,
ANDROID : 0,
IOS : 0,
OTHER : 0
}
*/
public JSONObject getOsName(JSONObject activityData,List<String> loginUserList,String today) throws JSONException
{
JSONObject osName=new JSONObject();
try
{
String userList = getEnclosedString(loginUserList);
// 1. Get Session object
System.out.println("Inside getOsName userId: [" + loginUserList + "]");
Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
// 2. Create Query
Query query = session.createSQLQuery("select count(1), OS_NAME "
+ "from logintrace "
+ "where to_char(LOGINTIME, 'dd-MM-yy')= '"+today+"' "
+ " and LOGIN_STATUS = 'T'"
+ " and userid in ("+userList+")"
+ " and DEVICE_TYPE in ( 'Android Mobile' , 'Android Tablet', 'iOS Mobile' , 'iOS Tablet' ) "
+ " group by (OS_NAME)");
System.out.println("getOsName query >>>>>"+query);
JSONObject jsonObject = new JSONObject();
jsonObject.put( "ANDROID",0);
jsonObject.put( "IOS",0);
jsonObject.put( "OTHER",0);
BigDecimal total = new BigDecimal(0);
List<Object[]> osNameList= (List<Object[]>)query.list();
for(Object[] osnamelist: osNameList){
BigDecimal osNameCount = (BigDecimal)osnamelist[0];
String osname = (String) osnamelist[1];
//String deviceType = (String) osnamelist[2];
if("ANDROID".equalsIgnoreCase(osname)){
jsonObject.put( "ANDROID",osNameCount);
}
else if("IOS".equalsIgnoreCase(osname))
{
jsonObject.put( "IOS",osNameCount);
}
else {
jsonObject.put( "OTHER",osNameCount);
}
total=total.add(osNameCount);
System.out.println("getOsName query id::::::: TOTAL"+total+"jsonObject ["+jsonObject+"]");
}
jsonObject.put("TOTAL", total);
activityData.put("MOBILE", jsonObject);
System.out.println("getOsName result:::::::"+osName);
session.close();
}
catch (HibernateException e)
{
System.out.println("HibernateException :");
System.out.println(e.getMessage());
}
return activityData;
}
public List<String> getLoginUsers(String today)
{
......
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