Commit d6591069 authored by mpatidar's avatar mpatidar

Add Validation Code


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91662 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 813187d9
......@@ -5,6 +5,7 @@
********************************************************/
package ibase.webitm.ejb.fin;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
......@@ -16,8 +17,11 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import ibase.webitm.ejb.ValidatorEJB;
import java.util.Calendar;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.sys.CreateRCPXML;
import java.sql.Date;
import org.apache.axis.client.Service;
import javax.ejb.Stateless;
......@@ -40,7 +44,6 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
String rtrStr = "";
Document headerDom = null;
Document detailDom = null;
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
if(xmlString != null && xmlString.trim().length()!=0 )
......@@ -145,7 +148,7 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
{
// Query To get the Data from Process Window
System.out.println("BEFORE THE sql QUERY");
sql = "SELECT INVOICE_ID, EFF_DATE, LR_NO, LR_DATE, OCTROI_RCP_NO, OCTROI_RCP_DATE, REMARKS, NO_ART, LORRY_NO, GP_NO, GP_DATE,CURR_CODE__FRT, FRT_AMT, CURR_CODE__INS, INS_AMT, TRANS_MODE, GROSS_WEIGHT FROM INVOICE WHERE TRAN_DATE BETWEEN ? AND ? AND CUST_CODE = ? AND CONFIRMED != 'X' ";
sql = "SELECT INVOICE_ID, EFF_DATE, LR_NO, LR_DATE, OCTROI_RCP_NO, OCTROI_RCP_DATE, REMARKS, NO_ART, LORRY_NO, GP_NO, GP_DATE,CURR_CODE__FRT, FRT_AMT, CURR_CODE__INS, INS_AMT, TRANS_MODE, GROSS_WEIGHT FROM INVOICE WHERE TRAN_DATE BETWEEN ? AND ? AND CUST_CODE = ? AND CONFIRMED = 'Y' ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setDate(1, fromDate);
......@@ -176,7 +179,7 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
grossWeight = rs.getInt(17);
retTabSepStrBuff.append(invoiceId).append("\t");
retTabSepStrBuff.append("B").append("\t");
retTabSepStrBuff.append("S").append("\t");
if(effDate != null)
{
effDate = new java.sql.Date(format1.parse(format1.format(effDate)).getTime());
......@@ -433,6 +436,9 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
String errString = "";
String errCode = "";
String sql = "";
String sql1 = "";
String sql2 = "";
String sql3 = "";
String errFldName = "";
String errorType = "";
String lrNo1 = "";
......@@ -445,6 +451,16 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
String currCodeIns1 = "";
String childNodeName = "";
String colunm = "";
String refNo = "";
String saleOrder = "";
String grNo = "";
String sbNo = "";
String confirm = "";
String shipmentId = "";
Date sbDate = null;
Date sailDate = null;
Date grDate = null;
Date refDate = null;
Date effDate1 = null;
Date lrDate1 = null;
Date gpDate1 = null;
......@@ -474,7 +490,6 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
int frtAmt1 = 0;
int grossWeight1 = 0;
long cnt = 0;
ArrayList<String> invoiceList = new ArrayList<String>();
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
......@@ -482,6 +497,12 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
PreparedStatement pstmt1 = null;
ResultSet rs2 = null;
PreparedStatement pstmt3 = null;
ResultSet rs3 = null;
PreparedStatement pstmt2 = null;
ResultSet rs1 = null;
try
{
conn = connDriver.getConnectDB( "DriverITM" );
......@@ -502,11 +523,45 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
{
invoiceId = genericUtility.getColumnValueFromNode("invoice_id", parentNode );
System.out.println("invoiceId "+invoiceId);
status = genericUtility.getColumnValueFromNode( "inv_status", parentNode );
isAmended = isAlreadyAmended( invoiceId, status, conn );
System.out.println("isAvailable [ "+isAmended+" ]");
if(! isAmended)
{
sql = "select (case when a.confirmed is null then 'N' else a.confirmed end) as confirm from receipt a, rcpdet b "
+" where a.tran_id = b.tran_id and b.ref_ser = 'S-INV' and b.ref_no = ? ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,invoiceId);
rs = pstmt.executeQuery();
while (rs.next())
{
confirm = rs.getString(1);
if(confirm.equals("Y"))
{
errCode = "VTRCPCON";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
errCode = "INVAMDAVL0";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
sql = "SELECT DESP_ID, TRAN_CODE, EXCH_RATE__FRT, EXCH_RATE__INS, STAN_CODE__INIT,"
+" FRT_TYPE, EMP_CODE__APRV, EFF_DATE, LR_NO, LR_DATE, OCTROI_RCP_NO,"
+" OCTROI_RCP_DATE, REMARKS, NO_ART, LORRY_NO, GP_NO, GP_DATE,"
+" CURR_CODE__FRT, FRT_AMT, CURR_CODE__INS, INS_AMT, TRANS_MODE, "
+" GROSS_WEIGHT FROM INVOICE WHERE INVOICE_ID = ? ";
+" GROSS_WEIGHT, SALE_ORDER FROM INVOICE WHERE INVOICE_ID = ? ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,invoiceId);
......@@ -537,12 +592,46 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
insAmt1 = rs.getInt(21);
transMode1 = rs.getString(22);
grossWeight1 = rs.getInt(23);
saleOrder = rs.getString(24);
}
System.out.println("fetch data from invoice completed");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT cheque_no, cheque_date FROM SORDER WHERE SALE_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,saleOrder);
rs = pstmt.executeQuery();
while (rs.next())
{
refNo = rs.getString(1);
refDate = getDateValue(rs.getDate(2));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select tran_code,gr_no,gr_date, sail_date, sb_no,sb_date, shipment_id from despatch where desp_id = ?";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,despId);
rs = pstmt.executeQuery();
while (rs.next())
{
tranCode = rs.getString(1);
grNo = rs.getString(2);
grDate = getDateValue(rs.getDate(3));
sailDate = getDateValue(rs.getDate(4));
sbNo = rs.getString(5);
sbDate = getDateValue(rs.getDate(6));
shipmentId = rs.getString(7);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if( childNodeName.equals("inv_status"))
{
......@@ -557,6 +646,31 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
{
colunm = genericUtility.getColumnValueFromNode( "eff_date", parentNode);
effDate = getDateValue(colunm);
invoiceId = genericUtility.getColumnValueFromNode("invoice_id", parentNode );
status = genericUtility.getColumnValueFromNode( "inv_status", parentNode );
if(status.equals("B"))
{
sql = "select eff_date from invoice where invoice_id = ?";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,invoiceId);
rs = pstmt.executeQuery();
while (rs.next())
{
Date eff_date2 = getDateValue(rs.getDate(1));
if(effDate.before(eff_date2))
{
errCode = "VTEFF01";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
isChanged = isChangeDone(effDate1 , effDate , isChanged);
System.out.println("effDate "+effDate);
}
......@@ -570,6 +684,58 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
{
colunm = genericUtility.getColumnValueFromNode( "lr_date", parentNode);
lrDate = getDateValue(colunm);
invoiceId = genericUtility.getColumnValueFromNode("invoice_id", parentNode );
status = genericUtility.getColumnValueFromNode( "inv_status", parentNode );
if( ! status.equals("D") )
{
if(lrDate != null)
{
sql = "select var_value from disparm where prd_code = '999999' and var_name = 'MAX_DELAY_IN_SHIP'";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
long varValue = rs.getLong(1);
if(varValue == 100)
{
varValue = 7;
}
sql1 = "select tran_date from invoice where invoice_id = ?";
pstmt1 = conn.prepareStatement(sql1);
System.out.println(sql1);
pstmt1.setString(1, invoiceId);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
Date invDate = getDateValue(rs1.getDate(1));
int diffDate = Math.abs(invDate.compareTo(lrDate));
if(lrDate.before(invDate) || varValue < diffDate)
{
errCode = "VTILRD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
errCode = "VTILRDATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
isChanged = isChangeDone(lrDate1 , lrDate , isChanged);
System.out.println("lrDate "+lrDate);
}
......@@ -620,6 +786,55 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
if( childNodeName.equals("curr_code__frt"))
{
currCodeFrt = genericUtility.getColumnValueFromNode( "curr_code__frt", parentNode );
if(currCodeFrt != null && currCodeFrt.trim().length() > 0)
{
sql = "Select Count(*) from currency where curr_code = ?";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,currCodeFrt);
rs = pstmt.executeQuery();
while (rs.next())
{
int count = rs.getInt(1);
if(count == 0)
{
errCode = "VTCURRCD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " select std_exrt from currency where curr_code = ? ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,currCodeFrt);
rs = pstmt.executeQuery();
while (rs.next())
{
exchRateFrt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " select std_exrt from currency where curr_code = ? ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,currCodeIns);
rs = pstmt.executeQuery();
while (rs.next())
{
exchRateIns = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
isChanged = isChangeDone(currCodeFrt1 , currCodeFrt , isChanged);
System.out.println("currCodeFrt " + currCodeFrt);
}
......@@ -633,6 +848,28 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
if( childNodeName.equals("curr_code__ins"))
{
currCodeIns = genericUtility.getColumnValueFromNode( "curr_code__ins", parentNode );
if(currCodeIns != null && currCodeIns.trim().length() > 0)
{
sql = "Select Count(*) from currency where curr_code = ?";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,currCodeIns);
rs = pstmt.executeQuery();
while (rs.next())
{
int count = rs.getInt(1);
if(count == 0)
{
errCode = "VTCURRCD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
isChanged = isChangeDone(currCodeIns1 , currCodeIns , isChanged);
System.out.println("currCodeIns " + currCodeIns);
}
......@@ -658,19 +895,17 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
}
if(status.trim().equals("B")||status.trim().equals("D")||status.trim().equals("S"))
{
isAmended = isAlreadyAmended( invoiceId, status, conn );
System.out.println("isAvailable [ "+isAmended+" ]");
if(invoiceId != null && invoiceId.trim().length() > 0 && !isAmended)
if(invoiceId != null && invoiceId.trim().length() > 0 && !(errList.size() > 0))
{
if(isChanged || !status.equals("B"))
if(isChanged || !status.equals("S"))
{
invoiceList.add(invoiceId);
System.out.println("++++++++++++++=*********Insert into Invoice Amendment*********+++++++");
sql="INSERT INTO INVOICE_AMENDMENT ("
+"INVOICE_ID, STATUS, EFF_DATE, DESP_ID, TRAN_CODE, LR_NO, LR_DATE, OCTROI_RCP_NO, OCTROI_RCP_DATE,"
+"REMARKS, NO_ART, LORRY_NO, GP_NO, GP_DATE, CURR_CODE__FRT, EXCH_RATE__FRT, FRT_AMT, CURR_CODE__INS,"
+"EXCH_RATE__INS, INS_AMT, STAN_CODE__INIT, FRT_TYPE, TRANS_MODE, GROSS_WEIGHT, EMP_CODE__APRV"
+") VALUES(? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )";
+" INVOICE_ID, STATUS, EFF_DATE, DESP_ID, TRAN_CODE, LR_NO, LR_DATE, OCTROI_RCP_NO, OCTROI_RCP_DATE,"
+" REMARKS, NO_ART, LORRY_NO, GP_NO, GP_DATE, CURR_CODE__FRT, EXCH_RATE__FRT, FRT_AMT, CURR_CODE__INS,"
+" EXCH_RATE__INS, INS_AMT, STAN_CODE__INIT, FRT_TYPE, TRANS_MODE, GROSS_WEIGHT, EMP_CODE__APRV,"
+" REF_NO, REF_DATE, GR_NO, GR_DATE, SAIL_DATE, SB_NO, SB_DATE, SHIPMENT_ID"
+") VALUES(? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )";
pstmt = conn.prepareStatement(sql);
System.out.println("after pstmt row 522 sql["+sql+"]");
pstmt.setString(1,invoiceId);
......@@ -698,54 +933,301 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
pstmt.setString(23,transMode);
pstmt.setInt(24,grossWeight);
pstmt.setString(25,empCodeAprv);
pstmt.setString(26,refNo);
pstmt.setDate(27,refDate);
pstmt.setString(28,grNo);
pstmt.setDate(29,grDate);
pstmt.setDate(30,sailDate);
pstmt.setString(31,sbNo);
pstmt.setDate(32,sbDate);
pstmt.setString(33,shipmentId);
pstmt.executeUpdate();
System.out.println("after pstmt row 551");
pstmt.close();
pstmt = null;
System.out.println("1 ROW INSERTED");
}
}
else
sql = " select case when confirmed is null then 'N' else confirmed end from invoice_amendment where invoice_id = ? and status = ? ";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
pstmt.setString(1,invoiceId);
pstmt.setString(2,status);
rs = pstmt.executeQuery();
if (rs.next())
{
errCode = "INVAMDAVL0";
confirm = rs.getString(1);
if(confirm.trim().equals("Y"))
{
errCode = "VTMCONF1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
conn.rollback();
invoiceList.clear();
break;
}
}
else
{
errCode = "INVAMDSTS0";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
conn.rollback();
invoiceList.clear();
break;
sql1 = " update invoice set curr_code__ins = ?, exch_rate__ins = ?, ins_amt = ?, curr_code__frt = ?, exch_rate__frt = ? , frt_amt = ? where invoice_id = ? ";
pstmt1 = conn.prepareStatement(sql1);
System.out.println(sql1);
pstmt1.setString(1,currCodeIns);
pstmt1.setInt(2,exchRateIns);
pstmt1.setInt(3,insAmt);
pstmt1.setString(4,currCodeFrt);
pstmt1.setInt(5,exchRateFrt);
pstmt1.setInt(6,frtAmt);
pstmt1.setString(7,invoiceId);
pstmt1.executeUpdate();
System.out.println("after update in invoice---1");
pstmt1.close();
pstmt1 = null;
sql1 = "select net_amt, curr_code, exch_rate from invoice where invoice_id = ? ";
pstmt1 = conn.prepareStatement(sql1);
System.out.println(sql1);
pstmt1.setString(1,invoiceId);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
int netAmt = rs1.getInt(1);
String currCode = rs1.getString(2);
int exchRate = rs1.getInt(3);
if(!currCode.trim().equals(currCodeFrt.trim()))
{
frtAmt = (frtAmt * exchRateFrt) / exchRate ;
}
if(!currCode.trim().equals(currCodeIns.trim()))
{
insAmt = (insAmt * exchRateIns) / exchRate ;
}
System.out.println("xml for invoice_amendment table UPDATE complete");
conn.commit();
System.out.println("after commit");
int invoiceListSize = invoiceList.size();
cnt = 0;
if(invoiceList != null && invoiceListSize > 0 )
int totalAmt = frtAmt + insAmt ;
sql3 = " select inv_line_no, desp_id, desp_line_no, net_amt from invoice_trace where invoice_id = ? ";
pstmt3 = conn.prepareStatement(sql3);
System.out.println(sql3);
pstmt3.setString(1,invoiceId);
rs3 = pstmt3.executeQuery();
while (rs3.next())
{
int lineNo = rs3.getInt(1);
String despIdTrace = rs3.getString(2);
String despLineNo = rs3.getString(3);
int netAmtTrace = rs3.getInt(4);
if(netAmt == 0)
{
netAmt = 1;
}
int lcPercent = (netAmtTrace * netAmt) * 100 ;
int newAmt = (totalAmt * lcPercent) / 100 ;
int fobValue = netAmtTrace - newAmt ;
sql2 = " update invoice_trace set fob_value = ? where ( invoice_id = ? ) AND ( inv_line_no = ? ) AND ( desp_id = ? ) AND ( desp_line_no = ? ) ";
pstmt2 = conn.prepareStatement(sql2);
System.out.println(sql2);
pstmt2.setInt(1,fobValue);
pstmt2.setString(2,invoiceId);
pstmt2.setInt(3,lineNo);
pstmt2.setString(4,despIdTrace);
pstmt2.setString(5,despLineNo);
pstmt2.executeUpdate();
System.out.println("after update in invoice Trace---1");
pstmt2.close();
pstmt2 = null;
}
rs3.close();
rs3 = null;
pstmt3.close();
pstmt3 = null;
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(status.trim().equals("S"))
{
for(cnt = 0; cnt < invoiceListSize; cnt ++)
effDate = lrDate;
sql1 = " select cr_days, eff_date from invoice where invoice_id = ? ";
pstmt1 = conn.prepareStatement(sql1);
System.out.println(sql1);
pstmt1.setString(1,invoiceId);
rs1 = pstmt1.executeQuery();
Date dueDate = lrDate;
while (rs1.next())
{
invoiceId = invoiceList.get((int) cnt);
System.out.println("confirm InvoiceId .........." + invoiceId);
String retConString = confirmInvoiceAmendment("invoice_amendment" , invoiceId+":"+status , xtraParams ,"" ,conn);
System.out.println("Confirm Return String [" + retConString + "]");
int crDay = rs1.getInt(1);
// Date effDate2 = getDateValue(rs1.getDate(2));
Calendar cal = Calendar.getInstance();
cal.setTime(new java.util.Date(lrDate.getTime()));
cal.add(Calendar.DATE, crDay);
dueDate = getDateValue(new java.sql.Date(cal.getTime().getTime()));
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql2 = " update invoice set eff_date = ? , due_date = ? , lr_no = ? , lr_date = ? , " +
" lorry_no = ?, tran_code= ?, remarks = ?, octroi_rcp_no = ?, octroi_rcp_date = ? , no_art = ? , " +
" gross_weight = ?, trans_mode = ? where invoice_id = ? ";
pstmt2 = conn.prepareStatement(sql2);
System.out.println(sql2);
pstmt2.setDate(1,lrDate);
pstmt2.setDate(2,dueDate);
pstmt2.setString(3,lrNo);
pstmt2.setDate(4,lrDate);
pstmt2.setString(5,lorryNo);
pstmt2.setString(6,tranCode);
pstmt2.setString(7,remarks);
pstmt2.setString(8,octroiRcpNo);
pstmt2.setDate(9,octroiRcpDate);
pstmt2.setInt(10,noArt);
pstmt2.setInt(11,grossWeight);
pstmt2.setString(12,transMode);
pstmt2.setString(13,invoiceId);
pstmt2.executeUpdate();
System.out.println("after update in invoice---1");
pstmt2.close();
pstmt2 = null;
sql2 = "update despatch set lr_date = ? , gr_date = ? , sail_date = ? , lr_no = ? , lorry_no = ? , gr_no = ? ," +
" gp_no = ? , gp_date = ? , no_art = ? , tran_code = ? , sb_no = ? , sb_date = ? , stan_code__init = ? ," +
" shipment_id = ?, gross_weight = ? , octroi_rcp_no = ? , orctoi_rcp_date = ? , trans_mode = ? " +
" where desp_id = ? ";
pstmt2 = conn.prepareStatement(sql2);
System.out.println(sql2);
pstmt2.setDate(1,lrDate);
pstmt2.setDate(2,grDate);
pstmt2.setDate(3,sailDate);
pstmt2.setString(4,lrNo);
pstmt2.setString(5,lorryNo);
pstmt2.setString(6,grNo);
pstmt2.setString(7,gpNo);
pstmt2.setDate(8,gpDate);
pstmt2.setInt(9,noArt);
pstmt2.setString(10,tranCode);
pstmt2.setString(11,sbNo);
pstmt2.setDate(12,sbDate);
pstmt2.setString(13,stanCodeInit);
pstmt2.setString(14,shipmentId);
pstmt2.setInt(15,grossWeight);
pstmt2.setString(16,octroiRcpNo);
pstmt2.setDate(17,octroiRcpDate);
pstmt2.setString(18,transMode);
pstmt2.setString(19,despId);
pstmt2.executeUpdate();
System.out.println("after update in despatch---1");
pstmt2.close();
pstmt2 = null;
sql2 = " update receivables set due_date = ? where tran_ser = 'S-INV' and ref_no = ? ";
pstmt2 = conn.prepareStatement(sql2);
System.out.println(sql2);
pstmt2.setDate(1,dueDate);
pstmt2.setString(2,invoiceId);
pstmt2.executeUpdate();
System.out.println("after update in receivable---1");
pstmt2.close();
pstmt2 = null;
sql2 = " select a.tran_id , (case when a.confirmed is null then 'N' else a.confirmed end) , b.due_date " +
" from receipt a, rcpdet b where a.tran_id = b.tran_id and b.ref_ser = 'S-INV' and b.ref_no = ? ";
pstmt2 = conn.prepareStatement(sql2);
System.out.println(sql2);
pstmt2.setString(1,invoiceId);
rs2 = pstmt2.executeQuery();
while (rs2.next())
{
String tranId = rs2.getString(1);
String confirm1 = rs2.getString(2);
// Date rcpDueDate = rs2.getDate(3);
if(! (confirm1.trim().equals("Y")))
{
sql1 = " update rcpdet set due_date = ? where tran_id = ? and ref_ser = 'S-INV' and ref_no = ? ";
pstmt1 = conn.prepareStatement(sql1);
System.out.println(sql1);
pstmt1.setDate(1,dueDate);
pstmt1.setString(2,tranId);
pstmt1.setString(3,invoiceId);
pstmt1.executeUpdate();
System.out.println("after update in receivable---1");
pstmt1.close();
pstmt1 = null;
}
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
}
}
}
if(!(errList.size() > 0))
{
if(! (confirm.equals("Y")))
{
sql2 = " update invoice_amendment set confirmed = ?, conf_date = ?, emp_code__aprv = ? where invoice_id = ? and status = ? ";
pstmt2 = conn.prepareStatement(sql2);
System.out.println(sql2);
pstmt2.setString(1,"Y");
pstmt2.setDate(2, new Date(new java.util.Date().getTime()));
pstmt2.setString(3,genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
pstmt2.setString(4,invoiceId);
pstmt2.setString(5,status);
pstmt2.executeUpdate();
System.out.println("after update in invoice confirm---1");
pstmt2.close();
pstmt2 = null;
}
String ediOption = "";
String dataStr = "";
sql1 = "SELECT EDI_OPTION FROM TRANSETUP WHERE TRAN_WINDOW = 'w_inv_amendment' ";
pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery();
if ( rs1.next() )
{
ediOption = rs1.getString("EDI_OPTION");
if(ediOption == null)
{
ediOption = "";
}
}
rs1.close();rs1 = null;
pstmt1.close();pstmt1 = null;
if ( "1".equals(ediOption.trim()) )
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_inv_amendment","tran_id");
dataStr = createRCPXML.getTranXML( invoiceId+":"+status, conn );
System.out.println( "dataStr =[ "+ dataStr + "]" );
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
String retString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_inv_amendment", "0", xtraParams, conn );
createRCPXML = null;
e12CreateBatchLoad = null;
if( retString != null && "SUCCESS".equals(retString) )
{
System.out.println("retString from batchload = ["+retString+"]");
}
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
conn.commit();
}
invoiceList.clear();
invoiceList = null;
errCode = "INVAMCMP0";
}
}
else
{
errCode = "INVAMDSTS0";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
System.out.println("xml for invoice_amendment table UPDATE complete");
System.out.println("after commit");
int errListSize = errList.size();
cnt = 0;
if(errList != null && errListSize > 0)
......@@ -778,8 +1260,6 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
{
errStringXml = new StringBuffer("");
}
conn.close();
conn = null;
} // try
catch(Exception e)
{
......@@ -923,98 +1403,6 @@ public class InvoiceAmdPrs extends ProcessEJB implements InvoiceAmdPrsLocal ,In
System.out.println("Date is ["+date+"]");
return date;
}
private String confirmInvoiceAmendment(String businessObj, String tranIdFr,String xtraParams, String forcedFlag, Connection conn) throws ITMException
{
String methodName = "";
String compName = "";
String retString = "";
String serviceCode = "";
String serviceURI = "";
String actionURI = "";
String sql = "";
PreparedStatement pStmt = null;
ResultSet rs = null;
System.out.println("confirmInvoiceAmendment(String businessObj, String tranIdFr,String xtraParams, String forcedFlag, Connection conn) called >>><!@#>");
try
{
methodName = "gbf_post";
actionURI = "http://NvoServiceurl.org/" + methodName;
sql = "SELECT SERVICE_CODE,COMP_NAME FROM SYSTEM_EVENTS WHERE OBJ_NAME = ? AND EVENT_CODE = 'pre_confirm' ";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1,businessObj);
rs = pStmt.executeQuery();
if ( rs.next() )
{
serviceCode = rs.getString("SERVICE_CODE");
compName = rs.getString("COMP_NAME");
}
System.out.println("serviceCode = "+serviceCode+" compName "+compName);
sql = "SELECT SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE SERVICE_CODE = ? ";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1,serviceCode);
rs = pStmt.executeQuery();
if ( rs.next() )
{
serviceURI = rs.getString("SERVICE_URI");
}
System.out.println("serviceURI = "+serviceURI+" compName = "+compName);
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(serviceURI));
call.setOperationName( new javax.xml.namespace.QName("http://NvoServiceurl.org", methodName ) );
call.setUseSOAPAction(true);
call.setSOAPActionURI(actionURI);
Object[] aobj = new Object[4];
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "component_name"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "tran_id"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "xtra_params"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "forced_flag"), XMLType.XSD_STRING, ParameterMode.IN);
aobj[0] = new String(compName);
aobj[1] = new String(tranIdFr);
aobj[2] = new String(xtraParams);
aobj[3] = new String(forcedFlag);
//System.out.println("@@@@@@@@@@loginEmpCode:" +genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode")+":");
call.setReturnType(XMLType.XSD_STRING);
retString = (String)call.invoke(aobj);
System.out.println("Confirm Complete @@@@@@@@@@@Return string from NVO is:==>["+retString+"]");
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (pStmt != null )
{
pStmt.close();
pStmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception inCalling confirmed");
e.printStackTrace();
try{
conn.rollback();
}catch (Exception s)
{
System.out.println("Unable to rollback");
s.printStackTrace();
}
}
}
return retString;
}
private String errorType(Connection conn , String errorCode)
{
......
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