Commit d0d1339e authored by msinkar's avatar msinkar

Adding assesment tree structure and graph structure seervlet

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@188115 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 821df267
package ibase.dashboard.sfa.ejb;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
......@@ -12,12 +13,16 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map.Entry;
import javax.ejb.Stateless;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.itextpdf.text.log.SysoCounter;
/*
* Author : Mrunalini S.
* Date : 28-06-18
......@@ -33,7 +38,7 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
}
// Added by mrunalini sinkar For AssessMent report for serdia Client 25-06-2018(start)
@Override
public String getAssessmentData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException
public String getTreeStructureData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException
{
JSONArray returnJsonArr = new JSONArray();
System.out.println("In AssessMentEJB loginCode["+loginCode+"] dataSourceName["+dataSourceName+"] fromDateStr["+fromDate+"] toDateStr["+toDate+"] teamArgs["+teamArgs+"] surveyId["+surveyId+"]");
......@@ -46,6 +51,7 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
try
{
SimpleDateFormat dateFormat = new SimpleDateFormat(e12genericUtil.getApplDateFormat());
Date date = new Date();
if( "".equals( E12GenericUtility.checkNull(fromDate) ) )
{
......@@ -61,7 +67,19 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
{
mConnection = connDriver.getConnectDB( dataSourceName );
}
String symbol="";
if("MSSQL".equalsIgnoreCase(CommonConstants.DB_NAME))
{
symbol="+' '+";
}
else
{
symbol="||' '||";
}
String regionalUsrImg="",AssessorusrImg="",AssessusrImg="";
System.out.println("appl"+e12genericUtil.getApplDateFormat()+"db"+e12genericUtil.getDBDateFormat());
fromDate = e12genericUtil.getValidDateString(fromDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
toDate = e12genericUtil.getValidDateString(toDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
System.out.println("fromDateStr["+fromDate+"] toDateStr["+toDate+"]");
......@@ -69,9 +87,9 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
query=
"SELECT "+
"(CASE WHEN ee.emp_code IS NULL THEN 'VACANT' ELSE ee.emp_code END) as regional_manager_code, "+
"(CASE WHEN ee.emp_fname +' '+ ee.emp_lname IS NULL THEN 'VACANT' ELSE ee.emp_fname +' '+ ee.emp_lname END) as regional_manager, "+
"(CASE WHEN ee.emp_fname "+symbol+" ee.emp_lname IS NULL THEN 'VACANT' ELSE ee.emp_fname "+symbol+" ee.emp_lname END) as regional_manager, "+
"r.user_id as assessor_code, "+
"e.emp_fname +' '+ e.emp_lname as assessor_name, "+
"e.emp_fname "+symbol+" e.emp_lname as assessor_name, "+
"RP.ENTITY_CODE as assessee_code, "+
"RP.ENTITY_DESCR assessee_name, "+
"m.descr survey_code_descr, "+
......@@ -129,11 +147,6 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
"AND m.result_type!='T' "+
"AND r.submit_date BETWEEN ? AND ? ";
mStatement = mConnection.prepareStatement(query);
mStatement.setDate(1, java.sql.Date.valueOf(fromDate) );
mStatement.setDate(2, java.sql.Date.valueOf(toDate) );
......@@ -232,6 +245,234 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
return returnJsonArr.toString();
}
// Added by mrunalini sinkar For AssessMent report for serdia Client 25-06-2018(end)
// Added by mrunalini sinkar to get graph AssessMent data for 25-06-2018(start)
@Override
public String getGraphStructureData(String loginCode, String dataSourceName, String fromDate, String toDate,
String teamArgs, String surveyId, String profileId) throws RemoteException, ITMException
{
JSONArray returnJsonArr = new JSONArray();
System.out.println("In AssessMentEJB loginCode["+loginCode+"] dataSourceName["+dataSourceName+"] fromDateStr["+fromDate+"] toDateStr["+toDate+"] teamArgs["+teamArgs+"] surveyId["+surveyId+"]");
Connection mConnection = null;
PreparedStatement mStatement = null;
ResultSet mResultSet = null;
ConnDriver connDriver = new ConnDriver();
E12GenericUtility e12genericUtil = new E12GenericUtility();
HashMap<String, Integer> entityCount = new HashMap<String ,Integer>();
try
{
SimpleDateFormat dateFormat = new SimpleDateFormat(e12genericUtil.getApplDateFormat());
Date date = new Date();
if( "".equals( E12GenericUtility.checkNull(fromDate) ) )
{
fromDate = dateFormat.format(date);
System.out.println("fromDateStr:::["+fromDate+"]");
}
if( "".equals( E12GenericUtility.checkNull(toDate) ) )
{
toDate = dateFormat.format(date);
System.out.println("toDateStr:::["+toDate+"]");
}
if(mConnection == null)
{
mConnection = connDriver.getConnectDB( dataSourceName );
}
fromDate = e12genericUtil.getValidDateString(fromDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
toDate = e12genericUtil.getValidDateString(toDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
System.out.println("fromDateStr["+fromDate+"] toDateStr["+toDate+"]");
entityCount=getEntityCount(fromDate,toDate,teamArgs,surveyId,mConnection);
String query = "";
double resultAvg=0.0;
String drAvgMain ="";
query=
"SELECT rp.entity_code,rp.entity_descr,"+
"SUM(CASE WHEN ((RESULT NOT LIKE '%[A-Z]%') OR (RESULT NOT LIKE '%[a-z]%')) "+
"THEN CAST(rd.result AS DECIMAL(18,1)) ELSE 0 END) AS result "+
"FROM SURVEY_FORM F,SURVEY_result r,survey_template t,survey_templ_det td,"+
"SURVEY_result_det rd LEFT OUTER JOIN survey_master m ON rd.survey_code = m.survey_code, "+
"SURVEY_result_appl rp,survey_config config "+
"WHERE f.tran_id= r.tran_id__form AND r.tran_id= rd.tran_id "+
"AND r.tran_id = rp.tran_id "+
"AND t.survey_templ = td.survey_templ "+
"AND td.survey_code = rd.survey_code "+
"AND config.survey_id = f.survey_id "+
"AND config.survey_templ = t.survey_templ "+
"AND rp.entity_code IN "+getFormattedUserId(teamArgs)+" "+
"AND f.survey_id = '"+surveyId+"' "+
"AND m.result_type !='T' "+
"AND r.submit_date BETWEEN ? AND ? "+
"GROUP BY RP.ENTITY_CODE,RP.ENTITY_DESCR ";
mStatement = mConnection.prepareStatement(query);
mStatement.setDate(1, java.sql.Date.valueOf(fromDate) );
mStatement.setDate(2, java.sql.Date.valueOf(toDate) );
mResultSet = mStatement.executeQuery();
while(mResultSet.next())
{
JSONObject rowDataVar = new JSONObject();
String entityCode= E12GenericUtility.checkNull(mResultSet.getString("entity_code"));
String entityDescr= E12GenericUtility.checkNull(mResultSet.getString("entity_descr"));
Double result= mResultSet.getDouble("result");
if ( entityCount.get( entityCode.trim() ) != null )
{
int count = ( Integer ) entityCount.get(entityCode.trim());
System.out.println("count is:"+count);
resultAvg = result/count;
if(Double.isNaN(resultAvg))
{
resultAvg=0.0;
}
else if(Double.isInfinite(resultAvg))
{
resultAvg=0.0;
}
else
{
drAvgMain = Double.toString(resultAvg);
}
}
System.out.println("resultAvg is:"+drAvgMain);
rowDataVar.put("ENTITY_CODE", entityCode);
rowDataVar.put("ENTITY_DESCR", entityDescr);
rowDataVar.put("RESULT_AVG", drAvgMain);
returnJsonArr.add(rowDataVar);
System.out.println("returnJsonArr is:["+returnJsonArr+"]");
}
if(mStatement!=null)
{
mStatement.close();
mStatement=null;
}
if(mResultSet!=null)
{
mResultSet.close();
mResultSet = null;
}
if(mConnection!= null && !mConnection.isClosed())
{
mConnection.close();
mConnection = null;
}
}
catch ( Exception e)
{
System.out.println("Exception in AssessMentEJB.getGraphStructureData():["+e.getMessage()+"]");
e.printStackTrace();
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
//throw new ITMException(e);
}
finally
{
try
{
if(mStatement!=null)
{
mStatement.close();
mStatement=null;
}
if(mResultSet!=null)
{
mResultSet.close();
mResultSet = null;
}
if(mConnection!= null && !mConnection.isClosed())
{
mConnection.close();
mConnection = null;
}
}
catch(SQLException se)
{
System.out.println("AssessMentEJB.getGraphStructureData.finally["+se.getMessage()+"]");
se.printStackTrace();
JSONObject errMsgJson = new JSONObject();
errMsgJson.put("result", getResponseMessage("No Data Found ! ","Failure") );
return errMsgJson.toString();
}
}
System.out.println("returnJsonArr:::["+returnJsonArr+"]");
return returnJsonArr.toString();
}
public HashMap<String,Integer> getEntityCount(String fromDate,String toDate,String teamArgs,String surveyId,Connection mConnection)
{
PreparedStatement pstmt=null;
ResultSet rs=null;
HashMap<String, Integer> entityCount =new HashMap<String, Integer>();
try
{
String query="SELECT RP.ENTITY_CODE, " +
"COUNT(RP.ENTITY_CODE) AS COUNT " +
"FROM SURVEY_RESULT R LEFT OUTER JOIN SURVEY_RESULT_APPL RP ON R.TRAN_ID=RP.TRAN_ID, " +
"SURVEY_FORM F " +
"WHERE " +
"F.TRAN_ID = R.TRAN_ID__FORM " +
"AND R.SUBMIT_DATE BETWEEN ? AND ? " +
"AND F.SURVEY_ID='"+surveyId+"' AND RP.ENTITY_CODE IN "+getFormattedUserId(teamArgs)+" "+
"GROUP BY RP.ENTITY_CODE";
pstmt = mConnection.prepareStatement(query);
pstmt.setDate(1, java.sql.Date.valueOf(fromDate) );
pstmt.setDate(2, java.sql.Date.valueOf(toDate) );
rs = pstmt.executeQuery();
while(rs.next())
{
String entityCode = E12GenericUtility.checkNull(rs.getString("ENTITY_CODE"));
int Count =rs.getInt("COUNT");
entityCount.put(entityCode, Count);
}
if(pstmt!=null)
{
pstmt.close();
pstmt=null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
System.out.println("entityCount is"+entityCount);
}
catch(Exception e)
{
System.out.println("Exception in AssessMentEJB.getEntityCount():["+e.getMessage()+"]");
e.printStackTrace();
}
finally
{
try
{
if(pstmt!=null)
{
pstmt.close();
pstmt=null;
}
if(rs!=null)
{
rs.close();
rs = null;
}
}
catch(SQLException se)
{
System.out.println("AssesmentEjb.getEntityCount.finally["+se.getMessage()+"]");
se.printStackTrace();
}
}
return entityCount;
}
// Added by mrunalini sinkar to get graph AssessMent data for 25-06-2018(start)
public static String getFormattedUserId( String userId )
{
StringBuffer userIdSql = new StringBuffer();
......@@ -283,4 +524,5 @@ public class AssessMentEJB extends ValidatorEJB implements AssessMentEJBLocal,As
}
return respMessage;
}
}
......@@ -10,7 +10,10 @@ import javax.ejb.Local;
@Local
public interface AssessMentEJBLocal extends ValidatorLocal
{
public String getAssessmentData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException;
public String getTreeStructureData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException;
public String getGraphStructureData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException;
}
......@@ -11,6 +11,7 @@ import javax.ejb.Remote;
public interface AssessMentEJBRemote extends ValidatorRemote
{
public String getAssessmentData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException;
public String getTreeStructureData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException;
public String getGraphStructureData(String loginCode, String dataSourceName, String fromDate, String toDate, String teamArgs ,String surveyId,String profileId) throws RemoteException,ITMException;
}
package ibase.dashboard.sfa.ejb;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
......@@ -66,14 +67,27 @@ public class CoachingSummaryEJB extends ValidatorEJB implements CoachingSummaryE
toDate = e12genericUtil.getValidDateString(toDate, e12genericUtil.getApplDateFormat(), e12genericUtil.getDBDateFormat());
System.out.println("fromDateStr["+fromDate+"] toDateStr["+toDate+"]");
String query = ""; //$NON-NLS-1$
String symbol="";
if("MSSQL".equalsIgnoreCase(CommonConstants.DB_NAME))
{
symbol="+' '+";
}
else
{
symbol="||' '||";
}
System.out.println("symbol is:"+symbol);
query=
"SELECT " +
"(CASE WHEN regionalMgr.emp_code IS NULL THEN 'VACANT' ELSE regionalMgr.emp_code END) AS regional_manager_code, " +
"(CASE WHEN regionalMgr.emp_fname+' '+regionalMgr.emp_lname IS NULL THEN 'VACANT' ELSE regionalMgr.emp_fname+' '+regionalMgr.emp_lname END)AS regional_manager_name, " +
"(CASE WHEN regionalMgr.emp_fname "+symbol+" regionalMgr.emp_lname IS NULL THEN 'VACANT' ELSE regionalMgr.emp_fname "+symbol+" regionalMgr.emp_lname END)AS regional_manager_name, " +
"empManger.emp_code assessor, " +
"empManger.emp_fname + ' ' +empManger.emp_lname AS assessor_name, " +
"empManger.emp_fname "+symbol+" empManger.emp_lname AS assessor_name, " +
"csd_eval.emp_code__eval AS assessee, " +
"emp.emp_fname + ' ' +emp.emp_lname AS assessee_name, " +
"emp.emp_fname "+symbol+" emp.emp_lname AS assessee_name, " +
"spec.spec_details, " +
"eval_spec.eval_value, " +
"csd_eval.eval_date " +
......@@ -110,11 +124,11 @@ public class CoachingSummaryEJB extends ValidatorEJB implements CoachingSummaryE
"UNION ALL " +
"SELECT " +
"(CASE WHEN regionalMgr.emp_code IS NULL THEN 'VACANT' ELSE regionalMgr.emp_code END) AS regional_manager_code, " +
"(CASE WHEN regionalMgr.emp_fname+' '+regionalMgr.emp_lname IS NULL THEN 'VACANT' ELSE regionalMgr.emp_fname+' '+regionalMgr.emp_lname END)AS regional_manager_name, " +
"(CASE WHEN regionalMgr.emp_fname "+symbol+"regionalMgr.emp_lname IS NULL THEN 'VACANT' ELSE regionalMgr.emp_fname "+symbol+" regionalMgr.emp_lname END)AS regional_manager_name, " +
"empManger.emp_code assessor, " +
"empManger.emp_fname + ' ' +empManger.emp_lname AS assessor_name, " +
"empManger.emp_fname "+symbol+" empManger.emp_lname AS assessor_name, " +
"csd_eval.emp_code__eval AS assessee, " +
"emp.emp_fname + ' ' +emp.emp_lname AS assessee_name, " +
"emp.emp_fname "+symbol+" emp.emp_lname AS assessee_name, " +
"spec.spec_details, " +
"eval_kra_spec.eval_value, " +
"csd_eval.eval_date " +
......@@ -150,11 +164,11 @@ public class CoachingSummaryEJB extends ValidatorEJB implements CoachingSummaryE
"UNION ALL "+
"SELECT " +
"(CASE WHEN regionalMgr.emp_code IS NULL THEN 'VACANT' ELSE regionalMgr.emp_code END) AS regional_manager_code, " +
"(CASE WHEN regionalMgr.emp_fname+' '+regionalMgr.emp_lname IS NULL THEN 'VACANT' ELSE regionalMgr.emp_fname+' '+regionalMgr.emp_lname END)AS regional_manager_name, " +
"(CASE WHEN regionalMgr.emp_fname "+symbol+" regionalMgr.emp_lname IS NULL THEN 'VACANT' ELSE regionalMgr.emp_fname "+symbol+" regionalMgr.emp_lname END)AS regional_manager_name, " +
"empManger.emp_code assessor, " +
"empManger.emp_fname + ' ' +empManger.emp_lname AS assessor_name, " +
"empManger.emp_fname + "+symbol+" +empManger.emp_lname AS assessor_name, " +
"csd_eval.emp_code__eval AS assessee, " +
"emp.emp_fname + ' ' +emp.emp_lname AS assessee_name, " +
"emp.emp_fname "+symbol+" emp.emp_lname AS assessee_name, " +
"'Remarks' as spec_details, " +
"csd_eval.remarks as eval_value, " +
"csd_eval.eval_date " +
......
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