Commit 42a38358 authored by wansari's avatar wansari

W16IBAS005 updated source to add while loop and take run mode from Extra params.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@43861 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 075fd9a3
...@@ -22,6 +22,7 @@ import java.text.*; ...@@ -22,6 +22,7 @@ import java.text.*;
import java.sql.*; import java.sql.*;
import javax.ejb.*; import javax.ejb.*;
import ibase.webitm.ejb.MasterStatefulLocal; import ibase.webitm.ejb.MasterStatefulLocal;
import javax.naming.InitialContext; import javax.naming.InitialContext;
import javax.xml.rpc.ParameterMode; import javax.xml.rpc.ParameterMode;
...@@ -29,8 +30,6 @@ import org.apache.axis.client.Call; ...@@ -29,8 +30,6 @@ import org.apache.axis.client.Call;
import org.apache.axis.client.Service; import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType; import org.apache.axis.encoding.XMLType;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import javax.activation.DataHandler; import javax.activation.DataHandler;
import javax.activation.DataSource; import javax.activation.DataSource;
import javax.activation.FileDataSource; import javax.activation.FileDataSource;
...@@ -45,6 +44,7 @@ import javax.mail.internet.InternetAddress; ...@@ -45,6 +44,7 @@ import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeMultipart;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
@Stateless @Stateless
...@@ -79,6 +79,7 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -79,6 +79,7 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
double lc_sret_amt = 0, lc_inv_amt = 0, lc_amt_drcr = 0; double lc_sret_amt = 0, lc_inv_amt = 0, lc_amt_drcr = 0;
boolean lb_ask_pwd=false; boolean lb_ask_pwd=false;
boolean isError = false; boolean isError = false;
Timestamp sysDate = null;//Added by wasim on 19-MAY-2017
try try
{ {
conn = getConnection(); conn = getConnection();
...@@ -87,7 +88,12 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -87,7 +88,12 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat()); SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
String currDateStr = sdfAppl.format(currDate); String currDateStr = sdfAppl.format(currDate);
//Added by wasim on 19-MAY-2017 to get current Date without Timestamp
sysDate = Timestamp.valueOf(genericUtility.getValidDateString(currDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
//Added by wasim on 19-MAY-2017 to get GS_MODE from Xtra Params as per manohar sir
gs_run_mode = checkNullAndTrim((genericUtility.getValueFromXTRA_PARAMS(xtraParams, "runMode")));
sql = "select invoice_id, full_ret,status,confirmed,cust_code__trf from sreturn where tran_id = ? "; sql = "select invoice_id, full_ret,status,confirmed,cust_code__trf from sreturn where tran_id = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn ); pstmt.setString(1,msalereturn );
...@@ -357,7 +363,7 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -357,7 +363,7 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
//Changed by wasim on 15-may-2017 to set current date in Time stamp in prepared statement //Changed by wasim on 15-may-2017 to set current date in Time stamp in prepared statement
//pstmt.setString(1,currDateStr ); //pstmt.setString(1,currDateStr );
pstmt.setTimestamp(1,currDate ); pstmt.setTimestamp(1,sysDate );
pstmt.setString(2,msalereturn ); pstmt.setString(2,msalereturn );
int rowcnt = pstmt.executeUpdate(); int rowcnt = pstmt.executeUpdate();
if (pstmt != null) if (pstmt != null)
...@@ -513,7 +519,12 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -513,7 +519,12 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
UtilMethods utilMethods = UtilMethods.getInstance(); UtilMethods utilMethods = UtilMethods.getInstance();
ArrayList tempList = new ArrayList(); ArrayList tempList = new ArrayList();
InvHoldGen invHoldGen = new InvHoldGen(); InvHoldGen invHoldGen = new InvHoldGen();
//Added by wasim
boolean isError = false; boolean isError = false;
Timestamp sysDate = null;
ResultSet rsDetail = null;
PreparedStatement pstmtDetail = null;
try try
{ {
System.out.println("------------------- Inside confirmSalesReturn --------------- "); System.out.println("------------------- Inside confirmSalesReturn --------------- ");
...@@ -521,7 +532,12 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -521,7 +532,12 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getDBDateFormat()); SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getDBDateFormat());
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat()); SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
String currDateStr = sdfAppl.format(currDate); String currDateStr = sdfAppl.format(currDate.getTime());
//Added by wasim on 19-MAY-2017 to get current without Timestamp
sysDate = Timestamp.valueOf(genericUtility.getValidDateString(currDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
//Added by wasim on 19-MAY-2017 to get GS_MODE from Xtra Params as per manohar sir
gs_run_mode = checkNullAndTrim((genericUtility.getValueFromXTRA_PARAMS(xtraParams, "runMode")));
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"); chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
...@@ -552,13 +568,15 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -552,13 +568,15 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
{ {
// No vale is initialized for gs_run_mode // No vale is initialized for gs_run_mode
System.out.println("---------- gs_run_mode ---------------"+gs_run_mode); System.out.println("---------- gs_run_mode ---------------"+gs_run_mode);
if("B".equalsIgnoreCase(gs_run_mode)) //Changed by wasim on 19-MAY-2017 to check runMode as not equal to B
//if("B".equalsIgnoreCase(gs_run_mode))
if(!"B".equalsIgnoreCase(gs_run_mode))
{ {
sql = "update sreturn set tran_date = ? where tran_id = ?"; sql = "update sreturn set tran_date = ? where tran_id = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
//Changed by wasim on 15-may-2017 to set current date in Time stamp in prepared statement //Changed by wasim on 15-may-2017 to set current date in Time stamp in prepared statement
//pstmt.setString(1,currDateStr ); //pstmt.setString(1,currDateStr );
pstmt.setTimestamp(1,currDate ); pstmt.setTimestamp(1,sysDate );
pstmt.setString(2,msalereturn ); pstmt.setString(2,msalereturn );
int rowcnt = pstmt.executeUpdate(); int rowcnt = pstmt.executeUpdate();
if (pstmt != null) if (pstmt != null)
...@@ -567,29 +585,39 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -567,29 +585,39 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
pstmt = null; pstmt = null;
} }
} }
}
sql = "select b.reas_code, b.quantity, b.rate, a.eff_date, b.invoice_id , b.item_code, a.cust_code ,b.line_no__inv, b.full_ret ,b.line_no__invtrace, b.line_no, a.ret_opt, b.lot_no, b.lot_sl " + //Changed by wasim on 19-MAY-2017 for changing prepared statement and result set variables because while loop used [START]
/*sql = "select b.reas_code, b.quantity, b.rate, a.eff_date, b.invoice_id , b.item_code, a.cust_code ,b.line_no__inv, b.full_ret ,b.line_no__invtrace, b.line_no, a.ret_opt, b.lot_no, b.lot_sl " +
" from sreturn a,sreturndet b where a.tran_id = b.tran_id and a.tran_id = ? "; " from sreturn a,sreturndet b where a.tran_id = b.tran_id and a.tran_id = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn ); pstmt.setString(1,msalereturn );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ */
ls_reas_code = checkNullAndTrim(rs.getString(1)); sql = "select b.reas_code, b.quantity, b.rate, a.eff_date, b.invoice_id , b.item_code, a.cust_code ,b.line_no__inv, b.full_ret ,b.line_no__invtrace, b.line_no, a.ret_opt, b.lot_no, b.lot_sl " +
lc_qty = rs.getDouble(2); " from sreturn a,sreturndet b where a.tran_id = b.tran_id and a.tran_id = ? ";
lc_rate = rs.getDouble(3); pstmtDetail = conn.prepareStatement(sql);
ld_eff_date = rs.getDate(4); pstmtDetail.setString(1,msalereturn );
ls_invoice_id = checkNullAndTrim(rs.getString(5)); rsDetail = pstmtDetail.executeQuery();
ls_item_code = checkNullAndTrim(rs.getString(6)); while(rsDetail.next())
ls_cust_code = checkNullAndTrim(rs.getString(7)); {
ll_line_no_inv = rs.getInt(8); //Changed by wasim on 19-MAY-2017 for changing prepared statement and result set variables becuasue while loop used [END]
ls_full_ret = checkNullAndTrim(rs.getString(9)); ls_reas_code = checkNullAndTrim(rsDetail.getString(1));
ll_line_no__invtrace = rs.getInt(10); lc_qty = rsDetail.getDouble(2);
ll_line_no = rs.getInt(11); lc_rate = rsDetail.getDouble(3);
ls_ret_opt = checkNullAndTrim(rs.getString(12)); ld_eff_date = rsDetail.getDate(4);
ls_lot_no = checkNull(rs.getString(13)); ls_invoice_id = checkNullAndTrim(rsDetail.getString(5));
ls_lot_sl = checkNull(rs.getString(14)); ls_item_code = checkNullAndTrim(rsDetail.getString(6));
} ls_cust_code = checkNullAndTrim(rsDetail.getString(7));
ll_line_no_inv = rsDetail.getInt(8);
ls_full_ret = checkNullAndTrim(rsDetail.getString(9));
ll_line_no__invtrace = rsDetail.getInt(10);
ll_line_no = rsDetail.getInt(11);
ls_ret_opt = checkNullAndTrim(rsDetail.getString(12));
ls_lot_no = checkNull(rsDetail.getString(13));
ls_lot_sl = checkNull(rsDetail.getString(14));
/*}
if (rs != null) if (rs != null)
{ {
rs.close(); rs.close();
...@@ -600,24 +628,129 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -600,24 +628,129 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
} }*/
System.out.println("---------- ls_invoice_id ---------------"+ls_invoice_id); System.out.println("---------- ls_invoice_id ---------------"+ls_invoice_id);
if(ls_invoice_id != null && ls_invoice_id.length() > 0) if(ls_invoice_id != null && ls_invoice_id.length() > 0)
{ {
System.out.println("---------- ll_line_no__invtrace ---------------"+ll_line_no__invtrace); System.out.println("---------- ll_line_no__invtrace ---------------"+ll_line_no__invtrace);
if(ll_line_no__invtrace > 0) if(ll_line_no__invtrace > 0)
{ {
sql = "select count(1) from sreturndet where tran_id = ? and invoice_id = ? and line_no__invtrace = ? and line_no <> ? "; sql = "select count(1) from sreturndet where tran_id = ? and invoice_id = ? and line_no__invtrace = ? and line_no <> ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
pstmt.setString(2,ls_invoice_id );
pstmt.setInt(3,ll_line_no__invtrace );
pstmt.setInt(4,ll_line_no );
rs = pstmt.executeQuery();
if(rs.next())
{
li_cnt = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(li_cnt > 0)
{
merrcode = "VTINVLN"; // Pending
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
}
}
System.out.println("---------- ll_line_no__invtrace ---------------"+ll_line_no__invtrace);
if(ll_line_no__invtrace == 0)
{
sql = "select sum(quantity__stduom) from invoice_trace where invoice_id = ? and inv_line_no = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_invoice_id );
pstmt.setInt(2,ll_line_no_inv );
pstmt.setString(3,ls_lot_no );
pstmt.setString(4,ls_lot_sl );
rs = pstmt.executeQuery();
if(rs.next())
{
lc_invqty_lot = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
sql = "select sum(quantity__stduom) from invoice_trace where invoice_id = ? and inv_line_no = ? and line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_invoice_id );
pstmt.setInt(2,ll_line_no_inv );
pstmt.setInt(3,ll_line_no__invtrace );
rs = pstmt.executeQuery();
if(rs.next())
{
lc_invqty_lot = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
System.out.println("---------- lc_invqty_lot ---------------"+lc_invqty_lot);
sql = "select sum(b.quantity__stduom) from sreturn a, sreturndet b where b.tran_id = a.tran_id and b.invoice_id = ? and b.line_no__inv = ? " +
" and ((b.line_no__invtrace = ?) or (b.line_no__invtrace is null or b.line_no__invtrace = 0)) and a.tran_id <> ? and a.status <> 'X'" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_invoice_id );
pstmt.setInt(2,ll_line_no_inv );
pstmt.setInt(3,ll_line_no__invtrace );
pstmt.setString(4,msalereturn );
rs = pstmt.executeQuery();
if(rs.next())
{
lc_srqty_prev = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("---------- lc_srqty_prev ---------------"+lc_srqty_prev);
sql = "select sum(b.quantity__stduom) from sreturn a, sreturndet b where b.tran_id = a.tran_id and b.tran_id = ? and b.invoice_id = ? and b.line_no__inv = ?" +
" and ((b.line_no__invtrace = ?) or (b.line_no__invtrace is null or b.line_no__invtrace = 0))" ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn ); pstmt.setString(1,msalereturn );
pstmt.setString(2,ls_invoice_id ); pstmt.setString(2,ls_invoice_id );
pstmt.setInt(3,ll_line_no__invtrace ); pstmt.setInt(3,ll_line_no_inv );
pstmt.setInt(4,ll_line_no ); pstmt.setInt(4,ll_line_no__invtrace );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
li_cnt = rs.getInt(1); lc_srqty = rs.getDouble(1);
} }
if (rs != null) if (rs != null)
{ {
...@@ -628,77 +761,212 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -628,77 +761,212 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
{ {
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
System.out.println("---------- lc_srqty ---------------"+lc_srqty);
lc_srqty_lot = lc_srqty + lc_srqty_prev ;
System.out.println("---------- lc_srqty_lot ---------------"+lc_srqty_lot);
System.out.println("---------- lc_invqty_lot ---------------"+lc_invqty_lot);
System.out.println("---------- ls_full_ret ---------------"+ls_full_ret);
if (lc_srqty_lot > lc_invqty_lot)
{
System.out.println("---------- ls_ret_opt ---------------"+ls_ret_opt);
if(!"D".equalsIgnoreCase(ls_ret_opt))
{
merrcode = "VTSRET7";
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
} }
if(li_cnt > 0) else if(lc_srqty_lot < lc_invqty_lot && "Y".equalsIgnoreCase(ls_full_ret))
{ {
merrcode = "VTINVLN"; // Pending merrcode = "VTSRET11";
errorString = itmDBAccessLocal.getErrorString("",merrcode,""); errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString; return errorString;
} }
} else if(lc_srqty_prev == 0)
} {
if (lc_srqty_lot == lc_invqty_lot && !"Y".equalsIgnoreCase(ls_full_ret))
System.out.println("---------- ll_line_no__invtrace ---------------"+ll_line_no__invtrace); {
if(ll_line_no__invtrace == 0) merrcode = "VTSRET10";
{ errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
sql = "select sum(quantity__stduom) from invoice_trace where invoice_id = ? and inv_line_no = ? and lot_no = ? and lot_sl = ? "; return errorString;
pstmt = conn.prepareStatement(sql); }
pstmt.setString(1,ls_invoice_id ); else if (lc_srqty_lot != lc_invqty_lot && "Y".equalsIgnoreCase(ls_full_ret))
pstmt.setInt(2,ll_line_no_inv ); {
pstmt.setString(3,ls_lot_no ); merrcode = "VTSRET11";
pstmt.setString(4,ls_lot_sl ); errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
rs = pstmt.executeQuery(); return errorString;
if(rs.next()) }
{ }
lc_invqty_lot = rs.getDouble(1); else if (lc_srqty_lot != lc_invqty_lot && "Y".equalsIgnoreCase(ls_full_ret))
} {
if (rs != null) merrcode = "VTSRET12";
{ errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
rs.close(); return errorString;
rs = null; }
}
if (pstmt != null) sql = "select restr_days from sreturn_reason where reason_code = ? ";
{ pstmt = conn.prepareStatement(sql);
pstmt.close(); pstmt.setString(1,ls_reas_code );
pstmt = null; rs = pstmt.executeQuery();
} if(rs.next())
} {
else li_restr_days = rs.getInt(1);
{ }
sql = "select sum(quantity__stduom) from invoice_trace where invoice_id = ? and inv_line_no = ? and line_no = ? "; if (rs != null)
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,ls_invoice_id ); rs.close();
pstmt.setInt(2,ll_line_no_inv ); rs = null;
pstmt.setInt(3,ll_line_no__invtrace ); }
rs = pstmt.executeQuery(); if (pstmt != null)
if(rs.next()) {
{ pstmt.close();
lc_invqty_lot = rs.getDouble(1); pstmt = null;
} }
if (rs != null) System.out.println("li_restr_days===["+li_restr_days+"]");
if (li_restr_days > 0 )
{
ld_restr_upto_date = utilMethods.RelativeDate(ld_eff_date,li_restr_days);
System.out.println("ld_restr_upto_date===["+ld_restr_upto_date+"]");
sql = "select unit, descr from item where item_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_item_code );
rs = pstmt.executeQuery();
if(rs.next())
{
ls_unit = checkNullAndTrim(rs.getString(1));
ls_descr = checkNullAndTrim(rs.getString(2));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
sql = "select count(*) from customeritem where cust_code = ? and item_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_cust_code );
pstmt.setString(2,ls_item_code );
rs = pstmt.executeQuery();
if(rs.next())
{
li_cnt = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("li_cnt for customeritem["+li_cnt+"]");
if(li_cnt > 0)
{
sql = "select quantity from sreturndet where tran_id = ? and line_no__inv = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
pstmt.setInt(2,ll_line_no_inv );
rs = pstmt.executeQuery();
if(rs.next())
{
lc_qty1 = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
sql = "update customeritem set restrict_upto = ?, quantity__dem = (case when quantity__dem is null then 0 else quantity__dem end) " +
" + (? - ?) where cust_code = ? and item_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDate(1,new java.sql.Date(ld_restr_upto_date.getTime()));
pstmt.setDouble(2,lc_qty );
pstmt.setDouble(3,lc_qty1 );
pstmt.setString(4,ls_cust_code );
pstmt.setString(5,ls_item_code );
int rowcnt = pstmt.executeUpdate();
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
sql = "insert into customeritem (cust_code, item_code, item_code__ref, rate__ref, quantity__dem, unit, descr, restrict_upto, " +
"min_qty, integral_qty, min_shelf_life, chg_date, chg_user, chg_term) " +
"values(?, ?, ?, ?, ?, ?, ? , ?, ?, ?, ?, ?, ?, ?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_cust_code );
pstmt.setString(2,ls_item_code );
pstmt.setString(3,ls_item_code );
pstmt.setDouble(4,lc_rate );
pstmt.setDouble(5,lc_qty );
pstmt.setString(6,ls_unit );
pstmt.setString(7,ls_descr );
pstmt.setDate(8,new java.sql.Date(ld_restr_upto_date.getTime()) );
pstmt.setString(9,"0" );
pstmt.setString(10,"0" );
pstmt.setString(11,"0" );
//Changed by wasim on 15-may-2017 to set current date in Time stamp in prepared statement
//pstmt.setString(12,currDateStr );
pstmt.setTimestamp(12,currDate);
pstmt.setString(13,chgUser );
pstmt.setString(14,chgTerm );
pstmt.executeUpdate();
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
//Added by wasim on 19-MAY-2017 for while loop instead of if loop [END]
}//While loop END for Sales return Detail
if (rsDetail != null)
{ {
rs.close(); rsDetail.close();
rs = null; rsDetail = null;
} }
if (pstmt != null) if (pstmtDetail != null)
{ {
pstmt.close(); pstmtDetail.close();
pstmt = null; pstmtDetail = null;
} }
} //Added by wasim on 19-MAY-2017 for while loop instead of if loop [END]
System.out.println("---------- lc_invqty_lot ---------------"+lc_invqty_lot);
sql = "select sum(b.quantity__stduom) from sreturn a, sreturndet b where b.tran_id = a.tran_id and b.invoice_id = ? and b.line_no__inv = ? " + sql = "Select site_code, item_ser, tran_date, invoice_id, eff_date , cust_code, ret_opt, tran_type, case when site_code__dlv is null then site_code else site_code__dlv end from sreturn where tran_id = ?";
" and ((b.line_no__invtrace = ?) or (b.line_no__invtrace is null or b.line_no__invtrace = 0)) and a.tran_id <> ? and a.status <> 'X'" ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_invoice_id ); pstmt.setString(1,msalereturn );
pstmt.setInt(2,ll_line_no_inv );
pstmt.setInt(3,ll_line_no__invtrace );
pstmt.setString(4,msalereturn );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
lc_srqty_prev = rs.getDouble(1); msite_code = rs.getString(1);
mitem_ser = rs.getString(2);
mtran_date = rs.getTimestamp(3);
minvoice_id = rs.getString(4);
meff_date = rs.getDate(5);
mcust_code = rs.getString(6);
ls_ret_opt = rs.getString(7);
ls_trantype = rs.getString(8);
ls_sitecodedlv = rs.getString(9);
} }
if (rs != null) if (rs != null)
{ {
...@@ -709,20 +977,15 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -709,20 +977,15 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
{ {
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
System.out.println("---------- lc_srqty_prev ---------------"+lc_srqty_prev);
sql = "select count(1) From sreturndet Where tran_id = ? and qc_reqd = 'Y'";
sql = "select sum(b.quantity__stduom) from sreturn a, sreturndet b where b.tran_id = a.tran_id and b.tran_id = ? and b.invoice_id = ? and b.line_no__inv = ?" +
" and ((b.line_no__invtrace = ?) or (b.line_no__invtrace is null or b.line_no__invtrace = 0))" ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn ); pstmt.setString(1,msalereturn );
pstmt.setString(2,ls_invoice_id );
pstmt.setInt(3,ll_line_no_inv );
pstmt.setInt(4,ll_line_no__invtrace );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
lc_srqty = rs.getDouble(1); ll_count = rs.getInt(1);
} }
if (rs != null) if (rs != null)
{ {
...@@ -733,85 +996,28 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -733,85 +996,28 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
{ {
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
System.out.println("---------- lc_srqty ---------------"+lc_srqty);
lc_srqty_lot = lc_srqty + lc_srqty_prev ;
System.out.println("---------- lc_srqty_lot ---------------"+lc_srqty_lot);
System.out.println("---------- lc_invqty_lot ---------------"+lc_invqty_lot);
System.out.println("---------- ls_full_ret ---------------"+ls_full_ret);
if (lc_srqty_lot > lc_invqty_lot)
{
System.out.println("---------- ls_ret_opt ---------------"+ls_ret_opt);
if(!"D".equalsIgnoreCase(ls_ret_opt))
{
merrcode = "VTSRET7";
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
} }
else if(lc_srqty_lot < lc_invqty_lot && "Y".equalsIgnoreCase(ls_full_ret))
{ if(ll_count > 0 && !"B".equalsIgnoreCase(gs_run_mode))
merrcode = "VTSRET11";
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
else if(lc_srqty_prev == 0)
{ {
if (lc_srqty_lot == lc_invqty_lot && !"Y".equalsIgnoreCase(ls_full_ret)) merrcode = gbf_create_sretqc(msalereturn, xtraParams, conn);
{ System.out.println("After creating QC order="+merrcode);
merrcode = "VTSRET10"; if(merrcode != null && merrcode.trim().length() > 0)
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
else if (lc_srqty_lot != lc_invqty_lot && "Y".equalsIgnoreCase(ls_full_ret))
{ {
merrcode = "VTSRET11";
errorString = itmDBAccessLocal.getErrorString("",merrcode,""); errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString; return errorString;
} }
} }
else if (lc_srqty_lot != lc_invqty_lot && "Y".equalsIgnoreCase(ls_full_ret)) System.out.println("------------- ls_ret_opt ------------ "+ ls_ret_opt);
{ if("R".equalsIgnoreCase(ls_ret_opt))
merrcode = "VTSRET12";
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
sql = "select restr_days from sreturn_reason where reason_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_reas_code );
rs = pstmt.executeQuery();
if(rs.next())
{
li_restr_days = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("li_restr_days===["+li_restr_days+"]");
if (li_restr_days > 0 )
{ {
ld_restr_upto_date = utilMethods.RelativeDate(ld_eff_date,li_restr_days); sql = "Select count(*) From sreturndet Where tran_id = ? and ret_rep_flag = 'P'";
System.out.println("ld_restr_upto_date===["+ld_restr_upto_date+"]");
sql = "select unit, descr from item where item_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_item_code ); pstmt.setString(1,msalereturn );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
ls_unit = checkNullAndTrim(rs.getString(1)); ll_count = rs.getInt(1);
ls_descr = checkNullAndTrim(rs.getString(2));
} }
if (rs != null) if (rs != null)
{ {
...@@ -823,14 +1029,22 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -823,14 +1029,22 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
sql = "select count(*) from customeritem where cust_code = ? and item_code = ? ";
if(ll_count == 0)
{
merrcode = "VTRETREP01";
errorString = vdt.getErrorString("",merrcode,"");
return errorString;
}
sql = "Select abs(sum((case when eff_net_amt is null then 0 else eff_net_amt end))), sum((case when net_amt is null then 0 else net_amt end)) From sreturndet Where tran_id = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_cust_code ); pstmt.setString(1,msalereturn );
pstmt.setString(2,ls_item_code );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
li_cnt = rs.getInt(1); meff_amt = rs.getInt(1);
mnet_amt = rs.getInt(2);
} }
if (rs != null) if (rs != null)
{ {
...@@ -842,182 +1056,9 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -842,182 +1056,9 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
System.out.println("li_cnt for customeritem["+li_cnt+"]");
if(li_cnt > 0) mvar_value = distCommon.getDisparams( "999999", "PERMIT_AMT", conn);
{ if(meff_amt > Integer.parseInt(mvar_value))
sql = "select quantity from sreturndet where tran_id = ? and line_no__inv = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
pstmt.setInt(2,ll_line_no_inv );
rs = pstmt.executeQuery();
if(rs.next())
{
lc_qty1 = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
sql = "update customeritem set restrict_upto = ?, quantity__dem = (case when quantity__dem is null then 0 else quantity__dem end) " +
" + (? - ?) where cust_code = ? and item_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDate(1,new java.sql.Date(ld_restr_upto_date.getTime()));
pstmt.setDouble(2,lc_qty );
pstmt.setDouble(3,lc_qty1 );
pstmt.setString(4,ls_cust_code );
pstmt.setString(5,ls_item_code );
int rowcnt = pstmt.executeUpdate();
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
sql = "insert into customeritem (cust_code, item_code, item_code__ref, rate__ref, quantity__dem, unit, descr, restrict_upto, " +
"min_qty, integral_qty, min_shelf_life, chg_date, chg_user, chg_term) " +
"values(?, ?, ?, ?, ?, ?, ? , ?, ?, ?, ?, ?, ?, ?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_cust_code );
pstmt.setString(2,ls_item_code );
pstmt.setString(3,ls_item_code );
pstmt.setDouble(4,lc_rate );
pstmt.setDouble(5,lc_qty );
pstmt.setString(6,ls_unit );
pstmt.setString(7,ls_descr );
pstmt.setDate(8,new java.sql.Date(ld_restr_upto_date.getTime()) );
pstmt.setString(9,"0" );
pstmt.setString(10,"0" );
pstmt.setString(11,"0" );
//Changed by wasim on 15-may-2017 to set current date in Time stamp in prepared statement
//pstmt.setString(12,currDateStr );
pstmt.setTimestamp(12,currDate);
pstmt.setString(13,chgUser );
pstmt.setString(14,chgTerm );
pstmt.executeUpdate();
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
sql = "Select site_code, item_ser, tran_date, invoice_id, eff_date , cust_code, ret_opt, tran_type, case when site_code__dlv is null then site_code else site_code__dlv end from sreturn where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
rs = pstmt.executeQuery();
if(rs.next())
{
msite_code = rs.getString(1);
mitem_ser = rs.getString(2);
mtran_date = rs.getTimestamp(3);
minvoice_id = rs.getString(4);
meff_date = rs.getDate(5);
mcust_code = rs.getString(6);
ls_ret_opt = rs.getString(7);
ls_trantype = rs.getString(8);
ls_sitecodedlv = rs.getString(9);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
sql = "select count(1) From sreturndet Where tran_id = ? and qc_reqd = 'Y'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
rs = pstmt.executeQuery();
if(rs.next())
{
ll_count = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(ll_count > 0 && !"B".equalsIgnoreCase(gs_run_mode))
{
merrcode = gbf_create_sretqc(msalereturn, xtraParams, conn);
System.out.println("After creating QC order="+merrcode);
if(merrcode != null && merrcode.trim().length() > 0)
{
errorString = itmDBAccessLocal.getErrorString("",merrcode,"");
return errorString;
}
}
System.out.println("------------- ls_ret_opt ------------ "+ ls_ret_opt);
if("R".equalsIgnoreCase(ls_ret_opt))
{
sql = "Select count(*) From sreturndet Where tran_id = ? and ret_rep_flag = 'P'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
rs = pstmt.executeQuery();
if(rs.next())
{
ll_count = rs.getInt(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(ll_count == 0)
{
merrcode = "VTRETREP01";
errorString = vdt.getErrorString("",merrcode,"");
return errorString;
}
sql = "Select abs(sum((case when eff_net_amt is null then 0 else eff_net_amt end))), sum((case when net_amt is null then 0 else net_amt end)) From sreturndet Where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,msalereturn );
rs = pstmt.executeQuery();
if(rs.next())
{
meff_amt = rs.getInt(1);
mnet_amt = rs.getInt(2);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
mvar_value = distCommon.getDisparams( "999999", "PERMIT_AMT", conn);
if(meff_amt > Integer.parseInt(mvar_value))
{ {
merrcode = "VTSRET3"; merrcode = "VTSRET3";
errorString = vdt.getErrorString("",merrcode,""); errorString = vdt.getErrorString("",merrcode,"");
...@@ -1157,577 +1198,606 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -1157,577 +1198,606 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
} }
ls_sretinvqty = distCommon.getDisparams("999999","SRET_INV_QTY",conn) ; ls_sretinvqty = distCommon.getDisparams("999999","SRET_INV_QTY",conn) ;
sql = "Select line_no, item_code, quantity__stduom, ret_rep_flag, unit__std, loc_code, lot_no, lot_sl, mfg_date, exp_date, site_code__mfg, cost_rate, reas_code, pack_code, full_ret, physical_qty, no_art, line_no__inv, line_no__invtrace , gross_weight, tare_weight, net_weight From sreturndet where tran_id = ? Order by line_no"; //Changed by wasim on 19-MAY-2017 for changing prepared statements for while loop [START]
/*sql = "Select line_no, item_code, quantity__stduom, ret_rep_flag, unit__std, loc_code, lot_no, lot_sl, mfg_date, exp_date, site_code__mfg, cost_rate, reas_code, pack_code, full_ret, physical_qty, no_art, line_no__inv, line_no__invtrace , gross_weight, tare_weight, net_weight From sreturndet where tran_id = ? Order by line_no";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, msalereturn); pstmt.setString(1, msalereturn);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();*/
if(rs.next()) sql = "Select line_no, item_code, quantity__stduom, ret_rep_flag, unit__std, loc_code, lot_no, lot_sl, mfg_date, exp_date, site_code__mfg, cost_rate, reas_code, pack_code, full_ret, physical_qty, no_art, line_no__inv, line_no__invtrace , gross_weight, tare_weight, net_weight From sreturndet where tran_id = ? Order by line_no";
{ pstmtDetail=conn.prepareStatement(sql);
mline_no = checkNullAndTrim(rs.getString(1)); pstmtDetail.setString(1, msalereturn);
mitem_code = checkNullAndTrim(rs.getString(2)); rsDetail = pstmtDetail.executeQuery();
mquantity = rs.getDouble(3); //Changed by wasim on 19-MAY-2017 for changing prepared statements for while loop [END]
mflag = checkNullAndTrim(rs.getString(4)); //Changed by wasim on 19-MAY-2017 to use while loop instead of if for multiple lines in sales return details
munit = checkNullAndTrim(rs.getString(5)); //if(rs.next())
mloc_code = checkNullAndTrim(rs.getString(6)); while(rsDetail.next())
mlot_no = checkNull(rs.getString(7)); {
mlot_sl = checkNull(rs.getString(8)); mline_no = checkNullAndTrim(rsDetail.getString(1));
mitem_code = checkNullAndTrim(rsDetail.getString(2));
mquantity = rsDetail.getDouble(3);
mflag = checkNullAndTrim(rsDetail.getString(4));
munit = checkNullAndTrim(rsDetail.getString(5));
mloc_code = checkNullAndTrim(rsDetail.getString(6));
mlot_no = checkNull(rsDetail.getString(7));
mlot_sl = checkNull(rsDetail.getString(8));
//Changed by wasim on 16-MAY-2017 to get date in Timestamp [START] //Changed by wasim on 16-MAY-2017 to get date in Timestamp [START]
//mmfg_date = rs.getDate(9); //mmfg_date = rs.getDate(9);
//mexp_date = rs.getDate(10); //mexp_date = rs.getDate(10);
mmfg_date = rs.getTimestamp(9); mmfg_date = rsDetail.getTimestamp(9);
mexp_date = rs.getTimestamp(10); mexp_date = rsDetail.getTimestamp(10);
//Changed by wasim on 16-MAY-2017 to get date in Timestamp [END] //Changed by wasim on 16-MAY-2017 to get date in Timestamp [END]
msite_code_mfg = checkNullAndTrim(rs.getString(11)); msite_code_mfg = checkNullAndTrim(rsDetail.getString(11));
lc_rate = rs.getDouble(12); lc_rate = rsDetail.getDouble(12);
mreas_code = checkNullAndTrim(rs.getString(13)); mreas_code = checkNullAndTrim(rsDetail.getString(13));
mpack_code = checkNullAndTrim(rs.getString(14)); mpack_code = checkNullAndTrim(rsDetail.getString(14));
mfull_ret = checkNullAndTrim(rs.getString(15)); mfull_ret = checkNullAndTrim(rsDetail.getString(15));
lc_physicalqty = rs.getDouble(16); lc_physicalqty = rsDetail.getDouble(16);
lc_no_art = checkNullAndTrim(rs.getString(17)); lc_no_art = checkNullAndTrim(rsDetail.getString(17));
ll_line_no_inv = rs.getInt(18); ll_line_no_inv = rsDetail.getInt(18);
ll_line_no__invtrace = rs.getInt(19); ll_line_no__invtrace = rsDetail.getInt(19);
lc_gross_wt = rs.getDouble(20); lc_gross_wt = rsDetail.getDouble(20);
lc_tare_wt = rs.getDouble(21); lc_tare_wt = rsDetail.getDouble(21);
lc_net_wt = rs.getDouble(22); lc_net_wt = rsDetail.getDouble(22);
} /*}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if( "Y".equalsIgnoreCase(mfull_ret))
{
mvar_value = distCommon.getDisparams( "999999", "RESTRICT_ON_FRET", conn);
}
//Changed by wasim on 15-may-2017 if mvar_value is blank or null then set as 0 [START]
if(mvar_value == null || mvar_value.length() == 0)
{
mvar_value = "0";
}
//Changed by wasim on 15-may-2017 if mvar_value is blank or null then set as 0 [END]
mrestrict_upto = utilMethods.RelativeDate(meff_date,Integer.parseInt(mvar_value));
sql = "Select count(*) From customeritem Where cust_code = ? And item_code = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, mcust_code);
pstmt.setString(2, mitem_code);
rs = pstmt.executeQuery();
if(rs.next())
{
mcount1 = rs.getInt(1);
}
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;*/
if( "R".equalsIgnoreCase(mflag)) if( "Y".equalsIgnoreCase(mfull_ret))
{
sql = "Select inv_stat From location Where loc_code = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, mloc_code);
rs = pstmt.executeQuery();
if(rs.next())
{ {
minv_stat = checkNullAndTrim(rs.getString("inv_stat")); mvar_value = distCommon.getDisparams( "999999", "RESTRICT_ON_FRET", conn);
} }
rs.close(); //Changed by wasim on 15-may-2017 if mvar_value is blank or null then set as 0 [START]
rs = null; if(mvar_value == null || mvar_value.length() == 0)
pstmt.close(); {
pstmt = null; mvar_value = "0";
} }
//Changed by wasim on 15-may-2017 if mvar_value is blank or null then set as 0 [END]
minvoice_id = checkNull(minvoice_id);//Added by wasim as it is giving null pointer if minvoice_id is null mrestrict_upto = utilMethods.RelativeDate(meff_date,Integer.parseInt(mvar_value));
if(minvoice_id.trim().length() >0)
{ sql = "Select count(*) From customeritem Where cust_code = ? And item_code = ?";
sql = "Select inv_type From invoice Where invoice_id = ?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id); pstmt.setString(1, mcust_code);
pstmt.setString(2, mitem_code);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
ls_trantype = checkNullAndTrim(rs.getString("inv_type")); mcount1 = rs.getInt(1);
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
if( "R".equalsIgnoreCase(mflag))
if(ls_trantype == null || ls_trantype.trim().length() == 0)
{
ls_trantype = " ";
}
sql = "Select acct_code__inv, cctr_code__inv, grade From stock Where site_code = ? And item_code = ? And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, msite_code);
pstmt.setString(2, mitem_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_acct_code__dr = checkNullAndTrim(rs.getString("acct_code__inv"));
ls_cctr_code__dr = checkNullAndTrim(rs.getString("cctr_code__inv"));
ls_grade = checkNullAndTrim(rs.getString("grade"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(ls_acct_code__dr == null || ls_acct_code__dr.length() == 0)
{
ls_cctr_code__dr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "STKINV", ls_trantype, conn);
if (ls_cctr_code__dr != null && ls_cctr_code__dr.trim().length() > 0)
{ {
String tokens [] = ls_cctr_code__dr.split(","); System.out.println("$$$$$$$$$$$Inside Sales Return------->["+mflag+"]$$$$$$$$$$$$$$");
System.out.println("Length=["+tokens.length+"]");
sql = "Select inv_stat From location Where loc_code = ? ";
if ( tokens.length >= 2) pstmt=conn.prepareStatement(sql);
pstmt.setString(1, mloc_code);
rs = pstmt.executeQuery();
if(rs.next())
{ {
ls_acct_code__dr = tokens[0]; minv_stat = checkNullAndTrim(rs.getString("inv_stat"));
ls_cctr_code__dr = tokens[1];
ls_acct_code__dr = checkNullAndTrim(ls_acct_code__dr);
ls_cctr_code__dr = checkNullAndTrim(ls_cctr_code__dr);
} }
else rs.close();
rs = null;
pstmt.close();
pstmt = null;
//Changed by wasim as this closing bracket will end at after compeleting stock update for Returned tran type (R)
//}
minvoice_id = checkNull(minvoice_id);//Added by wasim as it is giving null pointer if minvoice_id is null
if(minvoice_id.trim().length() >0)
{ {
ls_acct_code__dr = ls_cctr_code__dr.substring(0,ls_cctr_code__dr.indexOf(",")); sql = "Select inv_type From invoice Where invoice_id = ?";
ls_cctr_code__dr = ls_cctr_code__dr.substring(ls_cctr_code__dr.indexOf(",") + 1); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_trantype = checkNullAndTrim(rs.getString("inv_type"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
} }
tokens = null;
} if(ls_trantype == null || ls_trantype.trim().length() == 0)
System.out.println("@@ls_cctr_code__dr ["+ls_cctr_code__dr+"]");
//ls_acct_code__dr = ls_cctr_code__dr.substring(0,ls_cctr_code__dr.indexOf(","));
//ls_cctr_code__dr = ls_cctr_code__dr.substring(ls_cctr_code__dr.indexOf(",")+1);
}
if(ls_cctr_code__cr == null || ls_cctr_code__cr.length() == 0)
{
ls_cctr_code__cr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "COGS", ls_trantype, conn);
if (ls_cctr_code__cr != null && ls_cctr_code__cr.trim().length() > 0)
{
String tokens [] = ls_cctr_code__cr.split(",");
System.out.println("Length=["+tokens.length+"]");
if ( tokens.length >= 2)
{ {
ls_acct_code__cr = tokens[0]; ls_trantype = " ";
ls_cctr_code__cr = tokens[1];
ls_acct_code__cr = checkNullAndTrim(ls_acct_code__cr);
ls_cctr_code__cr = checkNullAndTrim(ls_cctr_code__cr);
} }
else
sql = "Select acct_code__inv, cctr_code__inv, grade From stock Where site_code = ? And item_code = ? And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, msite_code);
pstmt.setString(2, mitem_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{ {
ls_acct_code__cr = ls_cctr_code__cr.substring(0,ls_cctr_code__cr.indexOf(",")); ls_acct_code__dr = checkNullAndTrim(rs.getString("acct_code__inv"));
ls_cctr_code__cr = ls_cctr_code__cr.substring(ls_cctr_code__cr.indexOf(",") + 1); ls_cctr_code__dr = checkNullAndTrim(rs.getString("cctr_code__inv"));
ls_grade = checkNullAndTrim(rs.getString("grade"));
} }
tokens = null; rs.close();
} rs = null;
pstmt.close();
} pstmt = null;
if(ls_cctr_code__cr == null || ls_cctr_code__cr.length() == 0) if(ls_acct_code__dr == null || ls_acct_code__dr.length() == 0)
{ {
ls_cctr_code__cr = ls_cctr_code__dr; ls_cctr_code__dr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "STKINV", ls_trantype, conn);
}
if (ls_cctr_code__dr != null && ls_cctr_code__dr.trim().length() > 0)
if(minvoice_id != null && minvoice_id.trim().length()>0) {
{ String tokens [] = ls_cctr_code__dr.split(",");
if(ll_line_no__invtrace == 0) System.out.println("Length=["+tokens.length+"]");
if ( tokens.length >= 2)
{
ls_acct_code__dr = tokens[0];
ls_cctr_code__dr = tokens[1];
ls_acct_code__dr = checkNullAndTrim(ls_acct_code__dr);
ls_cctr_code__dr = checkNullAndTrim(ls_cctr_code__dr);
}
else
{
ls_acct_code__dr = ls_cctr_code__dr.substring(0,ls_cctr_code__dr.indexOf(","));
ls_cctr_code__dr = ls_cctr_code__dr.substring(ls_cctr_code__dr.indexOf(",") + 1);
}
tokens = null;
}
System.out.println("@@ls_cctr_code__dr ["+ls_cctr_code__dr+"]");
//ls_acct_code__dr = ls_cctr_code__dr.substring(0,ls_cctr_code__dr.indexOf(","));
//ls_cctr_code__dr = ls_cctr_code__dr.substring(ls_cctr_code__dr.indexOf(",")+1);
}
if(ls_cctr_code__cr == null || ls_cctr_code__cr.length() == 0)
{
ls_cctr_code__cr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "COGS", ls_trantype, conn);
if (ls_cctr_code__cr != null && ls_cctr_code__cr.trim().length() > 0)
{
String tokens [] = ls_cctr_code__cr.split(",");
System.out.println("Length=["+tokens.length+"]");
if ( tokens.length >= 2)
{
ls_acct_code__cr = tokens[0];
ls_cctr_code__cr = tokens[1];
ls_acct_code__cr = checkNullAndTrim(ls_acct_code__cr);
ls_cctr_code__cr = checkNullAndTrim(ls_cctr_code__cr);
}
else
{
ls_acct_code__cr = ls_cctr_code__cr.substring(0,ls_cctr_code__cr.indexOf(","));
ls_cctr_code__cr = ls_cctr_code__cr.substring(ls_cctr_code__cr.indexOf(",") + 1);
}
tokens = null;
}
}
if(ls_cctr_code__cr == null || ls_cctr_code__cr.length() == 0)
{
ls_cctr_code__cr = ls_cctr_code__dr;
}
if(minvoice_id != null && minvoice_id.trim().length()>0)
{
if(ll_line_no__invtrace == 0)
{
sql = "select desp_id,desp_line_no from invoice_trace where invoice_id = ? and inv_line_no = ? and item_code = ? and lot_no = ? and lot_sl = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id);
pstmt.setInt(2, ll_line_no_inv);
pstmt.setString(3, mitem_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_desp_id = checkNullAndTrim(rs.getString("desp_id"));
ls_desp_line_no = checkNullAndTrim(rs.getString("desp_line_no"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
sql = "select desp_id,desp_line_no from invoice_trace where invoice_id = ? and inv_line_no = ? and line_no = ? and item_code = ? and lot_no = ? and lot_sl = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id);
pstmt.setInt(2, ll_line_no_inv);
pstmt.setInt(3, ll_line_no__invtrace);
pstmt.setString(4, mitem_code);
pstmt.setString(5, mlot_no);
pstmt.setString(6, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_desp_id = checkNullAndTrim(rs.getString("desp_id"));
ls_desp_line_no = checkNullAndTrim(rs.getString("desp_line_no"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
sql = "select cost_rate from despatchdet where desp_id = ? and line_no = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, ls_desp_id);
pstmt.setString(2, ls_desp_line_no);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_rate = rs.getDouble("cost_rate");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
stockUpd.put("tran_date",mtran_date) ;
stockUpd.put("tran_ser","S-RET") ;
stockUpd.put("gross_rate",lc_rate) ;
stockUpd.put("tran_id",msalereturn);
mline_no= " "+mline_no;
mline_no = mline_no.substring(mline_no.length()-3, mline_no.length());
stockUpd.put("line_no",mline_no);
stockUpd.put("sale_order",minvoice_id);
stockUpd.put("item_code",mitem_code);
stockUpd.put("site_code",ls_sitecodedlv);
stockUpd.put("loc_code",mloc_code);
stockUpd.put("unit",munit);
stockUpd.put("lot_no",mlot_no);
stockUpd.put("lot_sl", mlot_sl);
if( lc_physicalqty == 0 )
{
lc_physicalqty = mquantity;
}
if("P".equalsIgnoreCase(ls_sretinvqty))
{
stockUpd.put("qty_stduom",lc_physicalqty);
}
else{
stockUpd.put("qty_stduom",mquantity);
}
stockUpd.put("rate",lc_rate);
stockUpd.put("inv_stat",minv_stat);
stockUpd.put("exp_date",mexp_date);
stockUpd.put("item_ser",mitem_ser);
stockUpd.put("mfg_date",mmfg_date);
stockUpd.put("site_code__mfg",msite_code_mfg);
stockUpd.put("reas_code",mreas_code);
stockUpd.put("pack_code",mpack_code);
stockUpd.put("tran_type","R");
stockUpd.put("grade",ls_grade);
stockUpd.put("acct_code_inv",ls_acct_code__dr);
stockUpd.put("cctr_code_inv",ls_cctr_code__dr);
stockUpd.put("acct_code__cr",ls_acct_code__cr);
stockUpd.put("acct_code__dr",ls_acct_code__dr);
stockUpd.put("cctr_code__cr",ls_cctr_code__cr);
stockUpd.put("cctr_code__dr",ls_cctr_code__dr);
stockUpd.put("no_art",Double.parseDouble(lc_no_art));
stockUpd.put("gross_weight",lc_gross_wt);
stockUpd.put("tare_weight",lc_tare_wt);
stockUpd.put("net_weight",lc_net_wt);
merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
System.out.println("After stockUpdate1 ["+merrcode+"]");
if(merrcode !=null && merrcode.trim().length() >0)
{
return merrcode;
}
if("Y".equalsIgnoreCase(ls_channel_partner) && "E".equalsIgnoreCase(ls_dis_link))
{
stockUpd.put("inv_stat",ls_tran_stat);
stockUpd.put("loc_code",ls_loc_code_git);
stockUpd.put("tran_type","I");
merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
System.out.println("After stockUpdate2 ["+merrcode+"]");
if(merrcode !=null && merrcode.trim().length() >0)
{
return merrcode;
}
}
}//END tran type R (Sales return) by wasim on 19-MAY-2017
else //Added by wasim on 19-05-2017 else part for Replace (ID)
{ {
sql = "select desp_id,desp_line_no from invoice_trace where invoice_id = ? and inv_line_no = ? and item_code = ? and lot_no = ? and lot_sl = ?"; System.out.println("$$$$$$$$$$$Inside Sales Replacement------->["+mflag+"]$$$$$$$$$$$$$$");
sql = "Select (case when var_value is null then 'N' else var_value end) From finparm Where prd_code = '999999' And var_name = 'INV_ACCT_SRET'";
pstmt=conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_online_acct = checkNullAndTrim(rs.getString(1));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(minvoice_id != null && minvoice_id.length() > 0)
{
sql = "Select inv_type From invoice Where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_trantype = checkNullAndTrim(rs.getString("inv_type"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
ls_trantype = " ";
}
sql = "Select acct_code__inv, cctr_code__inv, grade From stock Where site_code = ? And item_code = ? And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id); pstmt.setString(1, msite_code);
pstmt.setInt(2, ll_line_no_inv); pstmt.setString(2, mitem_code);
pstmt.setString(3, mitem_code); pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no); pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl); pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
ls_desp_id = checkNullAndTrim(rs.getString("desp_id")); ls_acct_code__cr = checkNullAndTrim(rs.getString("acct_code__inv"));
ls_desp_line_no = checkNullAndTrim(rs.getString("desp_line_no")); ls_cctr_code__cr = checkNullAndTrim(rs.getString("cctr_code__inv"));
ls_grade = checkNullAndTrim(rs.getString("grade"));
} }
rs.close(); if(ls_cctr_code__cr == null || ls_cctr_code__cr.length() == 0)
rs = null;
pstmt.close();
pstmt = null;
}
else
{
sql = "select desp_id,desp_line_no from invoice_trace where invoice_id = ? and inv_line_no = ? and line_no = ? and item_code = ? and lot_no = ? and lot_sl = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id);
pstmt.setInt(2, ll_line_no_inv);
pstmt.setInt(3, ll_line_no__invtrace);
pstmt.setString(4, mitem_code);
pstmt.setString(5, mlot_no);
pstmt.setString(6, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{ {
ls_desp_id = checkNullAndTrim(rs.getString("desp_id")); ls_cctr_code__cr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "COGS", ls_trantype, conn);
ls_desp_line_no = checkNullAndTrim(rs.getString("desp_line_no")); if (ls_cctr_code__cr != null && ls_cctr_code__cr.trim().length() > 0)
{
String tokens [] = ls_cctr_code__cr.split(",");
System.out.println("Length="+tokens.length);
if ( tokens.length >= 2)
{
ls_acct_code__cr = tokens[0];
ls_cctr_code__cr = tokens[1];
ls_acct_code__cr = checkNullAndTrim(ls_acct_code__cr);
ls_cctr_code__cr = checkNullAndTrim(ls_cctr_code__cr);
}
else
{
ls_acct_code__cr = ls_cctr_code__cr.substring(0,ls_cctr_code__cr.indexOf(","));
ls_cctr_code__cr = ls_cctr_code__cr.substring(ls_cctr_code__cr.indexOf(",") + 1);
}
tokens = null;
}
} }
rs.close();
rs = null; if(ls_acct_code__dr == null || ls_acct_code__dr.length() == 0)
pstmt.close();
pstmt = null;
}
}
sql = "select cost_rate from despatchdet where desp_id = ? and line_no = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, ls_desp_id);
pstmt.setString(2, ls_desp_line_no);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_rate = rs.getDouble("cost_rate");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
stockUpd.put("tran_date",mtran_date) ;
stockUpd.put("tran_ser","S-RET") ;
stockUpd.put("gross_rate",lc_rate) ;
stockUpd.put("tran_id",msalereturn);
mline_no= " "+mline_no;
mline_no = mline_no.substring(mline_no.length()-3, mline_no.length());
stockUpd.put("line_no",mline_no);
stockUpd.put("sale_order",minvoice_id);
stockUpd.put("item_code",mitem_code);
stockUpd.put("site_code",ls_sitecodedlv);
stockUpd.put("loc_code",mloc_code);
stockUpd.put("unit",munit);
stockUpd.put("lot_no",mlot_no);
stockUpd.put("lot_sl", mlot_sl);
if( lc_physicalqty == 0 )
{
lc_physicalqty = mquantity;
}
if("P".equalsIgnoreCase(ls_sretinvqty))
{
stockUpd.put("qty_stduom",lc_physicalqty);
}
else{
stockUpd.put("qty_stduom",mquantity);
}
stockUpd.put("rate",lc_rate);
stockUpd.put("inv_stat",minv_stat);
stockUpd.put("exp_date",mexp_date);
stockUpd.put("item_ser",mitem_ser);
stockUpd.put("mfg_date",mmfg_date);
stockUpd.put("site_code__mfg",msite_code_mfg);
stockUpd.put("reas_code",mreas_code);
stockUpd.put("pack_code",mpack_code);
stockUpd.put("tran_type","R");
stockUpd.put("grade",ls_grade);
stockUpd.put("acct_code_inv",ls_acct_code__dr);
stockUpd.put("cctr_code_inv",ls_cctr_code__dr);
stockUpd.put("acct_code__cr",ls_acct_code__cr);
stockUpd.put("acct_code__dr",ls_acct_code__dr);
stockUpd.put("cctr_code__cr",ls_cctr_code__cr);
stockUpd.put("cctr_code__dr",ls_cctr_code__dr);
stockUpd.put("no_art",Double.parseDouble(lc_no_art));
stockUpd.put("gross_weight",lc_gross_wt);
stockUpd.put("tare_weight",lc_tare_wt);
stockUpd.put("net_weight",lc_net_wt);
merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
System.out.println("After stockUpdate1 ["+merrcode+"]");
if(merrcode !=null && merrcode.trim().length() >0)
{
return merrcode;
}
if("Y".equalsIgnoreCase(ls_channel_partner) && "E".equalsIgnoreCase(ls_dis_link))
{
stockUpd.put("inv_stat",ls_tran_stat);
stockUpd.put("loc_code",ls_loc_code_git);
stockUpd.put("tran_type","I");
merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
System.out.println("After stockUpdate2 ["+merrcode+"]");
if(merrcode !=null && merrcode.trim().length() >0)
{
return merrcode;
}
}
sql = "Select (case when var_value is null then 'N' else var_value end) From finparm Where prd_code = '999999' And var_name = 'INV_ACCT_SRET'";
pstmt=conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_online_acct = checkNullAndTrim(rs.getString(1));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(minvoice_id.length() > 0)
{
sql = "Select inv_type From invoice Where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, minvoice_id);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_trantype = checkNullAndTrim(rs.getString("inv_type"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
ls_trantype = " ";
}
sql = "Select acct_code__inv, cctr_code__inv, grade From stock Where site_code = ? And item_code = ? And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, msite_code);
pstmt.setString(2, mitem_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_acct_code__cr = checkNullAndTrim(rs.getString("acct_code__inv"));
ls_cctr_code__cr = checkNullAndTrim(rs.getString("cctr_code__inv"));
ls_grade = checkNullAndTrim(rs.getString("grade"));
}
if(ls_cctr_code__cr == null || ls_cctr_code__cr.length() == 0)
{
ls_cctr_code__cr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "COGS", ls_trantype, conn);
if (ls_cctr_code__cr != null && ls_cctr_code__cr.trim().length() > 0)
{
String tokens [] = ls_cctr_code__cr.split(",");
System.out.println("Length="+tokens.length);
if ( tokens.length >= 2)
{ {
ls_acct_code__cr = tokens[0]; ls_cctr_code__dr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "", ls_trantype, conn);
ls_cctr_code__cr = tokens[1]; if (ls_cctr_code__dr != null && ls_cctr_code__dr.trim().length() > 0)
{
ls_acct_code__cr = checkNullAndTrim(ls_acct_code__cr); String tokens [] = ls_cctr_code__dr.split(",");
ls_cctr_code__cr = checkNullAndTrim(ls_cctr_code__cr);
System.out.println("Length="+tokens.length);
if ( tokens.length >= 2)
{
ls_acct_code__dr = tokens[0];
ls_cctr_code__dr = tokens[1];
ls_acct_code__dr = checkNullAndTrim(ls_acct_code__dr);
ls_cctr_code__dr = checkNullAndTrim(ls_cctr_code__dr);
}
else
{
ls_acct_code__dr = ls_cctr_code__dr.substring(0,ls_cctr_code__dr.indexOf(","));
ls_cctr_code__dr = ls_cctr_code__dr.substring(ls_cctr_code__dr.indexOf(",") + 1);
}
tokens = null;
}
} }
else if(ls_cctr_code__dr == null || ls_cctr_code__dr.trim().length() == 0)
{ {
ls_acct_code__cr = ls_cctr_code__cr.substring(0,ls_cctr_code__cr.indexOf(",")); ls_cctr_code__dr = ls_cctr_code__cr;
ls_cctr_code__cr = ls_cctr_code__cr.substring(ls_cctr_code__cr.indexOf(",") + 1);
} }
tokens = null;
} if("db2".equalsIgnoreCase(DB))
}
if(ls_acct_code__dr == null || ls_acct_code__dr.length() == 0)
{
ls_cctr_code__dr = finCommon.getAcctDetrTtype(mitem_code, mitem_ser, "", ls_trantype, conn);
if (ls_cctr_code__dr != null && ls_cctr_code__dr.trim().length() > 0)
{
String tokens [] = ls_cctr_code__dr.split(",");
System.out.println("Length="+tokens.length);
if ( tokens.length >= 2)
{ {
ls_acct_code__dr = tokens[0]; sql = "Select a.quantity From stock a, invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? for update";
ls_cctr_code__dr = tokens[1]; pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitem_code);
ls_acct_code__dr = checkNullAndTrim(ls_acct_code__dr); pstmt.setString(2, msite_code);
ls_cctr_code__dr = checkNullAndTrim(ls_cctr_code__dr); pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
mtot_stk = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else if("mysql".equalsIgnoreCase(DB))
{
sql = "Select a.quantity From stock a, invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? for update";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitem_code);
pstmt.setString(2, msite_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
mtot_stk = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else if("mssql".equalsIgnoreCase(DB))
{
sql = "Select a.quantity From stock a (updlock), invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitem_code);
pstmt.setString(2, msite_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
mtot_stk = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
} }
else else
{ {
ls_acct_code__dr = ls_cctr_code__dr.substring(0,ls_cctr_code__dr.indexOf(",")); sql = "Select a.quantity From stock a, invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? for update nowait ";
ls_cctr_code__dr = ls_cctr_code__dr.substring(ls_cctr_code__dr.indexOf(",") + 1); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitem_code);
pstmt.setString(2, msite_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
mtot_stk = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
} }
tokens = null;
} if(mtot_stk < mquantity)
{
} merrcode = "VTDIST4" + " ~t for site code : " + msite_code + " for item code : " + mitem_code + " for loc.code : " + mloc_code + " for lot no : " + mlot_no + " for lot sl.: " + mlot_sl;
if(ls_cctr_code__dr == null || ls_cctr_code__dr.trim().length() == 0) errorString = vdt.getErrorString("",merrcode,"");
{ return errorString;
ls_cctr_code__dr = ls_cctr_code__cr; }
}
stockUpd.put("tran_date",mtran_date) ;
if("db2".equalsIgnoreCase(DB)) stockUpd.put("tran_ser","S-RET") ;
{ stockUpd.put("tran_id",msalereturn);
sql = "Select a.quantity From stock a, invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? for update"; mline_no= " "+mline_no;
pstmt = conn.prepareStatement(sql); mline_no = mline_no.substring(mline_no.length()-3, mline_no.length());
pstmt.setString(1, mitem_code); stockUpd.put("line_no",mline_no);
pstmt.setString(2, msite_code); stockUpd.put("sale_order",minvoice_id);
pstmt.setString(3, mloc_code); stockUpd.put("item_code",mitem_code);
pstmt.setString(4, mlot_no); stockUpd.put("site_code",ls_sitecodedlv);
pstmt.setString(5, mlot_sl); stockUpd.put("loc_code",mloc_code);
rs = pstmt.executeQuery(); stockUpd.put("unit",munit);
if(rs.next()) stockUpd.put("lot_no",mlot_no);
{ stockUpd.put("lot_sl", mlot_sl);
mtot_stk = rs.getDouble(1); stockUpd.put("qty_stduom",mquantity);
} stockUpd.put("rate",lc_rate);
if (rs != null) stockUpd.put("exp_date",mexp_date);
{ stockUpd.put("item_ser",mitem_ser);
rs.close(); stockUpd.put("mfg_date",mmfg_date);
rs = null; stockUpd.put("site_code__mfg",msite_code_mfg);
} stockUpd.put("reas_code",mreas_code);
if (pstmt != null) stockUpd.put("tran_type","ID");
{ stockUpd.put("grade",ls_grade);
pstmt.close(); stockUpd.put("acct_code_inv",ls_acct_code__dr);
pstmt = null; stockUpd.put("cctr_code_inv",ls_cctr_code__dr);
} stockUpd.put("acct_code__cr",ls_acct_code__cr);
} stockUpd.put("acct_code__dr",ls_acct_code__dr);
else if("mysql".equalsIgnoreCase(DB)) stockUpd.put("cctr_code__cr",ls_cctr_code__cr);
{ stockUpd.put("cctr_code__dr",ls_cctr_code__dr);
sql = "Select a.quantity From stock a, invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? for update"; stockUpd.put("no_art",Double.parseDouble(lc_no_art));
pstmt = conn.prepareStatement(sql); stockUpd.put("gross_weight",lc_gross_wt);
pstmt.setString(1, mitem_code); stockUpd.put("tare_weight",lc_tare_wt);
pstmt.setString(2, msite_code); stockUpd.put("net_weight",lc_net_wt);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no); merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
pstmt.setString(5, mlot_sl); System.out.println("After stockUpdate3 ["+merrcode+"]");
rs = pstmt.executeQuery(); if(merrcode !=null && merrcode.trim().length() >0)
if(rs.next()) {
{ //Commented by wasim as it is returning the full XML
mtot_stk = rs.getDouble(1); //errorString = vdt.getErrorString("",merrcode,"");
} //return errorString;
if (rs != null) return merrcode;
{ }
rs.close();
rs = null; if("Y".equalsIgnoreCase(ls_channel_partner) && "E".equalsIgnoreCase(ls_dis_link))
} {
if (pstmt != null) stockUpd.put("inv_stat",ls_tran_stat);
{ stockUpd.put("loc_code",ls_loc_code_git);
pstmt.close(); stockUpd.put("tran_type","R");
pstmt = null; merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
} if(merrcode !=null && merrcode.trim().length() >0)
} {
else if("mssql".equalsIgnoreCase(DB)) errorString = vdt.getErrorString("",merrcode,"");
{ return errorString;
sql = "Select a.quantity From stock a (updlock), invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? "; }
pstmt = conn.prepareStatement(sql); }
pstmt.setString(1, mitem_code); } //End else part for Replaced (ID) by wasim on 19-MAY-2017
pstmt.setString(2, msite_code);
pstmt.setString(3, mloc_code); }//End while loop for sales return Details
pstmt.setString(4, mlot_no); //Added by wasim on 19-MAY-2017 to use while loop instead of if for multiple lines in sales return details [END]
pstmt.setString(5, mlot_sl); if(rsDetail!=null)
rs = pstmt.executeQuery();
if(rs.next())
{
mtot_stk = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
sql = "Select a.quantity From stock a, invstat b Where a.inv_stat = b.inv_stat And a.item_code = ? and a.site_code = ? And a.loc_code = ? And a.lot_no = ? And a.lot_sl = ? for update nowait ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitem_code);
pstmt.setString(2, msite_code);
pstmt.setString(3, mloc_code);
pstmt.setString(4, mlot_no);
pstmt.setString(5, mlot_sl);
rs = pstmt.executeQuery();
if(rs.next())
{
mtot_stk = rs.getDouble(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if(mtot_stk < mquantity)
{ {
merrcode = "VTDIST4" + " ~t for site code : " + msite_code + " for item code : " + mitem_code + " for loc.code : " + mloc_code + " for lot no : " + mlot_no + " for lot sl.: " + mlot_sl; rsDetail.close();rsDetail = null;
errorString = vdt.getErrorString("",merrcode,"");
return errorString;
}
stockUpd.put("tran_date",mtran_date) ;
stockUpd.put("tran_ser","S-RET") ;
stockUpd.put("tran_id",msalereturn);
mline_no= " "+mline_no;
mline_no = mline_no.substring(mline_no.length()-3, mline_no.length());
stockUpd.put("line_no",mline_no);
stockUpd.put("sale_order",minvoice_id);
stockUpd.put("item_code",mitem_code);
stockUpd.put("site_code",ls_sitecodedlv);
stockUpd.put("loc_code",mloc_code);
stockUpd.put("unit",munit);
stockUpd.put("lot_no",mlot_no);
stockUpd.put("lot_sl", mlot_sl);
stockUpd.put("qty_stduom",mquantity);
stockUpd.put("rate",lc_rate);
stockUpd.put("exp_date",mexp_date);
stockUpd.put("item_ser",mitem_ser);
stockUpd.put("mfg_date",mmfg_date);
stockUpd.put("site_code__mfg",msite_code_mfg);
stockUpd.put("reas_code",mreas_code);
stockUpd.put("tran_type","ID");
stockUpd.put("grade",ls_grade);
stockUpd.put("acct_code_inv",ls_acct_code__dr);
stockUpd.put("cctr_code_inv",ls_cctr_code__dr);
stockUpd.put("acct_code__cr",ls_acct_code__cr);
stockUpd.put("acct_code__dr",ls_acct_code__dr);
stockUpd.put("cctr_code__cr",ls_cctr_code__cr);
stockUpd.put("cctr_code__dr",ls_cctr_code__dr);
stockUpd.put("no_art",Double.parseDouble(lc_no_art));
stockUpd.put("gross_weight",lc_gross_wt);
stockUpd.put("tare_weight",lc_tare_wt);
stockUpd.put("net_weight",lc_net_wt);
merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
System.out.println("After stockUpdate3 ["+merrcode+"]");
if(merrcode !=null && merrcode.trim().length() >0)
{
//Commented by wasim as it is returning the full XML
//errorString = vdt.getErrorString("",merrcode,"");
//return errorString;
return merrcode;
} }
if(pstmtDetail!=null)
if("Y".equalsIgnoreCase(ls_channel_partner) && "E".equalsIgnoreCase(ls_dis_link))
{ {
stockUpd.put("inv_stat",ls_tran_stat); pstmtDetail.close();pstmtDetail = null;
stockUpd.put("loc_code",ls_loc_code_git);
stockUpd.put("tran_type","R");
merrcode = stockUpdate.updateStock(stockUpd,xtraParams, conn);
if(merrcode !=null && merrcode.trim().length() >0)
{
errorString = vdt.getErrorString("",merrcode,"");
return errorString;
}
} }
//Added by wasim on 19-MAY-2017 to use while loop instead of if for multiple lines in sales return details [END]
ls_quar_lockcode = distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn) ; ls_quar_lockcode = distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn) ;
if("NULLFOUND".equalsIgnoreCase(ls_quar_lockcode)) if("NULLFOUND".equalsIgnoreCase(ls_quar_lockcode))
...@@ -2201,7 +2271,15 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC ...@@ -2201,7 +2271,15 @@ public class SalesReturnConfirm extends ActionHandlerEJB implements SalesReturnC
{ {
rs.close(); rs.close();
rs = null; rs = null;
} }
if(rsDetail!=null)
{
rsDetail.close();rsDetail = null;
}
if(pstmtDetail!=null)
{
pstmtDetail.close();pstmtDetail = null;
}
} }
catch(Exception e) catch(Exception e)
{ {
......
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