Commit 30fa48cd authored by wansari's avatar wansari

W16IBAS005 added createIBCA method as migration from NVO


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@106091 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 3559481b
......@@ -11,17 +11,23 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.Stateless;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.fin.InvAcct;
import ibase.webitm.ejb.fin.adv.CalculateCommission;
import ibase.webitm.ejb.fin.adv.RcvIbcaConf;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
@Stateless
public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoicePostLocal,PostOrdInvoicePostRemote
......@@ -29,6 +35,10 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
E12GenericUtility genericUtility= new E12GenericUtility();
DistCommon distCommon= new DistCommon();
FinCommon finCommon=new FinCommon();
//Added by wasim on 7-JUN-17 [START]
String xtraParamsStr = "";
//Added by wasim on 7-JUN-17 [END]
@Override
//public String invoicePosting(String invoiceId, Connection conn) throws ITMException
......@@ -66,6 +76,9 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
double totRecoAmt = 0;
try
{
//Added by wasim on 07-JUN-2017 to get GS_MODE from Xtra Params
xtraParamsStr = xtraParams;
startTime = System.currentTimeMillis();
if(conn==null)
{
......@@ -1116,6 +1129,9 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
lc_netamt = rs.getDouble("net_amt");
ls_tranidrcv = checkNull(rs.getString("tran_id__rcv"));
//Added by wasim on 09-JUN-2017 to trim the refSer
ls_refser = ls_refser.trim();
sqlStr ="select tot_amt, adj_amt from receivables where tran_ser = ? " +
" and ref_no = ? and line_no__ref = ? ";
pstmt1 = conn.prepareStatement(sqlStr);
......@@ -1658,8 +1674,383 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{
retString = finCommon.checkGlTranDrCr("S-INV",InvoiceHrdMap.get("invoice_id"),conn);
}
//Changed by wasim on 07-JUN-2017 for creating IBCA tranaction (Migration) [START]
if(retString != null && retString.trim().length() > 0)
{
return retString;
}
retString = createRIBCA( InvoiceHrdMap, invoiceAcctList, conn);
System.out.println("After createRIBCA retString ["+retString+"]");
//Changed by wasim on 07-JUN-2017 for creating IBCA tranaction (Migration) [END]
return retString;
}
//Changed by wasim on 07-JUN-2017 for creating IBCA tranaction (Migration) [START]
public String createRIBCA(HashMap<String, String> hdrMap, ArrayList<Object> invoiceAcctList, Connection conn) throws ITMException
{
String retString = "";
String sql = "";
PreparedStatement pstmt = null,pstmtHdr = null,pstmtDet = null;
ResultSet rs = null;
String ediOption = "",invIbcaGen = "",custCode = "",siteCode = "",siteCodeRcv = "",keyStr = "",finEntityFrom = "",finEntityTo = "",
linkType = "",cctrCodePay = "",acctCodeRcp = "",cctrCodeRcp = "",acctCodePay = "",ibcaID = "",remarks = "",invoiceID = "";
Timestamp refDate = null,dueDate = null,custRefDate = null,gpDate = null;
String currCode = "",acctCode = "",cctrCode = "",autoRcp = "",bankCode = "",recd = "",refType = "",tranSer = "",tranType = "",
crTerm = "",itemSer = "",salesPers = "",salesPers1 = "",salesPers2 = "",custRefNo = "",gpNo = "",chgUser = "",chgTerm = "";
double exchRate = 0,discount = 0,taxAmount = 0,custRefAmount = 0,amountBc = 0,amount = 0;
String gs_run_mode = "";
Timestamp tranDate = null,discountDate = null;
try
{
gs_run_mode = genericUtility.getValueFromXTRA_PARAMS(xtraParamsStr, "runMode");
chgUser = genericUtility.getValueFromXTRA_PARAMS( xtraParamsStr, "loginCode" );
chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParamsStr, "chgTerm" );
invoiceID = (String) hdrMap.get("invoice_id");
System.out.println("Inside createRIBCA----->["+invoiceID+"]");
tranDate = new java.sql.Timestamp(System.currentTimeMillis());
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
String currDateStr = sdfAppl.format(tranDate);
System.out.println("Run mode--->["+gs_run_mode+"]");
if("I".equals(gs_run_mode))
{
invIbcaGen = finCommon.getFinparams("999999","INV_IBCA_GEN",conn);
System.out.println("createRIBCA--->INV_IBCA_GEN["+invIbcaGen+"]");
if("NULLFOUND".equals(invIbcaGen))
{
invIbcaGen = "Y";
}
if("Y".equals(invIbcaGen))
{
custCode = (String) hdrMap.get("cust_code__bil");
siteCode = (String) hdrMap.get("site_code");
sql = " select site_customer.site_code__rcp from site_customer "
+ " where ( site_customer.site_code = ? ) and ( site_customer.cust_code = ? ) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,custCode);
rs = pstmt.executeQuery();
if(rs.next())
{
siteCodeRcv = rs.getString("site_code__rcp");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
if(siteCodeRcv == null || siteCodeRcv.trim().length() == 0)
{
sql = " select site_code__rcp from customer where cust_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCode);
rs = pstmt.executeQuery();
if(rs.next())
{
siteCodeRcv = rs.getString("site_code__rcp");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
}
if(siteCodeRcv == null || siteCodeRcv.trim().length() == 0)
{
siteCodeRcv = siteCode ;
}
if(!siteCodeRcv.equals(siteCode) && !"I".equals(siteCodeRcv))
{
sql = " select key_string from transetup where upper(tran_window) = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"W_RCP_IBCA");
rs = pstmt.executeQuery();
if(rs.next())
{
keyStr = rs.getString("key_string");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
sql = " select fin_entity from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
finEntityFrom = rs.getString("fin_entity");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
sql = " select fin_entity from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCodeRcv);
rs = pstmt.executeQuery();
if(rs.next())
{
finEntityTo = rs.getString("fin_entity");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
sql = " select link_type, acct_code__pay, cctr_code__pay, acct_code__rcp, cctr_code__rcp "
+" from ibca_rcp_ctrl where site_code__from = ? and site_code__to = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,siteCodeRcv);
rs = pstmt.executeQuery();
if(rs.next())
{
linkType = rs.getString("link_type");
acctCodePay = rs.getString("acct_code__pay");
cctrCodePay = rs.getString("cctr_code__pay");
acctCodeRcp = rs.getString("acct_code__rcp");
cctrCodeRcp = rs.getString("cctr_code__rcp");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
String xmlValues = "";
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id/>";
xmlValues = xmlValues + "<site_code__from>" + siteCode + "</site_code__from>";
xmlValues = xmlValues + "<site_code__to>" + siteCodeRcv + "</site_code__to>";
xmlValues = xmlValues + "<tran_date>"+ currDateStr + "</tran_date>";
xmlValues = xmlValues + "<link_type>"+linkType+"</link_type>";
xmlValues = xmlValues + "</Detail1></Root>";
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
ibcaID = tg.generateTranSeqID("R-IBCA", "tran_id", keyStr, conn);
if("ERROR".equalsIgnoreCase(ibcaID))
{
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
retString = itmDBAccessLocal.getErrorString("", "VTTRANID", "", "",conn);
return retString;
}
remarks = " Auto IBCA transfer of invoice of " + custCode;
sql = " select ref_date, curr_code, exch_rate, cust_code, acct_code, "
+" cctr_code, due_date, (tot_amt - adj_amt) as amt , discount, tax_amt, auto_rcp, "
+" bank_code, recd, ref_type, cr_term, item_ser, sales_pers, "
+" sales_pers__1, sales_pers__2, tran_date,cust_ref_no,cust_ref_date,cust_ref_amt,gp_no,gp_date,discount_dt "
+" from receivables where tran_ser = 'S-INV' and ref_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invoiceID);
rs = pstmt.executeQuery();
if(rs.next())
{
System.out.println("Inside createRIBCA----->rs.Next()");
refDate = rs.getTimestamp("ref_date");
currCode = rs.getString("curr_code");
exchRate = rs.getDouble("exch_rate");
custCode = rs.getString("cust_code");
acctCode = rs.getString("acct_code");
cctrCode = rs.getString("cctr_code");
dueDate = rs.getTimestamp("due_date");
amount = rs.getDouble("amt");
discount = rs.getDouble("discount");
taxAmount = rs.getDouble("tax_amt");
autoRcp = rs.getString("auto_rcp");
bankCode = rs.getString("bank_code");
recd = rs.getString("recd");
refType = rs.getString("ref_type");
crTerm = rs.getString("cr_term");
itemSer = rs.getString("item_ser");
salesPers = rs.getString("sales_pers");
salesPers1 = rs.getString("sales_pers__1");
salesPers2 = rs.getString("sales_pers__2");
tranDate = rs.getTimestamp("tran_date");
custRefNo = rs.getString("cust_ref_no");
custRefDate = rs.getTimestamp("cust_ref_date");
custRefAmount = rs.getDouble("cust_ref_amt");
gpNo = rs.getString("gp_no");
gpDate = rs.getTimestamp("gp_date");
discountDate = rs.getTimestamp("discount_dt");
}
if(pstmt != null)
{
pstmt.close();pstmt = null;
}
if(rs != null)
{
rs.close();rs = null;
}
System.out.println("Inside createRIBCA----->amount["+amount+"] * exchRate["+exchRate+"]* ");
amountBc = amount * exchRate ;
System.out.println("Inside createRIBCA----->amountBc--["+amountBc+"]");
if(amountBc != 0)
{
sql = " insert into rcp_ibca (tran_id, tran_date, eff_date, site_code__from, fin_entity__from, "
+" site_code__to, fin_entity__to, amount, curr_code, exch_rate, confirmed, acct_code__ifr,"
+" cctr_code__ifr, acct_code__ito, cctr_code__ito, chg_date, chg_user, chg_term, amount__bc, "
+" tran_type, tran_ser, link_type, remarks) " //23
+" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ibcaID);
pstmt.setTimestamp(2, tranDate);
pstmt.setTimestamp(3, tranDate);
pstmt.setString(4, siteCode);
pstmt.setString(5, finEntityFrom);
pstmt.setString(6, siteCodeRcv);
pstmt.setString(7, finEntityTo);
pstmt.setDouble(8, amount);
pstmt.setString(9, currCode);
pstmt.setDouble(10, exchRate);
pstmt.setString(11, "N");
pstmt.setString(12, acctCodePay);
pstmt.setString(13, cctrCodePay);
pstmt.setString(14, acctCodeRcp);
pstmt.setString(15, cctrCodeRcp);
pstmt.setTimestamp(16, tranDate);
pstmt.setString(17, chgUser);
pstmt.setString(18, chgTerm);
pstmt.setDouble(19, amountBc);
pstmt.setString(20, tranType);
pstmt.setString(21, "I");
pstmt.setString(22, linkType);
pstmt.setString(23, remarks);
pstmt.executeUpdate();
sql = " insert into rcp_ibca_det (tran_id, ref_ser, ref_no, ref_date, curr_code, exch_rate, "
+" cust_code, acct_code, cctr_code, due_date, tot_amt, discount,tax_amt, bank_code, "
+" ref_type, auto_rcp, sales_pers, item_ser, sales_pers__1, sales_pers__2, cr_term, "
+" recd, ref_ser__org, line_no__ref, cust_ref_no, cust_ref_date, cust_ref_amt, gp_no, gp_date,discount_dt) " //30
+" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ibcaID);
pstmt.setString(2, "S-INV");
pstmt.setString(3, invoiceID);
pstmt.setTimestamp(4, refDate);
pstmt.setString(5, currCode);
pstmt.setDouble(6, exchRate);
pstmt.setString(7, custCode);
pstmt.setString(8, acctCode);
pstmt.setString(9, cctrCode);
pstmt.setTimestamp(10, dueDate);
pstmt.setDouble(11, amount);
pstmt.setDouble(12, discount);
pstmt.setDouble(13, taxAmount);
pstmt.setString(14, bankCode);
pstmt.setString(15, refType);
pstmt.setString(16, autoRcp);
pstmt.setString(17, salesPers);
pstmt.setString(18, itemSer);
pstmt.setString(19, salesPers1);
pstmt.setString(20, salesPers2);
pstmt.setString(21, crTerm);
pstmt.setString(22, recd);
pstmt.setString(23, tranSer);
pstmt.setString(24, "1");
pstmt.setString(25, custRefNo);
pstmt.setTimestamp(26, custRefDate);
pstmt.setDouble(27, custRefAmount);
pstmt.setString(28, gpNo);
pstmt.setTimestamp(29, gpDate);
pstmt.setTimestamp(30, discountDate);
pstmt.executeUpdate();
RcvIbcaConf ibcaObj = new RcvIbcaConf();
retString = ibcaObj.retreiveRibca (ibcaID, siteCode, xtraParamsStr, conn);
System.out.println("After createRIBCA retreiveRibca ----->["+retString+"]");
if(retString != null && retString.trim().length() > 0)
{
return retString;
}
}
}
}
}
}
catch(Exception e)
{
System.out.println("Expcetion inside createRIBCA ==>"+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(rs!=null)
{
rs.close();rs= null;
}
if(pstmt!=null)
{
pstmt.close();pstmt= null;
}
if(pstmtDet!=null)
{
pstmtDet.close();pstmtDet=null;
}
if(pstmtHdr!=null)
{
pstmtHdr.close();pstmtHdr=null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
return retString;
}
//Changed by wasim on 07-JUN-2017 for creating IBCA tranaction (Migration) [END]
private String gbfPostInvoiceDet(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList, Connection conn) throws Exception
{
......
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