Commit 9c758b6f authored by vvengurlekar's avatar vvengurlekar

BackgroundLog.java - new file from sun


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@212823 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 5a805955
package ibase.webitm.bean.adm;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import org.json.JSONObject;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import org.json.JSONArray;
//Created By sanket J on 14/05/2018 for Background process from metis
public class BackgroundLog
{
//private ibase.utility.UserInfoBean userInfo = null;
GenericUtility genericUtility = GenericUtility.getInstance();
//Modified by Ahmed on 24-May-2018[start]
public String getBackgroundHeader(String objName, String createDate) throws Exception
{
String retString = "";
try
{
retString = getBackgroundHeader(objName, createDate, null);
}
catch(Exception e)
{
e.printStackTrace();
}
return retString;
}
//Modified by Ahmed on 24-May-2018[end]
//public String getBackgroundHeader(String objName, String createDate) throws Exception
public String getBackgroundHeader(String objName, String createDate, UserInfoBean userInfo) throws Exception
{
System.out.println("@@@@ Default Constructor of [BackgroundLog] bean called...");
System.out.println("@@@@ objName["+objName+"]createDate---["+createDate+"]");
String retString = "";
ConnDriver connDriver = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
JSONArray backgroundHeader = new JSONArray();
java.sql.Date creDate = null;
String jobId="",jobSat="", userId="", execResult="", StatusDet="", descr = "",execDate = "";
/* SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
SimpleDateFormat sdfStr = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");*/
Timestamp creatDAte = null;
try
{
if(createDate != null && createDate.trim().length() > 0)
{
creatDAte = Timestamp.valueOf(genericUtility.getValidDateTimeString(createDate, "dd-MMM-yyyy", genericUtility.getDBDateFormat()));
}
connDriver = new ConnDriver();
if (conn == null)
{
conn = connDriver.getConnectDB("DriverITM");
}
String loginCode = userInfo.getLoginCode();//Modified by Ahmed on 24-May-2018
/*String backgroundJob = "SELECT jobs.JOB_ID AS JOB_ID , jobs.CREATED_DATE AS CREATED_DATE, itm.DESCR AS DESCR ,jobs.OBJ_NAME AS OBJ_NAME, " +
" jobs.JOB_STAT AS JOB_STAT, jobs.USER_ID AS USER_ID, TO_CHAR(jobs.EXEC_DATE,'DD-Mon-YYYY HH24:MI:SS') AS EXEC_DATE, " +
" jobs.EXEC_RESULT AS EXEC_RESULT, jobs.STATUS_DET AS STATUS_DET FROM BACKGROUND_JOB jobs , ITM2MENU itm ";*/
String backgroundJob = "SELECT jobs.JOB_ID AS JOB_ID , jobs.CREATED_DATE AS CREATED_DATE, FN_GET_MENU_DESCR('w_'||jobs.OBJ_NAME) AS DESCR, jobs.OBJ_NAME AS OBJ_NAME, " +
" jobs.JOB_STAT AS JOB_STAT, jobs.USER_ID AS USER_ID, TO_CHAR(jobs.EXEC_DATE,'DD-Mon-YYYY HH24:MI:SS') AS EXEC_DATE, " +
" jobs.EXEC_RESULT AS EXEC_RESULT, jobs.STATUS_DET AS STATUS_DET FROM BACKGROUND_JOB jobs ";
if((objName == null || objName.trim().equalsIgnoreCase("") ) && ( createDate != null && createDate.trim().length() > 0 ) )
{
//backgroundJob += "WHERE TRUNC( jobs.CREATED_DATE)= TRUNC(?) AND 'w_' || jobs.OBJ_NAME = itm.WIN_NAME AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
backgroundJob += " WHERE TRUNC( jobs.CREATED_DATE)= TRUNC(?) AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
}
else if((objName == null || objName.trim().equalsIgnoreCase("")) && (createDate == null || createDate.trim().equalsIgnoreCase("")) )
{
//backgroundJob += "WHERE TRUNC( jobs.CREATED_DATE)= TRUNC(SYSDATE) AND 'w_' || jobs.OBJ_NAME = itm.WIN_NAME AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
backgroundJob += " WHERE TRUNC( jobs.CREATED_DATE)= TRUNC(SYSDATE) AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
}
else if((objName != null && objName.trim().length() > 0 ) && (createDate == null || createDate.trim().equalsIgnoreCase("")))
{
//backgroundJob += "WHERE jobs.OBJ_NAME=? AND TRUNC( jobs.CREATED_DATE) = TRUNC(SYSDATE) AND 'w_' || jobs.OBJ_NAME = itm.WIN_NAME AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
backgroundJob += " WHERE jobs.OBJ_NAME=? AND TRUNC( jobs.CREATED_DATE) = TRUNC(SYSDATE) AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
}
else
{
backgroundJob += "WHERE jobs.OBJ_NAME=? AND TRUNC( jobs.CREATED_DATE)= TRUNC(?) AND jobs.USER_ID = ? ORDER BY jobs.CREATED_DATE DESC";
}
pstmt = conn.prepareStatement(backgroundJob);
if((objName == null || objName.equalsIgnoreCase("")) && ( createDate != null && createDate.trim().length() > 0 ) )
{
pstmt.setTimestamp(1, creatDAte);
pstmt.setString(2, loginCode);
}
else if((objName != null && objName.trim().length() > 0 ) && (createDate == null || createDate.trim().equalsIgnoreCase("")))
{
pstmt.setString(1, objName) ;
pstmt.setString(2, loginCode);
}
else if((objName == null || objName.trim().equalsIgnoreCase("")) && (createDate == null || createDate.trim().equalsIgnoreCase("")) )
{
pstmt.setString(1, loginCode);
}
else
{
pstmt.setString(1, objName) ;
pstmt.setTimestamp(2, creatDAte) ;
pstmt.setString(3, loginCode);
}
rs = pstmt.executeQuery();
while(rs.next())
{
jobId = E12GenericUtility.checkNull(rs.getString("JOB_ID"));
creDate = rs.getDate("CREATED_DATE");
objName = E12GenericUtility.checkNull(rs.getString("OBJ_NAME"));
jobSat = E12GenericUtility.checkNull(rs.getString("JOB_STAT"));
userId = E12GenericUtility.checkNull(rs.getString("USER_ID"));
descr = E12GenericUtility.checkNull(rs.getString("DESCR"));
execDate = E12GenericUtility.checkNull(rs.getString("EXEC_DATE"));
execResult = E12GenericUtility.checkNull(rs.getString("EXEC_RESULT"));
StatusDet = E12GenericUtility.checkNull(rs.getString("STATUS_DET"));
JSONObject headerMap = new JSONObject();
headerMap.put( "JOB_ID", jobId );
headerMap.put( "CREATED_DATE", creDate );
headerMap.put( "OBJ_NAME", objName );
headerMap.put( "DESCR", descr );
headerMap.put( "JOB_STAT", jobSat );
headerMap.put( "USER_ID", userId );
headerMap.put( "EXEC_DATE", execDate );
headerMap.put( "EXEC_RESULT", execResult );
headerMap.put( "STATUS_DET", StatusDet );
backgroundHeader.put(headerMap);
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
retString = backgroundHeader.toString();
//System.out.println("@@@@ retString on getBackgroundDetail["+retString+"]");
}
catch(Exception e)
{
System.out.println("Exception in getBackgroundHeader["+e.getMessage()+"]");
throw new ITMException(e);
}
finally
{
try
{
if( rs != null )
{
rs.close();
rs = null;
}
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if( conn != null )
{
conn.close();
conn = null;
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
return retString;
}
public String getBackgroundDetail(String jobID, String objName) throws ITMException
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String backgroundStatus = "";
//JSONArray backgroundDetail = new JSONArray();//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]
String retString = "";
try
{
ConnDriver connDriver = new ConnDriver();
if (conn == null)
{
conn = connDriver.getConnectDB("DriverITM");
}
backgroundStatus = "SELECT JOB_ID, OBJ_NAME, LINE_NO, regexp_substr(substr(status_det,instr(status_det,'['),instr(status_det,']')-1),'[^-]+',2,1) as PROCESS, regexp_substr(substr(status_det,instr(status_det,'['),instr(status_det,']')-1),'[^-]+',2,2) as ACTIVITY, substr(status_det,instr(status_det,']')+1,length(status_det)) as STATUS_DET, TO_CHAR(STATUS_TIME,'DD-Mon-YYYY HH24:MI:SS') AS STATUS_TIME, STATUS_TYPE FROM BACKGROUND_STATUS WHERE OBJ_NAME =? AND JOB_ID=? ORDER BY LINE_NO DESC ";
pstmt = conn.prepareStatement(backgroundStatus);
pstmt.setString(1, objName) ;
pstmt.setString(2, jobID) ;
rs = pstmt.executeQuery();
StringBuilder detailJson = new StringBuilder();//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]
int counter=0;//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]
while(rs.next())
{
//String jobId = E12GenericUtility.checkNull(rs.getString("JOB_ID"));
String lineNo = E12GenericUtility.checkNull(rs.getString("LINE_NO"));
//String objName = E12GenericUtility.checkNull(rs.getString("OBJ_NAME"));
String statusDet = E12GenericUtility.checkNull(rs.getString("STATUS_DET"));
String statusTime = E12GenericUtility.checkNull(rs.getString("STATUS_TIME"));
String statusType = E12GenericUtility.checkNull(rs.getString("STATUS_TYPE"));
String process = E12GenericUtility.checkNull(rs.getString("PROCESS"));
String activity = E12GenericUtility.checkNull(rs.getString("ACTIVITY"));
//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]start
counter++;
/*JSONObject detailMap = new JSONObject();
detailMap.put( "JOB_ID", jobID );
detailMap.put( "LINE_NO", lineNo );
detailMap.put( "OBJ_NAME", objName );
detailMap.put( "PROCESS", process );
detailMap.put( "ACTIVITY", activity );
detailMap.put( "STATUS_DET", statusDet );
detailMap.put( "STATUS_TIME", statusTime );
detailMap.put( "STATUS_TYPE", statusType );*/
//Modified by Ahmed on 08-AUG-2018[To remove new line and carriage return characters from status_det]start
statusDet=escapeSymbol(statusDet);
//Modified by Ahmed on 08-AUG-2018[To remove new line and carriage return characters from status_det]end
if(counter > 1)
{
detailJson.append(",");
}
else
{
detailJson.append("[");
}
detailJson.append("{\"JOB_ID\":\""+jobID+"\",");
detailJson.append("\"LINE_NO\":\""+lineNo+"\",");
detailJson.append("\"OBJ_NAME\":\""+objName+"\",");
detailJson.append("\"PROCESS\":\""+process+"\",");
detailJson.append("\"ACTIVITY\":\""+activity+"\",");
detailJson.append("\"STATUS_DET\":\""+statusDet+"\",");
detailJson.append("\"STATUS_TIME\":\""+statusTime+"\",");
detailJson.append("\"STATUS_TYPE\":\""+statusType+"\"}");
//backgroundDetail.put(detailMap);
//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]end
}
//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]start
//retString = backgroundDetail.toString();
if(counter > 0)
{
detailJson.append("]");
retString = detailJson.toString();
}
else
{
retString = "";
}
System.out.println("retString>>"+retString);
//Modified by Ahmed on 27/06/2018 [to create json in stringbuilder to avoid jsonobject load on server]end
}
catch(Exception e)
{
throw new ITMException(e);
}
finally
{
try
{
if( rs != null )
{
rs.close();
rs = null;
}
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if( conn != null )
{
conn.close();
conn = null;
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
return retString;
}
//Modified by Ahmed on 08-AUG-2018[To replace new line and special characters from status_det]start
private String escapeSymbol(String value)
{
if(value != null && value.trim().length() > 0)
{
try
{
value = value.replaceAll("\r", " ");
value = value.replaceAll("\n", " ");
value = value.replaceAll("\t", " ");
value = value.replaceAll("\"", "");
value = value.replaceAll("'", "'");
value = value.replaceAll("&", "&");
value = value.replaceAll("<", "&lt;");
value = value.replaceAll(">", "&gt;");
}
catch(Exception e)
{
e.printStackTrace();
}
}
return value;
}
//Modified by Ahmed on 08-AUG-2018[To replace new line and special characters from status_det]end
public String getObjList(String profileId, UserInfoBean userInfo)throws RemoteException, ITMException
{
ConnDriver connDriver = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
JSONArray objListMap = new JSONArray();
String responseStr = null;
try
{
connDriver = new ConnDriver();
String transDB = userInfo.getTransDB();
if (conn == null)
{
conn = connDriver.getConnectDB("DriverITM");
}
String userLev = userInfo.getUserLevel();
String objMapQuery = "";
if ( "0".equalsIgnoreCase( userLev ) )
{
objMapQuery = "SELECT WIN_NAME, DESCR FROM ITM2MENU " +
" WHERE ( WIN_NAME != NULL OR WIN_NAME != '-' ) " +
" AND OBJ_TYPE = 'P' " +
" ORDER BY APPLICATION,LEVEL_1,LEVEL_2,LEVEL_3,LEVEL_4,LEVEL_5 ";
pstmt = conn.prepareStatement( objMapQuery );
}
else
{
objMapQuery = "SELECT WIN_NAME, DESCR FROM USER_RIGHTS A, ITM2MENU B " +
"WHERE PROFILE_ID IN "+ E12GenericUtility.getFormattedProfileId(profileId) +" AND A.APPLICATION=B.APPLICATION AND LEVEL_1=MENU_ROW AND LEVEL_2=MENU_COL " +
"AND MENU_SUBCOL=LEVEL_3 AND A.LEVEL_4=B.LEVEL_4 AND A.LEVEL_5=B.LEVEL_5 " +
"AND ( A.RIGHTS LIKE '%U%' or (A.RIGHTS LIKE '%*%' AND (A.EXCLUDE_RIGHTS_CHAR NOT LIKE '%U%' OR A.EXCLUDE_RIGHTS_CHAR IS NULL ))) AND ( WIN_NAME != NULL or WIN_NAME != '-') AND B.OBJ_TYPE = 'P'" +
"ORDER BY A.APPLICATION,MENU_ROW,MENU_COL,MENU_SUBCOL,A.LEVEL_4,A.LEVEL_5";
pstmt = conn.prepareStatement( objMapQuery );
}
String objName = "";
String desc = "";
rs = pstmt.executeQuery();
while(rs.next())
{
objName = rs.getString("WIN_NAME");
if(objName != null && objName.indexOf("w") == 0 && objName.indexOf("_") == 1)
{
objName = objName.substring(2);
}
desc = rs.getString("DESCR");
JSONObject detailMap = new JSONObject();
detailMap.put( "WIN_NAME", objName );
detailMap.put( "DESCR", desc );
objListMap.put(detailMap);
}
responseStr = objListMap.toString();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt!=null)
{
pstmt.close();
pstmt = null;
}
if(conn!=null)
{
conn.close();
conn = null;
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
return responseStr;
}
}
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