Commit 1624a656 authored by caluka's avatar caluka

connection argument added for invoice posting


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103626 ce508802-f39f-4f6c-b175-0d175dae99d5
parent d68fc75d
/****** /******
* created by Vishakha D * created by Vishakha D
* Request ID:D15KSUN031 * Request ID:D15KSUN031
* post order migration * post order migration
* *
*/ */
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;
import ibase.webitm.ejb.E12CreateBatchLoadEjb; import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.fin.InvAcct; import ibase.webitm.ejb.fin.InvAcct;
import ibase.webitm.ejb.sys.CreateRCPXML; import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
import java.io.Serializable; import java.io.Serializable;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap; 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);
rs3 = pstmt3.executeQuery(); rs3 = pstmt3.executeQuery();
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();
while(rs3.next()) while(rs3.next())
{ {
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-----");
String retString = ""; String retString = "";
Connection conn = null; Connection conn = null;
ConnDriver connDriver = null; Connection connCP = null;
ITMDBAccessEJB itmDBAccessEJB = null; ConnDriver connDriver = null;
try ITMDBAccessEJB itmDBAccessEJB = null;
{ try
connDriver = new ConnDriver(); {
//Changes and Commented By Bhushan on 13-06-2016 :START connDriver = new ConnDriver();
//conn = connDriver.getConnectDB("Driver"); conn = connDriver.getConnectDB("Driver");
conn = getConnection(); conn.setAutoCommit(false);
//Changes and Commented By Bhushan on 13-06-2016 :END itmDBAccessEJB = new ITMDBAccessEJB();
conn.setAutoCommit(false); retString = confirm( tranID, xtraParams, forcedFlag,conn,connCP); //calling and creating connection
itmDBAccessEJB = new ITMDBAccessEJB();
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();
return retString;
conn.rollback(); }
return retString; else
} {
else System.out.println("@@@@@@@@@@@118:::::::::::commiting record........");
{ conn.commit();
System.out.println("@@@@@@@@@@@118:::::::::::commiting record........"); retString = itmDBAccessEJB.getErrorString("","CONFSUCC","");
conn.commit(); return retString;
retString = itmDBAccessEJB.getErrorString("","CONFSUCC",""); }
return retString;
} }
catch(Exception exception)
} {
catch(Exception exception) try {
{ conn.rollback();
try { } catch (Exception e) {
conn.rollback(); // TODO Auto-generated catch block
} catch (Exception e) { e.printStackTrace();
// TODO Auto-generated catch block }
e.printStackTrace(); 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 = null;
conn.close(); }
conn = null; }
} catch(Exception ef)
} {
catch(Exception ef) System.out.println(ef.getMessage());
{ ef.printStackTrace();
System.out.println(ef.getMessage()); throw new ITMException(ef);
ef.printStackTrace(); }
throw new ITMException(ef);
} }
return retString;
} }
return retString; public String confirm(String tranId,String xtraParams, String forcedFlag ,Connection conn,Connection connCP) 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();
PreparedStatement pstmt = null, pstmt1 = null ,pstmt3 = null ;
DistCommon distCommon = new DistCommon(); ResultSet rs = null, rs1 = null,rs3 = null;
PreparedStatement pstmt = null, pstmt1 = null ,pstmt3 = null ; String sql = "",sql1 = "",sql3 = "";
ResultSet rs = null, rs1 = null,rs3 = null; String confirm = "", ledgPostConf = "";
String sql = "",sql1 = "",sql3 = ""; String errString = "",holdFlag = "",holdFlagNew = "",invStat = "",grade = "",tranSer = "",gpSer = "",gpNo = "",siteCodeExc = "";
String confirm = "", ledgPostConf = ""; String statusDesp = "",channelPartner = "",lockLevel = "",isAllocated = "",varValue = "",disLink = "";
String errString = "",holdFlag = "",holdFlagNew = "",invStat = "",grade = "",tranSer = "",gpSer = "",gpNo = "",siteCodeExc = ""; String availableYN = "",tranid = "",siteCode = "",disparmVal = "",sordNo = "",lineNo = "",lineNoSord = "",expLev = "",itemCodeOrd = "",itemCode = "",lotNo = "",lotSl = "",locCode = "",unitStd = "";
String statusDesp = "",channelPartner = "",lockLevel = "",isAllocated = "",varValue = "",disLink = ""; double quantityStduom = 0.0,quantity = 0.0,rateStduom = 0.0,hldQty = 0.0,qtyAlloc = 0.0,OrderQty = 0.0,mQtyCheck = 0.0;
String availableYN = "",tranid = "",siteCode = "",disparmVal = "",sordNo = "",lineNo = "",lineNoSord = "",expLev = "",itemCodeOrd = "",itemCode = "",lotNo = "",lotSl = "",locCode = "",unitStd = ""; double mCancperc = 0.0,bondTaxAmt = 0.0,bondValue = 0.0,bankGuarantee = 0.0;
double quantityStduom = 0.0,quantity = 0.0,rateStduom = 0.0,hldQty = 0.0,qtyAlloc = 0.0,OrderQty = 0.0,mQtyCheck = 0.0; double grossWeight = 0.0,tareWeight = 0.0,netweight = 0.0;
double mCancperc = 0.0,bondTaxAmt = 0.0,bondValue = 0.0,bankGuarantee = 0.0; String exportOrderType = "",bondTaxGroup = "",eou = "";
double grossWeight = 0.0,tareWeight = 0.0,netweight = 0.0; String noArt = "",custCode = "",custCodeDlv = "",lockCode = "",varValuePurInteg = "",dataStr = "",siteCodeDlv = "";
String exportOrderType = "",bondTaxGroup = "",eou = ""; String status ="",allocFlag = "",pendOrder = "";
String noArt = "",custCode = "",custCodeDlv = "",lockCode = "",varValuePurInteg = "",dataStr = "",siteCodeDlv = ""; String varValueTransit = "",invStatTransit = "",bondNo ="";
String status ="",allocFlag = "",pendOrder = ""; HashMap updDesp = new HashMap();
String varValueTransit = "",invStatTransit = "",bondNo =""; HashMap updDespTransit = new HashMap();
HashMap updDesp = new HashMap(); E12GenericUtility genericUtility = new E12GenericUtility();
HashMap updDespTransit = new HashMap(); //ConnDriver connDriver = null;
E12GenericUtility genericUtility = new E12GenericUtility(); ITMDBAccessEJB itmDBAccessEJB = null;
//ConnDriver connDriver = null; Timestamp despDate = null,gpDate = null;
ITMDBAccessEJB itmDBAccessEJB = null; int cnt = 0,editOption = 0,detCount = 0;
Timestamp despDate = null,gpDate = null; boolean isLocal=false;
int cnt = 0,editOption = 0,detCount = 0; String autoInvOnDesp="";
boolean isLocal=false; boolean lockSuccess = false;
String autoInvOnDesp=""; Date lrDate = null;
boolean lockSuccess = false; PostOrderActivity postordact=null;
Date lrDate = null; try
try {
{ postordact=new PostOrderActivity();
itmDBAccessEJB = new ITMDBAccessEJB(); itmDBAccessEJB = new ITMDBAccessEJB();
autoInvOnDesp = distCommon.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn); autoInvOnDesp = distCommon.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn);
/* if(conn==null) /* if(conn==null)
{ {
connDriver = new ConnDriver(); connDriver = new ConnDriver();
//Changes and Commented By Bhushan on 09-06-2016 :START conn = connDriver.getConnectDB("DriverITM");
//conn = connDriver.getConnectDB("DriverITM"); connDriver = null;
conn = getConnection(); conn.setAutoCommit(false);
//Changes and Commented By Bhushan on 09-06-2016 :END isLocal=true;
connDriver = null; }*/
conn.setAutoCommit(false);
isLocal=true; // Changed by Manish on 28/04/16 for update nowait [start]
}*/ // sql = "select confirmed from despatch where desp_id = ?";
if ("db2".equalsIgnoreCase(CommonConstants.DB_NAME ))
// Changed by Manish on 28/04/16 for update nowait [start] {
// sql = "select confirmed from despatch where desp_id = ?"; sql = "select confirmed, lr_date from despatch where desp_id = ? for update ";
if ("db2".equalsIgnoreCase(CommonConstants.DB_NAME )) }
{
sql = "select confirmed, lr_date from despatch where desp_id = ? for update "; else if ( "mssql".equalsIgnoreCase(CommonConstants.DB_NAME ))
} {
sql = "select confirmed, lr_date from despatch (updlock) where desp_id = ? " ;
else if ( "mssql".equalsIgnoreCase(CommonConstants.DB_NAME )) }
{
sql = "select confirmed, lr_date from despatch (updlock) where desp_id = ? " ; else
} {
sql = "select confirmed, lr_date from despatch where desp_id = ? for update nowait" ;
else }
{
sql = "select confirmed, lr_date from despatch where desp_id = ? for update nowait" ; pstmt = conn.prepareStatement(sql);
} pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
pstmt = conn.prepareStatement(sql); if(rs.next())
pstmt.setString(1,tranId); {
rs = pstmt.executeQuery(); lockSuccess = true;
if(rs.next()) confirm = rs.getString("confirmed");
{ lrDate = rs.getDate("lr_date");
lockSuccess = true; }
confirm = rs.getString("confirmed"); else
lrDate = rs.getDate("lr_date"); {
} lockSuccess = false;
else throw new Exception("Transaction is locked, Please try after some time");
{ }
lockSuccess = false; rs.close();
throw new Exception("Transaction is locked, Please try after some time"); rs = null;
} pstmt.close();
rs.close(); pstmt = null;
rs = null;
pstmt.close(); sql = "select ledg_post_conf from transetup where tran_window = 'w_despatch' ";
pstmt = null; pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
sql = "select ledg_post_conf from transetup where tran_window = 'w_despatch' "; if(rs.next())
pstmt = conn.prepareStatement(sql); {
rs = pstmt.executeQuery(); ledgPostConf = rs.getString("ledg_post_conf");
if(rs.next()) }
{ rs.close();
ledgPostConf = rs.getString("ledg_post_conf"); rs = null;
} pstmt.close();
rs.close(); pstmt = null;
rs = null;
pstmt.close(); if("Y".equalsIgnoreCase(ledgPostConf))
pstmt = null; {
System.out.println("Manish lrDate is["+lrDate+"]");
if("Y".equalsIgnoreCase(ledgPostConf)) sql = "update despatch set desp_date = ? "
{ +" where desp_id = ? ";
System.out.println("Manish lrDate is["+lrDate+"]");
sql = "update despatch set desp_date = ? " pstmt1 = conn.prepareStatement(sql);
+" where desp_id = ? "; if(lrDate != null)
{
pstmt1 = conn.prepareStatement(sql); pstmt1.setDate(1,(java.sql.Date) lrDate);
if(lrDate != null) }
{ else
pstmt1.setDate(1,(java.sql.Date) lrDate); {
} pstmt1.setDate(1, new java.sql.Date(System.currentTimeMillis()));
else }
{ pstmt1.setString(2,tranId);
pstmt1.setDate(1, new java.sql.Date(System.currentTimeMillis())); int count = pstmt1.executeUpdate();
}
pstmt1.setString(2,tranId); System.out.println("Count value after updating despatch...."+count);
int count = pstmt1.executeUpdate();
pstmt1.close();
System.out.println("Count value after updating despatch...."+count); pstmt1 = null;
}
pstmt1.close();
pstmt1 = null;
} // Changed by Manish on 28/04/16 for update nowait [end]
if(confirm != null && "Y".equalsIgnoreCase(confirm))
// Changed by Manish on 28/04/16 for update nowait [end] {
System.out.println("The Selected transaction is already confirmed");
if(confirm != null && "Y".equalsIgnoreCase(confirm)) errString = itmDBAccessEJB.getErrorString("","VTMCONF1","");
{ return errString;
System.out.println("The Selected transaction is already confirmed"); }
errString = itmDBAccessEJB.getErrorString("","VTMCONF1",""); else
return errString; {
} sql = "select status,desp_date,available_yn,desp_id,site_code,sord_no,cust_code__dlv,cust_code,gp_date,gp_ser,gp_no "
else + " from despatch where desp_id = ? ";// QUERY OF SRD TO BE COPIED...........
{ pstmt = conn.prepareStatement(sql);
sql = "select status,desp_date,available_yn,desp_id,site_code,sord_no,cust_code__dlv,cust_code,gp_date,gp_ser,gp_no " pstmt.setString(1, tranId);
+ " from despatch where desp_id = ? ";// QUERY OF SRD TO BE COPIED........... rs = pstmt.executeQuery();
pstmt = conn.prepareStatement(sql); while ( rs.next() )
pstmt.setString(1, tranId); {
rs = pstmt.executeQuery(); statusDesp = checkNull(rs.getString("status"));
while ( rs.next() ) // tranSer = rs.getString("tran_ser");
{ //despDate = new Timestamp(rs.getDate("tran_Date").getTime());
statusDesp = checkNull(rs.getString("status")); despDate = rs.getTimestamp("desp_date");
// tranSer = rs.getString("tran_ser"); availableYN = checkNull(rs.getString("available_yn"));
//despDate = new Timestamp(rs.getDate("tran_Date").getTime()); tranid = checkNull(rs.getString("desp_id"));
despDate = rs.getTimestamp("desp_date"); siteCode = checkNull(rs.getString("site_code"));
availableYN = checkNull(rs.getString("available_yn")); sordNo = checkNull(rs.getString("sord_no"));
tranid = checkNull(rs.getString("desp_id")); custCode = checkNull(rs.getString("cust_code"));
siteCode = checkNull(rs.getString("site_code")); custCodeDlv = checkNull(rs.getString("cust_code__dlv"));
sordNo = checkNull(rs.getString("sord_no")); gpDate = rs.getTimestamp("gp_date");
custCode = checkNull(rs.getString("cust_code")); gpSer = checkNull(rs.getString("gp_ser"));
custCodeDlv = checkNull(rs.getString("cust_code__dlv")); gpNo = checkNull(rs.getString("gp_no"));
gpDate = rs.getTimestamp("gp_date");
gpSer = checkNull(rs.getString("gp_ser")); }
gpNo = checkNull(rs.getString("gp_no")); pstmt.close();
pstmt = null;
} rs.close();
pstmt.close(); rs = null;
pstmt = null;
rs.close();
rs = null; /**************************For despatch GP NO Generation********************************************************************/
/**************************For despatch GP NO Generation********************************************************************/ varValue= distCommon.getDisparams("999999", "GP_NO_REQ", conn);
if("NULLFOUND".equalsIgnoreCase(varValue))
{
varValue= distCommon.getDisparams("999999", "GP_NO_REQ", conn); varValue = "Y";
if("NULLFOUND".equalsIgnoreCase(varValue)) }
{ if("Y".equals(varValue))
varValue = "Y"; {
} sql1 = "select site_code__exc "
if("Y".equals(varValue)) +" from site where site_code = ? ";
{
sql1 = "select site_code__exc " pstmt1 = conn.prepareStatement(sql1);
+" from site where site_code = ? "; pstmt1.setString(1,siteCode);
rs1 = pstmt1.executeQuery();
pstmt1 = conn.prepareStatement(sql1); while(rs1.next())
pstmt1.setString(1,siteCode); {
rs1 = pstmt1.executeQuery(); siteCodeExc = checkNull(rs1.getString("site_code__exc"));
while(rs1.next()) }
{ rs1.close();
siteCodeExc = checkNull(rs1.getString("site_code__exc")); rs1 = null;
} pstmt1.close();
rs1.close(); pstmt1 = null;
rs1 = null;
pstmt1.close(); /* genKey.put("site_code",siteCodeExc);
pstmt1 = null; genKey.put("desp_date",despDate);
genKey.put("sord_no",sordNo);
/* genKey.put("site_code",siteCodeExc); genKey.put("gp_date",gpDate);
genKey.put("desp_date",despDate); genKey.put("gp_ser",gpSer);*/
genKey.put("sord_no",sordNo);
genKey.put("gp_date",gpDate); String xmlValues = "";
genKey.put("gp_ser",gpSer);*/ xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
String xmlValues = ""; xmlValues = xmlValues + "<Detail1>";
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; xmlValues = xmlValues + "<tran_id/>";
xmlValues = xmlValues + "<Header></Header>"; xmlValues = xmlValues + "<site_code>" + siteCodeExc + "</site_code>";
xmlValues = xmlValues + "<Detail1>"; xmlValues = xmlValues + "<desp_date>"+ despDate + "</desp_date>";
xmlValues = xmlValues + "<tran_id/>"; xmlValues = xmlValues + "<gp_ser>"+ gpSer + "</gp_ser>";
xmlValues = xmlValues + "<site_code>" + siteCodeExc + "</site_code>"; xmlValues = xmlValues + "</Detail1></Root>";
xmlValues = xmlValues + "<desp_date>"+ despDate + "</desp_date>";
xmlValues = xmlValues + "<gp_ser>"+ gpSer + "</gp_ser>";
xmlValues = xmlValues + "</Detail1></Root>"; varValue= distCommon.getDisparams("999999", "EXC_SITE_NO", conn);
System.out.println("varValue===="+varValue);
varValue= distCommon.getDisparams("999999", "EXC_SITE_NO", conn);
System.out.println("varValue===="+varValue); /*sql1 = "select var_value from disparm where prd_code = '999999' and var_name = 'EXC_SITE_NO' ";
pstmt1 = conn.prepareStatement(sql1);
/*sql1 = "select var_value from disparm where prd_code = '999999' and var_name = 'EXC_SITE_NO' "; rs1 = pstmt1.executeQuery();
pstmt1 = conn.prepareStatement(sql1); while(rs1.next())
{
rs1 = pstmt1.executeQuery(); varValue = rs1.getString("site_code__exc");
while(rs1.next()) }
{ rs1.close();
varValue = rs1.getString("site_code__exc"); rs1 = null;
} pstmt1.close();
rs1.close(); pstmt1 = null;*/
rs1 = null;
pstmt1.close(); if( varValue.contains(siteCodeExc))
pstmt1 = null;*/ {
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{
} gpNo = generateGPNO(xmlValues,siteCodeExc,sordNo,conn);//Code need to be migrated
else{
}
gpNo = generateGPNO(xmlValues,siteCodeExc,sordNo,conn);//Code need to be migrated
sql = "update despatch set gp_no = ? , gp_date = ? "
} +" where desp_id = ? ";
sql = "update despatch set gp_no = ? , gp_date = ? " pstmt1 = conn.prepareStatement(sql);
+" where desp_id = ? "; pstmt1.setString(1,gpNo);
pstmt1.setTimestamp(2,gpDate);
pstmt1 = conn.prepareStatement(sql); pstmt1.setString(3,tranId);
pstmt1.setString(1,gpNo);
pstmt1.setTimestamp(2,gpDate);
pstmt1.setString(3,tranId); int cnt2 = pstmt1.executeUpdate();
System.out.println("Count value after updating despatch...."+cnt2);
int cnt2 = pstmt1.executeUpdate();
pstmt1.close();
System.out.println("Count value after updating despatch...."+cnt2); pstmt1 = null;
pstmt1.close(); }
pstmt1 = null;
//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
//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 errString=postordact.createPORCP(tranId, xtraParams, conn,connCP);
if(errString != null && errString.trim().length()>0)
{
varValuePurInteg = checkNull(distCommon.getDisparams("999999","PUR_INTEGRATED",conn)); return errString;
}
sql1 = "select edi_option from transetup " exportOrderType = checkNull(distCommon.getDisparams("999999","EXPORT_DESPATCH_ORDER_TYPE",conn));//gf_getenv_dis('999999',"EXPORT_DESPATCH_ORDER_TYPE")
+ "where tran_window = 'w_despatch' ";
pstmt1 = conn.prepareStatement(sql1); if(exportOrderType != "")
{
rs1 = pstmt1.executeQuery(); bondTaxGroup = checkNull(distCommon.getDisparams("999999","B17_BOND_TAX_GROUP",conn));
while(rs1.next()) }
{
editOption = rs1.getInt("edi_option");
}
rs1.close(); sql3 = "select sord_no,line_no,line_no__sord,exp_lev,item_code__ord,item_code,lot_no,lot_sl," +
rs1 = null; "loc_code,unit__std,quantity__stduom,quantity,rate__stduom,no_art,lock_code " +
pstmt1.close(); "from despatchdet where desp_id = ?";
pstmt1 = null; pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1,tranId);
/*despatch_edit.setfilter("desp_id = '" + ls_desp_id + "'") rs3 = pstmt3.executeQuery();
despatch_edit.filter() while ( rs3.next() )
desp_det.setfilter("desp_id = '" + ls_desp_id + "'") {
desp_det.filter()*/ if(statusDesp != "X") {
if(varValuePurInteg == "Y" || editOption > 0)
{ lineNo = checkNull(rs3.getString("line_no"));
lineNoSord = checkNull(rs3.getString("line_no__sord"));
//channelPartner and dis link retrieved earlier expLev = checkNull(rs3.getString("exp_lev"));
if(channelPartner == null || channelPartner.trim().length() == 0 ) itemCodeOrd = checkNull(rs3.getString("item_code__ord"));
{ itemCode = checkNull(rs3.getString("item_code"));
sql1 = "select channel_partner, dis_link from customer " lotNo = rs3.getString("lot_no");
+" where cust_code = ? "; lotSl = rs3.getString("lot_sl");
locCode = checkNull(rs3.getString("loc_code"));
pstmt1 = conn.prepareStatement(sql1); unitStd = checkNull(rs3.getString("unit__std"));
pstmt1.setString(1, custCode); quantityStduom = rs3.getDouble("quantity__stduom");
rs1 = pstmt1.executeQuery(); quantity = rs3.getDouble("quantity");
while(rs1.next()) rateStduom = rs3.getDouble("rate__stduom");
{ noArt = checkNull(rs3.getString("no_art"));
channelPartner = checkNull(rs1.getString("channel_partner"));
disLink = checkNull(rs1.getString("dis_link")); lockCode = checkNull(rs3.getString("lock_code"));
disparmVal = checkNull(distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn));//gf_getenv_dis('999999','QUARNTINE_LOCKCODE')
}
rs1.close();
rs1 = null; sql = " Select hold_qty as lc_hold_qty "
pstmt1.close(); +" From stock Where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt1 = null; pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
} pstmt.setString(2,siteCode);
//Took code from Porder amd conf pstmt.setString(3,locCode);
if(channelPartner == "Y" || editOption > 0) pstmt.setString(4,lotNo);
{ pstmt.setString(5,lotSl);
if(disLink == "E" || editOption > 0 ) rs = pstmt.executeQuery();
{ while(rs.next())
{
if(editOption == 2) hldQty = rs.getDouble("lc_hold_qty");
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_despatch", "tran_id"); }
dataStr = createRCPXML.getTranXML(tranId, conn); pstmt.close();
System.out.println("dataStr =[ " + dataStr + "]"); pstmt = null;
Document ediDataDom = genericUtility.parseString(dataStr); rs.close();
rs = null;
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
errString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_despatch", ""+editOption , xtraParams, conn); if(hldQty > 0.0)
createRCPXML = null; {
e12CreateBatchLoad = null; 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 (errString != null && "SUCCESS".equals(errString)) +" 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)"
System.out.println("retString from batchload = [" + errString + "]"); +" and a.confirmed='Y' and b.hold_status ='H' and a.lock_code = ? ";
}
pstmt = conn.prepareStatement(sql);
} pstmt.setString(1,itemCode);
} pstmt.setString(2,siteCode);
/*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 pstmt.setString(3,locCode);
ls_hdr = despatch_edit.describe("datawindow.data") pstmt.setString(4,lotNo);
ls_det = desp_det.describe("datawindow.data") pstmt.setString(5,lotSl);
//sqlca_cp,ls_dis_link argument added by jasmina 18/06/09-DI78SUN061 pstmt.setString(6,lotNo);
merrcode = nvo_porcp.gbf_create_porcp(ls_hdr,ls_det,sqlca_cp,ls_dis_link) pstmt.setString(7,lotSl);
if len(trim(merrcode)) > 0 then goto errfound pstmt.setString(8,disparmVal);
end if*/ rs = pstmt.executeQuery();
} if(rs.next())
} {
cnt = rs.getInt("ll_cnt");
//Despatch confirm code ... }
pstmt.close();
// merrcode = gbf_confirm_despatch(despatch_edit.describe("datawindow.data"), desp_det.describe("datawindow.data"),1) pstmt = null;
rs.close();
exportOrderType = checkNull(distCommon.getDisparams("999999","EXPORT_DESPATCH_ORDER_TYPE",conn));//gf_getenv_dis('999999',"EXPORT_DESPATCH_ORDER_TYPE") rs = null;
if(exportOrderType != "") if(cnt > 0)
{ {
bondTaxGroup = checkNull(distCommon.getDisparams("999999","B17_BOND_TAX_GROUP",conn)); lockCode = disparmVal;
} }
}//end of hld condn...
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 = ?"; sql = "select channel_partner,dis_link,site_code__ch from site_customer where cust_code = ? and site_code = ? ";
pstmt3 = conn.prepareStatement(sql3); pstmt = conn.prepareStatement(sql);
pstmt3.setString(1,tranId); pstmt.setString(1,custCodeDlv);
rs3 = pstmt3.executeQuery(); pstmt.setString(2,siteCode);
while ( rs3.next() ) rs = pstmt.executeQuery();
{ while(rs.next())
if(statusDesp != "X") { {
channelPartner = checkNull(rs.getString("channel_partner"));
disLink = checkNull(rs.getString("dis_link"));
//Changed by Santosh on 13-06-2016 for trim issue in checkNull() [Start] siteCodeDlv = checkNull(rs.getString("site_code__ch"));
/*lineNo = checkNull(rs3.getString("line_no"));
lineNoSord = checkNull(rs3.getString("line_no__sord")); if(channelPartner == null)//not found in above query
expLev = checkNull(rs3.getString("exp_lev"));*/ {
lineNo = rs3.getString("line_no"); sql1 = "select channel_partner,dis_link, site_code from customer where cust_code = ? ";
lineNoSord = rs3.getString("line_no__sord"); pstmt1 = conn.prepareStatement(sql1);
expLev = rs3.getString("exp_lev"); pstmt1.setString(1,custCodeDlv);
//Changed by Santosh on 13-06-2016 for trim issue in checkNull() [End] rs1 = pstmt1.executeQuery();
itemCodeOrd = checkNull(rs3.getString("item_code__ord")); if(rs1.next())
itemCode = checkNull(rs3.getString("item_code")); {
lotNo = rs3.getString("lot_no"); channelPartner = checkNull(rs1.getString("channel_partner"));
lotSl = rs3.getString("lot_sl"); disLink = checkNull(rs1.getString("dis_link"));
locCode = checkNull(rs3.getString("loc_code")); siteCodeDlv = checkNull(rs1.getString("site_code__ch"));
unitStd = checkNull(rs3.getString("unit__std"));
quantityStduom = rs3.getDouble("quantity__stduom");
quantity = rs3.getDouble("quantity");
rateStduom = rs3.getDouble("rate__stduom"); if(channelPartner == null)
noArt = checkNull(rs3.getString("no_art")); {
channelPartner = "N";
lockCode = checkNull(rs3.getString("lock_code")); }
disparmVal = checkNull(distCommon.getDisparams("999999","QUARNTINE_LOCKCODE",conn));//gf_getenv_dis('999999','QUARNTINE_LOCKCODE') }
pstmt1.close();
pstmt1 = null;
sql = " Select hold_qty as lc_hold_qty " rs1.close();
+" From stock Where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? "; rs1 = null;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode); }
pstmt.setString(2,siteCode); }
pstmt.setString(3,locCode); pstmt.close();
pstmt.setString(4,lotNo); pstmt = null;
pstmt.setString(5,lotSl); rs.close();
rs = pstmt.executeQuery(); rs = null;
while(rs.next())
{ if(channelPartner == "N")
hldQty = rs.getDouble("lc_hold_qty"); {
sql = "select lock_level from inv_lock where lock_code = ? ";
} pstmt = conn.prepareStatement(sql);
pstmt.close(); pstmt.setString(1,lockCode);
pstmt = null;
rs.close(); rs = pstmt.executeQuery();
rs = null; while(rs.next())
{
if(hldQty > 0.0) lockLevel = checkNull(rs.getString("lock_level"));
{
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 = ?" pstmt.close();
+" and c.lot_no = ? and c.lot_sl = ? and b.lot_no = ?" pstmt = null;
+" and b.lot_sl = ? and (b.line_no_sl = 0 or b.line_no_sl is null)" rs.close();
+" and a.confirmed='Y' and b.hold_status ='H' and a.lock_code = ? "; rs = null;
pstmt = conn.prepareStatement(sql); if(lockLevel == "I")
pstmt.setString(1,itemCode); {
pstmt.setString(2,siteCode); sql = "select hold_flag from item where item_code = ? ";
pstmt.setString(3,locCode); pstmt = conn.prepareStatement(sql);
pstmt.setString(4,lotNo); pstmt.setString(1,itemCode);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo); rs = pstmt.executeQuery();
pstmt.setString(7,lotSl); while(rs.next())
pstmt.setString(8,disparmVal); {
rs = pstmt.executeQuery(); holdFlag = checkNull(rs.getString("hold_flag"));
if(rs.next())
{ }
cnt = rs.getInt("ll_cnt"); pstmt.close();
} pstmt = null;
pstmt.close(); rs.close();
pstmt = null; rs = null;
rs.close(); if(holdFlag == "Y")
rs = null; {
errString = itmDBAccessEJB.getErrorString("","VTCODE1","","",conn);
if(cnt > 0) return errString;
{ }
lockCode = disparmVal;
}
}
}//end of hld condn... else if(lockLevel == "L")
{
sql = "select hold_flag from item_lot_info where item_code = ? and lot_no = ?";
sql = "select channel_partner,dis_link,site_code__ch from site_customer where cust_code = ? and site_code = ? "; pstmt = conn.prepareStatement(sql);
pstmt = conn.prepareStatement(sql); pstmt.setString(1,itemCode);
pstmt.setString(1,custCodeDlv); pstmt.setString(2,lotNo);
pstmt.setString(2,siteCode); rs = pstmt.executeQuery();
rs = pstmt.executeQuery(); while(rs.next())
while(rs.next()) {
{ holdFlagNew = checkNull(rs.getString("hold_flag"));
channelPartner = checkNull(rs.getString("channel_partner")); }
disLink = checkNull(rs.getString("dis_link")); pstmt.close();
siteCodeDlv = checkNull(rs.getString("site_code__ch")); pstmt = null;
rs.close();
if(channelPartner == null)//not found in above query rs = null;
{
sql1 = "select channel_partner,dis_link, site_code from customer where cust_code = ? "; if(holdFlagNew == "Y")
pstmt1 = conn.prepareStatement(sql1); {
pstmt1.setString(1,custCodeDlv); errString = itmDBAccessEJB.getErrorString("","VTCODE2","","",conn);
rs1 = pstmt1.executeQuery(); return errString ;
if(rs1.next()) }
{
channelPartner = checkNull(rs1.getString("channel_partner")); }
disLink = checkNull(rs1.getString("dis_link"));
siteCodeDlv = checkNull(rs1.getString("site_code__ch")); }
sql = " select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql);
if(channelPartner == null) pstmt.setString(1,locCode);
{
channelPartner = "N"; rs = pstmt.executeQuery();
} while(rs.next())
} {
pstmt1.close(); invStat = rs.getString("inv_stat");
pstmt1 = null; }
rs1.close(); pstmt.close();
rs1 = null; pstmt = null;
rs.close();
} rs = null;
}
pstmt.close();
pstmt = null;
rs.close(); sql = " select count(*) as count1 from sordalloc "
rs = null; +" where sale_order = ? "
+" and line_no = ? "
if(channelPartner == "N") +" and exp_lev = ? "
{ +" and item_code__ord = ? "
sql = "select lock_level from inv_lock where lock_code = ? "; +" and item_code = ? "
pstmt = conn.prepareStatement(sql); +" and lot_no = ? "
pstmt.setString(1,lockCode); +" and lot_sl = ? "
+" and loc_code = ? ";
rs = pstmt.executeQuery();
while(rs.next()) pstmt = conn.prepareStatement(sql);
{ pstmt.setString(1,sordNo);
lockLevel = checkNull(rs.getString("lock_level")); pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
} pstmt.setString(4,itemCodeOrd);
pstmt.close(); pstmt.setString(5,itemCode);
pstmt = null; pstmt.setString(6,lotNo);
rs.close(); pstmt.setString(7,lotSl);
rs = null; pstmt.setString(8,locCode);
if(lockLevel == "I")
{ rs = pstmt.executeQuery();
sql = "select hold_flag from item where item_code = ? "; while(rs.next())
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,itemCode); cnt = rs.getInt("count1");
}
rs = pstmt.executeQuery(); pstmt.close();
while(rs.next()) pstmt = null;
{ rs.close();
holdFlag = checkNull(rs.getString("hold_flag")); rs = null;
} if(cnt == 0)
pstmt.close(); {
pstmt = null; isAllocated = "N";
rs.close(); }
rs = null; else{
if(holdFlag == "Y") isAllocated = "Y";
{ }
errString = itmDBAccessEJB.getErrorString("","VTCODE1","","",conn);
return errString; 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 = ? ";
else if(lockLevel == "L") pstmt = conn.prepareStatement(sql);
{ pstmt.setString(1,sordNo);
sql = "select hold_flag from item_lot_info where item_code = ? and lot_no = ?"; pstmt.setString(2,lineNo);
pstmt = conn.prepareStatement(sql); pstmt.setString(3,expLev);
pstmt.setString(1,itemCode); pstmt.setString(4,itemCodeOrd);
pstmt.setString(2,lotNo); pstmt.setString(5,itemCode);
rs = pstmt.executeQuery(); pstmt.setString(6,lotNo);
while(rs.next()) pstmt.setString(7,lotSl);
{ pstmt.setString(8,locCode);
holdFlagNew = checkNull(rs.getString("hold_flag"));
}
pstmt.close(); rs = pstmt.executeQuery();
pstmt = null; if(rs.next())
rs.close(); {
rs = null; qtyAlloc = rs.getDouble("qty_alloc");
}
if(holdFlagNew == "Y") pstmt.close();
{ pstmt = null;
errString = itmDBAccessEJB.getErrorString("","VTCODE2","","",conn); rs.close();
return errString ; 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 = ? ";
sql = " select inv_stat from location where loc_code = ? "; pstmt = conn.prepareStatement(sql);
pstmt = conn.prepareStatement(sql); pstmt.setString(1,sordNo);
pstmt.setString(1,locCode); pstmt.setString(2,lineNo);
pstmt.setString(3,expLev);
rs = pstmt.executeQuery(); pstmt.setString(4,itemCodeOrd);
while(rs.next()) pstmt.setString(5,itemCode);
{ pstmt.setString(6,lotNo);
invStat = rs.getString("inv_stat"); pstmt.setString(7,lotSl);
} pstmt.setString(8,locCode);
pstmt.close();
pstmt = null;
rs.close(); pstmt.executeQuery();
rs = null;
pstmt.close();
pstmt = null;
sql = " select count(*) as count1 from sordalloc " }
+" where sale_order = ? " else{
+" and line_no = ? " sql = "Update sordalloc set status = 'D', qty_alloc = qty_alloc - ? "
+" and exp_lev = ? " +" where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ? "
+" and item_code__ord = ? " +" and lot_no = ? and lot_sl = ? and loc_code = ? ";
+" and item_code = ? " pstmt = conn.prepareStatement(sql);
+" and lot_no = ? " //pstmt.setDouble(1,qtyAlloc - quantityStduom);
+" and lot_sl = ? " pstmt.setDouble(1,quantityStduom);
+" and loc_code = ? "; pstmt.setString(2,sordNo);
pstmt.setString(3,lineNo);
pstmt = conn.prepareStatement(sql); pstmt.setString(4,expLev);
pstmt.setString(1,sordNo); pstmt.setString(5,itemCodeOrd);
//Changed by Santosh on 18-07-16 for line no bug fix pstmt.setString(6,itemCode);
//pstmt.setString(2,lineNo); pstmt.setString(7,lotNo);
pstmt.setString(2,lineNoSord); pstmt.setString(8,lotSl);
pstmt.setString(3,expLev); pstmt.setString(9,locCode);
pstmt.setString(4,itemCodeOrd);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo); pstmt.executeQuery();
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode); pstmt.close();
pstmt = null;
rs = pstmt.executeQuery(); }
while(rs.next())
{ }
cnt = rs.getInt("count1");
} sql = " update sorditem set status = 'D', qty_alloc = qty_alloc - ? , " +
pstmt.close(); " qty_desp = (case when qty_desp is null then 0 else qty_desp end ) + ? , "+
pstmt = null; " date_desp = ? where sale_order = ? and line_no = ? and exp_lev = ? ";
rs.close();
rs = null; pstmt = conn.prepareStatement(sql);
// pstmt.setDouble(1,quantity);
if(cnt == 0) // pstmt.setDouble(2,qtyAlloc - quantityStduom);
{ pstmt.setDouble(1, quantityStduom);
isAllocated = "N"; pstmt.setDouble(2,quantity);
} pstmt.setTimestamp(3,despDate);
else{ pstmt.setString(4,sordNo);
isAllocated = "Y"; pstmt.setString(5,lineNo);
} pstmt.setString(6,expLev);
pstmt.executeUpdate();
if(isAllocated == "Y")
{ pstmt.close();
sql ="select qty_alloc from sordalloc " pstmt = null;
+" 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 = ? "; // 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 = "";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
//Changed by Santosh on 18-07-16 for line no bug fix
//pstmt.setString(2,lineNo);
pstmt.setString(2,lineNoSord); sql = " select grade ,acct_code__inv,cctr_code__inv from stock "
pstmt.setString(3,expLev); +" where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt.setString(4,itemCodeOrd); pstmt = conn.prepareStatement(sql);
pstmt.setString(5,itemCode); pstmt.setString(1,siteCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl); pstmt.setString(2,itemCode);
pstmt.setString(8,locCode); pstmt.setString(3,locCode);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
qtyAlloc = rs.getDouble("qty_alloc"); rs = pstmt.executeQuery();
} while(rs.next())
pstmt.close(); {
pstmt = null; grade = rs.getString("grade");
rs.close(); acctCodeCr = rs.getString("acct_code__inv");
rs = null; cctrCodeCr = rs.getString("cctr_code__inv");
}
if((qtyAlloc - quantityStduom) <= 0.0) pstmt.close();
{ pstmt = null;
sql =" delete from sordalloc where sale_order = ? and line_no = ? and exp_lev = ? and item_code__ord = ? and item_code = ?" rs.close();
+" and lot_no = ? and lot_sl = ? and loc_code = ? "; rs = null;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
//Changed by Santosh on 28-06-16 for line no issue [Start] // PICKING ORDER TYPE, ITEM SER FROM SORDER
//pstmt.setString(2,lineNo);
pstmt.setString(2,lineNoSord);
//Changed by Santosh on 28-06-16 for line no issue [End] sql = " select order_type, item_ser from sorder "
pstmt.setString(3,expLev); +" where sale_order = ?";
pstmt.setString(4,itemCodeOrd); pstmt = conn.prepareStatement(sql);
pstmt.setString(5,itemCode); pstmt.setString(1,sordNo);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl); rs = pstmt.executeQuery();
pstmt.setString(8,locCode); while(rs.next())
{
ordType = rs.getString("order_type");
pstmt.executeQuery(); itemSer = rs.getString("item_ser");
}
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close();
} rs = null;
else{
sql = "Update sordalloc set status = 'D', qty_alloc = qty_alloc - ? " //PICKING ACCT_CODE AND CCTR_CODE COGS. IF CCTR CODE COGS IS BLANK THEN REPLACE WITH CREDIT CCTR CODE AS PER SHIRI
+" 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); sql = " select acct_code__cogs, cctr_code__cogs from item_acct_detr where item_ser = ? and grp_code = ' '"
//pstmt.setDouble(1,qtyAlloc - quantityStduom); +" and item_code = ' ' and tran_type = ? ";
pstmt.setDouble(1,quantityStduom);
pstmt.setString(2,sordNo); pstmt = conn.prepareStatement(sql);
//Changed by Santosh on 28-06-16 for line no issue [Start] pstmt.setString(1,itemSer);
//pstmt.setString(3,lineNo); pstmt.setString(2,ordType);
pstmt.setString(3,lineNoSord); rs = pstmt.executeQuery();
//Changed by Santosh on 28-06-16 for line no issue [End] while(rs.next())
pstmt.setString(4,expLev); {
pstmt.setString(5,itemCodeOrd); acctCodeDr = rs.getString("acct_code__cogs");
pstmt.setString(6,itemCode); cctrCodeDr = rs.getString("cctr_code__cogs");
pstmt.setString(7,lotNo); }
pstmt.setString(8,lotSl); pstmt.close();
pstmt.setString(9,locCode); pstmt = null;
rs.close();
rs = null;
pstmt.executeQuery();
if(cctrCodeDr == null || cctrCodeDr.trim().length() == 0)
pstmt.close(); {
pstmt = null; cctrCodeDr = cctrCodeCr;
}
} updDesp.put("hold_lock", "N");
updDesp.put("tran_date",despDate);
} updDesp.put("tran_ser","S-DSP");
updDesp.put("tran_id", tranId);
sql = " update sorditem set status = 'D', qty_alloc = qty_alloc - ? , " + updDesp.put("tran_type", "ID");
" qty_desp = (case when qty_desp is null then 0 else qty_desp end ) + ? , "+ updDesp.put("line_no", lineNo);
" date_desp = ? where sale_order = ? and line_no = ? and exp_lev = ? "; updDesp.put("sorder_no",sordNo);
updDesp.put("item_code", itemCode);
pstmt = conn.prepareStatement(sql); updDesp.put("site_code", siteCode);
// pstmt.setDouble(1,quantity); updDesp.put("loc_code", locCode);
// pstmt.setDouble(2,qtyAlloc - quantityStduom); updDesp.put("unit", unitStd);
pstmt.setDouble(1, quantityStduom); updDesp.put("lot_no", lotNo);
pstmt.setDouble(2,quantity); updDesp.put("lot_sl", lotSl);
pstmt.setTimestamp(3,despDate);
pstmt.setString(4,sordNo); updDesp.put("quantity", quantity);
//Changed by Santosh on 28-06-16 for line no issue [Start] updDesp.put("qty_stduom", quantityStduom);
//pstmt.setString(5,lineNo); updDesp.put("rate", rateStduom);
pstmt.setString(5,lineNoSord); updDesp.put("item_ser",itemSer);
//Changed by Santosh on 28-06-16 for line no issue [End] updDesp.put("inv_stat", invStat);
pstmt.setString(6,expLev); updDesp.put("grade", grade);
pstmt.executeUpdate(); updDesp.put("acct_code__dr", acctCodeDr);
updDesp.put("cctr_code__dr", cctrCodeDr);
pstmt.close(); updDesp.put("acct_code__cr",acctCodeCr);
pstmt = null; updDesp.put("cctr_code__cr", cctrCodeCr);
// CALLING FUNCTION FOR UPDATING STOCK AFTER DESPATCH PICKING GRADE,ACCT_CODE__CR AND CCTR_CODE__CR FROM STOCK updDesp.put("gross_weight", grossWeight);
String ordType = "",itemSer = "",acctCodeDr = "",cctrCodeDr = "",acctCodeCr = "",cctrCodeCr = "",invLock = "",holdTranId = ""; updDesp.put("tare_weight", tareWeight);
updDesp.put("net_weight", netweight);
updDesp.put("no_art",noArt);
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 = ? "; if(hldQty > 0.0)
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,siteCode); sql = " Select a.lock_code ,a.tran_id "
+ " From inv_hold a, inv_hold_det b , inv_hold_rel_trace c"
pstmt.setString(2,itemCode); + " Where a.tran_id = b.tran_id "
pstmt.setString(3,locCode); + " And b.tran_id = c.ref_no "
pstmt.setString(4,lotNo); + " And c.item_code = ? "
pstmt.setString(5,lotSl); + " And c.site_code = ? "
+ " And c.loc_code = ? "
+ " And c.lot_no = ? "
+ " And c.lot_sl = ? "
rs = pstmt.executeQuery(); + " And b.lot_no = ? "
while(rs.next()) + " And b.lot_sl = ? "
{ + " And (b.line_no_sl = 0 or b.line_no_sl is null) "
grade = rs.getString("grade"); + " And a.confirmed='Y' "
acctCodeCr = rs.getString("acct_code__inv"); + " And b.hold_status ='H' ";
cctrCodeCr = rs.getString("cctr_code__inv");
} pstmt = conn.prepareStatement(sql);
pstmt.close(); pstmt.setString(1,itemCode);
pstmt = null; pstmt.setString(2,siteCode);
rs.close(); pstmt.setString(3,locCode);
rs = null; pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
// PICKING ORDER TYPE, ITEM SER FROM SORDER
rs = pstmt.executeQuery();
sql = " select order_type, item_ser from sorder " while(rs.next())
+" where sale_order = ?"; {
pstmt = conn.prepareStatement(sql); invLock = rs.getString("lock_code");
pstmt.setString(1,sordNo); holdTranId = rs.getString("tran_id");
rs = pstmt.executeQuery(); }
while(rs.next()) pstmt.close();
{ pstmt = null;
ordType = rs.getString("order_type"); rs.close();
itemSer = rs.getString("item_ser"); rs = null;
}
pstmt.close();
pstmt = null; if(invLock != null && invLock.trim().length() > 0 && availableYN == "N")
rs.close(); {
rs = null; if(invLock.equals(disparmVal))
{
//PICKING ACCT_CODE AND CCTR_CODE COGS. IF CCTR CODE COGS IS BLANK THEN REPLACE WITH CREDIT CCTR CODE AS PER SHIRI updDesp.put("hold_lock", "Y");
}
else
sql = " select acct_code__cogs, cctr_code__cogs from item_acct_detr where item_ser = ? and grp_code = ' '" {
+" and item_code = ' ' and tran_type = ? "; updDesp.put("hold_lock", "N");
}
pstmt = conn.prepareStatement(sql); }
pstmt.setString(1,itemSer); if("Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()))
pstmt.setString(2,ordType); {
rs = pstmt.executeQuery(); updDesp.put("hold_qty", quantityStduom);
while(rs.next()) }
{
acctCodeDr = rs.getString("acct_code__cogs");
cctrCodeDr = rs.getString("cctr_code__cogs"); }
} StockUpdate stckupd = new StockUpdate();
pstmt.close(); errString = stckupd.updateStock(updDesp, xtraParams, conn);
pstmt = null;
rs.close(); //CALLING UPDATE OF STOCK FOR TRANSIT ENTRY
rs = null;
if(channelPartner == "Y" && disLink == "E")
if(cctrCodeDr == null || cctrCodeDr.trim().length() == 0) {
{ sql = "select var_value from disparm where prd_code='999999' and var_name='TRANSIT_LOC'";
cctrCodeDr = cctrCodeCr; pstmt = conn.prepareStatement(sql);
}
updDesp.put("hold_lock", "N"); rs = pstmt.executeQuery();
updDesp.put("tran_date",despDate); while(rs.next())
updDesp.put("tran_ser","S-DSP"); {
updDesp.put("tran_id", tranId);
updDesp.put("tran_type", "ID"); varValueTransit = rs.getString("var_value");//location code
updDesp.put("line_no", lineNo); }
updDesp.put("sorder_no",sordNo); pstmt.close();
updDesp.put("item_code", itemCode); pstmt = null;
updDesp.put("site_code", siteCode); rs.close();
updDesp.put("loc_code", locCode); rs = null;
updDesp.put("unit", unitStd);
updDesp.put("lot_no", lotNo); sql = "select inv_stat from location where loc_code = ? ";
updDesp.put("lot_sl", lotSl); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,varValueTransit);
updDesp.put("quantity", quantity); rs = pstmt.executeQuery();
updDesp.put("qty_stduom", quantityStduom); while(rs.next())
updDesp.put("rate", rateStduom); {
updDesp.put("item_ser",itemSer);
updDesp.put("inv_stat", invStat); invStatTransit = rs.getString("inv_stat");
updDesp.put("grade", grade); }
updDesp.put("acct_code__dr", acctCodeDr); pstmt.close();
updDesp.put("cctr_code__dr", cctrCodeDr); pstmt = null;
updDesp.put("acct_code__cr",acctCodeCr); rs.close();
updDesp.put("cctr_code__cr", cctrCodeCr); rs = null;
updDesp.put("gross_weight", grossWeight); sql = "select exp_date,mfg_date,site_code__mfg,pack_code,acct_code__inv,cctr_code__inv "
updDesp.put("tare_weight", tareWeight);
updDesp.put("net_weight", netweight); +" from stock where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
updDesp.put("no_art",noArt);
pstmt = conn.prepareStatement(sql);
if(hldQty > 0.0) pstmt.setString(1,siteCode);
{ pstmt.setString(2,itemCode);
sql = " Select a.lock_code ,a.tran_id " pstmt.setString(3,locCode);
+ " From inv_hold a, inv_hold_det b , inv_hold_rel_trace c" pstmt.setString(4,lotNo);
+ " Where a.tran_id = b.tran_id " pstmt.setString(5,lotSl);
+ " And b.tran_id = c.ref_no " rs = pstmt.executeQuery();
+ " And c.item_code = ? " while(rs.next())
+ " And c.site_code = ? " {
+ " And c.loc_code = ? " updDespTransit.put("acct_code_inv", rs.getString("acct_code__inv"));
+ " And c.lot_no = ? " updDespTransit.put("cctr_code_inv", rs.getString("cctr_code__inv"));
+ " And c.lot_sl = ? " updDespTransit.put("exp_date", rs.getTimestamp("exp_date"));
+ " And b.lot_no = ? " updDespTransit.put("mfg_date", rs.getTimestamp("mfg_date"));
+ " And b.lot_sl = ? " updDespTransit.put("site_code__mfg", rs.getString("site_code__mfg"));
+ " And (b.line_no_sl = 0 or b.line_no_sl is null) " updDespTransit.put("pack_code", rs.getString("pack_code"));
+ " And a.confirmed='Y' " updDespTransit.put("inv_stat", invStatTransit);
+ " And b.hold_status ='H' "; updDespTransit.put("loc_code",varValueTransit);
updDespTransit.put("tran_type","R");
pstmt = conn.prepareStatement(sql); updDespTransit.put("site_code",siteCodeDlv);
pstmt.setString(1,itemCode); updDespTransit.put("hold_qty",0.0);
pstmt.setString(2,siteCode);
pstmt.setString(3,locCode); errString = stckupd.updateStock(updDespTransit, xtraParams, conn);
pstmt.setString(4,lotNo);
pstmt.setString(5,lotSl);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl); }
pstmt.close();
pstmt = null;
rs = pstmt.executeQuery(); rs.close();
while(rs.next()) rs = null;
{
invLock = rs.getString("lock_code");
holdTranId = rs.getString("tran_id");
//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()) )
pstmt.close();
pstmt = null; {
rs.close(); sql = " Update stock set hold_qty = case when hold_qty is null then 0 else hold_qty end + ? Where item_code = ? And site_code = ? "
rs = null; +" And loc_code = ? And lot_no = ? And lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
if(invLock != null && invLock.trim().length() > 0 && availableYN == "N") pstmt.setDouble(1,quantityStduom);
{ pstmt.setString(2,itemCode);
if(invLock.equals(disparmVal)) pstmt.setString(3,siteCodeDlv);
{ pstmt.setString(4,invStatTransit);
updDesp.put("hold_lock", "Y"); pstmt.setString(5,lotNo);
} pstmt.setString(6,lotSl);
else pstmt.executeUpdate();
{
updDesp.put("hold_lock", "N"); pstmt.close();
} pstmt = null;
}
if("Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString())) 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'" ;
updDesp.put("hold_qty", quantityStduom);
} pstmt = conn.prepareStatement(sql);
pstmt.setString(1,invStatTransit);
pstmt.setString(2,itemCode);
} pstmt.setString(3,holdTranId);
StockUpdate stckupd = new StockUpdate(); pstmt.setString(4,itemCode);
errString = stckupd.updateStock(updDesp, xtraParams, conn); pstmt.setString(5,lotNo);
pstmt.setString(6,lotSl);
//CALLING UPDATE OF STOCK FOR TRANSIT ENTRY pstmt.setString(7,locCode);
if(channelPartner == "Y" && disLink == "E") pstmt.executeUpdate();
{
sql = "select var_value from disparm where prd_code='999999' and var_name='TRANSIT_LOC'"; pstmt.close();
pstmt = conn.prepareStatement(sql); pstmt = null;
rs = pstmt.executeQuery(); sql = " update inv_hold_rel_trace set loc_code = ?, site_code = ? Where ref_no = ? And site_code = ? "
while(rs.next()) +" And item_code = ? And lot_no = ? And lot_sl = ? And loc_code = ? And hold_qty > 0 ";
{
pstmt = conn.prepareStatement(sql);
varValueTransit = rs.getString("var_value");//location code pstmt.setString(1,invStatTransit);
} pstmt.setString(2,siteCodeDlv);
pstmt.close(); pstmt.setString(3,holdTranId);
pstmt = null; pstmt.setString(4,siteCode);
rs.close(); pstmt.setString(5,itemCode);
rs = null; pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
sql = "select inv_stat from location where loc_code = ? "; pstmt.setString(8,locCode);
pstmt = conn.prepareStatement(sql); pstmt.executeUpdate();
pstmt.setString(1,varValueTransit);
rs = pstmt.executeQuery(); pstmt.close();
while(rs.next()) pstmt = null;
{
invStatTransit = rs.getString("inv_stat");
} }
pstmt.close();
pstmt = null; }//end of transit entry
rs.close(); //Updating sorder status.
rs = null;
sql = "select sum(quantity) as lc_order_qty , sum(quantity) - sum(qty_desp) as mqty_chk from sorditem "
sql = "select exp_date,mfg_date,site_code__mfg,pack_code,acct_code__inv,cctr_code__inv " + "where sale_order = ? and line_type = 'I'";
pstmt = conn.prepareStatement(sql);
+" from stock where site_code = ? and item_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? "; pstmt.setString(1,sordNo);
rs = pstmt.executeQuery();
while(rs.next())
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,siteCode); OrderQty = rs.getDouble("lc_order_qty");
pstmt.setString(2,itemCode); mQtyCheck = rs.getDouble("mqty_chk");
pstmt.setString(3,locCode); }
pstmt.setString(4,lotNo); pstmt.close();
pstmt.setString(5,lotSl); pstmt = null;
rs = pstmt.executeQuery(); rs.close();
while(rs.next()) rs = null;
{
updDespTransit.put("acct_code_inv", rs.getString("acct_code__inv"));
updDespTransit.put("cctr_code_inv", rs.getString("cctr_code__inv")); if(mQtyCheck > 0.0) //PARTIAL DESPATCH
updDespTransit.put("exp_date", rs.getTimestamp("exp_date")); {
updDespTransit.put("mfg_date", rs.getTimestamp("mfg_date")); status = "P";
updDespTransit.put("site_code__mfg", rs.getString("site_code__mfg")); allocFlag = "N";
updDespTransit.put("pack_code", rs.getString("pack_code")); }
updDespTransit.put("inv_stat", invStatTransit); else
updDespTransit.put("loc_code",varValueTransit); {
updDespTransit.put("tran_type","R"); status = "C";
updDespTransit.put("site_code",siteCodeDlv); allocFlag = "Y";
updDespTransit.put("hold_qty",0.0); }
errString = stckupd.updateStock(updDespTransit, xtraParams, conn); 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.close(); pstmt.setTimestamp(3,despDate);
pstmt = null; pstmt.setString(4,allocFlag);
rs.close(); pstmt.setString(5,sordNo);
rs = null;
pstmt.executeUpdate();
pstmt.close();
//following code added by ajit on date 19/08/2014 pstmt = null;
if(errString == null || errString.trim().length() == 0 && "Y".equalsIgnoreCase(updDesp.get("hold_lock")==null?"":updDesp.get("hold_lock").toString()) )
//End of updating sorder status.
{
sql = " Update stock set hold_qty = case when hold_qty is null then 0 else hold_qty end + ? Where item_code = ? And site_code = ? " sql = " select pending_order from sorder where sale_order = ? ";
+" And loc_code = ? And lot_no = ? And lot_sl = ? "; pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery();
pstmt.setDouble(1,quantityStduom); while(rs.next())
pstmt.setString(2,itemCode); {
pstmt.setString(3,siteCodeDlv); pendOrder = checkNull(rs.getString("pending_order"));
pstmt.setString(4,invStatTransit); }
pstmt.setString(5,lotNo); pstmt.close();
pstmt.setString(6,lotSl); pstmt = null;
pstmt.executeUpdate(); rs.close();
rs = null;
pstmt.close();
pstmt = null; if(pendOrder == "I")
{
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'" ; 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,itemCode); rs = pstmt.executeQuery();
pstmt.setString(3,holdTranId); while(rs.next())
pstmt.setString(4,itemCode); {
pstmt.setString(5,lotNo); mCancperc = rs.getDouble("mCancperc");
pstmt.setString(6,lotSl); }
pstmt.setString(7,locCode); pstmt.close();
pstmt = null;
pstmt.executeUpdate(); rs.close();
rs = null;
pstmt.close();
pstmt = null; if(OrderQty > 0.0)
{
sql = " update inv_hold_rel_trace set loc_code = ?, site_code = ? Where ref_no = ? And site_code = ? " if((mQtyCheck/OrderQty * 100) <= mCancperc)
+" And item_code = ? And lot_no = ? And lot_sl = ? And loc_code = ? And hold_qty > 0 "; {
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,invStatTransit); pstmt.setString(1,sordNo);
pstmt.setString(2,siteCodeDlv); pstmt.setString(2,lineNoSord);
pstmt.setString(3,holdTranId); pstmt.setString(3,expLev);
pstmt.setString(4,siteCode); pstmt.executeUpdate();
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo); pstmt.close();
pstmt.setString(7,lotSl); pstmt = null;
pstmt.setString(8,locCode);
pstmt.executeUpdate();
sql = "update sorddet set status = 'C' where sale_order = ? and line_no = ? ";
pstmt.close();
pstmt = null; pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
pstmt.setString(2,lineNoSord);
} pstmt.executeUpdate();
}//end of transit entry pstmt.close();
//Updating sorder status. pstmt = null;
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()) sql = "select count(1) as ll_cnt from sorddet where sale_order = ? and status <> 'C'";
{ pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sordNo);
OrderQty = rs.getDouble("lc_order_qty"); rs = pstmt.executeQuery();
mQtyCheck = rs.getDouble("mqty_chk"); while(rs.next())
} {
pstmt.close(); detCount = rs.getInt("ll_cnt");
pstmt = null; }
rs.close(); pstmt.close();
rs = null; pstmt = null;
rs.close();
rs = null;
if(mQtyCheck > 0.0) //PARTIAL DESPATCH if(detCount == 0)
{ {
status = "P"; sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' "
allocFlag = "N"; +"where sale_order = ? " ;
}
else pstmt = conn.prepareStatement(sql);
{ pstmt.setTimestamp(1,despDate);
status = "C"; pstmt.setString(2,sordNo);
allocFlag = "Y";
} pstmt.executeUpdate();
sql = " update sorder set status = ?,order_status = ?, status_date = ?,alloc_flag = ? " pstmt.close();
+" where sale_order = ?"; pstmt = null;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,status); }
pstmt.setString(2,status);
pstmt.setTimestamp(3,despDate); }
pstmt.setString(4,allocFlag);
pstmt.setString(5,sordNo); }//end of if pending order == "I"
pstmt.executeUpdate(); else if(pendOrder == "Y")
{
pstmt.close(); sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' where sale_order = ?";
pstmt = null;
pstmt = conn.prepareStatement(sql);
//End of updating sorder status. pstmt.setTimestamp(1,despDate);
pstmt.setString(2,sordNo);
sql = " select pending_order from sorder where sale_order = ? ";
pstmt = conn.prepareStatement(sql); pstmt.executeUpdate();
pstmt.setString(1,sordNo);
rs = pstmt.executeQuery(); pstmt.close();
while(rs.next()) pstmt = null;
{ }
pendOrder = checkNull(rs.getString("pending_order"));
} //If eou is site and EXPORT order type than Updating Bond Value, bond value shd be Credited
pstmt.close(); sql = "Select case when eou is null then 'N' else eou end as ls_eou From site Where site_code = ? " ;
pstmt = null; pstmt = conn.prepareStatement(sql);
rs.close(); pstmt.setString(1,siteCode);
rs = null; rs = pstmt.executeQuery();
while(rs.next())
if(pendOrder == "I") {
{ eou = rs.getString("ls_eou");
}
sql = "Select (case when ordc_perc is null then 0 else ordc_perc end) as mCancperc " pstmt.close();
+" from item where item_code = ? " ; pstmt = null;
pstmt = conn.prepareStatement(sql); rs.close();
pstmt.setString(1,itemCode); rs = null;
rs = pstmt.executeQuery(); if("Y".equalsIgnoreCase(eou) && (exportOrderType == ordType) && bondTaxGroup!= null && bondTaxGroup.trim().length() > 0)
while(rs.next()) {
{ bondTaxAmt = 0.0;
mCancperc = rs.getDouble("mCancperc"); 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(OrderQty > 0.0) while(rs.next())
{ {
if((mQtyCheck/OrderQty * 100) <= mCancperc) bondTaxAmt = rs.getDouble("tax_amt");
{ }
sql = " update sorditem set status = 'C' where sale_order = ? and line_no = ? and exp_lev= ? "; pstmt.close();
pstmt = conn.prepareStatement(sql); pstmt = null;
pstmt.setString(1,sordNo); rs.close();
pstmt.setString(2,lineNoSord); rs = null;
pstmt.setString(3,expLev);
pstmt.executeUpdate(); if(bondTaxAmt != 0.0)
{
pstmt.close(); int cnt4=0;
pstmt = null; 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 "
sql = "update sorddet set status = 'C' where sale_order = ? and line_no = ? "; +" and case when confirmed is null then 'N' else confirmed end = 'Y' and bond_type = 'B' " ;
pstmt = conn.prepareStatement(sql);
pstmt = conn.prepareStatement(sql); pstmt.setString(1,siteCode);
pstmt.setString(1,sordNo); pstmt.setTimestamp(2,despDate);
pstmt.setString(2,lineNoSord); pstmt.setTimestamp(3,despDate);
pstmt.setString(3,bondTaxGroup);
pstmt.executeUpdate(); rs = pstmt.executeQuery();
while(rs.next())
pstmt.close(); {
pstmt = null; cnt4++;
bondNo = rs.getString("bond_no");
bondValue = rs.getDouble("bond_value");
bankGuarantee = rs.getDouble("lc_bank_guarantee");
}
}
pstmt.close();
sql = "select count(1) as ll_cnt from sorddet where sale_order = ? and status <> 'C'"; pstmt = null;
pstmt = conn.prepareStatement(sql); rs.close();
pstmt.setString(1,sordNo); rs = null;
rs = pstmt.executeQuery(); if(cnt4 == 0)
while(rs.next()) {
{ errString = itmDBAccessEJB.getErrorString("","VTB17ERR1","","",conn);
detCount = rs.getInt("ll_cnt"); return errString ;
} }
pstmt.close(); else if(bankGuarantee < (bondValue+bondTaxAmt))
pstmt = null; {
rs.close(); errString = itmDBAccessEJB.getErrorString("","VTB17ERR2","","",conn);
rs = null; return errString ;
if(detCount == 0) }
{ else
sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' " {
+"where sale_order = ? " ; sql = "update b17_bond set bond_value = ? where bond_no = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,despDate); pstmt.setDouble(1,bondValue+bondTaxAmt);
pstmt.setString(2,sordNo); pstmt.setString(2,bondNo);
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
}
} }
}
} }//status not cancelled
}
}//end of if pending order == "I" pstmt3.close();
pstmt3 = null;
else if(pendOrder == "Y") rs3.close();
{ rs3 = null;
sql = "update sorder set status = 'C', status_date = ?, alloc_flag = 'Y', order_status = 'C' where sale_order = ?"; }
pstmt = conn.prepareStatement(sql); System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString);
pstmt.setTimestamp(1,despDate);
pstmt.setString(2,sordNo); if(errString == null || errString.trim().length()== 0)
{
pstmt.executeUpdate(); System.out.println("Insiding Despatch Confirmation!!!!!!");
sql = "update despatch set confirmed = 'Y', conf_date = ? where desp_id = ?";
pstmt.close();
pstmt = null; pstmt = conn.prepareStatement(sql);
} pstmt.setTimestamp(1,new Timestamp(System.currentTimeMillis()));
pstmt.setString(2,tranId);
//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 = ? " ; int confirmCnt = pstmt.executeUpdate();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode); pstmt.close();
rs = pstmt.executeQuery(); pstmt = null;
while(rs.next())
{ if(confirmCnt > 0)
eou = rs.getString("ls_eou"); {
} InvAcct inv = new InvAcct();
pstmt.close(); errString = inv.despatchPost(tranId,"S-DSP",conn);
pstmt = null; if(errString.trim().length() == 0 || errString == null)
rs.close(); {
rs = null; PostOrderActivity pstordact=new PostOrderActivity();
if("Y".equalsIgnoreCase(eou) && (exportOrderType == ordType) && bondTaxGroup!= null && bondTaxGroup.trim().length() > 0) errString=pstordact.gbfCreateFrtDrn(tranId, xtraParams, conn);
{ }
bondTaxAmt = 0.0; if(errString.indexOf("CONFSUCCES") > -1 || errString == null || errString.trim().length()==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 ( ? )" ; if("Y".equalsIgnoreCase(autoInvOnDesp))
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,tranId); String fromSaleOrder="", fromCustCode="", orderType="", siteCodeShip="";
pstmt.setString(2,lineNo); Timestamp fromDate = null;
pstmt.setString(3,bondTaxGroup);
rs = pstmt.executeQuery(); sql = " select d.sord_no,d.cust_code,so.order_type, d.desp_date, so.site_code__ship " +
while(rs.next()) " from despatch d, sorder so " +
{ " where d.desp_id = ? and d.sord_no = so.sale_order ";
bondTaxAmt = rs.getDouble("tax_amt"); pstmt = conn.prepareStatement(sql);
} pstmt.setString(1, tranId );
pstmt.close(); rs = pstmt.executeQuery();
pstmt = null; if(rs.next())
rs.close(); {
rs = null; fromSaleOrder = checkNull(rs.getString("sord_no"));
fromCustCode = checkNull(rs.getString("cust_code"));
if(bondTaxAmt != 0.0) orderType = checkNull(rs.getString("order_type"));
{ fromDate = rs.getTimestamp("desp_date");
int cnt4=0; siteCodeShip = checkNull(rs.getString("site_code__ship"));
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 " pstmt.close();
+" and case when confirmed is null then 'N' else confirmed end = 'Y' and bond_type = 'B' " ; pstmt = null;
pstmt = conn.prepareStatement(sql); rs.close();
pstmt.setString(1,siteCode); rs = null;
pstmt.setTimestamp(2,despDate); System.out.println("@@@@@@@@@ fromSaleOrder["+fromSaleOrder+"]fromCustCode["+fromCustCode+"]orderType["+orderType+"]fromDate["+fromDate+"]siteCodeShip["+siteCodeShip+"]");
pstmt.setTimestamp(3,despDate);
pstmt.setString(3,bondTaxGroup); // setting default value like post order default
rs = pstmt.executeQuery(); String clubOrder = "",clubPendingOrd="",adjDrcr="",adjCustAdv="",advAdjMode="",adjNewProdInv="";
while(rs.next()) //Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false;
{ clubOrder = "N";
cnt4++; clubPendingOrd="N";
bondNo = rs.getString("bond_no"); //adjDrcr="N";
bondValue = rs.getDouble("bond_value"); //adjCustAdv="N";
bankGuarantee = rs.getDouble("lc_bank_guarantee"); //advAdjMode="C";
//adjNewProdInv="N";
}
pstmt.close(); adjDrcr = checkNull(distCommon.getDisparams("999999","ADJUST_DR_CR_NOTE",conn));
pstmt = null; adjCustAdv = checkNull(distCommon.getDisparams("999999","ADJUST_CUST_ADV",conn));
rs.close(); adjNewProdInv = checkNull(distCommon.getDisparams("999999","ADJUST_NEW_PRODUCT_INVOICE",conn));
rs = null; advAdjMode = checkNull(distCommon.getDisparams("999999","ADJ_ADV_CUST_SALE",conn));
if(cnt4 == 0)
{ System.out.println("@@@@@adjDrcr["+adjDrcr+"]adjCustAdv["+adjCustAdv+"]adjNewProdInv["+adjNewProdInv+"]advAdjMode["+advAdjMode+"]");
errString = itmDBAccessEJB.getErrorString("","VTB17ERR1","","",conn);
return errString ; PostOrderProcess postOrderProcess = new PostOrderProcess();
} // fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn
else if(bankGuarantee < (bondValue+bondTaxAmt)) long startTime = System.currentTimeMillis();
{ System.out.println("START TIME FOR POST ORDER PROCESS IN SECONDS:::["+startTime/1000+"]");
errString = itmDBAccessEJB.getErrorString("","VTB17ERR2","","",conn);
return errString ; errString= postOrderProcess.invPosting( fromSaleOrder, fromSaleOrder, fromCustCode, fromCustCode, tranId , orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip,xtraParams, conn);
}
else long endTime = System.currentTimeMillis();
{ System.out.println("END TIME FOR POST ORDER PROCESS IN SECONDS:::["+endTime/1000+"]");
sql = "update b17_bond set bond_value = ? where bond_no = ?"; System.out.println("DIFFERANCE IN TIME FOR POST ORDER PROCESS IN SECONDS:::["+(endTime-startTime)/1000+"]for SALE_ORDER["+fromSaleOrder+"]");
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,bondValue+bondTaxAmt); System.out.println("@@@@@@@@@689 invPosting() errString::::::["+errString+"]");
pstmt.setString(2,bondNo); if(errString.indexOf("Success") > -1)
{
pstmt.executeUpdate(); errString = "";
}
pstmt.close(); }
pstmt = null; }
} System.out.println("@@@@@@@@@689 out:::::["+errString+"]");
} if( errString == null || errString.trim().length() == 0)
} {
}//status not cancelled System.out.println("errCode in despatch posting===="+errString);
} System.out.println(">>The selected transaction is confirmed!!!!");
pstmt3.close(); //errString= "<?xml version='1.0'?><Root><message>VTPOSTDES</message><TranID>"+tranId+"</TranID></errors></Root>";
pstmt3 = null; errString="VTPOSTDES";
rs3.close(); System.out.println("@@@@@ retString:[" + errString+"]");
rs3 = null; }
} }
System.out.println("ERROR STRING WHILE DESPATCH CONFIRMATION!!!!!!!!!!!!!!"+errString); /*sql = "select confirmed from despatch where desp_id = ?";
pstmt = conn.prepareStatement(sql);
if(errString == null || errString.trim().length()== 0) pstmt.setString(1,tranId);
{ rs = pstmt.executeQuery();
System.out.println("Insiding Despatch Confirmation!!!!!!"); if(rs.next())
sql = "update despatch set confirmed = 'Y', conf_date = ? where desp_id = ?"; {
confirm = rs.getString("confirmed");
pstmt = conn.prepareStatement(sql); }
pstmt.setTimestamp(1,new Timestamp(System.currentTimeMillis())); rs.close();
pstmt.setString(2,tranId); rs = null;
pstmt.close();
int confirmCnt = pstmt.executeUpdate(); pstmt = null;
System.out.println("@@@@@@@@@@@@test:::desp_id["+tranId+"]confirm["+confirm+"]");
pstmt.close(); */
pstmt = null; }
if(confirmCnt > 0) }
{ catch(Exception e)
InvAcct inv = new InvAcct(); {
errString = inv.despatchPost(tranId,"S-DSP",conn); try
if(errString.trim().length() == 0 || errString == null) {
{ conn.rollback();
if("Y".equalsIgnoreCase(autoInvOnDesp)) }
{ catch (Exception e1)
String fromSaleOrder="", fromCustCode="", orderType="", siteCodeShip=""; {
Timestamp fromDate = null; }
e.printStackTrace();
sql = " select d.sord_no,d.cust_code,so.order_type, d.desp_date, so.site_code__ship " + System.out.println("Exception ::"+e.getMessage());
" from despatch d, sorder so " + throw new ITMException(e);
" where d.desp_id = ? and d.sord_no = so.sale_order "; }
pstmt = conn.prepareStatement(sql); finally
pstmt.setString(1, tranId ); {
rs = pstmt.executeQuery(); try
if(rs.next()) {
{
fromSaleOrder = checkNull(rs.getString("sord_no"));
fromCustCode = checkNull(rs.getString("cust_code")); if(pstmt1 != null)
orderType = checkNull(rs.getString("order_type")); {
fromDate = rs.getTimestamp("desp_date"); pstmt1.close();
siteCodeShip = checkNull(rs.getString("site_code__ship")); pstmt1 = null;
}
} if(pstmt != null)
pstmt.close(); {
pstmt = null; pstmt.close();
rs.close(); pstmt = null;
rs = null; }
System.out.println("@@@@@@@@@ fromSaleOrder["+fromSaleOrder+"]fromCustCode["+fromCustCode+"]orderType["+orderType+"]fromDate["+fromDate+"]siteCodeShip["+siteCodeShip+"]"); /*if( conn != null && ! conn.isClosed() )
{
// setting default value like post order default conn.close();
String clubOrder = "",clubPendingOrd="",adjDrcr="",adjCustAdv="",advAdjMode="",adjNewProdInv=""; conn = null;
//Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false; }*/
clubOrder = "N"; }
clubPendingOrd="N"; catch(Exception ef)
//adjDrcr="N"; {
//adjCustAdv="N"; System.out.println(ef.getMessage());
//advAdjMode="C"; ef.printStackTrace();
//adjNewProdInv="N"; throw new ITMException(ef);
}
adjDrcr = checkNull(distCommon.getDisparams("999999","ADJUST_DR_CR_NOTE",conn)); }
adjCustAdv = checkNull(distCommon.getDisparams("999999","ADJUST_CUST_ADV",conn));
adjNewProdInv = checkNull(distCommon.getDisparams("999999","ADJUST_NEW_PRODUCT_INVOICE",conn));
advAdjMode = checkNull(distCommon.getDisparams("999999","ADJ_ADV_CUST_SALE",conn)); return errString;
}
System.out.println("@@@@@adjDrcr["+adjDrcr+"]adjCustAdv["+adjCustAdv+"]adjNewProdInv["+adjNewProdInv+"]advAdjMode["+advAdjMode+"]");
PostOrderProcess postOrderProcess = new PostOrderProcess(); private String checkNull(String inp)
// fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn {
long startTime = System.currentTimeMillis(); if(inp == null)
System.out.println("START TIME FOR POST ORDER PROCESS IN SECONDS:::["+startTime/1000+"]"); inp = " ";
return inp.trim();
errString= postOrderProcess.invPosting( fromSaleOrder, fromSaleOrder, fromCustCode, fromCustCode, tranId , orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, siteCodeShip, conn); }
long endTime = System.currentTimeMillis();
System.out.println("END TIME FOR POST ORDER PROCESS IN SECONDS:::["+endTime/1000+"]"); }
System.out.println("DIFFERANCE IN TIME FOR POST ORDER PROCESS IN SECONDS:::["+(endTime-startTime)/1000+"]for SALE_ORDER["+fromSaleOrder+"]");
System.out.println("@@@@@@@@@689 invPosting() errString::::::["+errString+"]");
if(errString.indexOf("Success") > -1)
{
errString = "";
}
}
}
System.out.println("@@@@@@@@@689 out:::::["+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>";
errString="VTPOSTDES";
System.out.println("@@@@@ retString:[" + errString+"]");
}
}
/*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;
System.out.println("@@@@@@@@@@@@test:::desp_id["+tranId+"]confirm["+confirm+"]");
*/
}
}
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();
pstmt1 = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
/*if( conn != null && ! conn.isClosed() )
{
conn.close();
conn = null;
}*/
}
catch(Exception ef)
{
System.out.println(ef.getMessage());
ef.printStackTrace();
throw new ITMException(ef);
}
}
return errString;
}
private String checkNull(String inp)
{
if(inp == null)
inp = " ";
return inp.trim();
}
}
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