Commit 1cea8952 authored by mjadhav's avatar mjadhav

changes done for duplicate ref_no


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97524 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 728d913b
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
package ibase.webitm.ejb.fin; package ibase.webitm.ejb.fin;
import ibase.system.config.*; import ibase.system.config.*;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.*;
import ibase.webitm.ejb.dis.DistCommon; import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.utility.GenericUtility; import ibase.webitm.utility.GenericUtility;
...@@ -16,6 +17,7 @@ import java.text.*; ...@@ -16,6 +17,7 @@ import java.text.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import org.w3c.dom.*; import org.w3c.dom.*;
...@@ -36,16 +38,23 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -36,16 +38,23 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
String winName = null; String winName = null;
FinCommon finCommon = null; FinCommon finCommon = null;
ValidatorEJB validator = null; ValidatorEJB validator = null;
String allXmlDataStr1="";
E12GenericUtility e12GenericUtility = new E12GenericUtility();
public String wfValData(String currXmlDataStr, String hdrXmlDataStr, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException public String wfValData(String currXmlDataStr, String hdrXmlDataStr,String allXmlDataStr,String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException
{ {
Document currDom = null; Document currDom = null;
Document hdrDom = null; Document hdrDom = null;
Document allDom = null; Document allDom = null;
String errString = null; String errString = null;
GenericUtility genericUtility = GenericUtility.getInstance(); GenericUtility genericUtility = GenericUtility.getInstance();
try try
{ {
allXmlDataStr1=allXmlDataStr;
if(currXmlDataStr != null && currXmlDataStr.trim().length()!= 0) if(currXmlDataStr != null && currXmlDataStr.trim().length()!= 0)
{ {
System.out.println ( "currXmlDataStr: " + currXmlDataStr); System.out.println ( "currXmlDataStr: " + currXmlDataStr);
...@@ -53,13 +62,15 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -53,13 +62,15 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
} }
if(hdrXmlDataStr != null && hdrXmlDataStr.trim().length()!= 0) if(hdrXmlDataStr != null && hdrXmlDataStr.trim().length()!= 0)
{ {
hdrDom = genericUtility.parseString(hdrXmlDataStr); hdrDom = genericUtility.parseString(hdrXmlDataStr);
System.out.println("hdrXmlDataStr:"+hdrXmlDataStr);
} }
/*if(allXmlDataStr != null && allXmlDataStr.trim().length()!= 0) if(allXmlDataStr != null && allXmlDataStr.trim().length()!= 0)
{ {
allDom = genericUtility.parseString(allXmlDataStr); allDom = genericUtility.parseString(allXmlDataStr);
}*/ System.out.println("allXmlDataStr:"+allXmlDataStr);
errString = wfValData( currDom, hdrDom,objContext, editFlag, xtraParams ); }
errString = wfValData( currDom, hdrDom,allDom,objContext, editFlag, xtraParams );
System.out.println ( "ErrString: " + errString); System.out.println ( "ErrString: " + errString);
} }
catch(Exception e) catch(Exception e)
...@@ -75,7 +86,7 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -75,7 +86,7 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
return ( errString ); return ( errString );
} }
public String wfValData(Document dom, Document dom1, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException { public String wfValData(Document dom, Document dom1,Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException {
NodeList parentNodeList = null; NodeList parentNodeList = null;
NodeList childNodeList = null; NodeList childNodeList = null;
Node parentNode = null; Node parentNode = null;
...@@ -90,7 +101,7 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -90,7 +101,7 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
String errorType = ""; String errorType = "";
String errString = ""; String errString = "";
String bankCode = ""; String bankCode = "";
String prdCode = ""; String prdCode = "",refNo="",refSer="",lineNo="";
java.util.Date tranDate = null; java.util.Date tranDate = null;
int ctr = 0; int ctr = 0;
int currentFormNo = 0; int currentFormNo = 0;
...@@ -103,14 +114,18 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -103,14 +114,18 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt1 = null; PreparedStatement pstmt1 = null;
ResultSet rs1 = null; ResultSet rs1 = null;
Document domAll = null;
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
String custrefNo=""; //String custrefNo="";
int countCustRef=0; int countCustRef=0;
int childNodeListLength=0; int childNodeListLength=0;
double rcpAmt=0.0,chqAmt=0.0;
boolean isValidcustRef=false; boolean isValidcustRef=false;
ArrayList<String> refNoList = new ArrayList<String>();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>"); StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try try
{ {
System.out.println("validation called!!!!");
dateFormat2 = new SimpleDateFormat(genericUtility.getApplDateFormat()); dateFormat2 = new SimpleDateFormat(genericUtility.getApplDateFormat());
conn = connDriver.getConnectDB("DriverITM"); conn = connDriver.getConnectDB("DriverITM");
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode"); userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
...@@ -278,49 +293,102 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -278,49 +293,102 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
errFields.add(childNodeName.toLowerCase()); errFields.add(childNodeName.toLowerCase());
} }
} }
else if (childNodeName.equalsIgnoreCase("chq_amt"))
{
chqAmt=doublevalue(this.genericUtility.getColumnValue("chq_amt", dom));
System.out.println("chqAmt---"+chqAmt);
if(chqAmt < 0)
{
errCode = "VTCHQATEMP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
} }
//valueXmlString.append("</Detail1>"); //valueXmlString.append("</Detail1>");
break; break;
case 2: case 2:
parentNodeList = dom.getElementsByTagName("Detail2"); domAll= parseString(allXmlDataStr1);
System.out.println("###allXmlDataStr1:"+allXmlDataStr1);
parentNodeList = domAll.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0); parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes(); childNodeList = parentNode.getChildNodes();
//valueXmlString.append("<Detail1>"); //valueXmlString.append("<Detail1>");
childNodeListLength = childNodeList.getLength(); childNodeListLength = childNodeList.getLength();
System.out.println("childNodeListLength :"+childNodeListLength);
for (ctr = 0; ctr < childNodeListLength; ctr++) for (ctr = 0; ctr < childNodeListLength; ctr++)
{ {
childNode = childNodeList.item(ctr); childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName(); childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("ref_no"))
if(childNodeName.equalsIgnoreCase("ref_ser"))
{
refSer=this.genericUtility.getColumnValue("ref_ser", domAll);
System.out.println("refSer---"+refSer);
if(refSer == null)
{
errCode = "VTREFSREMP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if (childNodeName.equalsIgnoreCase("ref_no"))
{ {
custrefNo=this.genericUtility.getColumnValue("ref_no", dom); refNo=this.genericUtility.getColumnValue("ref_no", domAll);
//siteCode=this.genericUtility.getColumnValue("site_code", domAll);
siteCode=this.genericUtility.getColumnValue("site_code", dom1); siteCode=this.genericUtility.getColumnValue("site_code", dom1);
System.out.println("Ref No---"+custrefNo); String siteCode1=this.genericUtility.getColumnValue("site_code", domAll);
lineNo = genericUtility.getColumnValue("line_no",domAll);
refSer=this.genericUtility.getColumnValue("ref_ser", domAll);
System.out.println("Ref No---"+refNo);
System.out.println("siteCode---"+siteCode); System.out.println("siteCode---"+siteCode);
sql="select count(*) from receivables where ref_no=?"; System.out.println("siteCode1---"+siteCode1);
pstmt1=conn.prepareStatement(sql); System.out.println("lineNo---"+lineNo);
pstmt1.setString(1,custrefNo); System.out.println("refSer---"+refSer);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
if(rs1.getInt(1)>0)
{
isValidcustRef=true;
}
else
{
errCode = "VTREFVLD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(refNo == null)
{
errCode = "VTREFNOEMP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
refNo=refNo.trim();
sql="select count(*) from receivables where ref_no=?";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,refNo);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
if(rs1.getInt(1)>0)
{
isValidcustRef=true;
}
else
{
errCode = "VTREFVLD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs1.close(); // added By akhilesh on 10/01/13 to close the statement
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
if(isValidcustRef) if(isValidcustRef)
{ {
refNo=refNo.trim();
sql="select count(*) from receivables where ref_no=? and site_code=?"; sql="select count(*) from receivables where ref_no=? and site_code=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1,custrefNo); pstmt.setString(1,refNo);
pstmt.setString(2,siteCode); pstmt.setString(2,siteCode);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
...@@ -337,19 +405,38 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -337,19 +405,38 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
errList.add(errCode); errList.add(errCode);
errFields.add(childNodeName.toLowerCase()); errFields.add(childNodeName.toLowerCase());
} }
}
if (isDulplicateFrmDom())
{
errCode = "VTDUPREFNO";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
} }
rs1.close(); // added By akhilesh on 10/01/13 to close the statement
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
else if(childNodeName.equalsIgnoreCase("rcp_amt"))
{
rcpAmt=doublevalue(this.genericUtility.getColumnValue("rcp_amt", domAll));
System.out.println("rcpAmt---"+rcpAmt);
if(rcpAmt == 0)
{
errCode = "VRCPAMTEMP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(rcpAmt < 0)
{
errCode = "VTRCPATVLD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
} }
/*--------------------------------------------------------------------------*/ /*----------changes done on 04-MARCH-2015,end-------------------------------*/
} }
...@@ -746,7 +833,7 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -746,7 +833,7 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
} }
System.out.println("!!!!!!!!!!!!!final updateFlag :["+updateFlag+"]"); System.out.println("!!!!!!!!!!!!!final updateFlag :["+updateFlag+"]");
valueXmlString.append( "<Detail2>\r\n" ); valueXmlString.append( "<Detail2>\r\n");
/* /*
...@@ -1167,6 +1254,13 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -1167,6 +1254,13 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
} }
return difference; return difference;
} }
public double doublevalue(String str) {
if (str == null || str.trim().length() == 0) { return 0.0D; }
else
{
return Double.parseDouble(str);
}
}
private HashMap calcDiscount( String refNo , java.util.Date tranDate ,double receiptAmount, Connection conn) throws ITMException, RemoteException private HashMap calcDiscount( String refNo , java.util.Date tranDate ,double receiptAmount, Connection conn) throws ITMException, RemoteException
{ {
...@@ -1257,6 +1351,184 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR ...@@ -1257,6 +1351,184 @@ public class GenReceiptIC extends ValidatorEJB implements CRemittanceTrLocal, CR
System.out.println("returning String from calcDiscount "+map.toString()); System.out.println("returning String from calcDiscount "+map.toString());
return map; return map;
} }
private boolean isDulplicateFrmDom(Document dom,String refNo, String lineNo,String refSer) throws ITMException
{
NodeList parentList = null;
NodeList childList = null;
Node parentNode = null;
Node childNode = null;
String lineNoDom = "";
boolean isDulplicate = false;
String refNoDom= "",refSerDom="";
System.out.println("---inside isDulplicateFrmDom--");
try
{
parentList = dom.getElementsByTagName("Detail2");
int parentNodeListLength = parentList.getLength();
System.out.println("parentNodeListLength :"+parentNodeListLength);
for (int prntCtr = parentNodeListLength; prntCtr > 0; prntCtr-- )
{
parentNode = parentList.item(prntCtr-1);
childList = parentNode.getChildNodes();
System.out.println("child length :"+childList.getLength());
for (int ctr = 0; ctr < childList.getLength(); ctr++)
{
childNode = childList.item(ctr);
if(childNode != null && childNode.getNodeName().equalsIgnoreCase("attribute"))
{
String updateFlag = "";
updateFlag = childNode.getAttributes().getNamedItem("updateFlag").getNodeValue();
if (updateFlag.equalsIgnoreCase("D"))
{
System.out.println("Break from here as the record is deleted");
break;
}
}
if ( childNode != null && childNode.getFirstChild() != null &&
childNode.getNodeName().equalsIgnoreCase("line_no") )
{
lineNoDom = childNode.getFirstChild().getNodeValue().trim();
System.out.println("lineNo["+lineNo+"]lineNoDom["+lineNoDom+"]");
if (lineNo.equalsIgnoreCase(lineNoDom))
{
System.out.println("Break from here as line No match");
refNo="";
refSer="";
break;
}
}
if ( childNode != null && childNode.getFirstChild() != null &&
childNode.getNodeName().equalsIgnoreCase("REF_NO") )
{
refNoDom = childNode.getFirstChild().getNodeValue().trim();
System.out.println("refNoDom :"+refNoDom);
}
if ( childNode != null && childNode.getFirstChild() != null &&
childNode.getNodeName().equalsIgnoreCase("ref_ser") )
{
refSerDom = childNode.getFirstChild().getNodeValue().trim();
System.out.println("refSerDom :"+refSerDom);
}
}
System.out.println("refSer :"+refSer+"&refSerDom :"+refSerDom);
System.out.println("refNo :"+refNo+"&refNoDom :"+refNoDom);
if (refSer.trim().equalsIgnoreCase(refSerDom.trim()) && refNo.trim().equalsIgnoreCase(refNoDom.trim()) )
{
System.out.println("inside!!!!!!");
isDulplicate = true;
break;
}
}//for loop
}catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
}
catch(Exception e)
{
e.printStackTrace();
}
}
System.out.println("isDulplicate>>>>>> ["+isDulplicate+"]");
return isDulplicate;
}
private boolean isDulplicateFrmDom() throws ITMException
{
boolean isDulplicate=false;
String refNoDom="";
Node childNode = null;
NodeList parentList = null;
NodeList childList = null;
Node parentNode = null;
String refNo1="";
Document domTest = null;
int detailsLen=0;
String ref3="",lineNo1="",updateFlag="";
try
{
System.out.println("===========isDulplicateFrmDom=!!!===============");
ArrayList<String> refList = new ArrayList<String>();
System.out.println("@@@@@@@@@@@@@@@@"+allXmlDataStr1);
domTest = parseString(allXmlDataStr1);
detailsLen=domTest.getElementsByTagName("Detail2").getLength();
System.out.println("detailsLen "+detailsLen);
for(int i=0 ; i<detailsLen ; i++)
{
ref3=e12GenericUtility.getColumnValueFromNode("ref_no", domTest.getElementsByTagName("Detail2").item(i));
System.out.println("ref3 :"+ref3 + " i "+i);
lineNo1=e12GenericUtility.getColumnValueFromNode("line_no", domTest.getElementsByTagName("Detail2").item(i));
System.out.println("lineNo1 :"+lineNo1);
updateFlag = getCurrentUpdateFlag(domTest.getElementsByTagName("Detail2").item(i));
System.out.println("updateFlag :"+updateFlag+" i :"+i);
System.out.println(ref3.length());
if("D".equalsIgnoreCase(updateFlag))
{
refList.remove(ref3.trim());
}
else
{
refList.add(ref3.trim());
}
}
for (String value : refList) {
System.out.println("Value = " + value);
}
boolean flag = checkDuplicate(refList);
if(flag)
{
isDulplicate=false;
}
else
{
isDulplicate=true;
}
System.out.println("flag !!"+isDulplicate);
}
catch(Exception e)
{
e.printStackTrace();
isDulplicate=false;
}
System.out.println("isDulplicate :"+isDulplicate);
return isDulplicate;
}
public boolean checkDuplicate(ArrayList list) {
HashSet set = new HashSet();
for (int i = 0; i < list.size(); i++) {
boolean val = set.add(list.get(i));
if (val == false) {
return val;
}
}
return true;
}
} }
......
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