Commit a3d170b5 authored by mchauhan's avatar mchauhan

Migrated to java

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@211328 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 06fb06a1
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import javax.ejb.Stateless;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.itextpdf.text.log.SysoCounter;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
@Stateless
public class BankStatementIC extends ValidatorEJB
{
E12GenericUtility genericUtility = new E12GenericUtility();
String winName = null;
FinCommon finCommon = null;
DistCommon disCommon = null;
ValidatorEJB validator = null;
UtilMethods utilMethods = UtilMethods.getInstance();
public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
errString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
}
catch (Exception e)
{
throw new ITMException(e);
}
return errString;
}
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
if (xmlString2.trim().length() > 0)
{
dom2 = parseString("<Root>" + xmlString2 + "</Root>");
}
errString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
}
catch (Exception e)
{
throw new ITMException(e);
}
return errString;
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
StringBuffer valueXmlString = new StringBuffer();
String tranId = "",tranIdRcp="";
String custCode = "";
String siteCode = "";
String finEntity = "";
String currCode = "";
String acctCodeBal = "";
String tranDateS = "";
String cctrCodeBal = "";
String userId = "";
String sql = "";
String errCode = "";
String errorType = "";
String errString = "";
String hsiteCode = "";
String hcurrCode = "";
String acctCodeAdv = "";
String cctrCodeAdv = "";
String tranType = "";
String rcpMode = "";
String cctrCodeCf = "";
String groupCode = "";
String hgroupCode = "";
String acctCodeCf = "";
String finScheme = "";
String projCode = "";
String tranIdAdvbking = "";
String htranIdAdvbking = "";
String hcustCode = "";
String bankCode = "";
String analCode = "";
String refNo = "";
String refSer = "";
String lineNoRef = "";
String htranId = "";
String cctrCodeAr = "";
String acctCode = "";
String cctrCode = "";
String empCode = "";
String acctCodeAr = "";
String hbankCode = "";
String Sdays = "";
String remark = "";
String refDateS = "" ;
String dueDateS = "";
String siteSpecificBank = "";
String rDshCnf="";
String taxClass = "",taxEnv = "",taxChap;//added by akhilesh on 31/july/13 for tax provision
double diffAmtExch = 0.0D;
double exchRate = 0.0D;
double amount = 0.0D;
double chequeAmt = 0.0D;
double balAmt = 0.0D;
double amountBc = 0.0D;
double rcpAmt = 0.0D;
double rcpAmt1 = 0.0D;
double billDiscAmt = 0.0D;
double advAmt = 0.0D;
double Amt = 0.0D;
double totAmt = 0.0D;
double pendingAmt = 0.0D;
double adjAmt = 0.0D;
double chqAmount=0.0D;
Timestamp rfDate=null,today = null;
String tranIdHdr=null,advBkId=null,currCodeHdr=null,chaqueAmtStr=null,exchRatestr=null,amt=null,amountBcStr=null,diffAmtBcStr=null;
int ctr = 0;
int currentFormNo = 0;
int cnt = 0;
int crt = 0;
int Idays = 0;
String itemSer=null;
String exchRateStr="";
java.util.Date tranDate = null;
java.util.Date effDate = null;
java.util.Date refDate = null;
java.util.Date dueDate = null;
java.util.Date heffDate = null;
java.util.Date htranDate = null;
java.util.Date today1 = null;
ArrayList errList = new ArrayList();
ArrayList errFields = new ArrayList();
SimpleDateFormat dateFormat2 = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
String effBankStr="",rcpacctAmt="";
String refType = "",guid = "",chqAmt;
Timestamp tranDt = null;
double rcpacctAmtdbl=0;
String itemValue = "",lineNo = "",lineValue= "",updateFlag = "", invTrace = " ",rcpAdvBkingamount="";
int lineNoInt = 0,lineValueInt = 0;
NodeList itemNodeList = null,lineNoList = null,detail2List = null,childDetilList = null; //Variables added by Mahesh Saggam on 17-June-2019
Node itemNode = null,lineNoNode = null,detailNode = null,chidDetailNode = null; //Variables added by Mahesh Saggam on 17-June-2019
double rcpAdvBkingAmt=0.0,totAmtdet=0.0,diffvalue=0.0;//END
try
{
finCommon = new FinCommon();
disCommon = new DistCommon();
validator = new ValidatorEJB();
conn = getConnection();
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
SimpleDateFormat sdf1 = new SimpleDateFormat(genericUtility.getDBDateFormat());
today = java.sql.Timestamp.valueOf(sdf1.format(new java.util.Date()).toString() + " 00:00:00.0");
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDate = sdf.format(currentDate.getTime());
if ((objContext != null) && (objContext.trim().length() > 0))
{
currentFormNo = Integer.parseInt(objContext);
}
valueXmlString = new StringBuffer("<?xml version = \"1.0\"?> <Root> <header> <editFlag>");
valueXmlString.append(editFlag).append("</editFlag> </header>");
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail1>");
int childNodeListLength = childNodeList.getLength();
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("site_code"))
{
siteCode= checkNull(genericUtility.getColumnValue("site_code", dom));
System.out.println("Site Code>>>>>>>>>>>"+siteCode);
sql = "select count(*) from site where site_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if(rs.next()) {
cnt=rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(cnt == 0 )
{
System.out.println("count:"+cnt);
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if (childNodeName.equalsIgnoreCase("bank_code"))
{
System.out.println("Inside Bank Code>>>>>>>>>>>>>>");
bankCode = this.genericUtility.getColumnValue("bank_code", dom);
System.out.println("BAnk Code>>>>>>>>>"+bankCode);
if(bankCode != null && bankCode.trim().length() > 0)
{
sql = "select count(*) from bank where bank_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
}
if (cnt == 0)
{
errCode = "VMBANK1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if (childNodeName.equalsIgnoreCase("ref_no"))
{
cnt=0;
refNo = checkNull(genericUtility.getColumnValue("ref_no", dom));
System.out.println("Ref No>>>>>>>>>>>>>>"+refNo);
bankCode = checkNull(genericUtility.getColumnValue("bank_code", dom));
System.out.println("Bank Code in Dom>>>>>>>>"+bankCode);
tranId = checkNull(genericUtility.getColumnValue("tran_id", dom));
System.out.println("Tran Id in Dom>>>>>>>>>>"+tranId);
sql="select count(*) from bank_statement where bank_code = ? and ref_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,bankCode);
pstmt.setString(2,refNo);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt=rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if("A".equalsIgnoreCase(editFlag) && cnt > 0)
{
errCode = "VTCHQ3";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else if("E".equalsIgnoreCase(editFlag))
{
sql="select count(*) from bank_statement where bank_code= ? and ref_no= ? and tran_id <> ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
pstmt.setString(2, refNo);
pstmt.setString(3, tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(cnt > 0 )
{
errCode="VTCHQ3";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if(childNodeName.equalsIgnoreCase("curr_code"))
{
currCode = checkNull(genericUtility.getColumnValue("curr_code", dom));
sql="select count(*) from CURRENCY where CURR_CODE=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, currCode);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
}
if(cnt == 0)
{
errCode = "VMCUR1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}// End Case currCode
else if(childNodeName.equalsIgnoreCase("exch_rate")) // Mukesh Chauhan
{
exchRateStr = checkNull(genericUtility.getColumnValue("exch_rate", dom));
exchRate=exchRateStr == null || exchRateStr.trim().length() == 0 ? 0 : Double.parseDouble(exchRateStr);
if (exchRate <= 0)
{
errCode = "VTINVEXR";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
valueXmlString.append("</Detail1>");
break;
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
System.out.println("errListSize [" + errListSize + "] errFields size [" + errFields.size() + "]");
if ((errList != null) && (errListSize > 0))
{
for (cnt = 0; cnt < errListSize; cnt++)
{
errCode = (String)errList.get(cnt);
System.out.println("errCode :"+errCode);
int pos = errCode.indexOf("~");
System.out.println("pos :"+pos);
if(pos>-1)
{
errCode=errCode.substring(0,pos);
}
System.out.println("error code is :"+errCode);
errFldName = (String)errFields.get(cnt);
System.out.println(" cnt [" + cnt + "] errCode [" + errCode + "] errFldName [" + errFldName + "]");
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn, errCode);
if (errString.length() > 0)
{
String bifurErrString = errString.substring(errString.indexOf("<Errors>") +
8, errString.indexOf("<trace>"));
bifurErrString = bifurErrString +
errString.substring(errString.indexOf("</trace>") +
8, errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if (errorType.equalsIgnoreCase("E"))
{
break;
}
}
errStringXml.append("</Errors> </Root> \r\n");
}
else
{
errStringXml = new StringBuffer("");
}
}
catch (Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if (conn != null)
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch (Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
return errString;
}
public String itemChanged(String xmlString, String xmlString1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String valueXmlString = "";
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
valueXmlString = itemChanged(dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams);
}
catch (Exception e)
{
System.out.println("Exception : [MiscVal][itemChanged( String, String )] :==>\n" +
e.getMessage());
}
return valueXmlString;
}
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String valueXmlString = "";
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
if (xmlString2.trim().length() > 0)
{
dom2 = parseString(xmlString2);
}
valueXmlString = itemChanged(dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams);
}
catch (Exception e)
{
System.out.println("Exception : [MiscVal][itemChanged( String, String )] :==>\n" +
e.getMessage());
}
return valueXmlString;
}
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
String sql = "";
String dateNow = "";
String siteDescr = "";
String currCode = "",mcurr="";
String columnValue = "";
String empFname = "";
String empLname = "";
String tranType = "";
String errCode = "";
String BankCode = "";
String tranIdAdvbking = "";
String tranId = "";
String hTranId = "";
String saleOrder = "";
String custCode = "";
String siteCode = "";
String hsiteCode = "";
String acctCodeAr = "";
String cctrCodeAr = "";
String rcpMode = "";
String bankName = "";
String acctCodeAdv = "";
String cctrCodeAdv = "";
String finEntity = "";
String acctPrd = "";
String lsAdvbking = "";
String currCodeBase = "";
String finentDescr = "";
String bankCode = "";
String cashCode = "";
String acctCodeBal = "";
String cctrCodeBal = "";
String loginSite = "";
String acctCodeCf = "";
String cctrCodeCf = "";
String acctCodeCfAr = "";
String cctrCodeCfAr = "";
String chqamt = "";
String billamt = "";
String advadjamt = "";
String netamt = "";
String othamt = "";
String finchg = "";
String billdiscamt = "";
String chequeamt = "";
String CurrCodeFrom = "";
String billDisc = "";
String rcvSer = "";
String refNo = "";
String refSer = "";
String lineNoRef = "";
String tranSer = "";
String acctCode = "";
String cctrCode = "";
String currDescr = "";
String accDescr = "";
String crTrem = "";
String fchgType = "";
String sundryType = "";
String sundryCode = "";
String empCode = "";
String fcurrCode = "";
String deteditflag = "";
String hcurrCode = "";
String bdFluctuationCf = "";
String rcpAutoFinchg = "";
String custName = "";
String lcBillDescAmt = "";
String entryBtchNo = "";
String bankCodeprv = "";
String tranDateS = "";
String effDateS = "";
double amountBc = 0.0D;
double discExchRate = 0.0D;
double mexchrate = 0.0D;
double amount = 0.0D;
double adjAmt = 0.0D;
double discount = 0.0D;
double lcDiff = 0.0D;
double discountLc = 0.0D;
double taxAmt = 0.0D;
double totAmt = 0.0D;
double chqAmt = 0.0D;
double billAmt = 0.0D;
double advAmt = 0.0D;
double exchRate = 0.0D;
double hexchRate = 0.0D;
double sumAdvAmt = 0.0D;
double advadjAmt = 0.0D;
double badDebtAmt = 0.0D;
double othAmt = 0.0D;
double billDisCamt = 0.0D;
double diffAmtExch = 0.0D;
double finChg = 0.0D;
double adv = 0.0D;
double netAmt = 0.0D;
double chequeAmt = 0.0D;
double rcpAmt = 0.0D;
double exch = 0.0D;
int instrPerSlip = 0;
double stdExRt = 0 ;
int days = 0;
int ctr = 0;
int currentFormNo = 0;
int childNodeListLength = 0;
java.util.Date tranDate = null;
java.util.Date refDate = null;
String effDate = "";
java.util.Date dueDate = null;
java.util.Date htranDate = null;
ArrayList errList = new ArrayList();
ArrayList errFields = new ArrayList();
SimpleDateFormat dateFormat1 = null;;
SimpleDateFormat sdf;
StringBuffer valueXmlString = new StringBuffer();
Connection conn = null;
PreparedStatement pstmt = null;
String hCurrCode = "",reStr="";
ResultSet rs = null;
String itemValue = "",lineNo = "",lineValue= "",updateFlag = "", invTrace = " ",rcpdetamt="";
int lineNoInt = 0,lineValueInt = 0;
NodeList itemNodeList = null,lineNoList = null,detail2List = null,childDetilList = null; //Variables added by Mahesh Saggam on 17-June-2019
Node itemNode = null,lineNoNode = null,detailNode = null,chidDetailNode = null; //Variables added by Mahesh Saggam on 17-June-2019
double rcpdetAmount=0.0,totAmtdet=0.0,diffvalue=0.0;
// GenericUtility genericUtility = GenericUtility.getInstance();
ConnDriver connDriver = new ConnDriver();
UtilMethods utl = new UtilMethods();
try
{
dateFormat1=new SimpleDateFormat(genericUtility.getApplDateFormat());
conn = getConnection();
conn.setAutoCommit(false);
connDriver = null;
this.finCommon = new FinCommon();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
if ((objContext != null) && (objContext.trim().length() > 0))
{
currentFormNo = Integer.parseInt(objContext);
}
valueXmlString = new StringBuffer("<?xml version = \"1.0\"?> <Root> <header> <editFlag>");
valueXmlString.append(editFlag).append("</editFlag> </header>");
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
// added by -Monika-13 MAY 2019-To make chq amount protected in Receivable JV
winName = getObjName(parentNode);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail1>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equals(currentColumn))
{
childNode.getFirstChild();
}
ctr++;
}
while ((ctr < childNodeListLength) && (!
childNodeName.equals(currentColumn)));
if (currentColumn.trim().equalsIgnoreCase("itm_default"))
{
loginSite = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("Inside ITM>>>>>>>"+loginSite);
valueXmlString.append("<site_code>").append("<![CDATA["+ loginSite+"]]>").append("</site_code>");
bankCode=genericUtility.getColumnValue("bank_code", dom);
System.out.println("BAnk Code Dom>>>>>>>>"+bankCode);
valueXmlString.append("<bank_code>").append("<![CDATA["+ bankCode+"]]>").append("</bank_code>");
effDate =simpleDateFormat.format(currentDate.getTime());
System.out.println("Eff Date >>>>>>>>"+effDate);
valueXmlString.append("<eff_date>").append("<![CDATA["+ effDate+"]]>").append("</eff_date>");
sql="select descr from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, loginSite);
rs = pstmt.executeQuery();
if (rs.next())
{
siteDescr = rs.getString(1);
System.out.println("Fin sitedescr>>>>>>>>>>>"+siteDescr);
}
if (pstmt != null)
pstmt.close();
if (rs != null)
rs.close();
rs = null;
pstmt = null;
valueXmlString.append("<site_descr>").append("<![CDATA["+ siteDescr+"]]>").append("</site_descr>");
sql="select bank_name from bank where bank_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
rs = pstmt.executeQuery();
if (rs.next())
{
bankName = rs.getString(1);
System.out.println("Fin INsi bankname>>>>>>>>>>>"+bankName);
}
if (pstmt != null)
pstmt.close();
if (rs != null)
rs.close();
rs = null;
pstmt = null;
valueXmlString.append("<bank_bank_name>").append("<![CDATA["+ bankName+"]]>").append("</bank_bank_name>");
sql="select fin_entity from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, loginSite);
rs = pstmt.executeQuery();
if (rs.next())
{
finEntity = rs.getString(1);
System.out.println("Fin INside finentity>>>>>>>>>>>"+finEntity);
}
if (pstmt != null)
pstmt.close();
if (rs != null)
rs.close();
rs = null;
pstmt = null;
sql="select curr_code from finent where fin_entity = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, finEntity);
rs = pstmt.executeQuery();
if (rs.next())
{
currCode = rs.getString(1);
System.out.println("Fin INside currcode>>>>>>>>>>>"+currCode);
}
if (pstmt != null)
pstmt.close();
if (rs != null)
rs.close();
rs = null;
pstmt = null;
valueXmlString.append("<curr_code>").append("<![CDATA["+ currCode+"]]>").append("</curr_code>");
exchRate = finCommon.getDailyExchRateSellBuy(currCode, "", loginSite, effDate, "B", conn);
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
}
else if (currentColumn.trim().equalsIgnoreCase("bank_code"))
{
bankCode=genericUtility.getColumnValue("bank_code", dom);
sql="Select bank_name from bank where bank_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
rs = pstmt.executeQuery();
if (rs.next())
{
bankName = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<bank_bank_name>").append("<![CDATA["+ bankName+"]]>").append("</bank_bank_name>");
}
else if (currentColumn.trim().equalsIgnoreCase("site_code"))
{
siteCode = genericUtility.getColumnValue("site_code", dom);
sql = "select descr from site where site_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
siteDescr = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<site_descr>").append("<![CDATA["+ siteDescr+"]]>").append("</site_descr>");
}
else if (currentColumn.trim().equalsIgnoreCase("curr_code"))
{
System.out.println("INside Curr_code>>>>>");
effDate =simpleDateFormat.format(currentDate.getTime());
currCode =checkNull( genericUtility.getColumnValue("curr_code", dom));
siteCode = genericUtility.getColumnValue("site_code", dom);
System.out.println("FinEntity>>>"+finEntity);
sql="select fin_entity from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
finEntity = rs.getString(1);
System.out.println("Fin INside finentity>>>>>>>>>>>"+finEntity);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("Fin Value"+finEntity);
sql="select CURR_CODE from finent where fin_entity = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, finEntity);
rs = pstmt.executeQuery();
if (rs.next())
{
mcurr= checkNull(rs.getString(1));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("curr code dom>>>>>"+currCode);
System.out.println("curr code rs>>>>"+mcurr);
exchRate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, effDate, "B", conn);
if (currCode.trim().equalsIgnoreCase(mcurr.trim()))
{
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA["+exchRate+"]]>").append("</exch_rate>");
}
else
{
valueXmlString.append("<exch_rate protect = \"0\">").append("<![CDATA["+exchRate+"]]>").append("</exch_rate>");
}
}
valueXmlString.append("</Detail1>");
}//end
valueXmlString.append("</Root>");
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception ::" + e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if (conn != null)
{
if (pstmt != null)
pstmt.close();
if (rs != null)
rs.close();
rs = null;
pstmt = null;
conn.close();
conn = null;
}
}
catch (Exception d)
{
d.printStackTrace();
}
}
return valueXmlString.toString();
}
private String errorType(Connection conn, String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, errorCode);
rs = pstmt.executeQuery();
while (rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
}
catch (Exception ex)
{
ex.printStackTrace();
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
private static void setNodeValue(Document dom, String nodeName, String nodeVal)
throws Exception
{
Node tempNode = dom.getElementsByTagName(nodeName).item(0);
if (tempNode != null)
{
if (tempNode.getFirstChild() == null)
{
CDATASection cDataSection = dom.createCDATASection(nodeVal);
tempNode.appendChild(cDataSection);
}
else
{
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
private static String getAbsString(String str) {
return (str == null) || (str.trim().length() == 0) || ("null".equalsIgnoreCase(str.trim())) ? "" : str.trim();
}
public double doublevalue(String str) {
if (str == null || str.trim().length() == 0) { return 0.0D; }
else
{
return Double.parseDouble(str);
}
}
public int Sing(double str)
{
if (str > 0.0D) {
return 1;
}
if (str < 0.0D) {
return -1;
}
return 0;
}
/*private double takeExchRate(String currCode, String blank, String siteCode, java.util.Date tranDate, String type, Connection conn)
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
String finEntity = "";
String currCodeSql = "";
String rtrim = "";
double exchRate = 0.0D;
try
{
if ((currCode == null) || (currCode.trim().length() == 0))
{
sql = "select fin_entity from site where site_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
finEntity = rs.getString(1);
}
rs.close();
rs = null;;
pstmt.close();
pstmt = null;
sql = "select curr_code from finent where fin_entity = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, finEntity);
rs = pstmt.executeQuery();
if(rs.next())
{
currCodeSql = rs.getString(1);
}
rs.close();
rs = null;;
pstmt.close();
pstmt = null;
}
else
{
currCodeSql = currCode;
}
if (currCode.trim().equals(currCodeSql.trim()))
{
return 1.0D;
}
if(type.equalsIgnoreCase("S"))
{
sql = "select exch_rate__sell from daily_exch_rate_sell_buy where curr_code = ? and curr_code__to = ? and ? between from_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, currCode);
pstmt.setString(2, currCodeSql);
pstmt.setDate(3, new java.sql.Date(tranDate.getTime()));
rs = pstmt.executeQuery();
if(rs.next())
{
exchRate = rs.getDouble(1);
}
rs.close();
rs = null;;
pstmt.close();
pstmt = null;
if (exchRate == 0.0D)
{
sql = "select exch_rate from daily_exch_rate_sell_buy where curr_code = ? and curr_code__to = ? and ? between from_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, currCodeSql);
pstmt.setString(2, currCode);
pstmt.setDate(3, new java.sql.Date(tranDate.getTime()));
rs = pstmt.executeQuery();
if(rs.next())
{
exchRate = rs.getInt(1);
}
if (exchRate != 0.0D)
{
exchRate = 1.0D / exchRate;
}
rs.close();
rs = null;;
pstmt.close();
pstmt = null;
}
}
if (exchRate == 0.0D)
{
sql = "select exch_rate from daily_exch_rate_sell_buy where curr_code = ? and curr_code__to = ? and ? between from_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, currCode);
pstmt.setString(2, currCodeSql);
pstmt.setDate(3, new java.sql.Date(tranDate.getTime()));
rs = pstmt.executeQuery();
if(rs.next())
{
exchRate = rs.getDouble(1);
}
rs.close();
rs = null;;
pstmt.close();
pstmt = null;
if (exchRate == 0.0D)
{
sql = "select exch_rate from daily_exch_rate_sell_buy where curr_code = ? and curr_code__to = ? and ? between from_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, currCodeSql);
pstmt.setString(2, currCode);
pstmt.setDate(3, new java.sql.Date(tranDate.getTime()));
rs = pstmt.executeQuery();
if(rs.next())
{
exchRate = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
if (exchRate == 0.0D)
{
sql = "select rtrim(case when var_value is null then 'Y' else var_value end) from finparm where prd_code = '999999' and var_name = 'EXCRT_CURR' ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
rtrim = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (rtrim.equals("Y"))
{
sql = "select std_exrt from currency where curr_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, currCode);
rs = pstmt.executeQuery();
if(rs.next())
{
exchRate = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
return 0.0D;
}
}
if (exchRate == 0.0D)
{
exchRate = 0.0D;
}
}
catch (Exception e) {
System.out.println(e.getMessage());
}
return exchRate;
} */
private String checkBadDebtAmt(int value, Connection conn, Document dom)
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
String errCode = "";
String refNo = "";
String refSer = "";
String lineNoRef = "";
double rcpAmt = 0.0D;
double balAmt = 0.0D;
double badAmt = 0.0D;
double badRev = 0.0D;
double badAmtMax = 0.0D;
StringBuffer valueXmlString = new StringBuffer();
try
{
refNo = this.genericUtility.getColumnValue("ref_no", dom);
refSer = this.genericUtility.getColumnValue("ref_ser", dom);
rcpAmt = Double.parseDouble(this.genericUtility.getColumnValue("rcp_amt", dom));
lineNoRef = this.genericUtility.getColumnValue("line_no__ref", dom);
sql = "select (tot_amt - adj_amt) , case when bad_debt_amt is null then 0 else bad_debt_amt end from receivables where tran_ser = ? and ref_no = ? and line_no__ref = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refSer);
pstmt.setString(2, refNo);
pstmt.setString(3, lineNoRef);
rs = pstmt.executeQuery();
while(rs.next())
{
balAmt = rs.getDouble(1);
badAmt = rs.getDouble(2);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (badAmt > 0.0D)
{
if ((balAmt == rcpAmt) || (balAmt == badAmt))
{
if (rcpAmt == balAmt)
{
badRev = badAmt;
}
else
{
badRev = rcpAmt;
}
valueXmlString.append("<bad_debt_amt protect = \"1\">").append("<![CDATA[" + badRev + "]]>").append("</bad_debt_amt>");
}
else
{
valueXmlString.append("<bad_debt_amt protect = \"0\"").append("<![CDATA[" + badRev + "]]>").append("</bad_debt_amt>");
}
}
else
{
valueXmlString.append("<bad_debt_amt protect = \"1\">").append("<![CDATA[0]]>").append("</bad_debt_amt>");
}
if(badAmt > 0.0D)
{
badRev = Double.parseDouble(this.genericUtility.getColumnValue("bad_debt_amt", dom));
if ((balAmt == rcpAmt) || (balAmt == badAmt))
{
if (rcpAmt == balAmt)
{
if (badRev != badAmt)
{
errCode = "VTBAMTREV";
}
}
else if (badRev != rcpAmt)
{
errCode = "VTBAMTREV";
}
}
else
{
badAmtMax = Math.min(rcpAmt, badAmt);
if (badRev > badAmtMax)
{
errCode = "VTBAMTREV";
valueXmlString.append("").append("<![CDATA[" + badRev + "]]>").append("</bad_debt_amt>");
}
}
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return errCode;
}
/*private String checkPeriod(String mode, String siteCode, java.util.Date tranDate, Connection con)
{
String errorCode = "";
String sql = "";
String prdCode = "";
String statAdm = "";
String statFin = "";
String statPur = "";
String statSal = "";
String statMfg = "";
String statIc = "";
String statDis = "";
ResultSet rs = null;
java.util.Date procDate = null;
try
{
if ("ADM_FIN_PUR_SAL_MFG_IC_DIS".indexOf(mode) != 0)
{
sql = "select code from period where ? between fr_date and to_date";
PreparedStatement pst = con.prepareStatement(sql);
pst.setDate(1, new java.sql.Date(tranDate.getTime()));
rs = pst.executeQuery();
if (rs.next())
{
prdCode = rs.getString(1);
}
pst.close();
pst = null;
rs.close();
rs = null;
}
if (mode.equalsIgnoreCase("FIN"))
{
sql = "select stat_fin,proc_date from period_stat where site_code = ? and prd_code = ?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, siteCode);
pst.setString(2, prdCode);
rs = pst.executeQuery();
if (rs.next())
{
statFin = rs.getString(1);
procDate = rs.getDate(2);
if (statFin.trim().equalsIgnoreCase("N"))
{
errorCode = "VTPRDSAL";
}
else if (procDate.after(tranDate))
{
errorCode = "VTPRDTSAL";
}
}
else
{
errorCode = "VMSTATSND";
}
pst.close();
pst = null;
rs.close();
rs = null;
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return errorCode;
}
*/
private String checkNull(String str)
{
if(str == null)
{
return "";
}
else
{
return str ;
}
}
private double getReqDecimal(double actVal, int prec)
{
String fmtStr = "############0";
String strValue = null;
double retVal = 0;
if (prec > 0)
{
fmtStr = fmtStr + "." + "000000000".substring(0, prec);
}
DecimalFormat decFormat = new DecimalFormat(fmtStr);
retVal = Double.parseDouble(decFormat.format(actVal));
if (Math.abs(retVal) == 0)
{
retVal = 0;
}
return retVal;
}
// method getobj added-Monika-13-MAY-2019-To make chq amount protected in Receivable JV
private String getObjName(Node node) throws Exception
{
String objName = null;
NodeList nodeList = null;
Node detaulNode = null;
Node detailNode = null;
nodeList = node.getChildNodes();
NamedNodeMap attrMap = node.getAttributes();
objName = attrMap.getNamedItem( "objName" ).getNodeValue();
/*
for(int ctr = 0; ctr < nodeList.getLength(); ctr++ )
{
detailNode = nodeList.item(ctr);
if(detailNode.getNodeName().equalsIgnoreCase("attribute") )
{
objName = detailNode.getAttributes().getNamedItem("objName").getNodeValue();
}
}
*/
return "w_" + objName;
}
public String getParentColumnValue(String currColumn, Document dom, String formNo)throws ITMException
{
NodeList parentNodeList=null;
Node parentNode=null;
String Value = "";
try
{
E12GenericUtility genericUtility= new E12GenericUtility();
parentNodeList = dom.getElementsByTagName("Detail"+formNo);
int childNodeListLength = parentNodeList.getLength();
for(int ctr = 0; ctr < childNodeListLength; ctr++)
{
parentNode = parentNodeList.item(ctr);
Value = genericUtility.getColumnValueFromNode(currColumn, parentNode);
break;
} // end for
}//END TRY
catch(Exception e)
{
System.out.println("DistCommon::getParentColumnValue::Exception ::"+e);
e.printStackTrace();
throw new ITMException(e);
}
return Value;
}
}
\ 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