Commit cee73722 authored by skumbhar's avatar skumbhar

changes


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95153 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 536480d2
......@@ -29,12 +29,15 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import javax.annotation.EJB;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
......@@ -56,6 +59,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
}
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException {
System.out.println("^^^^^^^ inside Inter Compompany Reconciliation 12^^^^^^^");
Document dom = null;
Document dom1 = null;
Document dom2 = null;
......@@ -413,7 +417,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>");
}
......@@ -578,6 +582,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
System.out.println("@@@@@@@@@---------preSaveForm EJB called...");
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
String siteCodeFr = "", siteCodeTo = "";
try
{
conn = connDriver.getConnectDB("DriverITM");
......@@ -591,12 +596,17 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
chgUser = genericUtility.getColumnValue("chg_user",dom);
chgTerm = genericUtility.getColumnValue("chg_term",dom);
siteCodeFr = genericUtility.getColumnValue("site_code_to",dom);
siteCodeTo = genericUtility.getColumnValue("site_code_fr",dom);
siteCodeFr = siteCodeFr == null? "" : siteCodeFr.trim();
siteCodeTo = siteCodeTo == null? "" : siteCodeTo.trim();
String path = CommonConstants.JBOSSHOME + File.separator + "sql" + File.separator + "oracle/relatePartyConsoleSupply.sql";
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",reconcileType);
getXMLTransData(conn,adpQuery,insertQuery,objName,new StringBuffer(genericUtility.serializeDom(dom)),"CallByManually",reconcileType,siteCodeFr,siteCodeTo);
path = null;
adpQuery = null;
......@@ -625,76 +635,182 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
return "";
}
private StringBuffer getXMLTransData(Connection conn, String sql, String insertSql, String objName, StringBuffer stringBuffer, String callBy,String reconcileType) throws Exception
private StringBuffer getXMLTransData(Connection conn, String sql, String insertSql, String objName, StringBuffer stringBuffer, String callBy,String reconcileType,String siteCodeFr,String siteCodeTo) 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>();
ArrayList<ArrayList> arrayListData = null;
ArrayList traceData = null;
Document dom = null;
TransIDGenerator generator = null;
if(conn!=null){
ResultSet rs=null;
ResultSet rs = null;
PreparedStatement pstmt = null;
int columnCnt = 0;
int columnItr = 0, detailListCnt = 1;
ResultSetMetaData resultSetMetaData = null;
ArrayList<ArrayList> arrayListData = null;
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 ) {
System.out.println("In First If");
resultSetMetaData = rs.getMetaData();
columnCnt = resultSetMetaData.getColumnCount();
while(rs.next())
{
traceData = new ArrayList<String>();
valueXmlString.append("<Detail domID='"+ detailListCnt++ +"' selected = 'N'>\r\n");
for (columnItr = 1;columnItr <= columnCnt;columnItr++) {
valueXmlString.append("<");
valueXmlString.append(resultSetMetaData.getColumnLabel(columnItr));
valueXmlString.append(">");
valueXmlString.append("<![CDATA[");
valueXmlString.append(rs.getString(columnItr) == null ? "" : rs.getString(columnItr).trim());
valueXmlString.append("]]>");
valueXmlString.append("</");
valueXmlString.append(resultSetMetaData.getColumnLabel(columnItr));
valueXmlString.append(">\r\n");
/*System.out.println("ColumnType:["+resultSetMetaData.getColumnType(columnItr)+"]");
System.out.println("ColumnTypeName:["+resultSetMetaData.getColumnTypeName(columnItr)+"]");
System.out.println("ColumnValue:["+rs.getString(columnItr)+"]");*/
traceData.add(rs.getString(columnItr) == null ? "" : rs.getString(columnItr).trim());
if ("CallByItemChange".equalsIgnoreCase(callBy)) {
System.out.println("In CallByItemChange");
resultSetMetaData = rs.getMetaData();
columnCnt = resultSetMetaData.getColumnCount();
while(rs.next())
{
valueXmlString.append("<Detail domID='"+ detailListCnt++ +"' selected = 'N'>\r\n");
for (columnItr = 1;columnItr <= columnCnt;columnItr++) {
valueXmlString.append("<");
valueXmlString.append(resultSetMetaData.getColumnLabel(columnItr));
valueXmlString.append(">");
valueXmlString.append("<![CDATA[");
valueXmlString.append(rs.getString(columnItr) == null ? "" : rs.getString(columnItr).trim());
valueXmlString.append("]]>");
valueXmlString.append("</");
valueXmlString.append(resultSetMetaData.getColumnLabel(columnItr));
valueXmlString.append(">\r\n");
/*System.out.println("ColumnType:["+resultSetMetaData.getColumnType(columnItr)+"]");
System.out.println("ColumnTypeName:["+resultSetMetaData.getColumnTypeName(columnItr)+"]");
System.out.println("ColumnValue:["+rs.getString(columnItr)+"]");*/
}
valueXmlString.append("</Detail>\r\n");
}
valueXmlString.append("</Detail>\r\n");
queryData.add(traceData);
traceData = null;
}
if ("CallByManually".equalsIgnoreCase(callBy)) {
//arrayListData = buildTraceData(queryData);
pstmt = null;
rs = null;
} else if ("CallByManually".equalsIgnoreCase(callBy)) {
System.out.println("In CallByManually");
String refId = "",tranDate = "",gpNo = "",gpDate = "", amtStr = "";
double dramt = 0,cramt = 0,tempAmt = 0;
if("Automatically".equalsIgnoreCase(reconcileType)){
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
System.out.println("In Automatically");
while(rs.next()){
if(siteCodeFr.equalsIgnoreCase(rs.getString("SITE_CODE"))) {
refId = rs.getString("REF_ID");
tranDate = rs.getString("TRAN_DATE");
gpNo = rs.getString("GP_NO");
gpDate = rs.getString("GP_DATE");
dramt = rs.getDouble("DR_AMT");
cramt = rs.getDouble("CR_AMT");
tempAmt = dramt + cramt;
System.out.println("refId["+refId+"],tranDate["+tranDate+"],gpNo["+gpNo+"],gpDate["+gpDate+"],dramt["+dramt+"],cramt["+cramt+"]");
if(refId != null && tranDate != null) {
refId = refId.trim();
tranDate = tranDate.trim();
if(issueSiteMap.containsKey(siteCodeFr+":"+refId+":"+tranDate)) {
issueSiteMap.put(siteCodeFr+":"+refId+":"+tranDate,issueSiteMap.get(siteCodeFr+":"+refId+":"+tranDate) + tempAmt);
} else {
issueSiteMap.put(siteCodeFr+":"+refId+":"+tranDate, tempAmt);
}
} else if(gpNo != null && gpDate != null) {
gpNo = gpNo.trim();
gpDate = gpDate.trim();
if(issueSiteMap.containsKey(siteCodeFr+":"+gpNo+":"+gpDate)) {
issueSiteMap.put(siteCodeFr+":"+gpNo+":"+gpDate,issueSiteMap.get(siteCodeFr+":"+gpNo+":"+gpDate) + tempAmt);
} else {
issueSiteMap.put(siteCodeFr+":"+gpNo+":"+gpDate, tempAmt);
}
}
} else if(siteCodeTo.equalsIgnoreCase(rs.getString("SITE_CODE"))) {
refId = rs.getString("BL_NO");
tranDate = rs.getString("BL_DATE");
dramt = rs.getDouble("DR_AMT");
cramt = rs.getDouble("CR_AMT");
tempAmt = dramt + cramt;
System.out.println("refId["+refId+"],tranDate["+tranDate+"],dramt["+dramt+"],cramt["+cramt+"]");
if(refId != null && tranDate != null) {
refId = refId.trim();
tranDate = tranDate.trim();
if(reseiverSiteMap.containsKey(siteCodeTo+":"+refId+":"+tranDate)) {
reseiverSiteMap.put(siteCodeTo+":"+refId+":"+tranDate,issueSiteMap.get(siteCodeTo+":"+refId+":"+tranDate) + tempAmt);
} else {
reseiverSiteMap.put(siteCodeTo+":"+refId+":"+tranDate, tempAmt);
}
}
}
}
pstmt = null;
rs = null;
arrayListData = buildTraceDataHM(issueSiteMap,reseiverSiteMap,siteCodeFr,siteCodeTo);
} else if("Manually".equalsIgnoreCase(reconcileType)){
System.out.println("In Automatically");
dom = GenericUtility.getInstance().parseString(stringBuffer.toString());
NodeList nList = dom.getElementsByTagName("Detail");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
Element eElement = (Element) nNode;
String siteCode = eElement.getElementsByTagName("SITE_CODE").item(0).getTextContent();
siteCode = siteCode == null ? "" : siteCode.trim();
if(siteCodeFr.equalsIgnoreCase(siteCode)) {
refId = eElement.getElementsByTagName("REF_ID").item(0).getTextContent();
tranDate = eElement.getElementsByTagName("TRAN_DATE").item(0).getTextContent();
gpNo = eElement.getElementsByTagName("GP_NO").item(0).getTextContent();
gpDate = eElement.getElementsByTagName("GP_DATE").item(0).getTextContent();
amtStr = eElement.getElementsByTagName("DR_AMT").item(0).getTextContent();
dramt = amtStr == null ? 0.0 : Double.parseDouble(amtStr.trim());
amtStr = eElement.getElementsByTagName("CR_AMT").item(0).getTextContent();
cramt = amtStr == null ? 0.0 : Double.parseDouble(amtStr.trim());
tempAmt = dramt + cramt;
System.out.println("refId["+refId+"],tranDate["+tranDate+"],gpNo["+gpNo+"],gpDate["+gpDate+"],dramt["+dramt+"],cramt["+cramt+"]");
if(refId != null && tranDate != null) {
refId = refId.trim();
tranDate = tranDate.trim();
if(issueSiteMap.containsKey(siteCodeFr+":"+refId+":"+tranDate)) {
issueSiteMap.put(siteCodeFr+":"+refId+":"+tranDate,issueSiteMap.get(siteCodeFr+":"+refId+":"+tranDate) + tempAmt);
} else {
issueSiteMap.put(siteCodeFr+":"+refId+":"+tranDate, tempAmt);
}
} else if(gpNo != null && gpDate != null) {
gpNo = gpNo.trim();
gpDate = gpDate.trim();
if(issueSiteMap.containsKey(siteCodeFr+":"+gpNo+":"+gpDate)) {
issueSiteMap.put(siteCodeFr+":"+gpNo+":"+gpDate,issueSiteMap.get(siteCodeFr+":"+gpNo+":"+gpDate) + tempAmt);
} else {
issueSiteMap.put(siteCodeFr+":"+gpNo+":"+gpDate, tempAmt);
}
}
} else if(siteCodeTo.equalsIgnoreCase(siteCode)) {
refId = eElement.getElementsByTagName("BIL_NO").item(0).getTextContent();
tranDate = eElement.getElementsByTagName("BIL_DATE").item(0).getTextContent();
amtStr = eElement.getElementsByTagName("DR_AMT").item(0).getTextContent();
dramt = amtStr == null ? 0.0 : Double.parseDouble(amtStr.trim());
amtStr = eElement.getElementsByTagName("CR_AMT").item(0).getTextContent();
cramt = amtStr == null ? 0.0 : Double.parseDouble(amtStr.trim());
tempAmt = dramt + cramt;
System.out.println("refId["+refId+"],tranDate["+tranDate+"],dramt["+dramt+"],cramt["+cramt+"]");
if(refId != null && tranDate != null) {
refId = refId.trim();
tranDate = tranDate.trim();
if(reseiverSiteMap.containsKey(siteCodeTo+":"+refId+":"+tranDate)) {
reseiverSiteMap.put(siteCodeTo+":"+refId+":"+tranDate,issueSiteMap.get(siteCodeTo+":"+refId+":"+tranDate) + tempAmt);
} else {
reseiverSiteMap.put(siteCodeTo+":"+refId+":"+tranDate, tempAmt);
}
}
}
}
arrayListData = buildTraceDataHM(issueSiteMap,reseiverSiteMap,siteCodeFr,siteCodeTo);
}
}
pstmt = null;
rs = null;
traceData = null;
}
if(arrayListData != null && arrayListData.size() > 0)
{
System.out.println("In Second If");
......@@ -776,7 +892,6 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
insertSql = null;
objName = null;
stringBuffer = null;
queryData = null;
}
}else{
try {
......@@ -788,7 +903,7 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
return valueXmlString;
}
private ArrayList<ArrayList> buildTraceData(ArrayList<ArrayList> rs) throws Exception
private ArrayList<ArrayList> buildTraceData(ArrayList<ArrayList> rs) throws Exception
{
System.out.println("In buildTraceData");
ArrayList<ArrayList> arrayListData = new ArrayList<ArrayList>();
......@@ -862,6 +977,69 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
}
return arrayListData;
}
private ArrayList<ArrayList> buildTraceDataHM(HashMap<String,Double> issueSiteMap,HashMap<String,Double> reseiverSiteMap,String siteCodeFr,String siteCodeTo) throws Exception
{
System.out.println("In buildTraceDataHM");
System.out.println("issueSiteMap:["+issueSiteMap+"],reseiverSiteMap:["+reseiverSiteMap+"]");
ArrayList<ArrayList> arrayListData = new ArrayList<ArrayList>();
String key = "",invNo = "",invDate = "";
double firstSite = 0,secondSite = 0;
try {
ArrayList traceData = null;
String refId = "",refDate = "";
double refAmt = 0.0,tempAmt = 0.0,dramt = 0,cramt = 0;
if ( issueSiteMap != null && reseiverSiteMap != null && issueSiteMap.size() > 0 && reseiverSiteMap.size() > 0 )
{
Set<String> issueSet = issueSiteMap.keySet();
Iterator itr = issueSet.iterator();
while(itr.hasNext())
{
key = (String)itr.next();
System.out.println("key["+key+"]");
String[] keyArray = key.split(":");
System.out.println("1:["+keyArray[0]+"]");
System.out.println("2:["+keyArray[1]+"]");
System.out.println("3:["+keyArray[2]+"]");
if(reseiverSiteMap.containsKey(siteCodeTo+":"+keyArray[1].toString()+":"+keyArray[2].toString()))
{
firstSite = issueSiteMap.get(key);
secondSite = reseiverSiteMap.get(siteCodeTo+":"+keyArray[1].toString()+":"+keyArray[2].toString());
if(firstSite == secondSite)
{
System.out.println("Ala re ala");
traceData = new ArrayList<String>();
java.util.Date date = new java.util.Date(keyArray[2].toString());
Timestamp time = new Timestamp(date.getTime());
traceData.add(time);
traceData.add(null);
traceData.add(keyArray[1].toString());
traceData.add(null);
traceData.add(keyArray[1].toString());
traceData.add(siteCodeFr);
traceData.add(siteCodeTo);
traceData.add(firstSite);
arrayListData.add(traceData);
traceData.clear();
traceData = null;
}
}
}
issueSiteMap = null;
reseiverSiteMap = null;
siteCodeFr = null;
siteCodeTo = null;
}
} catch(Exception e) {
System.out.println("SQL Exception In getXMLTransData method of InterCompReconcileProcess Class : "+e.getMessage());
e.printStackTrace();
} finally {
try{
}catch (Exception se) {
se.printStackTrace();
}
}
return arrayListData;
}
private String[] getUniqueIntValue(String uniqueNo)
{
System.out.println("In getUniqueIntValue");
......@@ -923,9 +1101,9 @@ public class InterCompReconcile extends ValidatorEJB implements InterCompReconci
}
@Override
/*@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