Commit 3c904da8 authored by ssalve's avatar ssalve

Sarita : Done changes by sarita on 05 NOV 2018

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@192698 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 545522c2
......@@ -10,16 +10,20 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import javax.naming.InitialContext;
import ibase.ejb.CommonDBAccessEJB;
import ibase.ejb.CommonDBAccessRemote;
import ibase.system.config.AppConnectParm;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.XML2DBEJB;
import ibase.webitm.ejb.dis.adv.AdjIssueRcpConf;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.utility.ITMException;
......@@ -121,14 +125,23 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
FinCommon finCommon = new FinCommon();
//changes by sarita 19MARCH2018
String statusSrl = "";
int cnt = 0;
int cnt = 0 , stkCnt = 0;
//Added by sarita on 29 OCT 2018 [START]
String avalibleFrLocCode = "";
//Added by sarita on 29 OCT 2018 [END]
//Added by sarita on 02 NOV 2018 [START]
ArrayList stockDataList = new ArrayList();
String refSer = "", autoConfirm = "", taxForm = "", chgTerm = "",wrkflwInit = "", wrkflwOpt = "", transactionID = "";
XML2DBEJB xml2DBLocal = new XML2DBEJB();
boolean isWrkflwToBeInitiated = false;
UserInfoBean userInfo = null;
int formCnt = 0;
//Added by sarita on 02 NOV 2018 [END]
try
{
//conn = getConnection();
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
userId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"));
chgTerm = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
//Added by sarita on 18MARCH2018
sql = "select item_code , lot_no , lot_sl,serial_date,status from srl_container where serial_no=?";
......@@ -183,7 +196,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
//Commented & Added by sarita to perform validation on location as location should not be GIT Location on 29 OCT 2018 [START]
//sql = "select count(*) as cnt from stock where ITEM_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND quantity > 0";
sql = "select count(*) as cnt , a.available "
sql = "select a.available "
+ "from invstat a , Location b , Stock c "
+ "where a.inv_stat = b.inv_stat "
+ "AND b.loc_code = c.loc_code "
......@@ -191,16 +204,21 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
+ "AND c.LOT_NO = ? "
+ "AND c.LOT_SL = ? "
+ "AND c.quantity > 0 "
+ "group by a.available";
+ "group by a.available ,c.loc_code,c.item_code,c.lot_no,c.lot_sl,c.quantity";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCodeHdr);
pstmt.setString(2, lotNoHdr);
pstmt.setString(3, lotSlHdr);
rs = pstmt.executeQuery();
if(rs.next())
//Added by sarita to store data into ArrayList on 02 NOV 2018 [START]
//if(rs.next())
while(rs.next())
{
cnt = rs.getInt("cnt");
stkCnt++;
avalibleFrLocCode = rs.getString("available");
stockDataList.add(stkCnt);
stockDataList.add(avalibleFrLocCode);
//Added by sarita to store data into ArrayList on 02 NOV 2018 [END]
}
System.out.println("[SRLContainerSplit] Count is ["+cnt+"] && Available in invstat is ["+avalibleFrLocCode+"]");
if(rs != null)
......@@ -214,7 +232,8 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
pstmt = null;
}
//changes by sarita on 18MARCH2018
if(cnt == 0)
//if(cnt == 0) -- Commented and Added by sarita on 02 NOV 2018
if(stockDataList.isEmpty() == true)
{
//retSting = itmDBAccessEJB.getErrorString("", "VTNOSTK", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
retSting = itmDBAccessEJB.getErrorString("", "VTNOSTK", "", "", conn);
......@@ -223,7 +242,8 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
return retSting;
}
if(cnt > 1)
//if(cnt > 1) -- Commented and Added by sarita on 02 NOV 2018
if(stockDataList.size() > 2)
{
//retSting = itmDBAccessEJB.getErrorString("", "INVRCDSTOC", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
retSting = itmDBAccessEJB.getErrorString("", "INVRCDSTOC", "", "", conn);
......@@ -231,13 +251,27 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
isError = true;
return retSting;
}
else if("N".equalsIgnoreCase(avalibleFrLocCode))
// Commented and Added by sarita on 02 NOV 2018 [START]
/*else if("N".equalsIgnoreCase(avalibleFrLocCode))
{
System.out.println("COUNT if available is N ["+cnt+"]");
retSting = itmDBAccessEJB.getErrorString("", "VTINVGIT", "", "", conn);//Please check the GIT Location Code, it does not exists or not for internal use.
isError = true;
return retSting;
}*/
else
{
stkCnt = (Integer)stockDataList.get(0);
avalibleFrLocCode = (String)stockDataList.get(1);
System.out.println("avalibleFrLocCode ["+avalibleFrLocCode+"]");
if((stkCnt == 1) && ("N".equalsIgnoreCase(avalibleFrLocCode)))
{
retSting = itmDBAccessEJB.getErrorString("", "VTINVGIT", "", "", conn);//Please check the GIT Location Code, it does not exists or not for internal use.
isError = true;
return retSting;
}
}
// Commented and Added by sarita on 02 NOV 2018 [END]
//Commented & Added by sarita to perform validation on location as location should not be GIT Location on 29 OCT 2018 [START]
......@@ -430,7 +464,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
valueXmlforReceipt.append("<forcedSave><![CDATA[").append(false).append("]]></forcedSave>\n");
valueXmlforReceipt.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>\n");
valueXmlforReceipt.append("<Detail1 dbID=\"\" domID=\"1\" objContext=\"1\" objName=\"adj_rcp\">\n");
valueXmlforReceipt.append("<attribute pkNames=\"\" selected=\"N\" status=\"O\" updateFlag=\"A\"/>\n");
valueXmlforReceipt.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>\n");
valueXmlforReceipt.append("<tran_id/>\n");
//valueXmlforReceipt.append("<tran_date><![CDATA[").append((ltranDate==null)?"":simpleDateFormat.format(ltranDate)).append("]]></tran_date>\n");
valueXmlforReceipt.append("<tran_date><![CDATA[").append((tranSerialDate==null)?"":simpleDateFormat.format(tranSerialDate)).append("]]></tran_date>\n");
......@@ -448,9 +482,9 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
/*valueXmlforReceipt.append("<reas_code><![CDATA[").append("ARSLR").append("]]></reas_code>");*/
valueXmlforReceipt.append("<reas_code><![CDATA[").append("PRRCP").append("]]></reas_code>");
valueXmlforReceipt.append("<conf_date/>\n");
/*valueXmlforReceipt.append("<chg_date><![CDATA[24/06/09 15:04:47]]></chg_date>");
valueXmlforReceipt.append("<chg_user><![CDATA[RCHANDRAN ]]></chg_user>");
valueXmlforReceipt.append("<chg_term><![CDATA[192.168.1.52 ]]></chg_term>");*/
valueXmlforReceipt.append("<chg_date><![CDATA[").append((tranSerialDate==null)?"":simpleDateFormat.format(tranSerialDate)).append("]]></chg_date>\n");
valueXmlforReceipt.append("<chg_user><![CDATA[").append(userId).append("]]></chg_user>\n");
valueXmlforReceipt.append("<chg_term><![CDATA[").append(chgTerm).append("]]></chg_term>\n");
valueXmlforReceipt.append("<emp_code__aprv/>\n");
valueXmlforReceipt.append("<price_list/>\n");
valueXmlforReceipt.append("</Detail1>\n");
......@@ -476,7 +510,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
System.out.println("For Header Data ::::[item_code ["+itemCodeHdr+"]] \t [lot_no ["+lotNoHdr+"]] \t [lot_sl ["+lotSlHdr+"]]");
valueXmlforReceipt.append("<Detail2 dbID=\"\" domID=\""+cntRCP+"\" objContext=\"2\" objName=\"adj_rcp\">\n");
valueXmlforReceipt.append("<attribute pkNames=\"\" selected=\"N\" status=\"O\" updateFlag=\"A\"/>\n");
valueXmlforReceipt.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>\n");
valueXmlforReceipt.append("<tran_id/>\n");
valueXmlforReceipt.append("<line_no><![CDATA[").append(cntRCP).append("]]></line_no>\n");
valueXmlforReceipt.append("<item_code><![CDATA[").append(itemCodeDet).append("]]></item_code>\n");
......@@ -569,15 +603,55 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
if(receiptCondition && (isError == false))
{
System.out.println("Saving Data for Receipt");
retSting = saveData(siteCode,valueXmlforReceipt.toString(),conn,userId);
System.out.println("Data Saved Successfully for Receipt");
if(retSting.indexOf("Success") > -1)
//Commented and Added by sarit aon 02 NOV 2018 [START]
//retSting = saveData(siteCode,valueXmlforReceipt.toString(),conn,userId);
String sql1 = "SELECT REF_SER, AUTO_CONFIRM, TAX_FORMS, WRKFLW_INIT, WORKFLOW_OPT FROM TRANSETUP WHERE TRAN_WINDOW = 'w_adj_rcp'" ;
pstmt = conn.prepareStatement(sql1);
rs = pstmt.executeQuery();
if( rs.next() )
{
String[] arrayForTranId = retSting.split("<TranID>");
refSer = checkNull(rs.getString( "REF_SER" ));
autoConfirm = checkNull(rs.getString( "AUTO_CONFIRM" ));
taxForm = checkNull(rs.getString( "TAX_FORMS" ));
wrkflwInit = checkNull(rs.getString( "WRKFLW_INIT" ));
wrkflwOpt = checkNull(rs.getString( "WORKFLOW_OPT" ));
}
if ( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if ( rs != null )
{
rs.close();
rs = null;
}
CommonDBAccessRemote dbAccessRemote = new CommonDBAccessEJB();
userInfo = dbAccessRemote.createUserInfo(userId);
HashMap totFormsMap = getTransInfo(conn);
String totForms = (String)totFormsMap.get("TOTAL_FORMS");
if(totForms != null && totForms.length() > 0)
{
formCnt = Integer.parseInt(totForms);
}
System.out.println("Form Count is == ["+formCnt+"]");
retSting = xml2DBLocal.saveXML2DB(refSer,valueXmlforReceipt.toString(),"adj_rcp", "A", formCnt, true, userId, "tran_id",false,xtraParams,null,wrkflwInit,isWrkflwToBeInitiated,wrkflwOpt,null,"","",false, conn, false, userInfo);
transactionID = retSting;
System.out.println("Data Saved Successfully for Receipt" +retSting );
//if(retSting.indexOf("Success") > -1)
if(retSting.indexOf( "<Errors>" ) == -1 )
{
//Added and Commented by sarita on 02 NOV 2018 [START]
/*String[] arrayForTranId = retSting.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranIdForReciept = arrayForTranId[1].substring(0,endIndex);
tranIdForReciept = arrayForTranId[1].substring(0,endIndex); System.out.println("tranIdForReciept["+tranIdForReciept+"]");
//Commented by sarita on 19MARCH2018
//conn.commit();
//conn.commit();*/
tranIdForReciept = retSting;
//Added and Commented by sarita on 02 NOV 2018 [END]
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)
......@@ -634,7 +708,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
System.out.println("Update ctr "+i);
if(i > 0)
{
// Prompt messages showing transaction Splitted Successfullly!!!!!
//Prompt messages showing transaction Splitted Successfullly!!!!!
retSting = itmDBAccessEJB.getErrorString("", "VTAUTOSPLT", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
return retSting;
}
......@@ -647,7 +721,7 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
return retSting;
}*/
//Commented by sarita on 14APR2018 [end] -- removed column status from srl_contents table
// Prompt messages showing transaction Splitted Successfullly!!!!!
//Prompt messages showing transaction Splitted Successfullly!!!!!
//retSting = itmDBAccessEJB.getErrorString("", "VTAUTOSPLT", "");//itmDBAccessEJB.getErrorString("","VTBLNKDTL","","",conn);
retSting = itmDBAccessEJB.getErrorString("", "VTAUTOSPLT", "", "", conn);
return retSting;
......@@ -812,5 +886,63 @@ public class SRLContainerSplit extends ActionHandlerEJB implements SRLContainerS
return retString;
}
//Added by method to get Total Forms Information on 02 NOV 2018 [START]
public HashMap getTransInfo(Connection conn) throws ITMException
{
PreparedStatement pstmtObj = null;
ResultSet rsObj = null;
int totalForms = 0;
HashMap objMap = new HashMap();
try
{
String winName = "w_adj_rcp";
String objFormSql = "SELECT COUNT(*) AS COUNT FROM OBJ_FORMS WHERE WIN_NAME = ?";
pstmtObj = conn.prepareStatement(objFormSql);
pstmtObj.setString(1,winName);
rsObj = pstmtObj.executeQuery();
if ( rsObj.next())
{
totalForms = rsObj.getInt("COUNT");
}
if(rsObj != null)
{
rsObj.close();
rsObj = null;
}
if(pstmtObj != null)
{
pstmtObj.close();
pstmtObj = null;
}
objMap.put("TOTAL_FORMS", ""+totalForms); System.out.println("objMap ::"+objMap);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(rsObj != null)
{
rsObj.close();
rsObj = null;
}
if(pstmtObj != null)
{
pstmtObj.close();
pstmtObj = null;
}
}
catch(Exception e1)
{
e1.printStackTrace();
throw new ITMException(e1);
}
}
return objMap;
}
//Added by method to get Total Forms Information on 02 NOV 2018 [END]
}
\ No newline at end of file
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