Commit 216ccfac authored by cpatil's avatar cpatil

modify for post order process


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101077 ce508802-f39f-4f6c-b175-0d175dae99d5
parent c9839ae9
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB; import ibase.webitm.ejb.ActionHandlerEJB;
...@@ -33,23 +32,23 @@ import java.util.HashMap; ...@@ -33,23 +32,23 @@ import java.util.HashMap;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@javax.ejb.Stateless @javax.ejb.Stateless
public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirmLocal,DespatchConfirmRemote{ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirmLocal,DespatchConfirmRemote{
//Calling GR NO GEneration and Retreiving Despatch Code Here ... //Calling GR NO GEneration and Retreiving Despatch Code Here ...
//GP No Generation code... //GP No Generation code...
public String generateGPNO(String xmlValues,String site,String SOrderNo,Connection conn) throws Exception public String generateGPNO(String xmlValues,String site,String SOrderNo,Connection conn) throws Exception
{ {
String GPno = "",orderType = "",orderTypes = "",keyString = "",keyCol = "",tranSer = ""; String GPno = "",orderType = "",orderTypes = "",keyString = "",keyCol = "",tranSer = "";
DistCommon dis = new DistCommon(); DistCommon dis = new DistCommon();
//SELECTING ORDER TYPE OF SALES ORDER //SELECTING ORDER TYPE OF SALES ORDER
PreparedStatement pstmt3 = null; PreparedStatement pstmt3 = null;
ResultSet rs = null, rs1 = null,rs3 = null; ResultSet rs = null, rs1 = null,rs3 = null;
String sql = "",sql1 = ""; String sql = "",sql1 = "";
sql1 = "select order_type from sorder where sale_order = ? "; sql1 = "select order_type from sorder where sale_order = ? ";
pstmt3 = conn.prepareStatement(sql1); pstmt3 = conn.prepareStatement(sql1);
pstmt3.setString(1,SOrderNo); pstmt3.setString(1,SOrderNo);
...@@ -57,13 +56,13 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -57,13 +56,13 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
while(rs3.next()) while(rs3.next())
{ {
orderType = rs3.getString("order_type"); orderType = rs3.getString("order_type");
} }
rs3.close(); rs3.close();
rs3 = null; rs3 = null;
pstmt3.close(); pstmt3.close();
pstmt3 = null; pstmt3 = null;
sql1 = "select key_string, TRAN_ID_COL, REF_SER from transetup where tran_window = 'gpno'"; sql1 = "select key_string, TRAN_ID_COL, REF_SER from transetup where tran_window = 'gpno'";
pstmt3 = conn.prepareStatement(sql1); pstmt3 = conn.prepareStatement(sql1);
rs3 = pstmt3.executeQuery(); rs3 = pstmt3.executeQuery();
...@@ -72,33 +71,33 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -72,33 +71,33 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
keyString = rs3.getString("key_string"); keyString = rs3.getString("key_string");
keyCol = rs3.getString("TRAN_ID_COL"); keyCol = rs3.getString("TRAN_ID_COL");
tranSer = rs3.getString("REF_SER"); tranSer = rs3.getString("REF_SER");
} }
rs3.close(); rs3.close();
rs3 = null; rs3 = null;
pstmt3.close(); pstmt3.close();
pstmt3 = null; pstmt3 = null;
//SELECTING ORDER TYPES FROM DISPARM //SELECTING ORDER TYPES FROM DISPARM
orderTypes = dis.getDisparams("999999", "GP_NO", conn); orderTypes = dis.getDisparams("999999", "GP_NO", conn);
//IF DATA FOUND IN DISPARM THEN ONLY GENERATE GP NO ELSE NOT REQUIRED //IF DATA FOUND IN DISPARM THEN ONLY GENERATE GP NO ELSE NOT REQUIRED
//COMPARING VALUES FROM SORDER AND DISPARM IF ORDER TYPE FROM SORDER DOES EXIST //COMPARING VALUES FROM SORDER AND DISPARM IF ORDER TYPE FROM SORDER DOES EXIST
//IN DISPARM THEN GP_NO SHOULD NOT BE GENERATED //IN DISPARM THEN GP_NO SHOULD NOT BE GENERATED
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME); TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
GPno = tg.generateTranSeqID(tranSer, keyCol, keyString, conn); GPno = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
System.out.println("GP NO Generated :::::::::"+GPno); System.out.println("GP NO Generated :::::::::"+GPno);
return GPno; return GPno;
} }
//Confirmation through Button .. //Confirmation through Button ..
//Calling Despatch Confirmation Code Here.... //Calling Despatch Confirmation Code Here....
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException
{ {
System.out.println("----------------confirmed method (Despatch confirm)----through button-----"); System.out.println("----------------confirmed method (Despatch confirm)----through button-----");
...@@ -111,34 +110,34 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -111,34 +110,34 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
connDriver = new ConnDriver(); connDriver = new ConnDriver();
conn = connDriver.getConnectDB("Driver"); conn = connDriver.getConnectDB("Driver");
conn.setAutoCommit(false); conn.setAutoCommit(false);
itmDBAccessEJB = new ITMDBAccessEJB(); itmDBAccessEJB = new ITMDBAccessEJB();
retString = confirm( tranID, xtraParams, forcedFlag,conn); //calling and creating connection retString = confirm( tranID, xtraParams, forcedFlag,conn); //calling and creating connection
if( retString != null && retString.trim().length() > 0 && !retString.contains("VTPOSTDES")) if( retString != null && retString.trim().length() > 0 && !retString.contains("VTPOSTDES"))
{ {
conn.rollback(); conn.rollback();
return retString; return retString;
} }
else else
{ {
System.out.println("@@@@@@@@@@@118:::::::::::commiting record........"); System.out.println("@@@@@@@@@@@118:::::::::::commiting record........");
conn.commit(); conn.commit();
retString = itmDBAccessEJB.getErrorString("","CONFSUCC",""); retString = itmDBAccessEJB.getErrorString("","CONFSUCC","");
return retString; return retString;
} }
} }
catch(Exception exception) catch(Exception exception)
{ {
System.out.println("Exception in [Despatch Confirmation] confirm " + exception.getMessage()); System.out.println("Exception in [Despatch Confirmation] confirm " + exception.getMessage());
} }
finally finally
{ {
try try
{ {
if( conn != null && ! conn.isClosed() ) if( conn != null && ! conn.isClosed() )
{ {
conn.close(); conn.close();
...@@ -151,14 +150,14 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -151,14 +150,14 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
ef.printStackTrace(); ef.printStackTrace();
throw new ITMException(ef); throw new ITMException(ef);
} }
} }
return retString; return retString;
} }
public String confirm(String tranId,String xtraParams, String forcedFlag ,Connection conn) throws RemoteException,ITMException public String confirm(String tranId,String xtraParams, String forcedFlag ,Connection conn) throws RemoteException,ITMException
{ {
System.out.println("----------------confirmed method (Despatch confirm)---- with Connection-----"); System.out.println("----------------confirmed method (Despatch confirm)---- with Connection-----");
DistCommon distCommon = new DistCommon(); DistCommon distCommon = new DistCommon();
PreparedStatement pstmt = null, pstmt1 = null ,pstmt3 = null ; PreparedStatement pstmt = null, pstmt1 = null ,pstmt3 = null ;
ResultSet rs = null, rs1 = null,rs3 = null; ResultSet rs = null, rs1 = null,rs3 = null;
...@@ -182,11 +181,13 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -182,11 +181,13 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
Timestamp despDate = null,gpDate = null; Timestamp despDate = null,gpDate = null;
int cnt = 0,editOption = 0,detCount = 0; int cnt = 0,editOption = 0,detCount = 0;
boolean isLocal=false; boolean isLocal=false;
try String autoInvOnDesp="";
{ try
itmDBAccessEJB = new ITMDBAccessEJB(); {
itmDBAccessEJB = new ITMDBAccessEJB();
/* if(conn==null) autoInvOnDesp = distCommon.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn);
/* if(conn==null)
{ {
connDriver = new ConnDriver(); connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM"); conn = connDriver.getConnectDB("DriverITM");
...@@ -194,102 +195,102 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -194,102 +195,102 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
conn.setAutoCommit(false); conn.setAutoCommit(false);
isLocal=true; isLocal=true;
}*/ }*/
sql = "select confirmed from despatch where desp_id = ?"; sql = "select confirmed from despatch where desp_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
confirm = rs.getString("confirmed");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(confirm != null && "Y".equalsIgnoreCase(confirm))
{
System.out.println("The Selected transaction is already confirmed");
errString = itmDBAccessEJB.getErrorString("","VTMCONF1","");
return errString;
}
else
{
sql = "select status,desp_date,available_yn,desp_id,site_code,sord_no,cust_code__dlv,cust_code,gp_date,gp_ser,gp_no "
+ " from despatch where desp_id = ? ";// QUERY OF SRD TO BE COPIED...........
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId); pstmt.setString(1,tranId);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while ( rs.next() ) if(rs.next())
{ {
statusDesp = checkNull(rs.getString("status")); confirm = rs.getString("confirmed");
// tranSer = rs.getString("tran_ser");
//despDate = new Timestamp(rs.getDate("tran_Date").getTime());
despDate = rs.getTimestamp("desp_date");
availableYN = checkNull(rs.getString("available_yn"));
tranid = checkNull(rs.getString("desp_id"));
siteCode = checkNull(rs.getString("site_code"));
sordNo = checkNull(rs.getString("sord_no"));
custCode = checkNull(rs.getString("cust_code"));
custCodeDlv = checkNull(rs.getString("cust_code__dlv"));
gpDate = rs.getTimestamp("gp_date");
gpSer = checkNull(rs.getString("gp_ser"));
gpNo = checkNull(rs.getString("gp_no"));
} }
pstmt.close();
pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close();
pstmt = null;
/**************************For despatch GP NO Generation********************************************************************/ if(confirm != null && "Y".equalsIgnoreCase(confirm))
sql1 = "select site_code__exc "
+" from site where site_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,siteCode);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{ {
siteCodeExc = checkNull(rs1.getString("site_code__exc")); System.out.println("The Selected transaction is already confirmed");
errString = itmDBAccessEJB.getErrorString("","VTMCONF1","");
return errString;
} }
rs1.close(); else
rs1 = null; {
pstmt1.close();
pstmt1 = null;
sql = "select status,desp_date,available_yn,desp_id,site_code,sord_no,cust_code__dlv,cust_code,gp_date,gp_ser,gp_no "
/* genKey.put("site_code",siteCodeExc); + " from despatch where desp_id = ? ";// QUERY OF SRD TO BE COPIED...........
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
while ( rs.next() )
{
statusDesp = checkNull(rs.getString("status"));
// tranSer = rs.getString("tran_ser");
//despDate = new Timestamp(rs.getDate("tran_Date").getTime());
despDate = rs.getTimestamp("desp_date");
availableYN = checkNull(rs.getString("available_yn"));
tranid = checkNull(rs.getString("desp_id"));
siteCode = checkNull(rs.getString("site_code"));
sordNo = checkNull(rs.getString("sord_no"));
custCode = checkNull(rs.getString("cust_code"));
custCodeDlv = checkNull(rs.getString("cust_code__dlv"));
gpDate = rs.getTimestamp("gp_date");
gpSer = checkNull(rs.getString("gp_ser"));
gpNo = checkNull(rs.getString("gp_no"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
/**************************For despatch GP NO Generation********************************************************************/
sql1 = "select site_code__exc "
+" from site where site_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,siteCode);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
siteCodeExc = checkNull(rs1.getString("site_code__exc"));
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
/* genKey.put("site_code",siteCodeExc);
genKey.put("desp_date",despDate); genKey.put("desp_date",despDate);
genKey.put("sord_no",sordNo); genKey.put("sord_no",sordNo);
genKey.put("gp_date",gpDate); genKey.put("gp_date",gpDate);
genKey.put("gp_ser",gpSer);*/ genKey.put("gp_ser",gpSer);*/
String xmlValues = ""; String xmlValues = "";
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>"; xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>"; xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id/>"; xmlValues = xmlValues + "<tran_id/>";
xmlValues = xmlValues + "<site_code>" + siteCodeExc + "</site_code>"; xmlValues = xmlValues + "<site_code>" + siteCodeExc + "</site_code>";
xmlValues = xmlValues + "<desp_date>"+ despDate + "</desp_date>"; xmlValues = xmlValues + "<desp_date>"+ despDate + "</desp_date>";
xmlValues = xmlValues + "<gp_ser>"+ gpSer + "</gp_ser>"; xmlValues = xmlValues + "<gp_ser>"+ gpSer + "</gp_ser>";
xmlValues = xmlValues + "</Detail1></Root>"; xmlValues = xmlValues + "</Detail1></Root>";
varValue= distCommon.getDisparams("999999", "EXC_SITE_NO", conn); varValue= distCommon.getDisparams("999999", "EXC_SITE_NO", conn);
System.out.println("varValue===="+varValue); System.out.println("varValue===="+varValue);
/*sql1 = "select var_value from disparm where prd_code = '999999' and var_name = 'EXC_SITE_NO' "; /*sql1 = "select var_value from disparm where prd_code = '999999' and var_name = 'EXC_SITE_NO' ";
pstmt1 = conn.prepareStatement(sql1); pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery(); rs1 = pstmt1.executeQuery();
while(rs1.next()) while(rs1.next())
{ {
...@@ -299,416 +300,416 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -299,416 +300,416 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
rs1 = null; rs1 = null;
pstmt1.close(); pstmt1.close();
pstmt1 = null;*/ pstmt1 = null;*/
if( varValue.contains(siteCodeExc)) if( varValue.contains(siteCodeExc))
{ {
gpNo = generateGPNO(xmlValues,siteCodeExc+gpSer,sordNo,conn);//Code need to be migrated gpNo = generateGPNO(xmlValues,siteCodeExc+gpSer,sordNo,conn);//Code need to be migrated
} }
else{ else{
gpNo = generateGPNO(xmlValues,siteCodeExc,sordNo,conn);//Code need to be migrated gpNo = generateGPNO(xmlValues,siteCodeExc,sordNo,conn);//Code need to be migrated
} }
sql = "update despatch set gp_no = ? , gp_date = ? " sql = "update despatch set gp_no = ? , gp_date = ? "
+" where desp_id = ? "; +" where desp_id = ? ";
pstmt1 = conn.prepareStatement(sql); pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,gpNo); pstmt1.setString(1,gpNo);
pstmt1.setTimestamp(2,gpDate); pstmt1.setTimestamp(2,gpDate);
pstmt1.setString(3,tranId); pstmt1.setString(3,tranId);
int cnt2 = pstmt1.executeUpdate(); int cnt2 = pstmt1.executeUpdate();
System.out.println("Count value after updating despatch...."+cnt2); System.out.println("Count value after updating despatch...."+cnt2);
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
//despatch_edit.setitem(ll_ctr,"confirmed", 'Y') //Ruchira 21/09/2k5 taken out of abovve if ... endif statement. //despatch_edit.setitem(ll_ctr,"confirmed", 'Y') //Ruchira 21/09/2k5 taken out of abovve if ... endif statement.
// CHECKING WHETHER PURCHASE IS INTEGRATED WITH SALES OR NOT // CHECKING WHETHER PURCHASE IS INTEGRATED WITH SALES OR NOT
varValuePurInteg = checkNull(distCommon.getDisparams("999999","PUR_INTEGRATED",conn)); varValuePurInteg = checkNull(distCommon.getDisparams("999999","PUR_INTEGRATED",conn));
sql1 = "select edi_option from transetup " sql1 = "select edi_option from transetup "
+ "where tran_window = 'w_despatch' "; + "where tran_window = 'w_despatch' ";
pstmt1 = conn.prepareStatement(sql1); pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery(); rs1 = pstmt1.executeQuery();
while(rs1.next()) while(rs1.next())
{ {
editOption = rs1.getInt("edi_option"); editOption = rs1.getInt("edi_option");
} }
rs1.close(); rs1.close();
rs1 = null; rs1 = null;
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
/*despatch_edit.setfilter("desp_id = '" + ls_desp_id + "'") /*despatch_edit.setfilter("desp_id = '" + ls_desp_id + "'")
despatch_edit.filter() despatch_edit.filter()
desp_det.setfilter("desp_id = '" + ls_desp_id + "'") desp_det.setfilter("desp_id = '" + ls_desp_id + "'")
desp_det.filter()*/ desp_det.filter()*/
if(varValuePurInteg == "Y" || editOption > 0) if(varValuePurInteg == "Y" || editOption > 0)
{
//channelPartner and dis link retrieved earlier
if(channelPartner == null)
{
sql1 = "select channel_partner, dis_link from customer "
+" where cust_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link"));
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
//Took code from Porder amd conf
if(channelPartner == "Y" || editOption > 0)
{
if(disLink == "E" || editOption > 0 )
{
if(editOption == 2)
{ {
CreateRCPXML createRCPXML = new CreateRCPXML("w_despatch", "tran_id");
dataStr = createRCPXML.getTranXML(tranId, conn);
System.out.println("dataStr =[ " + dataStr + "]");
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb(); //channelPartner and dis link retrieved earlier
errString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_despatch", ""+editOption , xtraParams, conn); if(channelPartner == null || channelPartner.trim().length() == 0 )
createRCPXML = null; {
e12CreateBatchLoad = null; sql1 = "select channel_partner, dis_link from customer "
+" where cust_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
if (errString != null && "SUCCESS".equals(errString)) rs1 = pstmt1.executeQuery();
{ while(rs1.next())
System.out.println("retString from batchload = [" + errString + "]"); {
} channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link"));
}
} }
/*if (ls_dis_link = 'A' or ls_dis_link = 'S' or ls_dis_link = 'C') and ls_var_value = 'Y' then //prince --17-11-06 rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
//Took code from Porder amd conf
if(channelPartner == "Y" || editOption > 0)
{
if(disLink == "E" || editOption > 0 )
{
if(editOption == 2)
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_despatch", "tran_id");
dataStr = createRCPXML.getTranXML(tranId, conn);
System.out.println("dataStr =[ " + dataStr + "]");
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
errString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_despatch", ""+editOption , xtraParams, conn);
createRCPXML = null;
e12CreateBatchLoad = null;
if (errString != null && "SUCCESS".equals(errString))
{
System.out.println("retString from batchload = [" + errString + "]");
}
}
}
/*if (ls_dis_link = 'A' or ls_dis_link = 'S' or ls_dis_link = 'C') and ls_var_value = 'Y' then //prince --17-11-06
ls_hdr = despatch_edit.describe("datawindow.data") ls_hdr = despatch_edit.describe("datawindow.data")
ls_det = desp_det.describe("datawindow.data") ls_det = desp_det.describe("datawindow.data")
//sqlca_cp,ls_dis_link argument added by jasmina 18/06/09-DI78SUN061 //sqlca_cp,ls_dis_link argument added by jasmina 18/06/09-DI78SUN061
merrcode = nvo_porcp.gbf_create_porcp(ls_hdr,ls_det,sqlca_cp,ls_dis_link) merrcode = nvo_porcp.gbf_create_porcp(ls_hdr,ls_det,sqlca_cp,ls_dis_link)
if len(trim(merrcode)) > 0 then goto errfound if len(trim(merrcode)) > 0 then goto errfound
end if*/ end if*/
}
}
//Despatch confirm code ...
// merrcode = gbf_confirm_despatch(despatch_edit.describe("datawindow.data"), desp_det.describe("datawindow.data"),1)
exportOrderType = checkNull(distCommon.getDisparams("999999","EXPORT_DESPATCH_ORDER_TYPE",conn));//gf_getenv_dis('999999',"EXPORT_DESPATCH_ORDER_TYPE")
if(exportOrderType != "")
{
bondTaxGroup = checkNull(distCommon.getDisparams("999999","B17_BOND_TAX_GROUP",conn));
}
sql3 = "select sord_no,line_no,line_no__sord,exp_lev,item_code__ord,item_code,lot_no,lot_sl," +
"loc_code,unit__std,quantity__stduom,quantity,rate__stduom,no_art,lock_code " +
"from despatchdet where desp_id = ?";
pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1,tranId);
rs3 = pstmt3.executeQuery();
while ( rs3.next() )
{
if(statusDesp != "X") {
lineNo = checkNull(rs3.getString("line_no"));
lineNoSord = checkNull(rs3.getString("line_no__sord"));
expLev = checkNull(rs3.getString("exp_lev"));
itemCodeOrd = checkNull(rs3.getString("item_code__ord"));
itemCode = checkNull(rs3.getString("item_code"));
lotNo = checkNull(rs3.getString("lot_no"));
lotSl = checkNull(rs3.getString("lot_sl"));
locCode = checkNull(rs3.getString("loc_code"));
unitStd = checkNull(rs3.getString("unit__std"));
quantityStduom = rs3.getDouble("quantity__stduom");
quantity = rs3.getDouble("quantity");
rateStduom = rs3.getDouble("rate__stduom");
noArt = checkNull(rs3.getString("no_art"));
lockCode = checkNull(rs3.getString("lock_code"));
disparmVal = checkNull(distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn));//gf_getenv_dis('999999','QUARNTINE_LOCKCODE')
sql = " Select hold_qty as lc_hold_qty "
+" From stock Where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
hldQty = rs.getDouble("lc_hold_qty");
} }
pstmt.close(); }
pstmt = null;
rs.close(); //Despatch confirm code ...
rs = null;
// merrcode = gbf_confirm_despatch(despatch_edit.describe("datawindow.data"), desp_det.describe("datawindow.data"),1)
if(hldQty > 0.0)
{ exportOrderType = checkNull(distCommon.getDisparams("999999","EXPORT_DESPATCH_ORDER_TYPE",conn));//gf_getenv_dis('999999',"EXPORT_DESPATCH_ORDER_TYPE")
sql = "select count(*) as ll_cnt from inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
+" where a.tran_id = b.tran_id and b.tran_id = c.ref_no and c.item_code = ? and c.site_code = ? and c.loc_code = ?" if(exportOrderType != "")
+" and c.lot_no = ? and c.lot_sl = ? and b.lot_no = ?" {
+" and b.lot_sl = ? and (b.line_no_sl = 0 or b.line_no_sl is null)" bondTaxGroup = checkNull(distCommon.getDisparams("999999","B17_BOND_TAX_GROUP",conn));
+" and a.confirmed='Y' and b.hold_status ='H' and a.lock_code = ? "; }
sql3 = "select sord_no,line_no,line_no__sord,exp_lev,item_code__ord,item_code,lot_no,lot_sl," +
"loc_code,unit__std,quantity__stduom,quantity,rate__stduom,no_art,lock_code " +
"from despatchdet where desp_id = ?";
pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1,tranId);
rs3 = pstmt3.executeQuery();
while ( rs3.next() )
{
if(statusDesp != "X") {
lineNo = checkNull(rs3.getString("line_no"));
lineNoSord = checkNull(rs3.getString("line_no__sord"));
expLev = checkNull(rs3.getString("exp_lev"));
itemCodeOrd = checkNull(rs3.getString("item_code__ord"));
itemCode = checkNull(rs3.getString("item_code"));
lotNo = checkNull(rs3.getString("lot_no"));
lotSl = checkNull(rs3.getString("lot_sl"));
locCode = checkNull(rs3.getString("loc_code"));
unitStd = checkNull(rs3.getString("unit__std"));
quantityStduom = rs3.getDouble("quantity__stduom");
quantity = rs3.getDouble("quantity");
rateStduom = rs3.getDouble("rate__stduom");
noArt = checkNull(rs3.getString("no_art"));
lockCode = checkNull(rs3.getString("lock_code"));
disparmVal = checkNull(distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn));//gf_getenv_dis('999999','QUARNTINE_LOCKCODE')
sql = " Select hold_qty as lc_hold_qty "
+" From stock Where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode); pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode); pstmt.setString(2,siteCode);
pstmt.setString(3,locCode); pstmt.setString(3,locCode);
pstmt.setString(4,lotNo); pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl); pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,disparmVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("ll_cnt");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt > 0)
{
lockCode = disparmVal;
}
}//end of hld condn...
sql = "select channel_partner,dis_link,site_code__ch from site_customer where cust_code = ? and site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCodeDlv);
pstmt.setString(2,siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
channelPartner = checkNull(rs.getString("channel_partner"));
disLink = checkNull(rs.getString("dis_link"));
siteCodeDlv = checkNull(rs.getString("site_code__ch"));
if(channelPartner == null)//not found in above query
{
sql1 = "select channel_partner,dis_link, site_code from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,custCodeDlv);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link"));
siteCodeDlv = checkNull(rs1.getString("site_code__ch"));
if(channelPartner == null)
{
channelPartner = "N";
}
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
}
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(channelPartner == "N")
{
sql = "select lock_level from inv_lock where lock_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lockCode);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
lockLevel = checkNull(rs.getString("lock_level")); hldQty = rs.getDouble("lc_hold_qty");
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if(lockLevel == "I") if(hldQty > 0.0)
{ {
sql = "select hold_flag from item where item_code = ? "; sql = "select count(*) as ll_cnt from inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
+" where a.tran_id = b.tran_id and b.tran_id = c.ref_no and c.item_code = ? and c.site_code = ? and c.loc_code = ?"
+" and c.lot_no = ? and c.lot_sl = ? and b.lot_no = ?"
+" and b.lot_sl = ? and (b.line_no_sl = 0 or b.line_no_sl is null)"
+" and a.confirmed='Y' and b.hold_status ='H' and a.lock_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode); pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,disparmVal);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) if(rs.next())
{ {
holdFlag = checkNull(rs.getString("hold_flag")); cnt = rs.getInt("ll_cnt");
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if(holdFlag == "Y")
if(cnt > 0)
{ {
errString = itmDBAccessEJB.getErrorString("","VTCODE1","","",conn); lockCode = disparmVal;
return errString;
} }
}//end of hld condn...
sql = "select channel_partner,dis_link,site_code__ch from site_customer where cust_code = ? and site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCodeDlv);
pstmt.setString(2,siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
channelPartner = checkNull(rs.getString("channel_partner"));
disLink = checkNull(rs.getString("dis_link"));
siteCodeDlv = checkNull(rs.getString("site_code__ch"));
if(channelPartner == null)//not found in above query
{
sql1 = "select channel_partner,dis_link, site_code from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,custCodeDlv);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link"));
siteCodeDlv = checkNull(rs1.getString("site_code__ch"));
if(channelPartner == null)
{
channelPartner = "N";
}
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
}
} }
pstmt.close();
else if(lockLevel == "L") pstmt = null;
rs.close();
rs = null;
if(channelPartner == "N")
{ {
sql = "select hold_flag from item_lot_info where item_code = ? and lot_no = ?"; sql = "select lock_level from inv_lock where lock_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode); pstmt.setString(1,lockCode);
pstmt.setString(2,lotNo);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
holdFlagNew = checkNull(rs.getString("hold_flag")); lockLevel = checkNull(rs.getString("lock_level"));
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if(holdFlagNew == "Y") if(lockLevel == "I")
{ {
errString = itmDBAccessEJB.getErrorString("","VTCODE2","","",conn); sql = "select hold_flag from item where item_code = ? ";
return errString ; pstmt = conn.prepareStatement(sql);
} pstmt.setString(1,itemCode);
} rs = pstmt.executeQuery();
while(rs.next())
} {
holdFlag = checkNull(rs.getString("hold_flag"));
sql = " select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql); }
pstmt.setString(1,locCode); pstmt.close();
pstmt = null;
rs = pstmt.executeQuery(); rs.close();
while(rs.next()) rs = null;
{ if(holdFlag == "Y")
invStat = rs.getString("inv_stat"); {
} errString = itmDBAccessEJB.getErrorString("","VTCODE1","","",conn);
pstmt.close(); return errString;
pstmt = null; }
rs.close();
rs = null;
}
else if(lockLevel == "L")
sql = " select count(*) as count1 from sordalloc " {
+" where sale_order = ? " sql = "select hold_flag from item_lot_info where item_code = ? and lot_no = ?";
+" and line_no = ? " pstmt = conn.prepareStatement(sql);
+" and exp_lev = ? " pstmt.setString(1,itemCode);
+" and item_code__ord = ? " pstmt.setString(2,lotNo);
+" and item_code = ? " rs = pstmt.executeQuery();
+" and lot_no = ? " while(rs.next())
+" and lot_sl = ? " {
+" and loc_code = ? "; holdFlagNew = checkNull(rs.getString("hold_flag"));
}
pstmt = conn.prepareStatement(sql); pstmt.close();
pstmt.setString(1,sordNo); pstmt = null;
pstmt.setString(2,lineNo); rs.close();
pstmt.setString(3,expLev); rs = null;
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode); if(holdFlagNew == "Y")
pstmt.setString(6,lotNo); {
pstmt.setString(7,lotSl); errString = itmDBAccessEJB.getErrorString("","VTCODE2","","",conn);
pstmt.setString(8,locCode); return errString ;
}
rs = pstmt.executeQuery(); }
while(rs.next())
{ }
cnt = rs.getInt("count1");
} sql = " select inv_stat from location where loc_code = ? ";
pstmt.close(); pstmt = conn.prepareStatement(sql);
pstmt = null; pstmt.setString(1,locCode);
rs.close();
rs = null; rs = pstmt.executeQuery();
while(rs.next())
if(cnt == 0) {
{ invStat = rs.getString("inv_stat");
isAllocated = "N"; }
} pstmt.close();
else{
isAllocated = "Y";
}
if(isAllocated == "Y")
{
sql ="select qty_alloc from sordalloc "
+" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? "
+" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
if(rs.next())
{
qtyAlloc = rs.getDouble("qty_alloc");
}
pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if((qtyAlloc - quantityStduom) <= 0.0)
{
sql =" delete from sordalloc where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ?" sql = " select count(*) as count1 from sordalloc "
+" and lot_no = ? and lot_sl = ? and loc_code = ? "; +" where sale_order = ? "
+" and line_no = ? "
+" and exp_lev = ? "
+" and item_code__ord = ? "
+" and item_code = ? "
+" and lot_no = ? "
+" and lot_sl = ? "
+" and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt = rs.getInt("count1");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt == 0)
{
isAllocated = "N";
}
else{
isAllocated = "Y";
}
if(isAllocated == "Y")
{
sql ="select qty_alloc from sordalloc "
+" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? "
+" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
if(rs.next())
{
qtyAlloc = rs.getDouble("qty_alloc");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if((qtyAlloc - quantityStduom) <= 0.0)
{
sql =" delete from sordalloc where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ?"
+" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo); pstmt.setString(1,sordNo);
pstmt.setString(2,lineNo); pstmt.setString(2,lineNo);
...@@ -718,636 +719,678 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm ...@@ -718,636 +719,678 @@ public class DespatchConfirm extends ActionHandlerEJB implements DespatchConfirm
pstmt.setString(6,lotNo); pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl); pstmt.setString(7,lotSl);
pstmt.setString(8,locCode); pstmt.setString(8,locCode);
pstmt.executeQuery(); pstmt.executeQuery();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
else{ else{
sql = "Update sordalloc set status = 'D', qty_alloc = qty_alloc - ? " sql = "Update sordalloc set status = 'D', qty_alloc = qty_alloc - ? "
+" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? " +" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? "
+" and lot_no = ? and lot_sl = ? and loc_code = ? "; +" and lot_no = ? and lot_sl = ? and loc_code = ? ";
pstmt = conn.prepareStatement(sql);
//pstmt.setDouble(1,qtyAlloc - quantityStduom);
pstmt.setDouble(1,quantityStduom);
pstmt.setString(2,sordNo);
pstmt.setString(3,lineNo);
pstmt.setString(4,expLev);
pstmt.setString(5,itemCodeOrd);
pstmt.setString(6,itemCode);
pstmt.setString(7,lotNo);
pstmt.setString(8,lotSl);
pstmt.setString(9,locCode);
pstmt.executeQuery();
pstmt.close();
pstmt = null;
}
}
sql = " update sorditem set status = 'D', qty_alloc = qty_alloc - ? , " +
" qty_desp = (case when qty_desp is null then 0 else qty_desp end ) + ? , "+
" date_desp = ? where sale_order = ? and line_no = ? and exp_lev = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
//pstmt.setDouble(1,qtyAlloc - quantityStduom); // pstmt.setDouble(1,quantity);
pstmt.setDouble(1,quantityStduom); // pstmt.setDouble(2,qtyAlloc - quantityStduom);
pstmt.setString(2,sordNo); pstmt.setDouble(1, quantityStduom);
pstmt.setString(3,lineNo); pstmt.setDouble(2,quantity);
pstmt.setString(4,expLev); pstmt.setTimestamp(3,despDate);
pstmt.setString(5,itemCodeOrd); pstmt.setString(4,sordNo);
pstmt.setString(6,itemCode); pstmt.setString(5,lineNo);
pstmt.setString(7,lotNo); pstmt.setString(6,expLev);
pstmt.setString(8,lotSl); pstmt.executeUpdate();
pstmt.setString(9,locCode);
pstmt.executeQuery();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} // CALLING FUNCTION FOR UPDATING STOCK AFTER DESPATCH PICKING GRADE,ACCT_CODE__CR AND CCTR_CODE__CR FROM STOCK
String ordType = "",itemSer = "",acctCodeDr = "",cctrCodeDr = "",acctCodeCr = "",cctrCodeCr = "",invLock = "",holdTranId = "";
}
sql = " update sorditem set status = 'D', qty_alloc = qty_alloc - ? , " +
" qty_desp = (case when qty_desp is null then 0 else qty_desp end ) + ? , "+
" date_desp = ? where sale_order = ? and line_no = ? and exp_lev = ? "; sql = " select grade ,acct_code__inv,cctr_code__inv 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.setDouble(1,quantity); pstmt.setString(1,siteCode);
// pstmt.setDouble(2,qtyAlloc - quantityStduom);
pstmt.setDouble(1, quantityStduom); pstmt.setString(2,itemCode);
pstmt.setDouble(2,quantity); pstmt.setString(3,locCode);
pstmt.setTimestamp(3,despDate); pstmt.setString(4,lotNo);
pstmt.setString(4,sordNo); pstmt.setString(5,lotSl);
pstmt.setString(5,lineNo);
pstmt.setString(6,expLev);
pstmt.executeUpdate();
rs = pstmt.executeQuery();
pstmt.close(); while(rs.next())
pstmt = null; {
grade = rs.getString("grade");
// CALLING FUNCTION FOR UPDATING STOCK AFTER DESPATCH PICKING GRADE,ACCT_CODE__CR AND CCTR_CODE__CR FROM STOCK acctCodeCr = rs.getString("acct_code__inv");
String ordType = "",itemSer = "",acctCodeDr = "",cctrCodeDr = "",acctCodeCr = "",cctrCodeCr = "",invLock = "",holdTranId = ""; cctrCodeCr = rs.getString("cctr_code__inv");
}
pstmt.close();
pstmt = null;
rs.close();
sql = " select grade ,acct_code__inv,cctr_code__inv from stock " rs = null;
+" where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
// PICKING ORDER TYPE, ITEM SER FROM SORDER
pstmt.setString(2,itemCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo); sql = " select order_type, item_ser from sorder "
pstmt.setString(5,lotSl); +" where sale_order = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
grade = rs.getString("grade"); ordType = rs.getString("order_type");
acctCodeCr = rs.getString("acct_code__inv"); itemSer = rs.getString("item_ser");
cctrCodeCr = rs.getString("cctr_code__inv"); }
} pstmt.close();
pstmt.close(); pstmt = null;
pstmt = null; rs.close();
rs.close(); rs = null;
rs = null;
//PICKING ACCT_CODE AND CCTR_CODE COGS. IF CCTR CODE COGS IS BLANK THEN REPLACE WITH CREDIT CCTR CODE AS PER SHIRI
// PICKING ORDER TYPE, ITEM SER FROM SORDER sql = " select acct_code__cogs, cctr_code__cogs from item_acct_detr where item_ser = ? and grp_code = ' '"
+" and item_code = ' ' and tran_type = ? ";
sql = " select order_type, item_ser from sorder " pstmt = conn.prepareStatement(sql);
+" where sale_order = ?"; pstmt.setString(1,itemSer);
pstmt = conn.prepareStatement(sql); pstmt.setString(2,ordType);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
ordType = rs.getString("order_type");
itemSer = rs.getString("item_ser");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
//PICKING ACCT_CODE AND CCTR_CODE COGS. IF CCTR CODE COGS IS BLANK THEN REPLACE WITH CREDIT CCTR CODE AS PER SHIRI
sql = " select acct_code__cogs, cctr_code__cogs from item_acct_detr where item_ser = ? and grp_code = ' '"
+" and item_code = ' ' and tran_type = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemSer);
pstmt.setString(2,ordType);
rs = pstmt.executeQuery();
while(rs.next())
{
acctCodeDr = rs.getString("acct_code__cogs");
cctrCodeDr = rs.getString("cctr_code__cogs");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cctrCodeDr == null || cctrCodeDr.trim().length() == 0)
{
cctrCodeDr = cctrCodeCr;
}
updDesp.put("hold_lock", "N");
updDesp.put("tran_date",despDate);
updDesp.put("tran_ser","S-DSP");
updDesp.put("tran_id", tranId);
updDesp.put("tran_type", "ID");
updDesp.put("line_no", lineNo);
updDesp.put("sorder_no",sordNo);
updDesp.put("item_code", itemCode);
updDesp.put("site_code", siteCode);
updDesp.put("loc_code", locCode);
updDesp.put("unit", unitStd);
updDesp.put("lot_no", lotNo);
updDesp.put("lot_sl", lotSl);
updDesp.put("quantity", quantity);
updDesp.put("qty_stduom", quantityStduom);
updDesp.put("rate", rateStduom);
updDesp.put("item_ser",itemSer);
updDesp.put("inv_stat", invStat);
updDesp.put("grade", grade);
updDesp.put("acct_code__dr", acctCodeDr);
updDesp.put("cctr_code__dr", cctrCodeDr);
updDesp.put("acct_code__cr",acctCodeCr);
updDesp.put("cctr_code__cr", cctrCodeCr);
updDesp.put("gross_weight", grossWeight);
updDesp.put("tare_weight", tareWeight);
updDesp.put("net_weight", netweight);
updDesp.put("no_art",noArt);
if(hldQty > 0.0)
{
sql = " Select a.lock_code ,a.tran_id "
+ " From inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
+ " Where a.tran_id = b.tran_id "
+ " And b.tran_id = c.ref_no "
+ " And c.item_code = ? "
+ " And c.site_code = ? "
+ " And c.loc_code = ? "
+ " And c.lot_no = ? "
+ " And c.lot_sl = ? "
+ " And b.lot_no = ? "
+ " And b.lot_sl = ? "
+ " And (b.line_no_sl = 0 or b.line_no_sl is null) "
+ " And a.confirmed='Y' "
+ " And b.hold_status ='H' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
invLock = rs.getString("lock_code");
holdTranId = rs.getString("tran_id");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(invLock != null && invLock.trim().length() > 0 && availableYN == "N")
{
if(invLock.equals(disparmVal))
{
updDesp.put("hold_lock", "Y");
}
else
{
updDesp.put("hold_lock", "N");
}
}
if("Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()))
{
updDesp.put("hold_qty", quantityStduom);
}
}
StockUpdate stckupd = new StockUpdate();
errString = stckupd.updateStock(updDesp, xtraParams, conn);
//CALLING UPDATE OF STOCK FOR TRANSIT ENTRY
if(channelPartner == "Y" && disLink == "E")
{
sql = "select var_value from disparm where prd_code='999999' and var_name='TRANSIT_LOC'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
acctCodeDr = rs.getString("acct_code__cogs");
varValueTransit = rs.getString("var_value");//location code cctrCodeDr = rs.getString("cctr_code__cogs");
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
sql = "select inv_stat from location where loc_code = ? "; if(cctrCodeDr == null || cctrCodeDr.trim().length() == 0)
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,varValueTransit); cctrCodeDr = cctrCodeCr;
}
updDesp.put("hold_lock", "N");
updDesp.put("tran_date",despDate);
updDesp.put("tran_ser","S-DSP");
updDesp.put("tran_id", tranId);
updDesp.put("tran_type", "ID");
updDesp.put("line_no", lineNo);
updDesp.put("sorder_no",sordNo);
updDesp.put("item_code", itemCode);
updDesp.put("site_code", siteCode);
updDesp.put("loc_code", locCode);
updDesp.put("unit", unitStd);
updDesp.put("lot_no", lotNo);
updDesp.put("lot_sl", lotSl);
updDesp.put("quantity", quantity);
updDesp.put("qty_stduom", quantityStduom);
updDesp.put("rate", rateStduom);
updDesp.put("item_ser",itemSer);
updDesp.put("inv_stat", invStat);
updDesp.put("grade", grade);
updDesp.put("acct_code__dr", acctCodeDr);
updDesp.put("cctr_code__dr", cctrCodeDr);
updDesp.put("acct_code__cr",acctCodeCr);
updDesp.put("cctr_code__cr", cctrCodeCr);
updDesp.put("gross_weight", grossWeight);
updDesp.put("tare_weight", tareWeight);
updDesp.put("net_weight", netweight);
updDesp.put("no_art",noArt);
if(hldQty > 0.0)
{
sql = " Select a.lock_code ,a.tran_id "
+ " From inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
+ " Where a.tran_id = b.tran_id "
+ " And b.tran_id = c.ref_no "
+ " And c.item_code = ? "
+ " And c.site_code = ? "
+ " And c.loc_code = ? "
+ " And c.lot_no = ? "
+ " And c.lot_sl = ? "
+ " And b.lot_no = ? "
+ " And b.lot_sl = ? "
+ " And (b.line_no_sl = 0 or b.line_no_sl is null) "
+ " And a.confirmed='Y' "
+ " And b.hold_status ='H' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
invLock = rs.getString("lock_code");
holdTranId = rs.getString("tran_id");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(invLock != null && invLock.trim().length() > 0 && availableYN == "N")
{
if(invLock.equals(disparmVal))
{
updDesp.put("hold_lock", "Y");
}
else
{
updDesp.put("hold_lock", "N");
}
}
if("Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()))
{
updDesp.put("hold_qty", quantityStduom);
}
}
StockUpdate stckupd = new StockUpdate();
errString = stckupd.updateStock(updDesp, xtraParams, conn);
//CALLING UPDATE OF STOCK FOR TRANSIT ENTRY
if(channelPartner == "Y" && disLink == "E")
{
sql = "select var_value from disparm where prd_code='999999' and var_name='TRANSIT_LOC'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next())
{
varValueTransit = rs.getString("var_value");//location code
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,varValueTransit);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
invStatTransit = rs.getString("inv_stat"); invStatTransit = rs.getString("inv_stat");
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
sql = "select exp_date,mfg_date,site_code__mfg,pack_code,acct_code__inv,cctr_code__inv " sql = "select exp_date,mfg_date,site_code__mfg,pack_code,acct_code__inv,cctr_code__inv "
+" from stock where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? "; +" from stock where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
while(rs.next())
{
updDespTransit.put("acct_code_inv", rs.getString("acct_code__inv"));
updDespTransit.put("cctr_code_inv", rs.getString("cctr_code__inv"));
updDespTransit.put("exp_date", rs.getTimestamp("exp_date"));
updDespTransit.put("mfg_date", rs.getTimestamp("mfg_date"));
updDespTransit.put("site_code__mfg", rs.getString("site_code__mfg"));
updDespTransit.put("pack_code", rs.getString("pack_code"));
updDespTransit.put("inv_stat", invStatTransit);
updDespTransit.put("loc_code",varValueTransit);
updDespTransit.put("tran_type","R");
updDespTransit.put("site_code",siteCodeDlv);
updDespTransit.put("hold_qty",0.0);
errString = stckupd.updateStock(updDespTransit, xtraParams, conn);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
//following code added by ajit on date 19/08/2014
if(errString == null || errString.trim().length() == 0 && "Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()) )
{
sql = " Update stock set hold_qty = case when hold_qty is null then 0 else hold_qty end + ? Where item_code = ? And site_code = ? "
+" And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,quantityStduom);
pstmt.setString(2,itemCode);
pstmt.setString(3,siteCodeDlv);
pstmt.setString(4,invStatTransit);
pstmt.setString(5,lotNo);
pstmt.setString(6,lotSl);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = "update inv_hold_det set loc_code = ?, site_code = ? Where tran_id = ? And item_code = ? And lot_no = ? "
+" And lot_sl = ? And loc_code = ? And hold_status ='H'" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit);
pstmt.setString(2,itemCode);
pstmt.setString(3,holdTranId);
pstmt.setString(4,itemCode);
pstmt.setString(5,lotNo);
pstmt.setString(6,lotSl);
pstmt.setString(7,locCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = " update inv_hold_rel_trace set loc_code = ?, site_code = ? Where ref_no = ? And site_code = ? "
+" And item_code = ? And lot_no = ? And lot_sl = ? And loc_code = ? And hold_qty > 0 ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit);
pstmt.setString(2,siteCodeDlv);
pstmt.setString(3,holdTranId);
pstmt.setString(4,siteCode);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}//end of transit entry
//Updating sorder status.
sql = "select sum(quantity) as lc_order_qty , sum(quantity) - sum(qty_desp) as mqty_chk from sorditem "
+ "where sale_order = ? and line_type = 'I'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(1,siteCode); rs = pstmt.executeQuery();
pstmt.setString(2,itemCode);
pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
updDespTransit.put("acct_code_inv", rs.getString("acct_code__inv"));
updDespTransit.put("cctr_code_inv", rs.getString("cctr_code__inv")); OrderQty = rs.getDouble("lc_order_qty");
updDespTransit.put("exp_date", rs.getTimestamp("exp_date")); mQtyCheck = rs.getDouble("mqty_chk");
updDespTransit.put("mfg_date", rs.getTimestamp("mfg_date"));
updDespTransit.put("site_code__mfg", rs.getString("site_code__mfg"));
updDespTransit.put("pack_code", rs.getString("pack_code"));
updDespTransit.put("inv_stat", invStatTransit);
updDespTransit.put("loc_code",varValueTransit);
updDespTransit.put("tran_type","R");
updDespTransit.put("site_code",siteCodeDlv);
updDespTransit.put("hold_qty",0.0);
errString = stckupd.updateStock(updDespTransit, xtraParams, conn);
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if(mQtyCheck > 0.0) //PARTIAL DESPATCH
//following code added by ajit on date 19/08/2014 {
if(errString == null || errString.trim().length() == 0 && "Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()) ) status = "P";
allocFlag = "N";
{ }
sql = " Update stock set hold_qty = case when hold_qty is null then 0 else hold_qty end + ? Where item_code = ? And site_code = ? " else
+" And loc_code = ? And lot_no = ? And lot_sl = ? "; {
status = "C";
allocFlag = "Y";
}
sql = " update sorder set status = ?,order_status = ?, status_date = ?,alloc_flag = ? "
+" where sale_order = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,quantityStduom); pstmt.setString(1,status);
pstmt.setString(2,itemCode); pstmt.setString(2,status);
pstmt.setString(3,siteCodeDlv); pstmt.setTimestamp(3,despDate);
pstmt.setString(4,invStatTransit); pstmt.setString(4,allocFlag);
pstmt.setString(5,lotNo); pstmt.setString(5,sordNo);
pstmt.setString(6,lotSl);
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
sql = "update inv_hold_det set loc_code = ?, site_code = ? Where tran_id = ? And item_code = ? And lot_no = ? " //End of updating sorder status.
+" And lot_sl = ? And loc_code = ? And hold_status ='H'" ;
sql = " select pending_order from sorder where sale_order = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit); pstmt.setString(1,sordNo);
pstmt.setString(2,itemCode); rs = pstmt.executeQuery();
pstmt.setString(3,holdTranId); while(rs.next())
pstmt.setString(4,itemCode); {
pstmt.setString(5,lotNo); pendOrder = checkNull(rs.getString("pending_order"));
pstmt.setString(6,lotSl); }
pstmt.setString(7,locCode);
pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close();
sql = " update inv_hold_rel_trace set loc_code = ?, site_code = ? Where ref_no = ? And site_code = ? " rs = null;
+" And item_code = ? And lot_no = ? And lot_sl = ? And loc_code = ? And hold_qty > 0 ";
if(pendOrder == "I")
{
sql = "Select (case when ordc_perc is null then 0 else ordc_perc end) as mCancperc "
+" from item where item_code = ? " ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit); pstmt.setString(1,itemCode);
pstmt.setString(2,siteCodeDlv);
pstmt.setString(3,holdTranId);
pstmt.setString(4,siteCode);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}//end of transit entry
//Updating sorder status.
sql = "select sum(quantity) as lc_order_qty , sum(quantity) - sum(qty_desp) as mqty_chk from sorditem "
+ "where sale_order = ? and line_type = 'I'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
OrderQty = rs.getDouble("lc_order_qty");
mQtyCheck = rs.getDouble("mqty_chk");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(mQtyCheck > 0.0) //PARTIAL DESPATCH
{
status = "P";
allocFlag = "N";
}
else
{
status = "C";
allocFlag = "Y";
}
sql = " update sorder set status = ?,order_status = ?, status_date = ?,alloc_flag = ? "
+" where sale_order = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,status);
pstmt.setString(2,status);
pstmt.setTimestamp(3,despDate);
pstmt.setString(4,allocFlag);
pstmt.setString(5,sordNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
//End of updating sorder status.
sql = " select pending_order from sorder where sale_order = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
pendOrder = checkNull(rs.getString("pending_order")); mCancperc = rs.getDouble("mCancperc");
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if(pendOrder == "I") if(OrderQty > 0.0)
{ {
if((mQtyCheck/OrderQty * 100) <= mCancperc)
sql = "Select (case when ordc_perc is null then 0 else ordc_perc end) as mCancperc " {
+" from item where item_code = ? " ; sql = " update sorditem set status = 'C' where sale_order = ? and line_no = ? and exp_lev= ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode); pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
pstmt.setString(3,expLev);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = "update sorddet set status = 'C' where sale_order = ? and line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
sql = "select count(1) as ll_cnt from sorddet where sale_order = ? and status <> 'C'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
mCancperc = rs.getDouble("mCancperc"); detCount = rs.getInt("ll_cnt");
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if(detCount == 0)
if(OrderQty > 0.0)
{ {
if((mQtyCheck/OrderQty * 100) <= mCancperc) sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' "
{ +"where sale_order = ? " ;
sql = " update sorditem set status = 'C' where sale_order = ? and line_no = ? and exp_lev= ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
pstmt.setString(3,expLev);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = "update sorddet set status = 'C' where sale_order = ? and line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
sql = "select count(1) as ll_cnt from sorddet where sale_order = ? and status <> 'C'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
{
detCount = rs.getInt("ll_cnt");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(detCount == 0)
{
sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' "
+"where sale_order = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,despDate);
pstmt.setString(2,sordNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}
}//end of if pending order == "I"
else if(pendOrder == "Y")
{
sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' where sale_order = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,despDate); pstmt.setTimestamp(1,despDate);
pstmt.setString(2,sordNo); pstmt.setString(2,sordNo);
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
} }
//If eou is site and EXPORT order type than Updating Bond Value, bond value shd be Credited }//end of if pending order == "I"
sql = "Select case when eou is null then 'N' else eou end as ls_eou From site Where site_code = ? " ;
pstmt = conn.prepareStatement(sql); else if(pendOrder == "Y")
pstmt.setString(1,siteCode); {
rs = pstmt.executeQuery(); sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' where sale_order = ?";
while(rs.next())
{ pstmt = conn.prepareStatement(sql);
eou = rs.getString("ls_eou"); pstmt.setTimestamp(1,despDate);
} pstmt.setString(2,sordNo);
pstmt.close();
pstmt = null; pstmt.executeUpdate();
rs.close();
rs = null; pstmt.close();
if("Y".equalsIgnoreCase(eou) && (exportOrderType == ordType) && bondTaxGroup!= null && bondTaxGroup.trim().length() > 0) pstmt = null;
}
//If eou is site and EXPORT order type than Updating Bond Value, bond value shd be Credited
sql = "Select case when eou is null then 'N' else eou end as ls_eou From site Where site_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
eou = rs.getString("ls_eou");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if("Y".equalsIgnoreCase(eou) && (exportOrderType == ordType) && bondTaxGroup!= null && bondTaxGroup.trim().length() > 0)
{
bondTaxAmt = 0.0;
sql = "select Sum(case when tax_amt is null then 0 else tax_amt end) as tax_amt from taxtran Where tran_code = 'S-DSP' and tran_id = ? "
+ "and line_no = ? and tax_code IN ( select tax_code from tax where tax_group in ( ? )" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setString(2,lineNo);
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery();
while(rs.next())
{ {
bondTaxAmt = 0.0; bondTaxAmt = rs.getDouble("tax_amt");
sql = "select Sum(case when tax_amt is null then 0 else tax_amt end) as tax_amt from taxtran Where tran_code = 'S-DSP' and tran_id = ? " }
+ "and line_no = ? and tax_code IN ( select tax_code from tax where tax_group in ( ? )" ; pstmt.close();
pstmt = conn.prepareStatement(sql); pstmt = null;
pstmt.setString(1,tranId); rs.close();
pstmt.setString(2,lineNo); rs = null;
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery(); if(bondTaxAmt != 0.0)
while(rs.next()) {
{ int cnt4=0;
bondTaxAmt = rs.getDouble("tax_amt"); bondValue = 0.0;
} sql = "select bond_no, case when bond_value is null then 0 else bond_value end as bond_value,case when bank_guarantee is null then 0 else bank_guarantee end "
+ " as lc_bank_guarantee from b17_bond where site_code = ? and ? >= eff_from and ? <= valid_upto "
+" and case when confirmed is null then 'N' else confirmed end = 'Y' and bond_type = 'B' " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setTimestamp(2,despDate);
pstmt.setTimestamp(3,despDate);
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt4++;
bondNo = rs.getString("bond_no");
bondValue = rs.getDouble("bond_value");
bankGuarantee = rs.getDouble("lc_bank_guarantee");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt4 == 0)
{
errString = itmDBAccessEJB.getErrorString("","VTB17ERR1","","",conn);
return errString ;
}
else if(bankGuarantee < (bondValue+bondTaxAmt))
{
errString = itmDBAccessEJB.getErrorString("","VTB17ERR2","","",conn);
return errString ;
}
else
{
sql = "update b17_bond set bond_value = ? where bond_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,bondValue+bondTaxAmt);
pstmt.setString(2,bondNo);
pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close();
rs = null;
if(bondTaxAmt != 0.0)
{
int cnt4=0;
bondValue = 0.0;
sql = "select bond_no, case when bond_value is null then 0 else bond_value end as bond_value,case when bank_guarantee is null then 0 else bank_guarantee end "
+ " as lc_bank_guarantee from b17_bond where site_code = ? and ? >= eff_from and ? <= valid_upto "
+" and case when confirmed is null then 'N' else confirmed end = 'Y' and bond_type = 'B' " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setTimestamp(2,despDate);
pstmt.setTimestamp(3,despDate);
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt4++;
bondNo = rs.getString("bond_no");
bondValue = rs.getDouble("bond_value");
bankGuarantee = rs.getDouble("lc_bank_guarantee");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt4 == 0)
{
errString = itmDBAccessEJB.getErrorString("","VTB17ERR1","","",conn);
return errString ;
}
else if(bankGuarantee < (bondValue+bondTaxAmt))
{
errString = itmDBAccessEJB.getErrorString("","VTB17ERR2","","",conn);
return errString ;
}
else
{
sql = "update b17_bond set bond_value = ? where bond_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,bondValue+bondTaxAmt);
pstmt.setString(2,bondNo);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
} }
} }
}
}//status not cancelled
}//status not cancelled }
pstmt3.close();
pstmt3 = null;
rs3.close();
rs3 = null;
} }
pstmt3.close();
pstmt3 = null;
rs3.close();
rs3 = null;
}
System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString);
System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString);
if(errString == null || errString.trim().length()== 0)
if(errString == null || errString.trim().length()== 0) {
{ System.out.println("Insiding Despatch Confirmation!!!!!!");
System.out.println("Insiding Despatch Confirmation!!!!!!"); sql = "update despatch set confirmed = 'Y', conf_date = ? where desp_id = ?";
sql = "update despatch set confirmed = 'Y', conf_date = ? where desp_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt = conn.prepareStatement(sql); pstmt.setTimestamp(1,new Timestamp(System.currentTimeMillis()));
pstmt.setTimestamp(1,new Timestamp(System.currentTimeMillis())); pstmt.setString(2,tranId);
pstmt.setString(2,tranId);
int confirmCnt = pstmt.executeUpdate();
int confirmCnt = pstmt.executeUpdate();
pstmt.close();
pstmt.close(); pstmt = null;
pstmt = null;
if(confirmCnt > 0)
if(confirmCnt > 0) {
{ InvAcct inv = new InvAcct();
System.out.println(">>The selected transaction is confirmed!!!!"); errString = inv.despatchPost(tranId,"S-DSP",conn);
errString= "<?xml version='1.0'?><Root><message>VTPOSTDES</message><TranID>"+tranId+"</TranID></errors></Root>"; if(errString.trim().length() == 0 || errString == null)
System.out.println("@@@@@ retString:" + errString); {
} if("Y".equalsIgnoreCase(autoInvOnDesp))
{
/*sql = "select confirmed from despatch where desp_id = ?"; String fromSaleOrder="", fromCustCode="", orderType="", siteCodeShip="";
Timestamp fromDate = null;
sql = " select d.sord_no,d.cust_code,so.order_type, d.desp_date, so.site_code__ship " +
" from despatch d, sorder so " +
" where d.desp_id = ? and d.sord_no = so.sale_order ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId );
rs = pstmt.executeQuery();
if(rs.next())
{
fromSaleOrder = checkNull(rs.getString("sord_no"));
fromCustCode = checkNull(rs.getString("cust_code"));
orderType = checkNull(rs.getString("order_type"));
fromDate = rs.getTimestamp("desp_date");
siteCodeShip = checkNull(rs.getString("site_code__ship"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
System.out.println("@@@@@@@@@ fromSaleOrder["+fromSaleOrder+"]fromCustCode["+fromCustCode+"]orderType["+orderType+"]fromDate["+fromDate+"]siteCodeShip["+siteCodeShip+"]");
// setting default value like post order default
String clubOrder = "",clubPendingOrd="",adjDrcr="",adjCustAdv="",advAdjMode="",adjNewProdInv="";
//Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false;
clubOrder = "N";
clubPendingOrd="N";
adjDrcr="N";
adjCustAdv="N";
advAdjMode="C";
adjNewProdInv="N";
PostOrderProcess postOrderProcess = new PostOrderProcess();
// fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn
errString= postOrderProcess.invPosting( fromSaleOrder, fromSaleOrder, fromCustCode, fromCustCode, tranId , orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn);
System.out.println("@@@@@@@@@689 invPosting() errString::::::["+errString+"]");
}
}
if( errString == null || errString.trim().length() == 0)
{
System.out.println("errCode in despatch posting===="+errString);
System.out.println(">>The selected transaction is confirmed!!!!");
errString= "<?xml version='1.0'?><Root><message>VTPOSTDES</message><TranID>"+tranId+"</TranID></errors></Root>";
System.out.println("@@@@@ retString:[" + errString+"]");
}
}
/*sql = "select confirmed from despatch where desp_id = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId); pstmt.setString(1,tranId);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -1360,64 +1403,64 @@ System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errS ...@@ -1360,64 +1403,64 @@ System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errS
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
System.out.println("@@@@@@@@@@@@test:::desp_id["+tranId+"]confirm["+confirm+"]"); System.out.println("@@@@@@@@@@@@test:::desp_id["+tranId+"]confirm["+confirm+"]");
*/ */
} }
} }
catch(Exception e) catch(Exception e)
{
try
{
conn.rollback();
}
catch (Exception e1)
{
}
e.printStackTrace();
System.out.println("Exception ::"+e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(pstmt1 != null)
{ {
pstmt1.close(); try
pstmt1 = null; {
} conn.rollback();
if(pstmt != null) }
catch (Exception e1)
{
}
e.printStackTrace();
System.out.println("Exception ::"+e.getMessage());
throw new ITMException(e);
}
finally
{ {
pstmt.close(); try
pstmt = null; {
}
/*if( conn != null && ! conn.isClosed() )
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
/*if( conn != null && ! conn.isClosed() )
{ {
conn.close(); conn.close();
conn = null; conn = null;
}*/ }*/
}
catch(Exception ef)
{
System.out.println(ef.getMessage());
ef.printStackTrace();
throw new ITMException(ef);
}
}
return errString;
} }
catch(Exception ef)
{
System.out.println(ef.getMessage());
ef.printStackTrace();
throw new ITMException(ef);
}
}
return errString;
}
private String checkNull(String inp) private String checkNull(String inp)
{ {
if(inp == null) if(inp == null)
inp = " "; inp = " ";
return inp.trim(); return inp.trim();
} }
} }
package ibase.webitm.ejb.dis;
import ibase.planner.utility.ITMException;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.EMail;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.fin.FinCommon;
//import ibase.utility.MailInfo;
//import ibase.webitm.ejb.ITMDBAccessEJB;
//import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.TransIDGenerator;
//import ibase.webitm.utility.GenericUtility;
import java.io.File;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
public class InvoiceDrcrAdj
{
public String invoiceDrcrAdj(String siteCode, String invoiceId, String custCode, String itemSer, double netAmt, boolean adjDrCr, boolean adjAdv, String advAdj, boolean adjNewProdInv, String frtDrnArr[], Connection conn) throws RemoteException,ITMException
{
///////////////////////////////////////////
//14/03/01 manoharan update of receivables commented
//only insert of receivables_adj records will be taken place in
//this function. The related updates will be done when the invoice
//is confirmed
//
//what if one invoice is not confirmed and another invoice is
//generated for the same customer/site ?????????????????
String errString = "", tranID = "", tranSer = "", refNo = "", adjTranSer = "", adjRefNo = "",mOrderNo = "",finScheme = "";
String nextID = "", status = "", refType = "",ignoreDrDays = "",ordTypeNewPrd = "", sqlStr = "", tranSeries = "", asjCustAdv = "";
double netAmount = 0, mTotAmt = 0, mAdjAmt = 0, mDiffAmt = 0, mSetAmt = 0;//, mAmt = 0
double mChkAmt = 0, mDrAmt = 0;//, mAmtAdj
int mctr = 1, mChkRec = 0,llIgnoreDrDays = 0, llCrDays = 0;
Timestamp mRefDate = null;
String rcpNo = "",siteCodeRcp = "",siteCodeDlv ="",subsNo = "",drnNotIn = "";
String tempStr;
//09-01-02 Arif
String keystr = "",adjustNewProduct = "";//added radhakrishnan on 16-04-04
//09-01-02 End Arif
//03-08-2005 manoharan moved from below
String tranTypeFinChrgDrn = "", trnTypArray[], ordTypArray[], sType = "", tempStrType = "";
FinCommon finCommon = null;
DistCommon distCommon = null;
E12GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
PreparedStatement pstmt = null,pstmt1 = null, pstmtInsert = null, pstmtUpd = null;
ResultSet rs = null, rs1 = null;
//String ls_transer, ls_refno, ls_tranid
double lcAdj = 0;
String xmlValues = null;
String mTranId="", mTranSer="", mRefNo="";
try
{
finCommon = new FinCommon();
distCommon = new DistCommon();
genericUtility = new E12GenericUtility();
itmDBAccessEJB = new ITMDBAccessEJB();
//24/01/14 manoharan FI3JSUN007 adjust freight dr note also
drnNotIn = " ";
if (frtDrnArr.length == 1)
{
if ( frtDrnArr[0] == null || frtDrnArr[0].trim().length() == 0)
{
frtDrnArr[0] = " ";
}
}
drnNotIn ="";
for(int i = 0; i < frtDrnArr.length; i++)
{
drnNotIn =drnNotIn+"'"+frtDrnArr[i]+"',";
}
drnNotIn =drnNotIn.substring(0,drnNotIn.length()-1);
System.out.println("12-Mar-16 manoharan drnNotIn after ["+drnNotIn + "]");
adjustNewProduct = distCommon.getDisparams("999999","ADJUST_NEWPRODUCT",conn);
if (!"NULLFOUND".equals(adjustNewProduct) || "Y".equals(adjustNewProduct) )
{
ordTypeNewPrd = distCommon.getDisparams("999999","ORD_TYPE_NEWPRD",conn);
}
else
{
ordTypeNewPrd = " ";
}
ordTypeNewPrd = ordTypeNewPrd.trim();
tranTypeFinChrgDrn = distCommon.getDisparams("999999","IGNORE_TYPE_FINCHRG",conn);
if ("NULLFOUND".equals(tranTypeFinChrgDrn))
{
tranTypeFinChrgDrn = " ";
}
//end 03-08-2005 manoharan moved from below
adjTranSer = "S-INV";
//in below Sql cr_days added by Jasmina 29/08/08-DI89SUN015
sqlStr ="select invoice_id, tran_date, inv_type,sale_order, cr_days from invoice "
+ "where invoice_id = ? " ;
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,invoiceId);
rs = pstmt.executeQuery();
if(rs.next())
{
adjRefNo = rs.getString("invoice_id");
mRefDate = rs.getTimestamp("tran_date");
refType = rs.getString("inv_type");
mOrderNo = rs.getString("sale_order");
llCrDays = rs.getInt("cr_days");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn);
return errString ;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//commented by Amit 04/05/05 as FN type checking is done thru disparm further.
//elseif (trim(refType) = 'FN' )
//return errString
//03-08-2005 manoharan new product order type taken from
//elseif (pos(ordTypeNewPrd,trim(refType)) > 0 )
System.out.println("12-Mar-16 manoharan ordTypeNewPrd ["+ordTypeNewPrd + "]");
if (ordTypeNewPrd.trim().length() > 0 )
{
String arrStr[] = ordTypeNewPrd.split(",");
for(int i = 0; i<arrStr.length; i++)
{
if (refType.trim().equals(arrStr[i].trim()))
{
return "";
}
}
//end 03-08-2005 manoharan new product order type taken from
}
netAmount = netAmt;
mDrAmt = netAmt;
//09-01-02 Arif
sqlStr ="select key_String from transetup "
+ "where upper(tran_window) = 'W_REC_ADJ' " ;
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
if(rs.next())
{
keystr = rs.getString("key_string");
}
else
{
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sqlStr ="select key_String from transetup "
+ "where upper(tran_window) = 'GENERAL' " ;
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
if(rs.next())
{
keystr = rs.getString("key_string");
}
else
{
rs.close();
rs = null;
pstmt.close();
pstmt = null;
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn);
return errString ;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//09-01-02 End Arif
//formulation new products hard coded and 15 days
//Sanjeev - 14/10/03 - Removed harcoding done by Arif (for 15 days and used finparm variable
//in sql below.
ignoreDrDays = finCommon.getFinparams("999999", "IGNORE_DR_DAYS",conn);
//if (get_sqlcode() = 100 )
if ("NULLFOUND".equals(ignoreDrDays) )
{
// llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
}
else if (ignoreDrDays == null )
{
// llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
}
else
{
//added by Jasmina 29/08/08-DI89SUN015
if ("BEFORE_CR_DAYS".equals(ignoreDrDays.trim()) )
{
llIgnoreDrDays = llCrDays * -1;
}
else //added end by Jasmina 29/08/08-DI89SUN015
{
llIgnoreDrDays = Integer.valueOf(ignoreDrDays);
}
}
System.out.println("12-Mar-16 manoharan llIgnoreDrDays final ["+llIgnoreDrDays + "]");
//03-08-2005 manoharan commented and taken above
//
////added by radhakrishnan on 16-04-04
//
//adjustNewProduct = gf_getenv_dis('999999','ADJUST_NEWPRODUCT')
//adjustNewProduct = upper(trim(adjustNewProduct))
//if (adjustNewProduct='NULLFOUND' or adjustNewProduct = 'Y' )
//ordTypeNewPrd = gf_getenv_dis('999999','ORD_TYPE_NEWPRD')
//}
////end radhakrishnan on 16-04-04
//End Sanjeev - 14/10/03
//end 03-08-2005 manoharan commented and taken above
//added by bhavin
sqlStr ="select (case when fin_scheme is null then ' ' else fin_scheme end ) fin_scheme from sorder "
+ "where sale_order = ? " ;
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,mOrderNo);
rs = pstmt.executeQuery();
if(rs.next())
{
finScheme = rs.getString(1);
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTNOSORD","","",conn);
return errString ;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//ended by bhavin
//24/01/14 Manoharan FI3JSUN007 adjust all the freight drn
if (drnNotIn.trim().length() > 0 )
{
sqlStr = "insert into receivables_adj "
+ "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr);
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'MDRCRD' and ref_no in ( ? ) " //( " + drnNotIn + ") ) "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,mOrderNo);
rs = pstmt.executeQuery();
while(rs.next())
{
tranID = rs.getString("tran_id");
tranSer= rs.getString("tran_ser");
refNo= rs.getString("ref_no");
mTotAmt= rs.getDouble("tot_amt");
mAdjAmt= rs.getDouble("adj_amt");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,tranSer);
pstmtInsert.setString(3,refNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,tranID);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
//end 24/01/14 manoharan
//04-09-2005 manoharan
//reverted on 15-09-2005 as per sun requirement
//if (adjDrCr = TRUE ) //Commented by jasmina-19/01/10-DI89SUN228
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) ) ) //Added by jasmina-19/01/10-DI89SUN228
{
//if (adjDrCr or adjustNewProduct = 'Y' )
// 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
//declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mRefDate - ref_date ) >= :llIgnoreDrDays )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :siteCode
// and item_ser = :itemSer
// and cust_code = :custCode
// and (case when fin_scheme is null ) ' ' else fin_scheme end ) = :finScheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 )
// errString = 'DS000' + String(sqlca.sqldbcode)
// return errString
//}
//
String[] arrStr;
if (adjDrCr && adjNewProdInv ) //if (condition Added by jasmina-19/01/10-DI89SUN228
{
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " ) ) ";
}
}
else
{
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ) ";
}
}
//if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) )
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{
// end 04-09-2005 manoharan
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + (llIgnoreDrDays) + " ) ";
}
else
{
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
}
else
{
sqlStr = sqlStr + " ) ";
}
}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (adjDrCr && (!adjNewProdInv) ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
//if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (!adjDrCr && adjNewProdInv ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
if ( ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + llIgnoreDrDays + " "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
}
sqlStr = "insert into receivables_adj "
+ "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
while(rs.next())
{
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
// end 24/01/14 manoharan
// 04-09-2005 manoharan
// reverted on 15-09-2005 as per sun requirement
//if ab_drcr = TRUE then //Commented by jasmina-19/01/10-DI89SUN228
String[] arrStr;
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) )) //Added by jasmina-19/01/10-DI89SUN228
{
//if (adjDrCr or adjustNewProduct = 'Y' then
// 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
//declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mrefdate - ref_date ) >= :ll_ignore_dr_days )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :as_site_code
// and item_ser = :as_item_ser
// and cust_code = :as_cust_code
// and (case when fin_scheme is null then ' ' else fin_scheme end ) = :ls_finscheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 then
// merrcode = 'DS000' + string(sqlca.sqldbcode)
// return merrcode
//end if
//
//String[] arrStr;
if (adjDrCr && adjNewProdInv) //if (condition Added by jasmina-19/01/10-DI89SUN228
{
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') " ;
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) " ;
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) " ;
}
else
{
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
// if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
// sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
// }
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) then
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct))
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
// end 04-09-2005 manoharan
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' " +
" and ref_type in (" + ordTypeNewPrd + ") " +
" and ? - due_date >= " + llIgnoreDrDays + " ) ";
}
else
{
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
}
else
{
sqlStr = sqlStr + " ) ";
}
}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (adjDrCr && !adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' )";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) ";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
//if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
else if (!adjDrCr && adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
if ((ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) && "Y".equals(adjustNewProduct))
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + llIgnoreDrDays + " "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
}
pstmt = conn.prepareStatement(sqlStr);
if (adjNewProdInv && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct)) //Added by jasmina 22/01/10-DI89SUN228
{
pstmt.setTimestamp(1,mRefDate);
}
rs = pstmt.executeQuery();
while(rs.next())
{
// end 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif
//////////////////////////////////////////////////////////////////
// 14/03/01 manoharan update of receivables commented
// only insert of receivables_adj records will be taken place in
// this function. The related updates will be done when the invoice
// is confirmed
//update receivables
// set adj_amt = tot_amt, status = 'A'
// where tran_id = :mTranId;
//if (get_sqlcode() < 0 then
// merrcode = 'DS000' + string(sqlca.sqldbcode)
// return merrcode
//elseif (sqlca.sqlnrows <> 1 then
// merrcode = 'DS000NR'
//} (
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
// CRNRCP Processing
//declare c_credit cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where ((tran_ser = 'CRNRCP' or tran_ser = 'MDRCRC' or tran_ser = 'R-ADV' ) and (tot_amt - adj_amt) < 0)
// and site_code = :as_site_code and item_ser = :as_item_ser
// and cust_code = :as_cust_code order by tran_id;
// 04-09-2005 manoharan if (dr/cr adjustment and advance adjustment not selected
// no need to do the following adjustment
// end 04-09-2005 manoharan
if (adjDrCr || adjAdv)
{
if (adjDrCr && adjAdv)
{
tranSeries = "'CRNRCP','MDRCRC', 'R-ADV'";
}
else if (adjDrCr && !adjAdv)
{
tranSeries = "'CRNRCP', 'MDRCRC'";
}
else if (!adjDrCr && adjAdv)
{
tranSeries = "'R-ADV'";
}
//Amit 21/01/05 'CUST_ADV'
asjCustAdv = distCommon.getDisparams("999999","CUST_ADVADJ_TYPE",conn);
if ("C".equals(advAdj)) //prince 11/11/05
{
if ("I".equals(asjCustAdv))
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" + tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and item_ser = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
//changes done by Vyankatesh on 24-01-05 for subscription
}
else if ("S".equals(asjCustAdv))
{
sqlStr = "select cust_pord from sorder where sale_order = ?";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1,mOrderNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
subsNo = rs1.getString("cust_pord");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sqlStr = "select rcp_no, site_code__rec,site_code__dlv "
+ " from subscrip_rcp a,subscrip_rcpdet b "
+ " where a.tran_id = b.tran_id and b.subs_no = ?";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1,subsNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
rcpNo = rs1.getString("cust_pord");
siteCodeRcp = rs1.getString("cust_pord");
siteCodeDlv = rs1.getString("cust_pord");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (!siteCodeRcp.trim().equals(siteCodeDlv.trim()))
{
tranSeries ="'R-IBCA'";
}
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and ref_no = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,rcpNo);
pstmt.setString(3,custCode);
//changes end by Vyankatesh on 24-01-05 for subscription
}
else
{
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
pstmt.setString(4,siteCode);
pstmt.setString(5,custCode);
}
}
else
{
//adjust advance thorugh sale order wise prince 10/11/05
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 ) "
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) "
+ " and ( sale_order = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
pstmt.setString(4,siteCode);
pstmt.setString(5,custCode);
pstmt.setString(6,mOrderNo);
}
//PREPARE SQLSA FROM :sqlStr ;
//OPEN DYNAMIC c_credit using :siteCode, :itemSer, :custCode, :siteCode, :custCode ;
//end Amit 21/01/05 'CUST_ADV'
rs = pstmt.executeQuery();
while(rs.next())
{
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
if (mDrAmt == 0)
{
break;
}
mDiffAmt = mTotAmt - mAdjAmt;
if (mDrAmt >= Math.abs(mDiffAmt))
{
mDrAmt = mDrAmt - Math.abs(mDiffAmt);
mAdjAmt = mDiffAmt;
status = "A";
}
else
{
mAdjAmt = (mDrAmt * -1);
mDrAmt = 0;
status = "P";
}
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
sqlStr = "insert into receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, ?, ?, ? ,?) ";
pstmtInsert.close();
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mAdjAmt);
pstmtInsert.setDouble(6,(mDiffAmt - mAdjAmt));
pstmtInsert.setString(7,adjTranSer);
pstmtInsert.setString(8,adjRefNo);
pstmtInsert.setString(9,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.close();
}
//**************************
if (mChkRec > 0 )
{
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
sqlStr = "INSERT INTO receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, "
+ " adj_amt, ref_ser_adj, ref_no_adj, "
+ " net_amt, tran_id__rcv ) "
+ " values (?, ?, ?, ?, ?, ' ', ' ', ?, ' ') ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,adjTranSer);
pstmtInsert.setString(3,adjRefNo);
pstmtInsert.setDouble(4,netAmt);
pstmtInsert.setDouble(5,(mDrAmt - netAmt) * -1);
pstmtInsert.setDouble(6,(netAmt - (mDrAmt - netAmt)));
pstmtInsert.executeUpdate();
pstmtInsert.close();
//ended by prince
sqlStr = "update invoice "
+ " set adj_amount = ? "
+ " where invoice_id = ? ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setDouble(1,(mDrAmt - netAmt) * -1);
pstmtInsert.setString(1,invoiceId);
pstmtInsert.executeUpdate();
}
}
catch( Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
//conn.close();
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
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