Commit 7a9cc23d authored by dpawar's avatar dpawar

added validation


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95146 ce508802-f39f-4f6c-b175-0d175dae99d5
parent fc8eabbf
......@@ -6,8 +6,10 @@
********************************************************/
package ibase.webitm.ejb.fin;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
......@@ -26,8 +28,11 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import javax.annotation.EJB;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
......@@ -43,6 +48,8 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
String chgUser = null;
String chgTerm = null;
NumberFormat nf = null;
boolean isError=false;
InterCompReconcileProcessLocal interRecProcessObj=null;
public InterCompReconcile() {
System.out.println("^^^^^^^ inside Inter Compompany Reconciliation ^^^^^^^");
......@@ -93,6 +100,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException {
System.out.println("^^^^^^^ inside Reconciliation wfvaldata---------------");
GenericUtility genericUtility;
NodeList parentNodeList = null;
NodeList childNodeList = null;
......@@ -163,32 +171,60 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
}
firstValue = null;
} else if ("sundry_code_fr".equalsIgnoreCase(childNodeName)) {
firstValue = genericUtility.getColumnValue("sundry_code_fr", dom);
firstValue = firstValue == null ? "" : firstValue.trim();
if (firstValue.length() == 0) {
errCode = "NULLSITECD";
String sundryCodeFr = genericUtility.getColumnValue("sundry_code_fr", dom);
String sundryTypeFr = genericUtility.getColumnValue("sundry_type_fr", dom);
sundryCodeFr=sundryCodeFr==null ? "" :sundryCodeFr.trim();
sundryTypeFr=sundryTypeFr==null ? "" :sundryTypeFr.trim();
System.out.println("sundryCodeFr-->["+sundryCodeFr+"]");
System.out.println("sundryTypeFr-->["+sundryTypeFr+"]");
if(sundryCodeFr.length() == 0){
errCode = "VTSUNTYFE"; //Sundry Code from empty
errString = getErrorString("sundry_code_fr", errCode, userId);
break;
} else {
cnt = getDBRowCount(conn, "site", "site_code", firstValue);
}else{
String tableName="",columnName="";
if("customer".equalsIgnoreCase(sundryTypeFr)){
tableName="customer";
columnName="cust_code";
}
else if("supplier".equalsIgnoreCase(sundryTypeFr)){
tableName="supplier";
columnName="supp_code";
}
cnt = getDBRowCount(conn, tableName, columnName, sundryCodeFr);
if (cnt == 0) {
errCode = "INVDSITECD";
errCode = "VTSUNTYFX"; //sundry code from does not exist in master
errString = getErrorString("sundry_code_fr", errCode, userId);
break;
}
}
firstValue = null;
} else if ("sundry_code_to".equalsIgnoreCase(childNodeName)) {
firstValue = genericUtility.getColumnValue("sundry_code_to", dom);
firstValue = firstValue == null ? "" : firstValue.trim();
if (firstValue.length() == 0) {
errCode = "NULLSITECD";
errString = getErrorString("sundry_code_to", errCode, userId);
String sundryCodeTo = genericUtility.getColumnValue("sundry_code_to", dom);
String sundryTypeTo = genericUtility.getColumnValue("sundry_type_to", dom);
sundryCodeTo=sundryCodeTo==null ? "" :sundryCodeTo.trim();
sundryTypeTo=sundryTypeTo==null ? "" :sundryTypeTo.trim();
System.out.println("sundryTypeTo-->["+sundryTypeTo+"]");
System.out.println("sundryCodeTo-->["+sundryCodeTo+"]");
if(sundryCodeTo.length() == 0){
errCode = "VTSUNTYFE"; //Sundry Code To from empty
errString = getErrorString("sundry_code_fr", errCode, userId);
break;
} else {
cnt = getDBRowCount(conn, "site", "site_code", firstValue);
}else{
String tableName="",columnName="";
if("customer".equalsIgnoreCase(sundryTypeTo)){
tableName="customer";
columnName="cust_code";
}
else if("supplier".equalsIgnoreCase(sundryTypeTo)){
tableName="supplier";
columnName="supp_code";
}
cnt = getDBRowCount(conn, tableName, columnName, sundryCodeTo);
if (cnt == 0) {
errCode = "INVDSITECD";
errCode = "VTSUNTYTX"; //sundry code To does not existin master
errString = getErrorString("sundry_code_to", errCode, userId);
break;
}
......@@ -228,6 +264,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
}
} catch (Exception e) {
e.printStackTrace();
isError=true;
errString = e.getMessage();
throw new ITMException(e);
} finally {
......@@ -265,7 +302,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException {
String siteCodeTo = "", siteCodeFr = "", fromTranDate = "", toTranDate = "", insertQuery = "", path = "", objName = "intercomp_reconcile";
String sundryTypeFr = "", sundryTypeTo = "", sundryCodeFr = "", sundryCodeTo = "";
String sundryTypeFr = "", sundryTypeTo = "", sundryCodeFr = "", sundryCodeTo = "",siteCodeFrDescr="",siteCodeToDescr="";
StringBuffer valueXmlString = new StringBuffer();
int currentFormNo = 0;
NodeList parentNodeList = null;
......@@ -302,6 +339,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
System.out.println("DOM2 Elements["+genericUtility.serializeDom(dom2).toString()+"]");
//int childNodeListLength = childNodeList.getLength();
if(currentColumn.trim().equals("itm_default")) {
System.out.println("in itm_default,,,,,,,,,,,,,,11111111");
Calendar cal = Calendar.getInstance();
Date d = new Date();
cal.setTime(d);
......@@ -318,8 +356,8 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
valueXmlString.append("<to_tran_date><![CDATA[").append(toDate).append("]]></to_tran_date>");
valueXmlString.append("<site_code_fr><![CDATA[").append("").append("]]></site_code_fr>");
valueXmlString.append("<site_code_to><![CDATA[").append("").append("]]></site_code_to>");
valueXmlString.append("<sundry_type_fr><![CDATA[").append("").append("]]></sundry_type_fr>");
valueXmlString.append("<sundry_type_to><![CDATA[").append("").append("]]></sundry_type_to>");
valueXmlString.append("<sundry_type_fr><![CDATA[").append("Customer").append("]]></sundry_type_fr>");
valueXmlString.append("<sundry_type_to><![CDATA[").append("Customer").append("]]></sundry_type_to>");
valueXmlString.append("<sundry_code_fr><![CDATA[").append("").append("]]></sundry_code_fr>");
valueXmlString.append("<sundry_code_to><![CDATA[").append("").append("]]></sundry_code_to>");
}
......@@ -333,6 +371,13 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
//childNodeListLength = childNodeList.getLength();
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
System.out.println("calling process ejb12121..............");
InitialContext ctx = null;
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
interRecProcessObj = (InterCompReconcileProcessLocal)ctx.lookup("ibase/InterCompReconcileProcess/local");
interRecProcessObj.process(dom1, dom2, "", xtraParams);
System.out.println("calling process ejb called..............");
siteCodeTo = genericUtility.getColumnValue("site_code_to",dom1);
siteCodeFr = genericUtility.getColumnValue("site_code_fr",dom1);
fromTranDate = genericUtility.getColumnValue("from_tran_date", dom1);
......@@ -342,6 +387,9 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
sundryCodeFr = genericUtility.getColumnValue("sundry_code_fr", dom1);
sundryCodeTo = genericUtility.getColumnValue("sundry_code_to", dom1);
siteCodeToDescr=getColumnDescr(conn,"descr","site","site_code",siteCodeTo);
siteCodeFrDescr=getColumnDescr(conn,"descr","site","site_code",siteCodeFr);
System.out.println("siteCodeTo="+siteCodeTo+ " siteCodeFr ="+siteCodeFr);
path = CommonConstants.JBOSSHOME + File.separator + "sql" + File.separator + "oracle/relatePartyConsoleSupply.sql";
......@@ -352,6 +400,10 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
valueXmlString.append("<from_tran_date><![CDATA[").append(fromTranDate).append("]]></from_tran_date>");
valueXmlString.append("<to_tran_date><![CDATA[").append(toTranDate).append("]]></to_tran_date>");
valueXmlString.append("<site_code_fr><![CDATA[").append(siteCodeFr).append("]]></site_code_fr>");
valueXmlString.append("<site_code_fr_descr><![CDATA[").append(siteCodeFrDescr).append("]]></site_code_fr_descr>");
valueXmlString.append("<site_code_to_descr><![CDATA[").append(siteCodeToDescr).append("]]></site_code_to_descr>");
valueXmlString.append("<site_code_to><![CDATA[").append(siteCodeTo).append("]]></site_code_to>");
valueXmlString.append("<chg_user><![CDATA[").append(chgUser).append("]]></chg_user>");
valueXmlString.append("<chg_term><![CDATA[").append(chgTerm).append("]]></chg_term>");
......@@ -361,7 +413,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
valueXmlString.append("<sundry_code_to><![CDATA[").append(sundryCodeTo).append("]]></sundry_code_to>");
valueXmlString.append("</Detail1>");
valueXmlString.append("<Detail2>");
valueXmlString.append(getXMLTransData(conn,adpQuery,"",objName,new StringBuffer(""),"CallByItemChange"));
valueXmlString.append(getXMLTransData(conn,adpQuery,"",objName,new StringBuffer(""),"CallByItemChange",""));
valueXmlString.append("</Detail2>");
}
......@@ -544,7 +596,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
String adpQuery = genericUtility.readFile(path);
String objName = "intercomp_reconcile";
String insertQuery = "Insert Into Intercomp_Reco_Trace ( Tran_Id,Tran_Date,Ref_Ser,Ref_Id,Ref_Ser__To,Ref_Id__To,Site_Code,Site_Code__To,Amount,Chg_Date,Chg_User,Chg_Term) values (?,?,?,?, ?,?,?,?, ?,?,?,? )";
getXMLTransData(conn,adpQuery,insertQuery,objName,new StringBuffer(genericUtility.serializeDom(dom)),"CallByManually");
getXMLTransData(conn,adpQuery,insertQuery,objName,new StringBuffer(genericUtility.serializeDom(dom)),"CallByManually",reconcileType);
path = null;
adpQuery = null;
......@@ -573,10 +625,13 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
return "";
}
private StringBuffer getXMLTransData(Connection conn, String sql, String insertSql, String objName, StringBuffer stringBuffer, String callBy) throws Exception
private StringBuffer getXMLTransData(Connection conn, String sql, String insertSql, String objName, StringBuffer stringBuffer, String callBy,String reconcileType) throws Exception
{
System.out.println("In getXMLTransData");
StringBuffer valueXmlString = new StringBuffer("");
HashMap<String,Double> issueSiteMap=new HashMap<String,Double>();
HashMap<String,Double> reseiverSiteMap=new HashMap<String,Double>();
TransIDGenerator generator = null;
if(conn!=null){
ResultSet rs=null;
......@@ -589,6 +644,13 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
ArrayList traceData = null;
ArrayList<ArrayList> queryData = new ArrayList<ArrayList>();
try {
//Added by Dadaso pawar on 26-MAy-14 [Start]
// check reconcile type if Auto then following query will executed otherwise
// manually--> then only those ref id compare or reconcile whose amount is matched.
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if ( rs != null ) {
......@@ -619,12 +681,20 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
traceData = null;
}
if ("CallByManually".equalsIgnoreCase(callBy)) {
arrayListData = buildTraceData(queryData);
//arrayListData = buildTraceData(queryData);
if("Automatically".equalsIgnoreCase(reconcileType)){
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()){
}
}
}
pstmt = null;
rs = null;
traceData = null;
}
if(arrayListData != null && arrayListData.size() > 0)
{
System.out.println("In Second If");
......@@ -821,4 +891,41 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
return returnVal;
}
protected String getColumnDescr(Connection conn, String columnName ,String tableName, String columnName2, String value)
{
PreparedStatement pstmt = null ;
ResultSet rs = null ;
String sql = "";
String findValue = "";
try
{
sql = "SELECT " + columnName + " from " + tableName + " where " + columnName2 +"= ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,value);
rs = pstmt.executeQuery();
if(rs.next())
{
findValue = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
System.out.println("Exception in getColumnDescr ");
e.printStackTrace();
}
System.out.println("returning String from getColumnDescr " + findValue);
return findValue;
}
@Override
public String getValuesForPopHelp(String sundryType) {
// TODO Auto-generated method stub
return null;
}
}
\ 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