Commit 861af213 authored by prumde's avatar prumde

Changes for Sending email on submission of Course Questions

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@199439 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b1c0bfce
...@@ -4,6 +4,7 @@ import java.rmi.RemoteException; ...@@ -4,6 +4,7 @@ import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -26,6 +27,8 @@ import ibase.hibernate.bean.DocContents; ...@@ -26,6 +27,8 @@ import ibase.hibernate.bean.DocContents;
import ibase.hibernate.utility.HibernateUtil; import ibase.hibernate.utility.HibernateUtil;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger; import ibase.utility.BaseLogger;
import ibase.utility.CommonConstants;
import ibase.utility.EMail;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.DBAccessEJB; import ibase.webitm.ejb.DBAccessEJB;
import ibase.webitm.ejb.DocumentHandlerWrapperEJB; import ibase.webitm.ejb.DocumentHandlerWrapperEJB;
...@@ -74,6 +77,8 @@ public class CourseDAO ...@@ -74,6 +77,8 @@ public class CourseDAO
JSONArray courseContents = getCourseContents(courseCode, courseStatus); JSONArray courseContents = getCourseContents(courseCode, courseStatus);
JSONArray courseQuestions = getCourseQuestions(courseCode); JSONArray courseQuestions = getCourseQuestions(courseCode);
String courseSubDescr = getCourseSubDescr(course.getCourseSub(), tranDB);
courseObj.put("courseSubDescr", courseSubDescr);
courseObj.put("courseContents", courseContents); courseObj.put("courseContents", courseContents);
courseObj.put("courseQuestions", courseQuestions); courseObj.put("courseQuestions", courseQuestions);
...@@ -208,6 +213,30 @@ public class CourseDAO ...@@ -208,6 +213,30 @@ public class CourseDAO
} }
// Selection of Data from Master Tables Start // Selection of Data from Master Tables Start
public Course getCourse(String courseCode)
{
Course course = null;
try
{
String tranDB = this.userInfo.getTransDB();
Session session = HibernateUtil.getSessionFactory(tranDB).openSession();
// Create Select Query
Query query = session.createQuery("from Course where courseCode ='" + courseCode + "' ");
List<Course> courseList = query.getResultList();
System.out.println("getCourse courseList" + courseList);
if( courseList != null && !courseList.isEmpty() )
{
course = courseList.get(0);
}
}
catch (HibernateException e)
{
BaseLogger.log("0", null, null, "HibernateException : getCourse ");
BaseLogger.log("0", null, null, e.getMessage());
}
return course;
}
public List<Course> getCourses() public List<Course> getCourses()
{ {
List<Course> courseList = null; List<Course> courseList = null;
...@@ -538,21 +567,22 @@ public class CourseDAO ...@@ -538,21 +567,22 @@ public class CourseDAO
} }
} }
public void updateCourseTestRes(String courseCode, String qsetAnswDatason) public void updateCourseTestRes(String courseCode, String courseData)
{ {
try try
{ {
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
JSONArray qsetAnswDataArr = new JSONArray(); JSONArray qsetAnswDataArr = new JSONArray();
if( qsetAnswDatason != null && qsetAnswDatason.trim().length() > 0 ) if( courseData != null && courseData.trim().length() > 0 )
{ {
qsetAnswDataArr = new JSONArray(qsetAnswDatason); qsetAnswDataArr = new JSONArray(courseData);
} }
for (int i = 0; i < qsetAnswDataArr.length(); i++) for (int i = 0; i < qsetAnswDataArr.length(); i++)
{ {
JSONObject qsetAnswData = qsetAnswDataArr.optJSONObject(i); JSONObject qsetAnswData = qsetAnswDataArr.optJSONObject(i);
String tranDB = this.userInfo.getTransDB();
String loginCode = this.userInfo.getLoginCode();
String quesSet = qsetAnswData.optString("quesSet") ; String quesSet = qsetAnswData.optString("quesSet") ;
int seqNo = qsetAnswData.optInt("seqNo", 0); int seqNo = qsetAnswData.optInt("seqNo", 0);
String testData = qsetAnswData.optString("testData"); String testData = qsetAnswData.optString("testData");
...@@ -587,6 +617,11 @@ public class CourseDAO ...@@ -587,6 +617,11 @@ public class CourseDAO
session.close(); session.close();
} }
} }
sendEmail(courseCode, tranDB);
JSONObject updCourseData = new JSONObject();
updCourseData.put("courseStatus", "C");
updateCourseAttend(courseCode, updCourseData.toString());
} }
catch (HibernateException e) catch (HibernateException e)
{ {
...@@ -784,4 +819,192 @@ public class CourseDAO ...@@ -784,4 +819,192 @@ public class CourseDAO
return conn; return conn;
} }
//For Servgyan User Information Dashboard - Ends //For Servgyan User Information Dashboard - Ends
private String getCourseSubDescr(String courseSub, String transDB)
{
DBAccessEJB dbAccessEJB = new DBAccessEJB();
String descr = null;
try
{
// select descr from gencodes where mod_name='W_SRV_USER' and fld_name='COURSE_SUB' and fld_value='db';
descr = dbAccessEJB.getDBColumnValue(" gencodes ", " descr ", " mod_name='W_SRV_USER' and fld_name='COURSE_SUB' and fld_value= '" + courseSub + "'", transDB);
}
catch (RemoteException | ITMException e)
{
e.printStackTrace();
}
if( checkNull(descr).length() == 0 )
{
descr = courseSub;
}
return descr;
}
private String sendEmail( String courseCode , String transDB) throws Exception
{
String retString = "Success";
EMail email = new EMail();
String to = "";
String cc = "";
String bcc = "";
String sub = "";
String body = "";
String emailId = "";
String copyToEmailId = "";
Connection userConn = null;
java.sql.PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
JSONObject courseObj = getCourse(courseCode).toJson();
BaseLogger.log("3",null,null,"Sending email for "+courseObj+" course.");
if(courseObj == null)
{
return "Send Mail Fail.";
}
ConnDriver connDriver = new ConnDriver();
//conn = connDriver.getConnectDB("Driver");
userConn = connDriver.getConnectDB( transDB );
String userSql = "SELECT SEND_TO,COPY_TO,BLIND_COPY,SUBJECT,BODY_TEXT FROM MAIL_FORMAT WHERE FORMAT_CODE = ? ";
pstmt = userConn.prepareStatement(userSql);
pstmt.setString(1, "COURSE_THANKYOU");
rs = pstmt.executeQuery();
if(rs.next())
{
to = rs.getString("SEND_TO");
cc = rs.getString("COPY_TO");
bcc = rs.getString("BLIND_COPY");
sub = rs.getString("SUBJECT");
body = rs.getString("BODY_TEXT");
}
pstmt.close();
rs.close();
userConn.close();
if( "user_id__attend".equalsIgnoreCase( to ))
{
emailId = this.userInfo.getEmailIdOff();
courseObj.put("userName", this.userInfo.getUserName());
}
else
{
emailId = to;
}
if( "user_id__admin".equalsIgnoreCase( cc ))
{
String chgUser = courseObj.optString("chgUser");
copyToEmailId = checkNull(getAdminEmailID(chgUser, transDB));
}
else
{
copyToEmailId = cc;
}
BaseLogger.log("3",null,null,"transDB:"+transDB);
StringBuilder mailXmlData = new StringBuilder("<root>");
mailXmlData.append("<TO_ADD><![CDATA["+emailId+"]]></TO_ADD>");
if(cc != null && cc.trim().length() > 0)
{
mailXmlData.append("<CC_ADD><![CDATA["+copyToEmailId+"]]></CC_ADD>");
}
if(cc != null && cc.trim().length() > 0)
{
mailXmlData.append("<BCC_ADD><![CDATA["+bcc+"]]></BCC_ADD>");
}
mailXmlData.append("<SUBJECT><![CDATA["+sub+"]]></SUBJECT>");
mailXmlData.append("<MESSAGE><![CDATA["+getFormatedEmailBody(body, courseObj )+"]]></MESSAGE>");
mailXmlData.append("<MESSAGE_TYPE><![CDATA[text/html]]></MESSAGE_TYPE>");
mailXmlData.append("<EMAIL_TYPE><![CDATA[page]]></EMAIL_TYPE>");
mailXmlData.append("</root>");
String result = email.sendMail(mailXmlData.toString(), null);
BaseLogger.log("3",null,null,"Send Email :mailXmlData:" + mailXmlData);
BaseLogger.log("3",null,null, result);
}
catch ( Exception e )
{
throw new Exception(e) ;
}
finally
{
if (pstmt != null )
{
try
{
if(userConn != null)
userConn.close();
if(pstmt != null)
pstmt.close();
if(rs != null)
rs.close();
} catch (SQLException e) {
}
}
}
return retString;
}
private String getAdminEmailID(String adminUserCode, String transDB)
{
DBAccessEJB dbAccessEJB = new DBAccessEJB();
String emailId = null;
try
{
emailId = dbAccessEJB.getDBColumnValue(" users ", " email_id ", " code = '" + adminUserCode + "'", transDB);
}
catch (RemoteException | ITMException e)
{
e.printStackTrace();
}
return emailId;
}
private String getFormatedEmailBody(String bodyTextData, JSONObject jsonObj ) throws ITMException
{
String startFindStr = "#:";
String endFindStr = ":#";
String colFullName = "";
String colName="";
String currColVal = "";
int currentIndex = 0;
int nextSearchIndex = 0;
try
{
if(bodyTextData != null)
{
while(bodyTextData.indexOf(startFindStr,nextSearchIndex) != -1)
{
BaseLogger.log("3",null,null,nextSearchIndex);
currColVal = "";
currentIndex = bodyTextData.indexOf(startFindStr,nextSearchIndex);
String firstPart = bodyTextData.substring(0,currentIndex);
String lastPart = bodyTextData.substring(currentIndex,bodyTextData.length());
colFullName = lastPart.substring(0,lastPart.indexOf(endFindStr)+2);
colName = colFullName.substring(startFindStr.length(),colFullName.lastIndexOf(endFindStr));
BaseLogger.log("3",null,null,"colName :::" + colName);
currColVal = jsonObj.getString(colName);
BaseLogger.log("3",null,null,"currColVal :::" + currColVal);
bodyTextData = firstPart + lastPart.replaceFirst(colFullName, currColVal);
nextSearchIndex = currentIndex+currColVal.length();
bodyTextData = bodyTextData.replaceAll("#TOMCATE_HOME#",CommonConstants.TOMCAT_HOME);
BaseLogger.log("3",null,null,"Formatted bodyTextData"+bodyTextData);
}
}
}
catch(Exception e)
{
throw new ITMException(e);
}
return bodyTextData;
}
} }
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