Commit a16b8b05 authored by skumbhar's avatar skumbhar

EJB component to back track the sender.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98359 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 2bfd42b6
package ibase.webitm.ejb.dis.adv;
import ibase.system.config.ConnDriver;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class PurchaseMilestoneWF
{
public String confirm(String tranId, String empCodeAprv, String xmlDataAll, String processId, String keyFlag) throws RemoteException, ITMException
{
System.out.println("Activity Check JB");
System.out.println("Parameters ::: tranId[" + tranId + "], empCodeAprv[" + empCodeAprv + "], xmlDataAll[" + xmlDataAll + "],processId["+processId+"],keyFlag["+keyFlag+"]");
String retString = "";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
ConnDriver connDriver = new ConnDriver();
try
{
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
empCodeAprv = empCodeAprv == null ? "" : empCodeAprv.trim();
int resultCnt = 0;
String signStatus = "", userCode = "", processInfo[] = null, activityId = "", roleCode = "";
String prvActivityId = "";
boolean flag = true;
if("CHKUSRCOND".equalsIgnoreCase(keyFlag))
{
ArrayList<String> list = new ArrayList<String>();
list.add("PURMILFRST");
list.add("PURMILSCND");
list.add("PURMILCNCL");
list.add("PURMILTHRD");
list.add("PNLTYFRST");
list.add("PNLTYSCND");
list.add("PNLTYTHRD");
processInfo = processId.split(":");
prvActivityId = processInfo[2];
System.out.println("prvActivityId["+prvActivityId+"],activityId["+activityId+"]");
sql = "select previous_activity, seq_id "
+"from wf_prc_status "
+"where ltrim(rtrim(ref_ser)) = ? and ltrim(rtrim(ref_id)) = ? "
+"and activity_id = ? and seq_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "U-REC");
pstmt.setString(2, tranId);
pstmt.setString(3, prvActivityId);
pstmt.setString(4, processInfo[3]);
rs = pstmt.executeQuery();
if (rs.next())
{
prvActivityId = rs.getString("previous_activity");
if(list.contains(prvActivityId))
{
activityId = prvActivityId;
flag = false;
}
}
else
{
activityId = "NOTHERACT";
flag = false;
}
System.out.println("prvActivityId["+prvActivityId+"],activityId["+activityId+"]");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
while(flag)
{
sql = "select previous_activity "
+"from ( "
+"select previous_activity, seq_id "
+"from wf_prc_status "
+"where ltrim(rtrim(ref_ser)) = ? and ltrim(rtrim(ref_id)) = ? "
+"and activity_id = ? and seq_id <> 1 "
+"order by seq_id desc "
+") tab "
+"where rownum = 1";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "U-REC");
pstmt.setString(2, tranId);
pstmt.setString(3, prvActivityId);
rs = pstmt.executeQuery();
if (rs.next())
{
prvActivityId = rs.getString("previous_activity");
if(list.contains(prvActivityId))
{
activityId = prvActivityId;
flag = false;
}
}
else
{
activityId = "NOTHERACT";
flag = false;
}
System.out.println("prvActivityId["+prvActivityId+"],activityId["+activityId+"]");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if(activityId.equalsIgnoreCase("PURMILTHRD") || activityId.equalsIgnoreCase("PNLTYTHRD"))
{
activityId = "NOTHERACT";
}
retString = activityId;
}
}
catch (Exception e)
{
try
{
conn.rollback();
}
catch (SQLException e1)
{
e1.printStackTrace();
}
e.printStackTrace();
System.out.println("Exeption occured");
throw new ITMException(e);
}
finally
{
if (conn != null)
{
try
{
conn.commit();
conn.close();
conn = null;
}
catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exeption in Finally");
}
}
}
return retString;
}
}
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