Commit c3ba8d6f authored by kpandey's avatar kpandey

Updated courseDao by adding getCourseListTrending method to fetch trendings data

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@199950 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 60608f7f
package ibase.dashboard.common.hibernate.dao;
import java.math.BigDecimal;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
......@@ -10,7 +11,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Calendar;
import org.hibernate.HibernateException;
import org.hibernate.Session;
......@@ -27,6 +27,7 @@ import ibase.dashboard.common.hibernate.bean.CourseContentAtt;
import ibase.dashboard.common.hibernate.bean.CourseTestQues;
import ibase.dashboard.common.hibernate.bean.CourseTestRes;
import ibase.hibernate.bean.DocContents;
import ibase.hibernate.bean.UserDocContent;
import ibase.hibernate.utility.HibernateUtil;
import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger;
......@@ -37,6 +38,9 @@ import ibase.webitm.ejb.DBAccessEJB;
import ibase.webitm.ejb.DocumentHandlerWrapperEJB;
import ibase.webitm.utility.ITMException;
import java.util.Calendar;
import java.util.TimeZone;
public class CourseDAO
{
private UserInfoBean userInfo = null;
......@@ -133,9 +137,21 @@ public class CourseDAO
}
}
courseContentObj.put("accessPos", accessPos);
String cacheOpt = "0";
DocContents docContents = getDocContents(docId, tranDB);
if( docContents != null )
UserDocContent userDocContent = getUserDocContent(loginCode, docId, tranDB);
if (userDocContent != null)
{
cacheOpt = checkNull(userDocContent.getCacheOpt());
cacheOpt = cacheOpt.length() == 0 ? "0" : cacheOpt;
System.out.println("cacheOpt in CourseDAO [" + cacheOpt + "]");
}
if (docContents != null)
{
String fileMetadata = checkNull(docContents.getFileMetadata());
String fileType = checkNull(docContents.getDocType());
......@@ -164,6 +180,7 @@ public class CourseDAO
courseContentObj.put("DOC_ID", docContents.getDocId());
courseContentObj.put("DOC_NAME", docContents.getDocName());
courseContentObj.put("DOC_TYPE", docContents.getDocType());
courseContentObj.put("CACHE_OPT", cacheOpt);
}
courseContentsArray.put(courseContentObj);
}
......@@ -265,7 +282,62 @@ public class CourseDAO
}
return courseQuestionsArray;
}
/// For Trending courses
public JSONArray getCourseTrendingData(List<String> courseCodeList)
{
JSONArray courseArray = new JSONArray();
try
{
System.out.println("Inside try of getCourseTrendingData");
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
Map<String, BigDecimal> course = getCourseListTrendingData(loginCode);
for (String courseCode : courseCodeList)
{
BigDecimal courseCount = course.get(courseCode);
if (courseCount != null)
{
Course courseData = getCourse(courseCode);
System.out.println("Inside for of getCourseTrendingData");
System.out.println("course data for getCourseTrendingData==>" + courseCount);
JSONObject courseObj = new JSONObject();
String courseStatus = "O"; // Open Courses - Yet to visit
JSONArray courseContents = getCourseContents(courseCode, courseStatus);
JSONArray courseQuestions = getCourseQuestions(courseCode);
String courseSubDescr = getCourseSubDescr(courseData.getCourseSub(), tranDB);
String descr = getCourseSubDescr(courseData.getDescr(), tranDB);
courseObj.put("courseSubDescr", courseSubDescr);
courseObj.put("descr", descr);
courseObj.put("courseContents", courseContents);
courseObj.put("courseQuestions", courseQuestions);
courseObj.put("courseWatchCount", courseCount);
BaseLogger.log("3", null, null, " getUserCourseData courseObj ::::" + courseObj);
courseArray.put(courseObj);
}
}
}
catch (JSONException e)
{
BaseLogger.log("0", null, null, "JSONException : getUserCourseData ");
BaseLogger.log("0", null, null, e.getMessage());
e.printStackTrace();
}
catch (Exception e)
{
BaseLogger.log("0", null, null, "Exception : getUserCourseData ");
BaseLogger.log("0", null, null, e.getMessage());
e.printStackTrace();
}
return courseArray;
}
// Selection of Data from Master Tables Start
public Course getCourse(String courseCode)
{
......@@ -290,7 +362,57 @@ public class CourseDAO
}
return course;
}
public Map<String, BigDecimal> getCourseListTrendingData(String loginCode) {
Map<String, BigDecimal> courseMap = new HashMap<String, BigDecimal>();
try {
// 1. Get Session object
String tranDB = this.userInfo.getTransDB();
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// 2. Create Query
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, -5);
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
Query query = session.createSQLQuery(
"select course_code, count(course_code) as course_code_count from course_attend where user_id <> '"
+ loginCode + "'"
+ " and last_inter_date between :sysdate1 and :sysdate2 group by course_code");
query.setDate("sysdate1", cal.getTime());
query.setDate("sysdate2", cal1.getTime());
System.out.println("query result for getCourseListTrendingData>>>>>" + query);
List<Object[]> getCourseListTrendingData = (List<Object[]>) query.list();
for (Object[] courseData : getCourseListTrendingData)
{
System.out.println("courseData=>" + courseData);
String code = (String) courseData[0];
BigDecimal count = (BigDecimal) courseData[1];
courseMap.put(code, count);
System.out.println("courseData in courseMap getCourseListTrendingData=>" + courseMap);
}
session.close();
}
catch (HibernateException e)
{
System.out.println("HibernateException :");
System.out.println(e.getMessage());
}
catch (Exception e)
{
System.out.println("HibernateException E:");
System.out.println(e.getMessage());
}
System.out.println("getCourseListTrendingData courseMap>>>>>>>>>" + courseMap);
return courseMap;
}
public List<Course> getCourses()
{
List<Course> courseList = null;
......@@ -677,12 +799,11 @@ public class CourseDAO
session.close();
}
}
sendEmail(courseCode, tranDB);
JSONObject updCourseData = new JSONObject();
updCourseData.put("courseStatus", "C");
updateCourseAttend(courseCode, updCourseData.toString());
}
sendEmail(courseCode, tranDB);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException inside updateCourseTestRes:");
......@@ -713,12 +834,40 @@ public class CourseDAO
docContents = docContentList.get(0);
}
}
catch (HibernateException e)
return docContents;
}
public UserDocContent getUserDocContent(String userId, String docId, String tranDB)
{
UserDocContent docContent = null;
try
{
BaseLogger.log("0",null,null,"HibernateException :");
BaseLogger.log("0",null,null,e.getMessage());
// 1. Get Session object
// Session session = HibernateUtil.getSessionFactory(siteTranDB).openSession();
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// 2. Create Query
BaseLogger.log("3", null, null,
"Inside getuserDocContent userId: [" + userId + "] and docId: [" + docId + "]");
Query query = session
.createQuery("from UserDocContent where userId='" + userId + "' AND docId = '" + docId + "'");
List<UserDocContent> contentList = query.getResultList();
if (query.getResultList().size() > 0)
{
docContent = contentList.get(0);
}
BaseLogger.log("3", null, null, "docContent ::" + docContent);
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException :");
BaseLogger.log("0", null, null, e.getMessage());
}
return docContents;
return docContent;
}
private String getDocId(String refId, String transDB)
......
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