Commit cf63045b authored by ssalve's avatar ssalve

Sarita : Done changes for rollback connection on 19MARCH2018

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@182296 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 313ae499
...@@ -116,10 +116,11 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -116,10 +116,11 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
StringBuffer valueXmlforIssue = new StringBuffer(); StringBuffer valueXmlforIssue = new StringBuffer();
StringBuffer valueXmlforReceipt = new StringBuffer(); StringBuffer valueXmlforReceipt = new StringBuffer();
boolean issueCondition = false; boolean issueCondition = false;
boolean receiptCondition = false; boolean receiptCondition = false , isError = false;
String flagSaveString = "" , tranIdForIssue = "",tranIdForReciept =""; String flagSaveString = "" , tranIdForIssue = "",tranIdForReciept ="";
FinCommon finCommon = new FinCommon(); FinCommon finCommon = new FinCommon();
String status = ""; //changes by sarita 19MARCH2018
String statusSrl = "";
int cnt = 0; int cnt = 0;
try try
{ {
...@@ -127,7 +128,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -127,7 +128,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"); userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat()); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
//Added by sarita on 18MARCH2018 //Added by sarita on 18MARCH2018
sql = "select item_code , lot_no , lot_sl,serial_date from srl_container where serial_no=?"; sql = "select item_code , lot_no , lot_sl,serial_date,status from srl_container where serial_no=?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId); pstmt.setString(1, tranId);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -137,11 +138,22 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -137,11 +138,22 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
lotNoHdr = rs.getString("lot_no"); lotNoHdr = rs.getString("lot_no");
lotSlHdr = rs.getString("lot_sl"); lotSlHdr = rs.getString("lot_sl");
tranSerialDate = rs.getTimestamp("serial_date"); tranSerialDate = rs.getTimestamp("serial_date");
System.out.println("For Header Data ::::[item_code ["+itemCodeHdr+"]] \t [lot_no ["+lotNoHdr+"]] \t [lot_sl ["+lotSlHdr+"]]"); statusSrl = rs.getString("status");
System.out.println("For Header Data ::::[item_code ["+itemCodeHdr+"]] \t [lot_no ["+lotNoHdr+"]] \t [lot_sl ["+lotSlHdr+"]] \t [status ["+statusSrl+"]]");
} }
if(rs != null){rs.close();rs = null;} if(rs != null){rs.close();rs = null;}
if(pstmt != null){pstmt.close();pstmt = null;} if(pstmt != null){pstmt.close();pstmt = null;}
//Added by sarita on 17MARCH2018
//Showing Error Message Transaction Splitted Already.[start]
if("C".equalsIgnoreCase(statusSrl))
{
retSting = itmDBAccessEJB.getErrorString("", "VTCONFMSP", "");
//Added by sarita on 19MARCH2018
isError = true;
return retSting;
}
//Showing Error Message Transaction Splitted Already.[end]
sql = "select count(*) as cnt from stock where ITEM_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND quantity > 0"; sql = "select count(*) as cnt from stock where ITEM_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND quantity > 0";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCodeHdr); pstmt.setString(1, itemCodeHdr);
...@@ -153,15 +165,30 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -153,15 +165,30 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
cnt = rs.getInt("cnt"); cnt = rs.getInt("cnt");
System.out.println("Total Records of Stock ::"+cnt); System.out.println("Total Records of Stock ::"+cnt);
} }
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
//changes by sarita on 18MARCH2018 //changes by sarita on 18MARCH2018
if(cnt == 0) if(cnt == 0)
{ {
retSting = itmDBAccessEJB.getErrorString("", "VTNOSTK", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn); retSting = itmDBAccessEJB.getErrorString("", "VTNOSTK", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
//Added by sarita on 19MARCH2018
isError = true;
return retSting; return retSting;
} }
if(cnt > 1) if(cnt > 1)
{ {
retSting = itmDBAccessEJB.getErrorString("", "INVRCDSTOC", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn); retSting = itmDBAccessEJB.getErrorString("", "INVRCDSTOC", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
//Added by sarita on 19MARCH2018
isError = true;
return retSting; return retSting;
} }
//changes by sarita (quantity > 0) on 18MARCH 2018 //changes by sarita (quantity > 0) on 18MARCH 2018
...@@ -318,6 +345,8 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -318,6 +345,8 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
else else
{ {
retSting = itmDBAccessEJB.getErrorString("", "INVQUNTITY", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn); retSting = itmDBAccessEJB.getErrorString("", "INVQUNTITY", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
//Added by sarita on 19MARCH2018
isError = true;
return retSting; return retSting;
} }
}//if(rsStock.next()) }//if(rsStock.next())
...@@ -442,123 +471,147 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -442,123 +471,147 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
System.out.println("ReturnString Finally :::::::["+valueXmlforIssue+"]\n [valueXmlforReceipt ["+valueXmlforReceipt+"]]"); System.out.println("ReturnString Finally :::::::["+valueXmlforIssue+"]\n [valueXmlforReceipt ["+valueXmlforReceipt+"]]");
//retSting = saveData(siteCode,valueXmlforIssue.toString(),conn,userId); //retSting = saveData(siteCode,valueXmlforIssue.toString(),conn,userId);
sql = "select status from srl_contents where serial_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
status = rs.getString("status");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if("C".equalsIgnoreCase(status)) //Else block will execute if Transaction is Not Splitted [start]
{ if(!("C".equalsIgnoreCase(statusSrl)))
retSting = itmDBAccessEJB.getErrorString("", "VTCONFMSP", "");
return retSting;
}
else
{ {
flagSaveString = ""; //flagSaveString = "";
if(issueCondition && flagSaveString.equals("")) //if(issueCondition && flagSaveString.equals(""))
if(issueCondition && (isError == false))
{ {
System.out.println("Saving Data for Issue"); System.out.println("Saving Data for Issue");
retSting = saveData(siteCode,valueXmlforIssue.toString(),conn,userId); retSting = saveData(siteCode,valueXmlforIssue.toString(),conn,userId);
System.out.println("Data Saved Successfully for Issue");
if(retSting.indexOf("Success") > -1) if(retSting.indexOf("Success") > -1)
{ {
String[] arrayForTranId = retSting.split("<TranID>"); String[] arrayForTranId = retSting.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>"); int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranIdForIssue = arrayForTranId[1].substring(0,endIndex); tranIdForIssue = arrayForTranId[1].substring(0,endIndex);
System.out.println("tranIdForIssue ["+tranIdForIssue+"]"); System.out.println("tranIdForIssue ["+tranIdForIssue+"]");
conn.commit(); //Commented by sarita on 19MARCH2018
//conn.commit();
System.out.println("Before ::[retSting (confirmIssueAndReceipt)]"+userId); System.out.println("Before ::[retSting (confirmIssueAndReceipt)]"+userId);
retSting = confirmIssueAndReceipt("adj_iss",tranIdForIssue,xtraParams,forcedFlag,conn,userId); retSting = confirmIssueAndReceipt("adj_iss",tranIdForIssue,xtraParams,forcedFlag,conn,userId);
System.out.println("ReturnString[Saving Data for Issue] ::"+retSting);
if(retSting.indexOf("VTSUCC1") > -1 || retSting.indexOf("VTMCONF2") > -1) if(retSting.indexOf("VTSUCC1") > -1 || retSting.indexOf("VTMCONF2") > -1)
{ {
//Getting Successfull Confirm message (VTMCONF2 - Prompt Message)
System.out.println("Inside If Block of returnstring!!!!!!!!!!"); System.out.println("Inside If Block of returnstring!!!!!!!!!!");
retSting = ""; retSting = "";
} }
else else
{ {
System.out.println("Inside Else Block of returnstring!!!!!!!!!!"); System.out.println("Inside Else Block of returnstring!!!!!!!!!!");
flagSaveString = retSting; //flagSaveString = retSting;
//Added by sarita to rollback connection
isError = true;
} }
} }
else else
{ {
flagSaveString = retSting; //flagSaveString = retSting;
System.out.println("shamim rollbacking >>>>>>>>>>"); System.out.println("Transaction rollbacking for Issue>>>>>>>>>");
conn.rollback(); isError = true;
} }
} }
if(receiptCondition && flagSaveString.equals("")) //if(receiptCondition && flagSaveString.equals(""))
if(receiptCondition && (isError == false))
{ {
System.out.println("Saving Data for Receipt"); System.out.println("Saving Data for Receipt");
retSting = saveData(siteCode,valueXmlforReceipt.toString(),conn,userId); retSting = saveData(siteCode,valueXmlforReceipt.toString(),conn,userId);
System.out.println("Data Saved Successfully for Receipt");
if(retSting.indexOf("Success") > -1) if(retSting.indexOf("Success") > -1)
{ {
String[] arrayForTranId = retSting.split("<TranID>"); String[] arrayForTranId = retSting.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>"); int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranIdForReciept = arrayForTranId[1].substring(0,endIndex); tranIdForReciept = arrayForTranId[1].substring(0,endIndex);
conn.commit(); //Commented by sarita on 19MARCH2018
//conn.commit();
retSting = confirmIssueAndReceipt("adj_rcp",tranIdForReciept,xtraParams,forcedFlag,conn,userId); retSting = confirmIssueAndReceipt("adj_rcp",tranIdForReciept,xtraParams,forcedFlag,conn,userId);
System.out.println("ReturnString[Saving Data for Issue] ::"+retSting);
if(retSting.indexOf("VTSUCC1") > -1 || retSting.indexOf("VTMCONF2") > -1) if(retSting.indexOf("VTSUCC1") > -1 || retSting.indexOf("VTMCONF2") > -1)
{ {
//Getting Successfull Confirm message (VTMCONF2 - Prompt Message)
retSting = ""; retSting = "";
} }
else
{
System.out.println("Getting Error in Saving Data for Receipt");
//flagSaveString = retSting;
//Added by sarita to rollback connection
isError = true;
}
} }
else else
{ {
flagSaveString = retSting; //flagSaveString = retSting;
System.out.println("shamim rollbacking >>>>>>>>>>"); System.out.println("Transaction rollbacking for Receipt>>>>>>>>>>");
conn.rollback(); isError = true;
} }
} }
System.out.println("Receipt "+tranIdForReciept); System.out.println("Receipt "+tranIdForReciept);
if(tranIdForReciept.length() > 0 && flagSaveString == "") //if(tranIdForReciept.length() > 0 && flagSaveString == "")
if(tranIdForReciept.length() > 0 && (isError == false))
{ {
//changes by sarita on 18MARCH2018 //changes by sarita on 18MARCH2018
sql = "update srl_container set status ='C' where serial_no=?"; sql = "update srl_container set status ='C' where serial_no=?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId); pstmt.setString(1, tranId);
int j = pstmt.executeUpdate(); int j = pstmt.executeUpdate();
conn.commit(); //conn.commit();
if(pstmt != null)
{
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
if(j > 0)
{
sql = "update srl_contents set status ='C' where serial_no=?"; sql = "update srl_contents set status ='C' where serial_no=?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId); pstmt.setString(1, tranId);
int i = pstmt.executeUpdate(); int i = pstmt.executeUpdate();
conn.commit(); //conn.commit();
if(pstmt != null)
{
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
System.out.println("Update ctr "+i); System.out.println("Update ctr "+i);
if(i > 0) if(i > 0)
{ {
// Prompt messages showing transaction Splitted Successfullly!!!!!
retSting = itmDBAccessEJB.getErrorString("", "VTAUTOSPLT", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn); retSting = itmDBAccessEJB.getErrorString("", "VTAUTOSPLT", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
return retSting; return retSting;
} }
else
{
//Error messages showing status not updated!!!!!
retSting = itmDBAccessEJB.getErrorString("", "VTREORG5", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
//Added by sarita to rollback connection
isError = true;
return retSting;
}
}
else
{
//Error messages showing status not updated!!!!!
retSting = itmDBAccessEJB.getErrorString("", "VTREORG5", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
//Added by sarita to rollback connection
isError = true;
return retSting;
}
} }
} }
//Else block will execute if Transaction is Not Splitted [start]
//}//if(rsStock.next()) //}//if(rsStock.next())
}//end of try block }//end of try block
catch(Exception ex) catch(Exception ex)
{ {
isError = true;
System.out.println("Exception Inside [SRLContainerSplit [confirm] Method] ::["+ex+"]"); System.out.println("Exception Inside [SRLContainerSplit [confirm] Method] ::["+ex+"]");
ex.printStackTrace(); ex.printStackTrace();
throw new ITMException(ex); throw new ITMException(ex);
...@@ -567,21 +620,31 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -567,21 +620,31 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
{ {
try try
{ {
if(conn != null) if(isError)
{ {
conn.close(); conn.rollback();
conn = null; System.out.println("SRLContainerSplit connection rollback");
} }
if(pstmt != null) else
{ {
pstmt.close(); conn.commit();
pstmt = null; System.out.println("SRLContainerSplit connection committed");
} }
if(rs != null) if(rs != null)
{ {
rs.close(); rs.close();
rs = null; rs = null;
} }
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -659,7 +722,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -659,7 +722,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
//DistStkUpdHome distStkUpdHome = (DistStkUpdHome)ctx.lookup(componentName); for ejb3 //DistStkUpdHome distStkUpdHome = (DistStkUpdHome)ctx.lookup(componentName); for ejb3
AdjIssueRcpConfLocal adjIssueRcpConfLocal = (AdjIssueRcpConfLocal)ctx.lookup("ibase/AdjIssueRcpConf/local"); //for ejb3 AdjIssueRcpConfLocal adjIssueRcpConfLocal = (AdjIssueRcpConfLocal)ctx.lookup("ibase/AdjIssueRcpConf/local"); //for ejb3
adjIssueRcpConfLocal.setUserInfo(userInfo); adjIssueRcpConfLocal.setUserInfo(userInfo);
retString = adjIssueRcpConfLocal.confirm(tranIdFr, xtraParams, forcedFlag); retString = adjIssueRcpConfLocal.confirm(tranIdFr, xtraParams, forcedFlag,conn);
System.out.println("Transaction Confirmed Successfully!!!!!!!!!!"); System.out.println("Transaction Confirmed Successfully!!!!!!!!!!");
...@@ -673,16 +736,16 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS ...@@ -673,16 +736,16 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
{ {
try try
{ {
if (pStmt != null )
{
pStmt.close();
pStmt = null;
}
if (rs !=null) if (rs !=null)
{ {
rs.close(); rs.close();
rs=null; rs=null;
} }
if (pStmt != null )
{
pStmt.close();
pStmt = null;
}
} }
catch(Exception e) catch(Exception e)
{ {
......
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