Commit 2a4a0a50 authored by prane's avatar prane

ChrgBckLocConf component merged from csv tro svn

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@172077 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 27d369d3
......@@ -5,6 +5,7 @@ import org.w3c.dom.*;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.system.config.*;
......@@ -24,6 +25,12 @@ import javax.naming.InitialContext;
import ibase.system.config.AppConnectParm;
//import ibase.webitm.ejb.MasterStateful;
//import ibase.webitm.ejb.MasterStatefulHome;
import org.apache.axis.client.Call;
......@@ -99,16 +106,16 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
termId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "termId" );
java.sql.Timestamp currDate = null;
java.sql.Timestamp tranDate = null;
String returnString = null;
String returnString = "";
boolean conFlag = false;
String errStr = "";
Timestamp sysDate = null;
try
{
//Changes and Commented By Bhushan on 09-06-2016 :START
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :START
conn = connDriver.getConnectDB("DriverITM");
//conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :END
conn.setAutoCommit(false);
connDriver = null;
......@@ -222,17 +229,54 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
// end 02/07/13 manoharan time value to be removed
if( chkupdt > 0) // condition is added by sagar on 13/07/15
{
//Added by Tajuddin Mahadi on 10-OCT-2017-START
double detNetAmt = 0, detInvNetAmt = 0;
String detInvId = "";
sql = "select sum(net_amt) as net_amt from charge_back_det where invoice_id is null and tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranID);
if(netAmt > 0)
rs = pstmt.executeQuery();
if(rs.next()) {
detNetAmt = rs.getDouble("net_amt");
}
//Added by Tajuddin Mahadi on 10-OCT-2017-END
//if(netAmt > 0)
if(detNetAmt > 0)
{
returnString = createMiscCrnoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, "Y", xtraParams, conn );
}
else // Added for Debit note generation if amt < 0: Start
else if(detNetAmt < 0) // Added for Debit note generation if amt < 0: Start
{
returnString = createMiscDrnoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, "Y", xtraParams, conn );
}
// Added for Debit note generation if amt < 0 :End
if( returnString .equals("VTSUCC1") )
sql = "select invoice_id, sum(net_amt) as net_amt from charge_back_det where invoice_id is not null and tran_id = ? "
+ " group by invoice_id";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranID);
rs = pstmt.executeQuery();
while(rs.next()) {
detInvNetAmt = rs.getDouble("net_amt");
detInvId = rs.getString("invoice_id");
System.out.println("InvoiceId ["+detInvId+"] Amount["+detInvNetAmt+"]");
if(detInvNetAmt > 0)
{
returnString = createCrNoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, detInvId, "Y", xtraParams, conn);
}
else if(detInvNetAmt < 0) // Added for Debit note generation if amt < 0: Start
{
returnString = createDrNoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, detInvId, "Y", xtraParams, conn);
}
}
if( returnString.equals("VTSUCC1") || returnString.equals("CONFSUCCES"))
{
conFlag = true;
errStr = "TRANCONFSC";
......@@ -297,17 +341,18 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
System.out.println("retString ::"+returnString);
return returnString;
}
/*private String createMiscCrnoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException
private String createDrNoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String detInvId, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException
{
System.out.println("Inside createMiscCrnoteCback................");
System.out.println("EJB ["+this.getClass().getSimpleName() + "] method [createDrNoteCback] - START");
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmtHdr = null;
PreparedStatement pstmtDtl = null;
ResultSet rs = null;
//Statement stmt = null;
Statement stmt = null;
ResultSet rSet = null;
String sql = null;
String sql = "", innerSql = "";
String custCodeCr = "";
String currCode = "";
String finEntity = "";
......@@ -325,7 +370,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
String detCctr = "";
String tranType = "";
String reasonCd = "";
String crNtTranId = "";
String drNtTranId = "";
String acctCodeTax = "";
String cctrCodeTax = "";
String round = "";
......@@ -341,77 +386,72 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
double total = 0.0;
double roundAmt = 0.0;
double diffAmt = 0.0;
double discountAmt = 0.0;
double discountAmt = 0.0 ,taxAmt = 0.0;
int llLineNo = 0;
java.sql.Timestamp tranDate = null;
java.sql.Timestamp pOrderDate = null;
String insHdrSql = "insert into MISC_DRCR_RCP ( "
+" TRAN_ID, TRAN_SER, TRAN_DATE, EFF_DATE, FIN_ENTITY, "
+" SITE_CODE, SUNDRY_TYPE, SUNDRY_CODE, ACCT_CODE, CCTR_CODE, "
+" AMOUNT, CURR_CODE, EXCH_RATE, REMARKS, DRCR_FLAG, "
+" TRAN_ID__RCV, CONFIRMED, CHG_USER, CHG_DATE, CHG_TERM, "
+" CONF_DATE, EMP_CODE__APRV, DUE_DATE, TRAN_TYPE, ITEM_SER, "
+" AMOUNT__BC, SRETURN_NO, ADJ_MISC_CRN, ADJ_AMOUNT, PARENT__TRAN_ID, "
+" REV__TRAN, ROUND_ADJ, "
+" CUST_REF_NO, CUST_REF_DATE, CUST_REF_AMT, RND_OFF, RND_TO ) "
+" values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ? ) ";
String insertDtl = "insert into MISC_DRCR_RDET( "
+" TRAN_ID, LINE_NO, ACCT_CODE, CCTR_CODE, AMOUNT, "
+" NET_AMT, REF_NO, REAS_CODE, ANAL_CODE"
+" ) values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ? )";
StringBuffer xmlBuff = null;
StringBuffer xmlBuffDet = null;
String xmlString="",errString = "",taxClass = "",taxEnv = "",taxChap = "",analCode = "" ;
Document dom = null ;
ArrayList diffAmtList = null;
DistCommon disComm = new DistCommon();
try
{
pstmtHdr = conn.prepareStatement( insHdrSql );
pstmtDtl = conn.prepareStatement( insertDtl );
sql = "select a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, "
+" a.net_amt, a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, "
+" a.amount, a.remarks, sum(b.discount_amt) as discAmt "
+" from charge_back a, charge_back_det b "
+" where a.tran_id = b.tran_id "
+" and a.tran_id >= ? "
+" and a.tran_id <= ? "
+" and a.tran_date >= ? "
+" and a.tran_date <= ? "
+" and a.cust_code >= ? "
+" and a.cust_code <= ? "
+" and a.site_code = ? "
// +" and a.confirmed = 'Y' "
+" group by a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, "
+" a.net_amt, a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, "
+" a.amount, a.remarks";
diffAmtList = new ArrayList();
xmlBuff = new StringBuffer();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuff.append("<DocumentRoot>");
xmlBuff.append("<description>").append("Datawindow Root").append("</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("drcrrcp_dr").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuff.append("<taxKeyValue><![CDATA[").append("").append("]]></taxKeyValue>");
xmlBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"drcrrcp_dr\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
sql = "select a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, b.net_amt,a.tax_amt, a.porder_no, "
+ " a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, b.amount, a.remarks, b.discount_amt as discAmt, "
+ " b.tax_class as tax_class,b.tax_chap as tax_chap,b.tax_env as tax_env, b.inv_line_no "
+ " from charge_back a, charge_back_det b where a.tran_id = b.tran_id and a.tran_id = ? and b.invoice_id = ? ";
/*+ " group by a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, b.net_amt, a.tax_amt, "
+ " a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, a.amount, a.remarks, b.tax_class, b.tax_chap, b.tax_env, b.inv_line_no";*/
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, tranIdFr );
pstmt.setString( 2, tranIdTo );
pstmt.setTimestamp( 3, tranDateFr );
pstmt.setTimestamp( 4, tranDateTo );
pstmt.setString( 5, custCodeFr );
pstmt.setString( 6, custCodeTo );
pstmt.setString( 7, siteCode );
pstmt.setString( 2, detInvId );
rs = pstmt.executeQuery();
boolean isHeaderCreated = false;
while( rs.next() )
{
custCodeCr = rs.getString("cust_code__credit");
currCode = rs.getString("curr_code");
exchgRate = rs.getDouble("exch_rate");
empCodeAprv = rs.getString("emp_code__aprv");
tranIdSel = rs.getString("tran_id");
netAmt = rs.getDouble("net_amt");
taxAmt = rs.getDouble("tax_amt");
pOrderNo = rs.getString("porder_no");
pOrderDate = rs.getTimestamp("porder_date");
claimAmt = rs.getDouble("claum_amt");
......@@ -420,10 +460,13 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
grossAmount = rs.getDouble("amount");
remarks = rs.getString("remarks");
discountAmt = rs.getDouble("discAmt");
taxClass = rs.getString("tax_class");
taxChap = rs.getString("tax_chap");
taxEnv = rs.getString("tax_env");
//System.out.println("claimAmt==>["+claimAmt+"]");
//System.out.println("netAmt==>["+netAmt+"]");
//System.out.println("grossAmount ie amount==>["+grossAmount+"]");
System.out.println("taxClass==>["+taxClass+"]");
System.out.println("taxChap==>["+taxChap+"]");
System.out.println("taxEnv==>["+taxEnv+"]");
if( siteCodeCr == null || siteCodeCr.trim().length() == 0 )
{
siteCodeCr = siteCode;
......@@ -495,6 +538,11 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
errCode = "VMREASON"; //'DS000' + string(sqlca.sqldbcode)
break;
}
System.out.println("claimAmt::["+claimAmt+"]netAmt:::["+netAmt+"]");
System.out.println("drcrAmt::["+drcrAmt+"]");
if( claimAmt <= 0 )
{
claimAmt = 0;
......@@ -504,20 +552,19 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
{
drcrAmt = claimAmt < netAmt ? claimAmt : netAmt;
}
//crNtTranId = generateTranId("W_MISC_DRCR_RCP_CR", getCurrdateInAppFormat(), loginSite, userId, tranType );
crNtTranId = generateTranId("W_MISC_DRCR_RCP_CR", getCurrdateInAppFormat(), siteCodeCr, userId, tranType );
//-----------------------Inserting into header-----------------------------------
pstmtHdr.setString( 1, crNtTranId );
pstmtHdr.setString( 2, "MDRCRC" );
pstmtHdr.setTimestamp( 3, currDate );
pstmtHdr.setTimestamp( 4, currDate );
pstmtHdr.setString( 5, finEntity );
pstmtHdr.setString( 6, siteCodeCr);
pstmtHdr.setString( 7, "C" );
pstmtHdr.setString( 8, custCodeCr );
pstmtHdr.setString( 9, acctCode == null ? "" : acctCode );
pstmtHdr.setString( 10, cctrCode == null ? " " : cctrCode );
//cHANGED BY POONAM FOR TAX CALCULATION
if(!isHeaderCreated){
xmlBuff.append("<tran_ser><![CDATA["+ "DRNRCP" +"]]></tran_ser>");
xmlBuff.append("<tran_date><![CDATA["+ sdf.format(currDate).toString() +"]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA["+ sdf.format(currDate).toString() +"]]></eff_date>");
xmlBuff.append("<fin_entity><![CDATA["+ finEntity +"]]></fin_entity>");
xmlBuff.append("<site_code><![CDATA["+siteCodeCr +"]]></site_code>");
xmlBuff.append("<sundry_type><![CDATA["+ "C" +"]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA["+ custCodeCr +"]]></sundry_code>");
xmlBuff.append("<acct_code><![CDATA["+checkNull(acctCode) +"]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA["+ checkNull(cctrCode) +"]]></cctr_code>");
xmlBuff.append("<invoice_id><![CDATA[" + checkNull(detInvId) + "]]></invoice_id>");
}
sql = "select nvl(round,'N') ls_round, nvl(round_to,0.001) lc_round_to from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, custCodeCr );
......@@ -534,149 +581,429 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
System.out.println("drcrAmt in CREDIT note["+drcrAmt+"]roundAmt["+roundAmt);
System.out.println("drcrAmt in debit note["+drcrAmt+"]roundAmt["+roundAmt);
if(drcrAmt < 0)
{
drcrAmt = drcrAmt * (-1);
}
System.out.println("drcrAmt IN debit note"+drcrAmt);
diffAmt = roundAmt - drcrAmt;
//pstmtHdr.setDouble( 11, drcrAmt );
pstmtHdr.setDouble( 11, roundAmt );
pstmtHdr.setString( 12, currCode == null || currCode.trim().length() == 0 ? "" : currCode);
pstmtHdr.setDouble( 13, exchgRate );
if(!isHeaderCreated) {
xmlBuff.append("<amount><![CDATA["+ drcrAmt +"]]></amount>");
xmlBuff.append("<curr_code><![CDATA["+ checkNull(currCode ) +"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+ exchgRate +"]]></exch_rate>");
}
if( remarks == null || remarks.trim().length() == 0 )
{
String tRemStr = null;
System.out.println("tranIdSel->"+tranIdSel+" pOrderNo->"+pOrderNo+" pOrderDate->"+pOrderDate);
tRemStr = ( "CB " + tranIdSel );
pstmtHdr.setString( 14, tRemStr );
if(!isHeaderCreated) {
xmlBuff.append("<remarks><![CDATA["+ tRemStr +"]]></remarks>");
}
}
else
{
pstmtHdr.setString( 14, remarks.trim() );
if(!isHeaderCreated) {
xmlBuff.append("<remarks><![CDATA["+ remarks.trim() +"]]></remarks>");
}
}
pstmtHdr.setString( 15, "C" );
pstmtHdr.setString( 16, "" );
pstmtHdr.setString( 17, "N" );
pstmtHdr.setString( 18, userId );
pstmtHdr.setTimestamp( 19, currDate );
pstmtHdr.setString( 20, termId );
pstmtHdr.setNull( 21, java.sql.Types.DATE );
pstmtHdr.setString( 22, empCodeAprv );
pstmtHdr.setTimestamp( 23, currDate );
pstmtHdr.setString( 24, ( tranType == null || tranType.trim().length() == 0 ? "" :tranType.trim() ) );
pstmtHdr.setString( 25, ( itemSer == null || itemSer.trim().length() == 0 ? "" : itemSer.trim() ) );
//pstmtHdr.setDouble( 26, drcrAmt );
pstmtHdr.setDouble( 26, roundAmt * exchgRate);
pstmtHdr.setString( 27, ( tranIdSel == null || tranIdSel.trim().length() == 0 ? "" : tranIdSel.trim() ) );
pstmtHdr.setString( 28, "" ); //ADJ_MISC_CRN
pstmtHdr.setDouble( 29, 0.0 ); //ADJ_AMOUNT
pstmtHdr.setString( 30, "" ); //PARENT__TRAN_ID
pstmtHdr.setString( 31, "" ); //REV__TRAN
pstmtHdr.setDouble( 32, 0.0 ); //ROUND_ADJ
//pstmt.setInt( 33, 0 ); //LINE_NO__SRET
//pstmt.setInt( 34, 0 ); //LINE_NO__SRET
//pstmt.setString( 35, "" ); //LOT_NO
pstmtHdr.setString( 33, "" ); //CUST_REF_NO
pstmtHdr.setNull( 34, java.sql.Types.DATE ); //CUST_REF_DATE
pstmtHdr.setDouble( 35, 0.0 ); //CUST_REF_AMT
pstmtHdr.setDouble( 36, 0.0 ); //RND_OFF
pstmtHdr.setDouble( 37, 0.0 ); //RND_TO
int updtCnt = pstmtHdr.executeUpdate();
//System.out.println("updtCnt==>"+updtCnt);
//-----------------------Inserting into detail-----------------------------------
analCode = finCommon.getFinparams("999999", "ANAL_CODE", conn);
System.out.println("analCode:::"+analCode);
if(!isHeaderCreated) {
xmlBuff.append("<drcr_flag><![CDATA["+ "D" +"]]></drcr_flag>");
xmlBuff.append("<tran_id__rcv><![CDATA["+ "" +"]]></tran_id__rcv>");
xmlBuff.append("<confirmed><![CDATA["+ "N" +"]]></confirmed>");
xmlBuff.append("<chg_user><![CDATA["+ userId +"]]></chg_user>");
xmlBuff.append("<chg_date><![CDATA["+ sdf.format(currDate).toString() +"]]></chg_date>");
xmlBuff.append("<chg_term><![CDATA["+ termId +"]]></chg_term>");
xmlBuff.append("<conf_date><![CDATA["+ sdf.format(currDate).toString() +"]]></conf_date>");
xmlBuff.append("<emp_code__aprv><![CDATA["+ empCodeAprv +"]]></emp_code__aprv>");
xmlBuff.append("<due_date><![CDATA["+ sdf.format(currDate).toString() +"]]></due_date>");
xmlBuff.append("<tran_type><![CDATA["+ checkNull(tranType) +"]]></tran_type>");
xmlBuff.append("<item_ser><![CDATA["+ checkNull(itemSer ) +"]]></item_ser>");
//xmlBuff.append("<sreturn_no><![CDATA["+ checkNull(tranIdSel) +"]]></sreturn_no>");
xmlBuff.append("<adj_misc_crn><![CDATA["+ "" +"]]></adj_misc_crn>");
xmlBuff.append("<adj_amount><![CDATA["+ 0.0 +"]]></adj_amount>");
xmlBuff.append("<parent__tran_id><![CDATA["+ "" +"]]></parent__tran_id>");
xmlBuff.append("<rev__tran><![CDATA["+ "" +"]]></rev__tran>");
xmlBuff.append("<round_adj><![CDATA["+ 0.0 +"]]></round_adj>");
xmlBuff.append("<cust_ref_no><![CDATA["+ "" +"]]></cust_ref_no>");
xmlBuff.append("<anal_code><![CDATA["+ analCode +"]]></anal_code>");
}
xmlBuff.append("<amount__bc><![CDATA["+ roundAmt * exchgRate +"]]></amount__bc>");
System.out.println("drcrAmt in debit detail"+drcrAmt);
System.out.println("grossAmount in debit detail"+grossAmount);
llLineNo = 0;
pstmtDtl.setString( 1, crNtTranId );
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, detAcct );
pstmtDtl.setString( 4, detCctr );
if( claimAmt > 0 && claimAmt < netAmt )
xmlBuffDet = new StringBuffer();
//TODO
innerSql = "select invoice_id, inv_line_no, net_amt, item_code, tax_class, tax_chap, tax_env from charge_back_det where tran_id = ? and invoice_id = ?";
pstmt1 = conn.prepareStatement(innerSql);
pstmt1.setString(1, tranIdSel);
pstmt1.setString(2, detInvId);
rSet = pstmt1.executeQuery();
while(rSet.next()){
String invId = rSet.getString("invoice_id");
int invLineNo = rSet.getInt("inv_line_no");
double invNetAmt = rSet.getDouble("net_amt");
String itemCode = rSet.getString("item_code");
taxClass = rSet.getString("tax_class");
taxChap = rSet.getString("tax_chap");
taxEnv = rSet.getString("tax_env");
xmlBuffDet.append("<Detail2 dbID=\"\" domID=\"1\" objName=\"drcrrcp_dr\" objContext=\"1\">");
xmlBuffDet.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuffDet.append("<tran_id/>");
llLineNo++;
xmlBuffDet.append("<line_no><![CDATA[" + llLineNo + "]]></line_no>");
xmlBuffDet.append("<invoice_id><![CDATA[" + invId + "]]></invoice_id>");
xmlBuffDet.append("<line_no__invtrace><![CDATA[" + invLineNo + "]]></line_no__invtrace>");
xmlBuffDet.append("<item_code><![CDATA[" + itemCode + "]]></item_code>");
if(invNetAmt < 0) {
invNetAmt = invNetAmt * (-1);
}
xmlBuffDet.append("<drcr_amt><![CDATA[" + invNetAmt + "]]></drcr_amt>");
xmlBuffDet.append("<net_amt><![CDATA[" + invNetAmt + "]]></net_amt>");
xmlBuffDet.append("<reas_code><![CDATA[" + checkNull(reasonCd) + "]]></reas_code>");
xmlBuffDet.append("<tax_class><![CDATA[" + checkNullAndTrim(taxClass) + "]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA[" + checkNullAndTrim(taxChap) + "]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA[" + checkNullAndTrim(taxEnv) + "]]></tax_env>");
xmlBuffDet.append("</Detail2>");
taxClass = "";
taxChap = "";
taxEnv = "";
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
isHeaderCreated = true;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
xmlBuff.append("</Detail1>");
xmlBuff.append(xmlBuffDet);
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("@@@@@2: xmlString:"+xmlBuff.toString());
System.out.println("...............just before savdata distorder()");
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("== site code =="+siteCode);
errString = saveData(siteCode,xmlString,xtraParams,conn);
System.out.println("@@@@@2: retString:"+errString);
System.out.println("--retString finished--");
if (errString.indexOf("Success") > -1)
{
System.out.println("@@@@@@3: Success"+errString);
dom = genericUtility.parseString(errString);
System.out.println("dom>>>"+dom);
drNtTranId = genericUtility.getColumnValue("TranID",dom);
}
else
{
System.out.println("[SuccessSuccess" + errString + "]");
conn.rollback();
return errString;
}
sql = "update charge_back set "
+" tran_id__crn = ? "
+" where tran_id = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, drNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
if( updCount == 0 )
{
errCode = "DS000NR";
//break;
}
pstmt1.close();
pstmt1 = null;
if( "Y".equalsIgnoreCase( asPost ) )
{
conn.commit();
//retString = retrieveMiscDrcrRcp("drcrrcp_dr",drNtTranId,xtraParams,"N" );
//retString = autoConfirmRecord("drcrrcp_dr", drNtTranId, xtraParams);
retString = executeSystemEvent("drcrrcp_dr", "pre_confirm", drNtTranId, xtraParams, conn);
System.out.println("retString ::: " + retString);
/*if(retString.indexOf("VTSUCC1") > -1 || retString.indexOf("CONFSUCCES") > -1){
conn.commit();
}*/
errCode = getErrCodeFromErrStr(retString);
}
}
catch(Exception e)
{
System.out.println("Exception :" + e.getMessage() + ":");
throw new ITMException(e);
}
finally
{
try
{
if(pstmt != null)
{
pstmtDtl.setDouble( 5, drcrAmt );
pstmtDtl.setDouble( 6, drcrAmt );
pstmt.close();
pstmt = null;
}
else
if(pstmtDtl != null)
{
pstmtDtl.close();
pstmtDtl = null;
}
if(pstmtHdr != null)
{
pstmtHdr.close();
pstmtHdr = null;
}
}
catch(Exception e)
{
System.out.println("Exception ChrgBckLocConfEJB....... :\n"+e.getMessage());
}
}
System.out.println("EJB ["+this.getClass().getSimpleName() + "] method [createDrNoteCback] - END Returning ["+errCode+"]");
return errCode;
}
private String createCrNoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String detInvId, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException
{
System.out.println("EJB ["+this.getClass().getSimpleName() + "] method [createCrNoteCback] - START");
PreparedStatement pstmt = null, pstmt1 = null, pstmtHdr = null, pstmtDtl = null;
ResultSet rs = null, rSet = null;
String sql = "", innerSql = "";
String custCodeCr = "";
String currCode = "";
String finEntity = "";
String acctCode = "";
String cctrCode = "";
String empCodeAprv = "";
String tranIdSel = "";
String pOrderNo = "";
String siteCodeCr = "";
String itemSer = "";
String remarks = "";
String detAcct = "";
String errCode = "";
String retString = "";
String detCctr = "";
String tranType = "";
String reasonCd = "";
String drNtTranId = "";
String acctCodeTax = "";
String cctrCodeTax = "";
String round = "";
String insDtlsql = "";
String asPost = confirm;
double roundTo = 0.0;
double exchgRate = 0.0;
double netAmt = 0.0;
double claimAmt = 0.0;
double grossAmount = 0.0;
double drcrAmt = 0.0;
double amtTax = 0.0;
double total = 0.0;
double roundAmt = 0.0;
double diffAmt = 0.0;
double discountAmt = 0.0 ,taxAmt = 0.0;
int llLineNo = 0;
java.sql.Timestamp tranDate = null;
java.sql.Timestamp pOrderDate = null;
StringBuffer xmlBuff = null;
StringBuffer xmlBuffDet = null;
String xmlString="",errString = "",taxClass = "",taxEnv = "",taxChap = "",analCode = "" ;
Document dom = null ;
ArrayList diffAmtList = null;
DistCommon disComm = new DistCommon();
try
{
diffAmtList = new ArrayList();
xmlBuff = new StringBuffer();
System.out.println("--XML CREATION ------");
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuff.append("<DocumentRoot>");
xmlBuff.append("<description>").append("Datawindow Root").append("</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("drcrrcp_cr").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuff.append("<taxKeyValue><![CDATA[").append("").append("]]></taxKeyValue>");
xmlBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"drcrrcp_cr\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
sql = "select a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, b.net_amt,a.tax_amt, a.porder_no, "
+ " a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, b.amount, a.remarks, b.discount_amt as discAmt, "
+ " b.tax_class as tax_class,b.tax_chap as tax_chap,b.tax_env as tax_env, b.inv_line_no "
+ " from charge_back a, charge_back_det b where a.tran_id = b.tran_id and a.tran_id = ? and b.invoice_id = ? ";
/*+ " group by a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, b.net_amt, a.tax_amt, "
+ " a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, a.amount, a.remarks, b.tax_class, b.tax_chap, b.tax_env, b.inv_line_no";*/
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, tranIdFr );
pstmt.setString( 2, detInvId );
rs = pstmt.executeQuery();
boolean isHeaderCreated = false;
while(rs.next())
{
custCodeCr = rs.getString("cust_code__credit");
currCode = rs.getString("curr_code");
exchgRate = rs.getDouble("exch_rate");
empCodeAprv = rs.getString("emp_code__aprv");
tranIdSel = rs.getString("tran_id");
netAmt = rs.getDouble("net_amt");
taxAmt = rs.getDouble("tax_amt");
pOrderNo = rs.getString("porder_no");
pOrderDate = rs.getTimestamp("porder_date");
claimAmt = rs.getDouble("claum_amt");
siteCodeCr = rs.getString("site_code__cr");
itemSer = rs.getString("item_ser");
grossAmount = rs.getDouble("amount");
remarks = rs.getString("remarks");
discountAmt = rs.getDouble("discAmt");
taxClass = rs.getString("tax_class");
taxChap = rs.getString("tax_chap");
taxEnv = rs.getString("tax_env");
System.out.println("taxClass==>["+taxClass+"]");
System.out.println("taxChap==>["+taxChap+"]");
System.out.println("taxEnv==>["+taxEnv+"]");
System.out.println("netAmt==>["+netAmt+"]grossAmount["+grossAmount+"]taxAmt["+taxAmt+"]");
if( siteCodeCr == null || siteCodeCr.trim().length() == 0 )
{
siteCodeCr = siteCode;
}
sql = "select fin_entity from site where site_code = ?" ;
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, siteCodeCr.trim() );
rSet = pstmt1.executeQuery();
if( rSet.next() )
{
pstmtDtl.setDouble( 5, grossAmount );
pstmtDtl.setDouble( 6, grossAmount );
finEntity = rSet.getString( "fin_entity" );
}
pstmtDtl.setString( 7, tranIdSel ); //ref_no
pstmtDtl.setString( 8, ( reasonCd == null || reasonCd.trim().length() == 0 ? "" : reasonCd.trim() ) ); //reas_code
pstmtDtl.setString( 9, "" ); //ANAL_CODE
pstmtDtl.addBatch();
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
sql = "select acct_code, cctr_code, sum(tax_amt) taxamt "
+" from taxtran "
+" where tran_code = 'S-CHB' and tran_id = ? "
+" and tax_amt <> 0 "
+" and effect <> 'N' "
+" group by acct_code, cctr_code " ;
//
sql = "select acct_code__ar, cctr_code__ar from customer where cust_code = ? " ;
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, tranIdSel);
pstmt1.setString(1, custCodeCr.trim() );
rSet = pstmt1.executeQuery();
while( rSet.next() )
if( rSet.next() )
{
acctCodeTax = rSet.getString( "acct_code" );
cctrCodeTax = rSet.getString( "acct_code" );
amtTax = rSet.getDouble( "taxamt" );
if( acctCodeTax == null || acctCodeTax.trim().length() == 0 )
{
acctCodeTax = detAcct;
}
if( cctrCodeTax == null || cctrCodeTax.trim().length() == 0 )
{
cctrCodeTax = detCctr;
}
total = total + amtTax;
pstmtDtl.setString( 1, crNtTranId );
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, acctCodeTax );
pstmtDtl.setString( 4, cctrCodeTax );
pstmtDtl.setDouble( 5, amtTax);
pstmtDtl.setDouble( 6, 0.0 );
pstmtDtl.setString( 7, "" ); //ref_no
pstmtDtl.setString( 8, "" ); //reas_code
pstmtDtl.setString( 9, "" ); //ANAL_CODE
pstmtDtl.addBatch();
acctCode = rSet.getString( "acct_code__ar" );
cctrCode = rSet.getString( "cctr_code__ar" );
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
// 21/07/10 manoharan make cctr_code blank in case null
if (cctrCode == null)
{
cctrCode = " ";
}
// end 21/07/10
detAcct = disComm.getDisparams( "999999", "DRCR_ACCT_CBACK", conn );
pstmtDtl.executeBatch();
if( detAcct == null || detAcct.equalsIgnoreCase( "NULLFOUND" ) || detAcct.trim().length() == 0 )
{
errCode = "VMDRCRACCT"; //'DS000' + string(sqlca.sqldbcode)
break;
}
pstmtDtl.close();
pstmtDtl = null;
pstmtHdr.close();
pstmtHdr = null;
detCctr = disComm.getDisparams( "999999", "DRCR_CCTR_CBACK", conn );
sql = "update charge_back set "
+" tran_id__crn = ? "
+" where tran_id = ? ";
if( detCctr == null || detCctr.equalsIgnoreCase( "NULLFOUND" ) || detCctr.trim().length() == 0 )
{
detCctr = cctrCode;
}
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, crNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
tranType = disComm.getDisparams( "999999", "CHARGE_BACK_TRAN_TYPE", conn );
if( updCount == 0 )
if( tranType == null || tranType.equalsIgnoreCase( "NULLFOUND" ) || tranType.trim().length() == 0 )
{
errCode = "DS000NR";
errCode = "VMLSTRTYPE";
break;
}
pstmt1.close();
pstmt1 = null;
reasonCd = disComm.getDisparams( "999999", "CHARGE_BACK_REASON_CODE", conn );
System.out.println( "reasonCd ::" + reasonCd );
if( reasonCd == null || reasonCd.equalsIgnoreCase( "NULLFOUND" ) || reasonCd.trim().length() == 0 )
{
errCode = "VMREASON";
break;
}
System.out.println("claimAmt::["+claimAmt+"]netAmt:::["+netAmt+"]");
System.out.println("drcrAmt::["+drcrAmt+"]");
if( claimAmt <= 0 )
{
claimAmt = 0;
drcrAmt = netAmt;
}
else
{
drcrAmt = claimAmt < netAmt ? claimAmt : netAmt;
}
if (!isHeaderCreated) {
xmlBuff.append("<tran_ser><![CDATA[" + "CRNRCP" + "]]></tran_ser>");
xmlBuff.append("<tran_date><![CDATA[" + sdf.format(currDate).toString() + "]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA[" + sdf.format(currDate).toString() + "]]></eff_date>");
xmlBuff.append("<fin_entity><![CDATA[" + finEntity + "]]></fin_entity>");
xmlBuff.append("<site_code><![CDATA[" + siteCodeCr + "]]></site_code>");
xmlBuff.append("<sundry_type><![CDATA[" + "C" + "]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA[" + custCodeCr + "]]></sundry_code>");
xmlBuff.append("<acct_code><![CDATA[" + checkNull(acctCode) + "]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA[" + checkNull(cctrCode) + "]]></cctr_code>");
xmlBuff.append("<invoice_id><![CDATA[" + checkNull(detInvId) + "]]></invoice_id>");
}
sql = "select nvl(round,'N') ls_round, nvl(round_to,0.001) lc_round_to from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, custCodeCr );
......@@ -692,49 +1019,180 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmt1 = null;
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
diffAmt = roundAmt - drcrAmt;
System.out.println("diffAmt IN CR["+diffAmt+"]");
if( diffAmt != 0 )
System.out.println("drcrAmt in debit note["+drcrAmt+"]roundAmt["+roundAmt);
if(drcrAmt < 0)
{
//1. update header
//2. insert record in detail
insDtlsql = "insert into MISC_DRCR_RDET( "
+" TRAN_ID, LINE_NO, ACCT_CODE, CCTR_CODE, AMOUNT, "
+" NET_AMT, REF_NO, REAS_CODE, ANAL_CODE, TAX_AMT"
+" ) values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ? )";
pstmt1 = conn.prepareStatement( insDtlsql );
pstmt1.setString( 1, crNtTranId );
drcrAmt = drcrAmt * (-1);
}
System.out.println("drcrAmt IN debit note"+drcrAmt);
diffAmt = roundAmt - drcrAmt;
//pstmtHdr.setDouble( 11, drcrAmt );//CHANGED BY POONAM
/*pstmtHdr.setDouble( 11, roundAmt );//CHANGED BY POONAM
pstmtHdr.setString( 12, currCode == null || currCode.trim().length() == 0 ? "" : currCode);//CHANGED BY POONAM
pstmtHdr.setDouble( 13, exchgRate );*///CHANGED BY POONAM
if (!isHeaderCreated) {
xmlBuff.append("<amount><![CDATA["+ drcrAmt +"]]></amount>");
xmlBuff.append("<curr_code><![CDATA["+ checkNull(currCode ) +"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+ exchgRate +"]]></exch_rate>");
}
if( remarks == null || remarks.trim().length() == 0 )
{
String tRemStr = null;
System.out.println("tranIdSel->"+tranIdSel+" pOrderNo->"+pOrderNo+" pOrderDate->"+pOrderDate);
tRemStr = ( "CB " + tranIdSel );
if (!isHeaderCreated) {
xmlBuff.append("<remarks><![CDATA["+ tRemStr +"]]></remarks>");
}
}
else
{
if (!isHeaderCreated) {
xmlBuff.append("<remarks><![CDATA["+ remarks.trim() +"]]></remarks>");
}
}
analCode = finCommon.getFinparams("999999", "ANAL_CODE", conn);
System.out.println("analCode:::"+analCode);
if (!isHeaderCreated) {
xmlBuff.append("<drcr_flag><![CDATA[" + "C" + "]]></drcr_flag>");
xmlBuff.append("<tran_id__rcv><![CDATA[" + "" + "]]></tran_id__rcv>");
xmlBuff.append("<confirmed><![CDATA[" + "N" + "]]></confirmed>");
xmlBuff.append("<chg_user><![CDATA[" + userId + "]]></chg_user>");
xmlBuff.append("<chg_date><![CDATA[" + sdf.format(currDate).toString() + "]]></chg_date>");
xmlBuff.append("<chg_term><![CDATA[" + termId + "]]></chg_term>");
xmlBuff.append("<conf_date><![CDATA[" + sdf.format(currDate).toString() + "]]></conf_date>");
xmlBuff.append("<emp_code__aprv><![CDATA[" + empCodeAprv + "]]></emp_code__aprv>");
xmlBuff.append("<due_date><![CDATA[" + sdf.format(currDate).toString() + "]]></due_date>");
xmlBuff.append("<tran_type><![CDATA[" + checkNull(tranType) + "]]></tran_type>");
xmlBuff.append("<item_ser><![CDATA[" + checkNull(itemSer) + "]]></item_ser>");
//xmlBuff.append("<sreturn_no><![CDATA[" + checkNull(tranIdSel) + "]]></sreturn_no>");
xmlBuff.append("<adj_misc_crn><![CDATA[" + "" + "]]></adj_misc_crn>");
xmlBuff.append("<adj_amount><![CDATA[" + 0.0 + "]]></adj_amount>");
xmlBuff.append("<parent__tran_id><![CDATA[" + "" + "]]></parent__tran_id>");
xmlBuff.append("<rev__tran><![CDATA[" + "" + "]]></rev__tran>");
xmlBuff.append("<round_adj><![CDATA[" + 0.0 + "]]></round_adj>");
xmlBuff.append("<cust_ref_no><![CDATA[" + "" + "]]></cust_ref_no>");
xmlBuff.append("<anal_code><![CDATA["+ analCode +"]]></anal_code>");
}
xmlBuff.append("<amount__bc><![CDATA[" + roundAmt * exchgRate + "]]></amount__bc>");
llLineNo = 0;
xmlBuffDet = new StringBuffer();
//TODO
innerSql = "select invoice_id, inv_line_no, net_amt, item_code, nvl(quantity,0) as quantity, tax_class, tax_chap, tax_env from charge_back_det where tran_id = ? and invoice_id = ?";
pstmt1 = conn.prepareStatement(innerSql);
pstmt1.setString(1, tranIdSel);
pstmt1.setString(2, detInvId);
rSet = pstmt1.executeQuery();
while(rSet.next()){
String invId = rSet.getString("invoice_id");
int invLineNo = rSet.getInt("inv_line_no");
double invNetAmt = rSet.getDouble("net_amt");
String itemCode = rSet.getString("item_code");
int quantity = rSet.getInt("quantity");
taxClass = rSet.getString("tax_class");
taxChap = rSet.getString("tax_chap");
taxEnv = rSet.getString("tax_env");
xmlBuffDet.append("<Detail2 dbID=\"\" domID=\"1\" objName=\"drcrrcp_cr\" objContext=\"1\">");
xmlBuffDet.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuffDet.append("<tran_id/>");
llLineNo++;
pstmt1.setInt( 2, llLineNo );
pstmt1.setString( 3, detAcct );
pstmt1.setString( 4, detCctr );
pstmt1.setDouble( 5, -diffAmt);
pstmt1.setDouble( 6, -diffAmt );
pstmt1.setString( 7, "" ); //ref_no
pstmt1.setString( 8, reasonCd.trim() ); //reas_code
pstmt1.setString( 9, "" ); //ANAL_CODE
pstmt1.setDouble( 10, 0 );
pstmt1.executeUpdate();
pstmt1.close();
pstmt1 = null;
xmlBuffDet.append("<line_no><![CDATA[" + llLineNo + "]]></line_no>");
xmlBuffDet.append("<invoice_id><![CDATA[" + invId + "]]></invoice_id>");
xmlBuffDet.append("<line_no__invtrace><![CDATA[" + invLineNo + "]]></line_no__invtrace>");
xmlBuffDet.append("<quantity><![CDATA[" + quantity + "]]></quantity>");
xmlBuffDet.append("<item_code><![CDATA[" + itemCode + "]]></item_code>");
if(invNetAmt < 0) {
invNetAmt = invNetAmt * (-1);
}
xmlBuffDet.append("<drcr_amt><![CDATA[" + invNetAmt + "]]></drcr_amt>");
xmlBuffDet.append("<net_amt><![CDATA[" + invNetAmt + "]]></net_amt>");
xmlBuffDet.append("<reas_code><![CDATA[" + checkNull(reasonCd) + "]]></reas_code>");
xmlBuffDet.append("<tax_class><![CDATA[" + checkNullAndTrim(taxClass) + "]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA[" + checkNullAndTrim(taxChap) + "]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA[" + checkNullAndTrim(taxEnv) + "]]></tax_env>");
xmlBuffDet.append("</Detail2>");
taxClass = "";
taxChap = "";
taxEnv = "";
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
diffAmt = roundAmt - drcrAmt;
System.out.println("diffAmt IN CR["+diffAmt+"]");
isHeaderCreated = true;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
xmlBuff.append("</Detail1>");
xmlBuff.append(xmlBuffDet);
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("@@@@@2: xmlString:"+xmlBuff.toString());
System.out.println("...............just before savdata distorder()");
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("== site code =="+siteCode);
errString = saveData(siteCode,xmlString,xtraParams,conn);
System.out.println("@@@@@2: retString:"+errString);
System.out.println("--retString finished--");
if (errString.indexOf("Success") > -1)
{
System.out.println("@@@@@@3: Success"+errString);
dom = genericUtility.parseString(errString);
System.out.println("dom>>>"+dom);
drNtTranId = genericUtility.getColumnValue("TranID",dom);
}
else
{
System.out.println("[SuccessSuccess" + errString + "]");
conn.rollback();
return errString;
}
sql = "update charge_back set "
+" tran_id__crn = ? "
+" where tran_id = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, drNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
if( updCount == 0 )
{
errCode = "DS000NR";
}
pstmt1.close();
pstmt1 = null;
if( "Y".equalsIgnoreCase( asPost ) )
{
conn.commit();
retString = retrieveMiscDrcrRcp( "misc_drcr_rcp",crNtTranId,xtraParams,"N" );
//retString = retrieveMiscDrcrRcp("drcrrcp_cr",drNtTranId,xtraParams,"N" );
//retString = autoConfirmRecord("drcrrcp_cr", drNtTranId, xtraParams);
retString = executeSystemEvent("drcrrcp_cr", "pre_confirm", drNtTranId, xtraParams, conn);
System.out.println("retString ::: " + retString);
/*if(retString.indexOf("VTSUCC1") > -1 || retString.indexOf("CONFSUCCES") > -1){
conn.commit();
}*/
errCode = getErrCodeFromErrStr(retString);
}
}
......@@ -768,8 +1226,10 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
System.out.println("Exception ChrgBckLocConfEJB....... :\n"+e.getMessage());
}
}
System.out.println("EJB [" + this.getClass().getSimpleName() + "] method [createCrNoteCback] - END Returning [" + errCode + "]");
return errCode;
}*/
}
public String retrieveMiscDrcrRcp(String businessObj, String tranIdFr,String xtraParams, String forcedFlag) throws ITMException
{
String methodName = "";
......@@ -787,9 +1247,9 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
try
{
ConnDriver connDriver = new ConnDriver();
//Changes and Commented By Bhushan on 09-06-2016 :START
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :START
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :END
conn.setAutoCommit(false);
methodName = "gbf_post";
......@@ -856,7 +1316,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
call.setReturnType(XMLType.XSD_STRING);
retString = (String)call.invoke(aobj);
System.out.println("Return string from NVO is:==>["+retString+"]");
System.out.println("Return string from NVO is:==>["+retString+"]");
}
catch(Exception e)
{
......@@ -883,7 +1343,9 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
}
}
catch(Exception e)
{}
{
e.printStackTrace();
}
}
return retString;
}
......@@ -1024,7 +1486,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
private String createMiscCrnoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException
{
System.out.println("Inside createMiscDrnoteCback................");
System.out.println("Inside createMiscCrnoteCback................");
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmtHdr = null;
......@@ -1147,26 +1609,27 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
+" a.amount, a.remarks, sum(b.discount_amt) as discAmt ,b.tax_class as tax_class,b.tax_chap as tax_chap,b.tax_env as tax_env "
+" from charge_back a, charge_back_det b "
+" where a.tran_id = b.tran_id "
+" and a.tran_id >= ? "
+" and a.tran_id <= ? "
+" and a.tran_date >= ? "
+" and a.tran_date <= ? "
+" and a.cust_code >= ? "
+" and a.cust_code <= ? "
+" and a.site_code = ? "
+" and a.tran_id = ? "
//+" and a.tran_id <= ? "
//+" and a.tran_date >= ? "
//+" and a.tran_date <= ? "
//+" and a.cust_code >= ? "
//+" and a.cust_code <= ? "
//+" and a.site_code = ? "
// +" and a.confirmed = 'Y' "
+" and b.invoice_id is null "
+" group by a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, "
+" a.net_amt,a.tax_amt, a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, "
+" a.amount, a.remarks ,b.tax_class ,b.tax_chap ,b.tax_env";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, tranIdFr );
pstmt.setString( 2, tranIdTo );
pstmt.setTimestamp( 3, tranDateFr );
pstmt.setTimestamp( 4, tranDateTo );
pstmt.setString( 5, custCodeFr );
pstmt.setString( 6, custCodeTo );
pstmt.setString( 7, siteCode );
//pstmt.setString( 2, tranIdTo );
//pstmt.setTimestamp( 3, tranDateFr );
//pstmt.setTimestamp( 4, tranDateTo );
//pstmt.setString( 5, custCodeFr );
//pstmt.setString( 6, custCodeTo );
//pstmt.setString( 7, siteCode );
rs = pstmt.executeQuery();
while( rs.next() )
......@@ -1505,9 +1968,9 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
xmlBuffDet.append("<anal_code><![CDATA["+ analCode +"]]></anal_code>");
xmlBuffDet.append("<tax_class><![CDATA["+ checkNull(taxClass) +"]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA["+ checkNull(taxChap) +"]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA["+ checkNull(taxEnv) +"]]></tax_env>");
xmlBuffDet.append("<tax_class><![CDATA["+ checkNullAndTrim(taxClass) +"]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA["+ checkNullAndTrim(taxChap) +"]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA["+ checkNullAndTrim(taxEnv) +"]]></tax_env>");
xmlBuffDet.append("</Detail2>");
......@@ -1678,7 +2141,13 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
if( "Y".equalsIgnoreCase( asPost ) )
{
conn.commit();
retString = retrieveMiscDrcrRcp( "misc_drcr_rcp",drNtTranId,xtraParams,"N" );
//retString = retrieveMiscDrcrRcp( "misc_drcr_rcp_cr",drNtTranId,xtraParams,"N" );
//retString = autoConfirmRecord("misc_drcr_rcp_cr", drNtTranId, xtraParams);
retString = executeSystemEvent("misc_drcr_rcp_cr", "pre_confirm", drNtTranId, xtraParams, conn);
System.out.println("retString ::: " + retString);
/*if(retString.indexOf("VTSUCC1") > -1 || retString.indexOf("CONFSUCCES") > -1){
conn.commit();
}*/
errCode = getErrCodeFromErrStr(retString);
}
}
......@@ -1842,26 +2311,27 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
+" a.amount, a.remarks, sum(b.discount_amt) as discAmt ,b.tax_class as tax_class,b.tax_chap as tax_chap,b.tax_env as tax_env "
+" from charge_back a, charge_back_det b "
+" where a.tran_id = b.tran_id "
+" and a.tran_id >= ? "
+" and a.tran_id <= ? "
+" and a.tran_date >= ? "
+" and a.tran_date <= ? "
+" and a.cust_code >= ? "
+" and a.cust_code <= ? "
+" and a.site_code = ? "
+" and a.tran_id = ? "
//+" and a.tran_id <= ? "
//+" and a.tran_date >= ? "
//+" and a.tran_date <= ? "
//+" and a.cust_code >= ? "
//+" and a.cust_code <= ? "
//+" and a.site_code = ? "
// +" and a.confirmed = 'Y' "
+" and b.invoice_id is null "
+" group by a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, "
+" a.net_amt, a.tax_amt,a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, "
+" a.amount, a.remarks ,b.tax_class ,b.tax_chap ,b.tax_env";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, tranIdFr );
pstmt.setString( 2, tranIdTo );
/*pstmt.setString( 2, tranIdTo );
pstmt.setTimestamp( 3, tranDateFr );
pstmt.setTimestamp( 4, tranDateTo );
pstmt.setString( 5, custCodeFr );
pstmt.setString( 6, custCodeTo );
pstmt.setString( 7, siteCode );
pstmt.setString( 7, siteCode );*/
rs = pstmt.executeQuery();
while( rs.next() )
......@@ -2188,9 +2658,9 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
xmlBuffDet.append("<ref_no><![CDATA["+ tranIdSel +"]]></ref_no>");
xmlBuffDet.append("<reas_code><![CDATA["+ checkNull(reasonCd) +"]]></reas_code>");
xmlBuffDet.append("<anal_code><![CDATA["+ analCode +"]]></anal_code>");
xmlBuffDet.append("<tax_class><![CDATA["+ checkNull(taxClass) +"]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA["+ checkNull(taxChap) +"]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA["+ checkNull(taxEnv) +"]]></tax_env>");
xmlBuffDet.append("<tax_class><![CDATA["+ checkNullAndTrim(taxClass) +"]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA["+ checkNullAndTrim(taxChap) +"]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA["+ checkNullAndTrim(taxEnv) +"]]></tax_env>");
xmlBuffDet.append("</Detail2>");
......@@ -2328,7 +2798,13 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
if( "Y".equalsIgnoreCase( asPost ) )
{
conn.commit();
retString = retrieveMiscDrcrRcp( "misc_drcr_rcp",drNtTranId,xtraParams,"N" );
//retString = retrieveMiscDrcrRcp( "misc_drcr_rcp_dr",drNtTranId,xtraParams,"N" );
//retString = autoConfirmRecord("misc_drcr_rcp_dr", drNtTranId, xtraParams);
retString = executeSystemEvent("misc_drcr_rcp_dr", "pre_confirm", drNtTranId, xtraParams, conn);
System.out.println("retString ::: " + retString);
/*if(retString.indexOf("VTSUCC1") > -1 || retString.indexOf("CONFSUCCES") > -1){
conn.commit();
}*/
errCode = getErrCodeFromErrStr(retString);
}
}
......@@ -2430,4 +2906,80 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
}
return input.trim();
}
private String checkNullAndTrim(String input)
{
return (input == null || "null".equalsIgnoreCase(input.trim())) ? "" : input.trim();
}
private String autoConfirmRecord(String objName, String tranIdForIssue, String xtraParams) {
InitialContext ctx = null;
String xmlInEditMode = "", retString = "";
MasterStatefulLocal masterStateful = null;
AppConnectParm appConnect = new AppConnectParm();
UserInfoBean userInfo = new UserInfoBean();
try {
userInfo.setLoginCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"));
userInfo.setEmpCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
userInfo.setSiteCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
userInfo.setEntityCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "entityCode"));
userInfo.setProfileId(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "profileId"));
userInfo.setUserType(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "userType"));
userInfo.setRemoteHost(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal) ctx.lookup("ibase/MasterStatefulEJB/local");
masterStateful.setUserInfo(userInfo);
xmlInEditMode = masterStateful.getDetailXMLDomString(objName, "1", "E", tranIdForIssue, "");
System.out.println("xmlInEditMode ::: " + xmlInEditMode);
retString = masterStateful.executeConfirm(xmlInEditMode);
System.out.println("retString ::: " + retString);
} catch (Exception e) {
e.printStackTrace();
}
return retString;
}
private String executeSystemEvent(String objName, String eventCode, String tranId, String xtraParams, Connection conn) throws ITMException {
String retValue = "";
System.out.println("Getting transaction in Edit Mode. START");
String xmlInEditMode = getXmlInEditMode(objName, tranId, xtraParams);
System.out.println("Getting transaction in Edit Mode. END");
try {
InitialContext ctx = null;
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
EventManagerLocal eventManager = (EventManagerLocal) ctx.lookup("ibase/EventManagerEJB/local");
retValue = eventManager.executeSystemEvent(objName, eventCode, null, xmlInEditMode, xmlInEditMode, xtraParams, "1");
} catch (Exception e) {
throw new ITMException(e);
}
return retValue;
}
private String getXmlInEditMode(String objName, String tranId, String xtraParams) {
InitialContext ctx = null;
String xmlInEditMode = "";
MasterStatefulLocal masterStateful = null;
AppConnectParm appConnect = new AppConnectParm();
UserInfoBean userInfo = new UserInfoBean();
try {
userInfo.setLoginCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"));
userInfo.setEmpCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
userInfo.setSiteCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
userInfo.setEntityCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "entityCode"));
userInfo.setProfileId(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "profileId"));
userInfo.setUserType(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "userType"));
userInfo.setRemoteHost(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal) ctx.lookup("ibase/MasterStatefulEJB/local");
masterStateful.setUserInfo(userInfo);
xmlInEditMode = masterStateful.getDetailXMLDomString(objName, "1", "E", tranId, "");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Returning from MasterStateful xmlInEditMode ::: " + xmlInEditMode);
return xmlInEditMode;
}
}
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