Commit 216ccfac authored by cpatil's avatar cpatil

modify for post order process


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101077 ce508802-f39f-4f6c-b175-0d175dae99d5
parent c9839ae9
......@@ -8,7 +8,6 @@
package ibase.webitm.ejb.dis;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
......@@ -182,9 +181,11 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
Timestamp despDate = null,gpDate = null;
int cnt = 0,editOption = 0,detCount = 0;
boolean isLocal=false;
String autoInvOnDesp="";
try
{
itmDBAccessEJB = new ITMDBAccessEJB();
autoInvOnDesp = distCommon.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn);
/* if(conn==null)
{
......@@ -331,7 +332,7 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
//despatch_edit.setitem(ll_ctr,"confirmed", 'Y') //Ruchira 21/09/2k5 taken out of abovve if ... endif statement.
// CHECKING WHETHER PURCHASE IS INTEGRATED WITH SALES OR NOT
// CHECKING WHETHER PURCHASE IS INTEGRATED WITH SALES OR NOT
varValuePurInteg = checkNull(distCommon.getDisparams("999999","PUR_INTEGRATED",conn));
......@@ -360,7 +361,7 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
{
//channelPartner and dis link retrieved earlier
if(channelPartner == null)
if(channelPartner == null || channelPartner.trim().length() == 0 )
{
sql1 = "select channel_partner, dis_link from customer "
+" where cust_code = ? ";
......@@ -380,7 +381,7 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
pstmt1 = null;
}
//Took code from Porder amd conf
//Took code from Porder amd conf
if(channelPartner == "Y" || editOption > 0)
{
if(disLink == "E" || editOption > 0 )
......@@ -1299,32 +1300,18 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
pstmt.close();
pstmt = null;
}
}
}
}//status not cancelled
}
pstmt3.close();
pstmt3 = null;
rs3.close();
rs3 = null;
}
System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString);
System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString);
if(errString == null || errString.trim().length()== 0)
{
......@@ -1342,9 +1329,65 @@ System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errS
if(confirmCnt > 0)
{
InvAcct inv = new InvAcct();
errString = inv.despatchPost(tranId,"S-DSP",conn);
if(errString.trim().length() == 0 || errString == null)
{
if("Y".equalsIgnoreCase(autoInvOnDesp))
{
String fromSaleOrder="", fromCustCode="", orderType="", siteCodeShip="";
Timestamp fromDate = null;
sql = " select d.sord_no,d.cust_code,so.order_type, d.desp_date, so.site_code__ship " +
" from despatch d, sorder so " +
" where d.desp_id = ? and d.sord_no = so.sale_order ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId );
rs = pstmt.executeQuery();
if(rs.next())
{
fromSaleOrder = checkNull(rs.getString("sord_no"));
fromCustCode = checkNull(rs.getString("cust_code"));
orderType = checkNull(rs.getString("order_type"));
fromDate = rs.getTimestamp("desp_date");
siteCodeShip = checkNull(rs.getString("site_code__ship"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
System.out.println("@@@@@@@@@ fromSaleOrder["+fromSaleOrder+"]fromCustCode["+fromCustCode+"]orderType["+orderType+"]fromDate["+fromDate+"]siteCodeShip["+siteCodeShip+"]");
// setting default value like post order default
String clubOrder = "",clubPendingOrd="",adjDrcr="",adjCustAdv="",advAdjMode="",adjNewProdInv="";
//Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false;
clubOrder = "N";
clubPendingOrd="N";
adjDrcr="N";
adjCustAdv="N";
advAdjMode="C";
adjNewProdInv="N";
PostOrderProcess postOrderProcess = new PostOrderProcess();
// fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn
errString= postOrderProcess.invPosting( fromSaleOrder, fromSaleOrder, fromCustCode, fromCustCode, tranId , orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn);
System.out.println("@@@@@@@@@689 invPosting() errString::::::["+errString+"]");
}
}
if( errString == null || errString.trim().length() == 0)
{
System.out.println("errCode in despatch posting===="+errString);
System.out.println(">>The selected transaction is confirmed!!!!");
errString= "<?xml version='1.0'?><Root><message>VTPOSTDES</message><TranID>"+tranId+"</TranID></errors></Root>";
System.out.println("@@@@@ retString:" + errString);
System.out.println("@@@@@ retString:[" + errString+"]");
}
}
/*sql = "select confirmed from despatch where desp_id = ?";
......@@ -1364,8 +1407,8 @@ System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errS
}
}
catch(Exception e)
{
catch(Exception e)
{
try
{
conn.rollback();
......@@ -1376,9 +1419,9 @@ catch(Exception e)
e.printStackTrace();
System.out.println("Exception ::"+e.getMessage());
throw new ITMException(e);
}
finally
{
}
finally
{
try
{
......
package ibase.webitm.ejb.dis;
import ibase.planner.utility.ITMException;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.EMail;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.fin.FinCommon;
//import ibase.utility.MailInfo;
//import ibase.webitm.ejb.ITMDBAccessEJB;
//import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.TransIDGenerator;
//import ibase.webitm.utility.GenericUtility;
import java.io.File;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
public class InvoiceDrcrAdj
{
public String invoiceDrcrAdj(String siteCode, String invoiceId, String custCode, String itemSer, double netAmt, boolean adjDrCr, boolean adjAdv, String advAdj, boolean adjNewProdInv, String frtDrnArr[], Connection conn) throws RemoteException,ITMException
{
///////////////////////////////////////////
//14/03/01 manoharan update of receivables commented
//only insert of receivables_adj records will be taken place in
//this function. The related updates will be done when the invoice
//is confirmed
//
//what if one invoice is not confirmed and another invoice is
//generated for the same customer/site ?????????????????
String errString = "", tranID = "", tranSer = "", refNo = "", adjTranSer = "", adjRefNo = "",mOrderNo = "",finScheme = "";
String nextID = "", status = "", refType = "",ignoreDrDays = "",ordTypeNewPrd = "", sqlStr = "", tranSeries = "", asjCustAdv = "";
double netAmount = 0, mTotAmt = 0, mAdjAmt = 0, mDiffAmt = 0, mSetAmt = 0;//, mAmt = 0
double mChkAmt = 0, mDrAmt = 0;//, mAmtAdj
int mctr = 1, mChkRec = 0,llIgnoreDrDays = 0, llCrDays = 0;
Timestamp mRefDate = null;
String rcpNo = "",siteCodeRcp = "",siteCodeDlv ="",subsNo = "",drnNotIn = "";
String tempStr;
//09-01-02 Arif
String keystr = "",adjustNewProduct = "";//added radhakrishnan on 16-04-04
//09-01-02 End Arif
//03-08-2005 manoharan moved from below
String tranTypeFinChrgDrn = "", trnTypArray[], ordTypArray[], sType = "", tempStrType = "";
FinCommon finCommon = null;
DistCommon distCommon = null;
E12GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
PreparedStatement pstmt = null,pstmt1 = null, pstmtInsert = null, pstmtUpd = null;
ResultSet rs = null, rs1 = null;
//String ls_transer, ls_refno, ls_tranid
double lcAdj = 0;
String xmlValues = null;
String mTranId="", mTranSer="", mRefNo="";
try
{
finCommon = new FinCommon();
distCommon = new DistCommon();
genericUtility = new E12GenericUtility();
itmDBAccessEJB = new ITMDBAccessEJB();
//24/01/14 manoharan FI3JSUN007 adjust freight dr note also
drnNotIn = " ";
if (frtDrnArr.length == 1)
{
if ( frtDrnArr[0] == null || frtDrnArr[0].trim().length() == 0)
{
frtDrnArr[0] = " ";
}
}
drnNotIn ="";
for(int i = 0; i < frtDrnArr.length; i++)
{
drnNotIn =drnNotIn+"'"+frtDrnArr[i]+"',";
}
drnNotIn =drnNotIn.substring(0,drnNotIn.length()-1);
System.out.println("12-Mar-16 manoharan drnNotIn after ["+drnNotIn + "]");
adjustNewProduct = distCommon.getDisparams("999999","ADJUST_NEWPRODUCT",conn);
if (!"NULLFOUND".equals(adjustNewProduct) || "Y".equals(adjustNewProduct) )
{
ordTypeNewPrd = distCommon.getDisparams("999999","ORD_TYPE_NEWPRD",conn);
}
else
{
ordTypeNewPrd = " ";
}
ordTypeNewPrd = ordTypeNewPrd.trim();
tranTypeFinChrgDrn = distCommon.getDisparams("999999","IGNORE_TYPE_FINCHRG",conn);
if ("NULLFOUND".equals(tranTypeFinChrgDrn))
{
tranTypeFinChrgDrn = " ";
}
//end 03-08-2005 manoharan moved from below
adjTranSer = "S-INV";
//in below Sql cr_days added by Jasmina 29/08/08-DI89SUN015
sqlStr ="select invoice_id, tran_date, inv_type,sale_order, cr_days from invoice "
+ "where invoice_id = ? " ;
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,invoiceId);
rs = pstmt.executeQuery();
if(rs.next())
{
adjRefNo = rs.getString("invoice_id");
mRefDate = rs.getTimestamp("tran_date");
refType = rs.getString("inv_type");
mOrderNo = rs.getString("sale_order");
llCrDays = rs.getInt("cr_days");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn);
return errString ;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//commented by Amit 04/05/05 as FN type checking is done thru disparm further.
//elseif (trim(refType) = 'FN' )
//return errString
//03-08-2005 manoharan new product order type taken from
//elseif (pos(ordTypeNewPrd,trim(refType)) > 0 )
System.out.println("12-Mar-16 manoharan ordTypeNewPrd ["+ordTypeNewPrd + "]");
if (ordTypeNewPrd.trim().length() > 0 )
{
String arrStr[] = ordTypeNewPrd.split(",");
for(int i = 0; i<arrStr.length; i++)
{
if (refType.trim().equals(arrStr[i].trim()))
{
return "";
}
}
//end 03-08-2005 manoharan new product order type taken from
}
netAmount = netAmt;
mDrAmt = netAmt;
//09-01-02 Arif
sqlStr ="select key_String from transetup "
+ "where upper(tran_window) = 'W_REC_ADJ' " ;
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
if(rs.next())
{
keystr = rs.getString("key_string");
}
else
{
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sqlStr ="select key_String from transetup "
+ "where upper(tran_window) = 'GENERAL' " ;
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
if(rs.next())
{
keystr = rs.getString("key_string");
}
else
{
rs.close();
rs = null;
pstmt.close();
pstmt = null;
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn);
return errString ;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//09-01-02 End Arif
//formulation new products hard coded and 15 days
//Sanjeev - 14/10/03 - Removed harcoding done by Arif (for 15 days and used finparm variable
//in sql below.
ignoreDrDays = finCommon.getFinparams("999999", "IGNORE_DR_DAYS",conn);
//if (get_sqlcode() = 100 )
if ("NULLFOUND".equals(ignoreDrDays) )
{
// llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
}
else if (ignoreDrDays == null )
{
// llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
}
else
{
//added by Jasmina 29/08/08-DI89SUN015
if ("BEFORE_CR_DAYS".equals(ignoreDrDays.trim()) )
{
llIgnoreDrDays = llCrDays * -1;
}
else //added end by Jasmina 29/08/08-DI89SUN015
{
llIgnoreDrDays = Integer.valueOf(ignoreDrDays);
}
}
System.out.println("12-Mar-16 manoharan llIgnoreDrDays final ["+llIgnoreDrDays + "]");
//03-08-2005 manoharan commented and taken above
//
////added by radhakrishnan on 16-04-04
//
//adjustNewProduct = gf_getenv_dis('999999','ADJUST_NEWPRODUCT')
//adjustNewProduct = upper(trim(adjustNewProduct))
//if (adjustNewProduct='NULLFOUND' or adjustNewProduct = 'Y' )
//ordTypeNewPrd = gf_getenv_dis('999999','ORD_TYPE_NEWPRD')
//}
////end radhakrishnan on 16-04-04
//End Sanjeev - 14/10/03
//end 03-08-2005 manoharan commented and taken above
//added by bhavin
sqlStr ="select (case when fin_scheme is null then ' ' else fin_scheme end ) fin_scheme from sorder "
+ "where sale_order = ? " ;
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,mOrderNo);
rs = pstmt.executeQuery();
if(rs.next())
{
finScheme = rs.getString(1);
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTNOSORD","","",conn);
return errString ;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//ended by bhavin
//24/01/14 Manoharan FI3JSUN007 adjust all the freight drn
if (drnNotIn.trim().length() > 0 )
{
sqlStr = "insert into receivables_adj "
+ "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr);
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'MDRCRD' and ref_no in ( ? ) " //( " + drnNotIn + ") ) "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,mOrderNo);
rs = pstmt.executeQuery();
while(rs.next())
{
tranID = rs.getString("tran_id");
tranSer= rs.getString("tran_ser");
refNo= rs.getString("ref_no");
mTotAmt= rs.getDouble("tot_amt");
mAdjAmt= rs.getDouble("adj_amt");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,tranSer);
pstmtInsert.setString(3,refNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,tranID);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
//end 24/01/14 manoharan
//04-09-2005 manoharan
//reverted on 15-09-2005 as per sun requirement
//if (adjDrCr = TRUE ) //Commented by jasmina-19/01/10-DI89SUN228
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) ) ) //Added by jasmina-19/01/10-DI89SUN228
{
//if (adjDrCr or adjustNewProduct = 'Y' )
// 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
//declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mRefDate - ref_date ) >= :llIgnoreDrDays )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :siteCode
// and item_ser = :itemSer
// and cust_code = :custCode
// and (case when fin_scheme is null ) ' ' else fin_scheme end ) = :finScheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 )
// errString = 'DS000' + String(sqlca.sqldbcode)
// return errString
//}
//
String[] arrStr;
if (adjDrCr && adjNewProdInv ) //if (condition Added by jasmina-19/01/10-DI89SUN228
{
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " ) ) ";
}
}
else
{
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ) ";
}
}
//if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) )
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{
// end 04-09-2005 manoharan
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + (llIgnoreDrDays) + " ) ";
}
else
{
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
}
else
{
sqlStr = sqlStr + " ) ";
}
}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (adjDrCr && (!adjNewProdInv) ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
//if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (!adjDrCr && adjNewProdInv ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
if ( ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + llIgnoreDrDays + " "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
}
sqlStr = "insert into receivables_adj "
+ "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
while(rs.next())
{
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
// end 24/01/14 manoharan
// 04-09-2005 manoharan
// reverted on 15-09-2005 as per sun requirement
//if ab_drcr = TRUE then //Commented by jasmina-19/01/10-DI89SUN228
String[] arrStr;
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) )) //Added by jasmina-19/01/10-DI89SUN228
{
//if (adjDrCr or adjustNewProduct = 'Y' then
// 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
//declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mrefdate - ref_date ) >= :ll_ignore_dr_days )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :as_site_code
// and item_ser = :as_item_ser
// and cust_code = :as_cust_code
// and (case when fin_scheme is null then ' ' else fin_scheme end ) = :ls_finscheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 then
// merrcode = 'DS000' + string(sqlca.sqldbcode)
// return merrcode
//end if
//
//String[] arrStr;
if (adjDrCr && adjNewProdInv) //if (condition Added by jasmina-19/01/10-DI89SUN228
{
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') " ;
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) " ;
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) " ;
}
else
{
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
// if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
// sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
// }
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) then
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct))
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
// end 04-09-2005 manoharan
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' " +
" and ref_type in (" + ordTypeNewPrd + ") " +
" and ? - due_date >= " + llIgnoreDrDays + " ) ";
}
else
{
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
}
else
{
sqlStr = sqlStr + " ) ";
}
}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (adjDrCr && !adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' )";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) ";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
//if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (!adjDrCr && adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
if ((ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) && "Y".equals(adjustNewProduct))
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + llIgnoreDrDays + " "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
}
pstmt = conn.prepareStatement(sqlStr);
if (adjNewProdInv && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct)) //Added by jasmina 22/01/10-DI89SUN228
{
pstmt.setTimestamp(1,mRefDate);
}
rs = pstmt.executeQuery();
while(rs.next())
{
// end 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif
//////////////////////////////////////////////////////////////////
// 14/03/01 manoharan update of receivables commented
// only insert of receivables_adj records will be taken place in
// this function. The related updates will be done when the invoice
// is confirmed
//update receivables
// set adj_amt = tot_amt, status = 'A'
// where tran_id = :mTranId;
//if (get_sqlcode() < 0 then
// merrcode = 'DS000' + string(sqlca.sqldbcode)
// return merrcode
//elseif (sqlca.sqlnrows <> 1 then
// merrcode = 'DS000NR'
//} (
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
// CRNRCP Processing
//declare c_credit cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where ((tran_ser = 'CRNRCP' or tran_ser = 'MDRCRC' or tran_ser = 'R-ADV' ) and (tot_amt - adj_amt) < 0)
// and site_code = :as_site_code and item_ser = :as_item_ser
// and cust_code = :as_cust_code order by tran_id;
// 04-09-2005 manoharan if (dr/cr adjustment and advance adjustment not selected
// no need to do the following adjustment
// end 04-09-2005 manoharan
if (adjDrCr || adjAdv)
{
if (adjDrCr && adjAdv)
{
tranSeries = "'CRNRCP','MDRCRC', 'R-ADV'";
}
else if (adjDrCr && !adjAdv)
{
tranSeries = "'CRNRCP', 'MDRCRC'";
}
else if (!adjDrCr && adjAdv)
{
tranSeries = "'R-ADV'";
}
//Amit 21/01/05 'CUST_ADV'
asjCustAdv = distCommon.getDisparams("999999","CUST_ADVADJ_TYPE",conn);
if ("C".equals(advAdj)) //prince 11/11/05
{
if ("I".equals(asjCustAdv))
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" + tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and item_ser = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
//changes done by Vyankatesh on 24-01-05 for subscription
}
else if ("S".equals(asjCustAdv))
{
sqlStr = "select cust_pord from sorder where sale_order = ?";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1,mOrderNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
subsNo = rs1.getString("cust_pord");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sqlStr = "select rcp_no, site_code__rec,site_code__dlv "
+ " from subscrip_rcp a,subscrip_rcpdet b "
+ " where a.tran_id = b.tran_id and b.subs_no = ?";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1,subsNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
rcpNo = rs1.getString("cust_pord");
siteCodeRcp = rs1.getString("cust_pord");
siteCodeDlv = rs1.getString("cust_pord");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (!siteCodeRcp.trim().equals(siteCodeDlv.trim()))
{
tranSeries ="'R-IBCA'";
}
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and ref_no = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,rcpNo);
pstmt.setString(3,custCode);
//changes end by Vyankatesh on 24-01-05 for subscription
}
else
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
pstmt.setString(4,siteCode);
pstmt.setString(5,custCode);
}
}
else
{
//adjust advance thorugh sale order wise prince 10/11/05
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 ) "
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) "
+ " and ( sale_order = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
pstmt.setString(4,siteCode);
pstmt.setString(5,custCode);
pstmt.setString(6,mOrderNo);
}
//PREPARE SQLSA FROM :sqlStr ;
//OPEN DYNAMIC c_credit using :siteCode, :itemSer, :custCode, :siteCode, :custCode ;
//end Amit 21/01/05 'CUST_ADV'
rs = pstmt.executeQuery();
while(rs.next())
{
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
if (mDrAmt == 0)
{
break;
}
mDiffAmt = mTotAmt - mAdjAmt;
if (mDrAmt >= Math.abs(mDiffAmt))
{
mDrAmt = mDrAmt - Math.abs(mDiffAmt);
mAdjAmt = mDiffAmt;
status = "A";
}
else
{
mAdjAmt = (mDrAmt * -1);
mDrAmt = 0;
status = "P";
}
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
sqlStr = "insert into receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, ?, ?, ? ,?) ";
pstmtInsert.close();
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mAdjAmt);
pstmtInsert.setDouble(6,(mDiffAmt - mAdjAmt));
pstmtInsert.setString(7,adjTranSer);
pstmtInsert.setString(8,adjRefNo);
pstmtInsert.setString(9,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.close();
}
//**************************
if (mChkRec > 0 )
{
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
sqlStr = "INSERT INTO receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, "
+ " adj_amt, ref_ser_adj, ref_no_adj, "
+ " net_amt, tran_id__rcv ) "
+ " values (?, ?, ?, ?, ?, ' ', ' ', ?, ' ') ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,adjTranSer);
pstmtInsert.setString(3,adjRefNo);
pstmtInsert.setDouble(4,netAmt);
pstmtInsert.setDouble(5,(mDrAmt - netAmt) * -1);
pstmtInsert.setDouble(6,(netAmt - (mDrAmt - netAmt)));
pstmtInsert.executeUpdate();
pstmtInsert.close();
//ended by prince
sqlStr = "update invoice "
+ " set adj_amount = ? "
+ " where invoice_id = ? ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setDouble(1,(mDrAmt - netAmt) * -1);
pstmtInsert.setString(1,invoiceId);
pstmtInsert.executeUpdate();
}
}
catch( Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
//conn.close();
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
}
\ No newline at end of file
......@@ -655,6 +655,9 @@ public class PostOrdDespatchGen
pstmt1.close();
pstmt1 = null;
status="I";
System.out.println("@@@@@@@ quantity allocQty["+allocQty+"]");
tempMapSord=new HashMap();// contain values for sorditem
tempMapSord.put("line_no__sord", lineNoOrd);
......@@ -1514,6 +1517,11 @@ public class PostOrdDespatchGen
sordDetMap=(HashMap) sordDetList.get(sordCtr);
System.out.println("@@@@@@@@@@@sordDetMap values======[[["+sordDetMap+"]]]");
if( (Double)sordDetMap.get("quantity") == 0)
{
System.out.println("@@@@@@@@@@@@@@@@@@@ test continue.........");
continue;
} //test purpose
/*lc_qty_std = desp_det.getitemnumber(ls_ctr, "quantity__stduom")
lc_rate_std = desp_det.getitemnumber(ls_ctr, "rate__stduom")
lc_tot_amt = lc_tot_amt + (lc_rate_std * lc_qty_std)*/
......
......@@ -380,7 +380,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
retString = postOrder(headerDom, "",saleOrderList.get(sordIndex),xtraParams,conn);
System.out.println("postOrder return:::::::::::[["+retString+"]]......");
if(retString == null || retString.trim().length() <= 0)
if(retString == null || retString.trim().length() <= 0 )
{
//error to be display with codeCode on the message
errString = itmDBAccessEJB.getErrorString("", "VTPOST03", "","", conn);
......@@ -464,12 +464,13 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
int sordItemAllocCnt = 0;
String errCode="";
InitialContext ctx = null;
String postUpto="",confDespOnPost="",autoInvOnDesp="";
try
{
//conn = connDriver.getConnectDB("DriverITM");
//conn.setAutoCommit(false);
DistCommon dis=new DistCommon();
System.out.println("postOrder........");
fromCustCode=checkNull(e12GenericUtility.getColumnValue("cust_code__fr",headerDom));
toCustCode=checkNull(e12GenericUtility.getColumnValue("cust_code__to",headerDom));
......@@ -493,7 +494,9 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
fromDate = java.sql.Timestamp.valueOf(e12GenericUtility.getValidDateString(fromDateStr, e12GenericUtility.getApplDateFormat(),e12GenericUtility.getDBDateFormat()) + " 00:00:00.0");
toDate = java.sql.Timestamp.valueOf(e12GenericUtility.getValidDateString(toDateStr, e12GenericUtility.getApplDateFormat(),e12GenericUtility.getDBDateFormat()) + " 00:00:00.0");
/*----------------changes start by mahendra -----------------*/
postUpto = dis.getDisparams("999999", "POST_SORDER_UPTO", conn);
confDespOnPost = dis.getDisparams("999999", "CONFIRM_DESPATCH_ONPOST", conn);
//autoInvOnDesp = dis.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn);
sql=" select count(1) FROM sorder " ;
sql = sql + " where site_code__ship = ? " ;
if(fromCustCode.equalsIgnoreCase(toCustCode))
......@@ -623,9 +626,15 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
if(errCode != null && errCode.trim().length() > 0)
{
if(errCode.indexOf("VTCONPARM") > -1)
{
if("D".equalsIgnoreCase(postUpto) && "N".equalsIgnoreCase(confDespOnPost))
{
errString="";
return errString;
}
else
{
//conn.commit();
String[] arrayForTranId = errCode.split("<TranID>");
System.out.println("Tran ID :::::in conf:::::::"+arrayForTranId);
......@@ -649,7 +658,12 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("errCode in despatch confirmation===="+errStringConf);
}
}
}
if( errString.contains("CONFSUCC")|| errString.contains("VTPOSTDES") )
{
errString = "";
}
/* //commented same code repeate in despatchconfirm...
if(errStringConf != null && errStringConf.trim().length() > 0)
{
if(errStringConf.indexOf("VTPOSTDES") > -1)
......@@ -668,14 +682,59 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
tranIdDespatch = arrayForTranId[1].substring(0, endIndex);
System.out.println("tranIdDespatch====="+tranIdDespatch);
System.out.println("Calling Despatch Posting");
InvAcct inv = new InvAcct();
InvAcct inv = new InvAcct();
errString = inv.despatchPost(tranIdDespatch,"S-DSP",conn);
System.out.println("errCode in despatch posting===="+errString);
System.out.println("errCode in despatch posting====["+errString+"]");
if(errString.trim().length() == 0 || errString == null)
{
//conn.commit(); // added testing purpose
errString=invPosting( fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn);
System.out.println("@@@@@@@@@689 invPosting() errString::::::["+errString+"]");
}
}
}
*/
}
/*------------------------------------------------------------------------------*/
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
return errString;
}
public String invPosting(String fromSaleOrder,String toSaleOrder,String fromCustCode,String toCustCode,String tranIdDespatch, String orderType,Timestamp fromDate,String clubOrder,String clubPendingOrd,String adjDrcr,String adjCustAdv,String advAdjMode,String adjNewProdInv,String siteCodeShip,Connection conn) throws ITMException
{
System.out.println("@@@@@@@@@@@@ invPosting() called.........");
Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false;
String advAdj="";
DistCommon dis=new DistCommon();
String errString="",invoiceId="",sql="",ls_drnid="";
PreparedStatement pstmt=null;
ResultSet rs=null;
String applyTime="I",crPolicy="",lsStatus="";
String autoInvOnDesp = dis.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn);
if("Y".equalsIgnoreCase(autoInvOnDesp))
{
//conn.commit(); // added testing purpose
try
{
PostOrdInvoiceGen invgen = new PostOrdInvoiceGen();
System.out.println("from date ::::::::"+fromDate);
// SimpleDateFormat dateFormat = new SimpleDateFormat(genericUtility.getDBDateFormat());
......@@ -695,6 +754,21 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("Posting advAdjMode :::::::"+advAdjMode);
System.out.println("Posting adjNewProdInv :::::::"+adjNewProdInv);
if("Y".equalsIgnoreCase(adjDrcr))
{
adjDrcrFlag = true;
}
if("Y".equalsIgnoreCase(adjCustAdv))
{
adjAdv = true;
}
if("Y".equalsIgnoreCase(adjNewProdInv))
{
adjNewProdInvFlag = true;
}
advAdj = advAdjMode;
errString = invgen.invoiceProcess(fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, conn);
System.out.println("@@@@@@@@@695::::invgen.invoiceProcess():::errString["+errString+"]");
//if(errString != null && errString.trim().length()>0 )
......@@ -753,11 +827,33 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
{
// i_nvo_sales.gbf_credit_check_update(ls_sale_order,ls_cr_policy,mnet_amt,'S',lc_check_amt,'C',ls_status) //Added Ruchira 29/08/2k6, to pass invoice amt.
postOrdCreditChk.credit_check_update(fromSaleOrder, crPolicy, netAmt, "S", netAmt, "C", lsStatus, conn);
System.out.println("@@@@@@@@@@@@ postOrdCreditChk()...........finish.........");
System.out.println("@@@@@@@@@@@@ InvoiceDrcrAdj()...........calling..........");
sql = " select tran_id from misc_drcr_rcp where sreturn_no in (select desp_id " +
" from despatch where desp_id in ( ? ) " +
" and case when FREIGHT_AMT_ADD is null then 0 else FREIGHT_AMT_ADD end > 0) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranIdDespatch);
rs = pstmt.executeQuery();
while(rs.next())
{
ls_drnid = ls_drnid +","+ checkNull(rs.getString("tran_id"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//InvoiceDrcrAdj invoiceDrCrAdj1 = new InvoiceDrcrAdj();
//retString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjAdv, advAdj, adjNewProdInvFlag, frtDrnArr, conn);
System.out.println("@@@@@@@@@@@ ls_drnid["+ls_drnid+"]");
String frtDrnArr[]=ls_drnid.split(",");
System.out.println("@@@@@ frtDrnArr.length["+frtDrnArr.length+"]");
InvoiceDrcrAdj invoiceDrCrAdj1 = new InvoiceDrcrAdj();
errString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjAdv, advAdj, adjNewProdInvFlag, frtDrnArr, conn);
//retString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjCustAdvFlag, advAdj, adjNewProdInvFlag, frtDrnArr, conn);
System.out.println("@@@@@@@@@3 invoiceDrCrAdj1.invoiceDrcrAdj() retString["+retString+"]");
System.out.println("@@@@@@@@@3 invoiceDrCrAdj1.invoiceDrcrAdj() errString["+errString+"]");
if( errString == null || errString.trim().length() == 0 )
{
......@@ -807,34 +903,17 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
conn.rollback();
}
}
}
}
}
/*------------------------------------------------------------------------------*/
}
}
catch(Exception e)
}catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
return errString;
}
}
return errString;
}
......@@ -2468,6 +2547,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
}//end of while
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@test stockList[[["+stockList.toString()+"]]]");
rs5.close();
rs5 = null;
pstmt5.close();
......@@ -2977,7 +3057,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
// TODO Auto-generated method stub
return merrcode;
}
}
......@@ -3689,17 +3769,17 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("ls_edi_option:"+ls_edi_option);
if("1".equalsIgnoreCase(ls_edi_option))
{
// merrcode = nvo_functions_adv.nf_create_edi_multi('w_sorder_stat_log', &
// lds_hdr_edit.describe("datawindow.syntax") &
// + '~r' + lds_hdr_edit.describe("datawindow.syntax.data"), &
// 'A', '2', 1, '' + '~r' + '', '', '', '', '', '', ltr__sqlca)
// merrcode = nvo_functions_adv.nf_create_edi_multi('w_sorder_stat_log', &
// lds_hdr_edit.describe("datawindow.syntax") &
// + '~r' + lds_hdr_edit.describe("datawindow.syntax.data"), &
// 'A', '2', 1, '' + '~r' + '', '', '', '', '', '', ltr__sqlca)
}
else if("2".equalsIgnoreCase(ls_edi_option))
{
// nvo_functions_adv.post nf_create_edi_multi('w_sorder_stat_log', &
// lds_hdr_edit.describe("datawindow.syntax") &
// + '~r' + lds_hdr_edit.describe("datawindow.syntax.data"), &
// 'A', '2', 1, '' + '~r' + '', '', '', '', '', '', ltr__sqlca)
// nvo_functions_adv.post nf_create_edi_multi('w_sorder_stat_log', &
// lds_hdr_edit.describe("datawindow.syntax") &
// + '~r' + lds_hdr_edit.describe("datawindow.syntax.data"), &
// 'A', '2', 1, '' + '~r' + '', '', '', '', '', '', ltr__sqlca)
}
}
else
......
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