Commit 1bfd633a authored by gahmad's avatar gahmad

changes made at sun


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91563 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 4b32df34
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import java.sql.*; import java.sql.*;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.*;
import ibase.webitm.utility.*; import ibase.webitm.utility.*;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.webitm.utility.GenericUtility; import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
import java.util.HashMap; import java.util.HashMap;
import java.io.*; import java.io.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
public class InvAllocTraceBean public class InvAllocTraceBean
{ {
FileWriter f = null; FileWriter f = null;
public String updateInvallocTrace(HashMap invallocTraceMap, Connection conn) throws ITMException,Exception public String updateInvallocTrace(HashMap invallocTraceMap, Connection conn) throws ITMException,Exception
{ {
try String fileDest = "";
{ try
f = new FileWriter("invalloc.log", true); {
} //changes by gulzar on 12/12/2011 to write the log file in jboss log location
catch(Exception e) //f = new FileWriter("invalloc.log", true);
{ fileDest = CommonConstants.JBOSSHOME + File.separator + "server" + File.separator + "default" + File.separator + "log" + File.separator + "invalloc.log";
System.out.println(e.getMessage()); f = new FileWriter( fileDest, true);
writeException(e); }
} catch(Exception e)
String errString = ""; {
String errCode = "" ; System.out.println(e.getMessage());
String sql = null ; writeException(e, fileDest );
String sqlUpdate = null ; }
String keyStringQuery = null ; String errString = "";
CommonConstants commonConstants = new CommonConstants(); String errCode = "" ;
String refSer = (String)invallocTraceMap.get("ref_ser"); String sql = null ;
String refId = (String)invallocTraceMap.get("ref_id"); String sqlUpdate = null ;
String refLine = (String)invallocTraceMap.get("ref_line"); String keyStringQuery = null ;
String siteCode = (String)invallocTraceMap.get("site_code"); CommonConstants commonConstants = new CommonConstants();
String itemCode = (String)invallocTraceMap.get("item_code"); String refSer = (String)invallocTraceMap.get("ref_ser");
String locCode = (String)invallocTraceMap.get("loc_code"); String refId = (String)invallocTraceMap.get("ref_id");
String lotNo = (String)invallocTraceMap.get("lot_no"); String refLine = (String)invallocTraceMap.get("ref_line");
String lotSl = (String)invallocTraceMap.get("lot_sl"); String siteCode = (String)invallocTraceMap.get("site_code");
double allocQty = ((Double)invallocTraceMap.get("alloc_qty")).doubleValue(); String itemCode = (String)invallocTraceMap.get("item_code");
String chgUser = (String)invallocTraceMap.get("chg_user"); String locCode = (String)invallocTraceMap.get("loc_code");
String chgTerm = (String)invallocTraceMap.get("chg_term"); String lotNo = (String)invallocTraceMap.get("lot_no");
String chgWin = (String)invallocTraceMap.get("chg_win"); String lotSl = (String)invallocTraceMap.get("lot_sl");
if(lotNo == null) double allocQty = ((Double)invallocTraceMap.get("alloc_qty")).doubleValue();
lotNo = " "; String chgUser = (String)invallocTraceMap.get("chg_user");
if(lotSl == null) String chgTerm = (String)invallocTraceMap.get("chg_term");
lotSl = " "; String chgWin = (String)invallocTraceMap.get("chg_win");
if(lotNo == null)
java.sql.Date chgDate = new java.sql.Date(System.currentTimeMillis()); lotNo = " ";
java.sql.Date tranDate = new java.sql.Date(System.currentTimeMillis()); if(lotSl == null)
PreparedStatement pstmt = null ; lotSl = " ";
ResultSet rSet = null ;
Statement stmt = null ; //Changed by gulzar on 12/12/2011
String tranId = null ; if ( chgUser == null || chgUser.trim().length() == 0 )
{
try chgUser = "SYSTEM";
{ }
keyStringQuery = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE UPPER(TRAN_WINDOW) = 'T_ALLOCTRACE'"; if ( chgTerm == null || chgTerm.trim().length() == 0 )
System.out.println("keyStringQuery--------->>"+keyStringQuery); {
chgTerm = "SYSTEM";
stmt = conn.createStatement(); }
rSet = stmt.executeQuery(keyStringQuery); //End changes by gulzar on 12/12/2011
System.out.println("keyString :"+rSet.toString());
String tranSer1 = ""; java.sql.Date chgDate = new java.sql.Date(System.currentTimeMillis());
String keyString = ""; java.sql.Date tranDate = new java.sql.Date(System.currentTimeMillis());
String keyCol = ""; PreparedStatement pstmt = null ;
if (rSet.next()) ResultSet rSet = null ;
{ Statement stmt = null ;
keyString = rSet.getString(1); String tranId = null ;
keyCol = rSet.getString(2);
tranSer1 = rSet.getString(3); try
} {
rSet.close(); keyStringQuery = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE UPPER(TRAN_WINDOW) = 'T_ALLOCTRACE'";
stmt.close(); System.out.println("keyStringQuery--------->>"+keyStringQuery);
rSet = null;
stmt = null; stmt = conn.createStatement();
f.write(keyString + " " + keyCol + " " + tranSer1+ "\r\n"); rSet = stmt.executeQuery(keyStringQuery);
System.out.println("keyString :"+ keyString); System.out.println("keyString :"+rSet.toString());
System.out.println("keyCol :"+ keyCol); String tranSer1 = "";
System.out.println("tranSer1 :"+ tranSer1); String keyString = "";
String xmlValues = ""; String keyCol = "";
String tranDateStr = getCurrdateAppFormat(); //added by rajendra on 17/04/09 for tran date if (rSet.next())
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; {
xmlValues = xmlValues + "<Header></Header>"; keyString = rSet.getString(1);
xmlValues = xmlValues + "<Detail1>"; keyCol = rSet.getString(2);
xmlValues = xmlValues + "<tran_id></tran_id>"; tranSer1 = rSet.getString(3);
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>"; }
xmlValues = xmlValues + "<tran_date>" + tranDateStr + "</tran_date>"; //added by rajendra on 17/04/09 rSet.close();
xmlValues = xmlValues +"</Detail1></Root>"; stmt.close();
System.out.println("xmlValues :["+xmlValues+"]"); rSet = null;
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", commonConstants.DB_NAME); stmt = null;
tranId = tg.generateTranSeqID(tranSer1, keyCol, keyString, conn); f.write(keyString + " " + keyCol + " " + tranSer1+ "\r\n");
f.write("trace tran id ... " +tranId + "\r\n"); System.out.println("keyString :"+ keyString);
System.out.println("tranId :"+tranId); System.out.println("keyCol :"+ keyCol);
System.out.println("tranSer1 :"+ tranSer1);
sql = "INSERT INTO INVALLOC_TRACE (TRAN_ID, TRAN_DATE, REF_SER, REF_ID," String xmlValues = "";
+"REF_LINE,ITEM_CODE, SITE_CODE, LOC_CODE,LOT_NO, LOT_SL, ALLOC_QTY, CHG_WIN," String tranDateStr = getCurrdateAppFormat(); //added by rajendra on 17/04/09 for tran date
+"CHG_USER, CHG_TERM, CHG_DATE )VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
pstmt = conn.prepareStatement(sql); xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
System.out.println("trans id="+ tranId); xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
System.out.println("tranDate="+ tranDate); xmlValues = xmlValues + "<tran_date>" + tranDateStr + "</tran_date>"; //added by rajendra on 17/04/09
System.out.println("refSer="+ refSer); xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("refId="+ refId); System.out.println("xmlValues :["+xmlValues+"]");
System.out.println("refLine="+ refLine); TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", commonConstants.DB_NAME);
System.out.println("itemCode="+ itemCode); tranId = tg.generateTranSeqID(tranSer1, keyCol, keyString, conn);
System.out.println("siteCodeShip="+ siteCode); f.write("trace tran id ... " +tranId + "\r\n");
System.out.println("locCode="+ locCode); System.out.println("tranId :"+tranId);
System.out.println("lotNo="+ lotNo);
System.out.println("LOT_SL="+ lotSl); sql = "INSERT INTO INVALLOC_TRACE (TRAN_ID, TRAN_DATE, REF_SER, REF_ID,"
System.out.println("ALLOC_QTY="+ allocQty); +"REF_LINE,ITEM_CODE, SITE_CODE, LOC_CODE,LOT_NO, LOT_SL, ALLOC_QTY, CHG_WIN,"
System.out.println("chgWin="+ chgWin); +"CHG_USER, CHG_TERM, CHG_DATE )VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
System.out.println("chgUser="+ chgUser);
System.out.println("chgTerm="+ chgTerm); pstmt = conn.prepareStatement(sql);
System.out.println("chgDate="+ chgDate);
f.write("trans id="+ tranId+"\n"); System.out.println("trans id="+ tranId);
f.write("tranDate="+ tranDate+"\n"); System.out.println("tranDate="+ tranDate);
f.write("refSer="+ refSer+"\n"); System.out.println("refSer="+ refSer);
f.write("refId="+ refId+"\n"); System.out.println("refId="+ refId);
f.write("refLine="+ refLine+"\n"); System.out.println("refLine="+ refLine);
f.write("itemCode="+ itemCode+"\n"); System.out.println("itemCode="+ itemCode);
f.write("locCode="+ locCode+"\n"); System.out.println("siteCodeShip="+ siteCode);
f.write("lotNo="+ lotNo+"\n"); System.out.println("locCode="+ locCode);
f.write("lotSl="+ lotSl+"\n"); System.out.println("lotNo="+ lotNo);
f.write("ALLOC_QTY="+ allocQty+"\n"); System.out.println("LOT_SL="+ lotSl);
System.out.println("ALLOC_QTY="+ allocQty);
System.out.println("chgWin="+ chgWin);
System.out.println("chgUser="+ chgUser);
pstmt.setString(1,tranId); System.out.println("chgTerm="+ chgTerm);
pstmt.setDate(2,tranDate); System.out.println("chgDate="+ chgDate);
pstmt.setString(3,refSer); f.write("trans id="+ tranId+"\n");
pstmt.setString(4,refId); f.write("tranDate="+ tranDate+"\n");
pstmt.setString(5,refLine); f.write("refSer="+ refSer+"\n");
pstmt.setString(6,itemCode ); f.write("refId="+ refId+"\n");
pstmt.setString(7,siteCode); f.write("refLine="+ refLine+"\n");
pstmt.setString(8,locCode); f.write("itemCode="+ itemCode+"\n");
pstmt.setString(9,lotNo ); f.write("locCode="+ locCode+"\n");
pstmt.setString(10,lotSl); f.write("lotNo="+ lotNo+"\n");
pstmt.setDouble(11,allocQty); f.write("lotSl="+ lotSl+"\n");
pstmt.setString(12,chgWin); f.write("ALLOC_QTY="+ allocQty+"\n");
pstmt.setString(13,chgUser);
pstmt.setString(14,chgTerm);
pstmt.setDate(15,chgDate);
pstmt.executeUpdate(); pstmt.setString(1,tranId);
pstmt.setDate(2,tranDate);
//added by msalam on 281209 start pstmt.setString(3,refSer);
pstmt.close(); pstmt.setString(4,refId);
pstmt = null; pstmt.setString(5,refLine);
//added by msalam on 281209 end pstmt.setString(6,itemCode );
System.out.println("insertion of sql inside updateInvallocTrace success on date "+ chgDate); pstmt.setString(7,siteCode);
pstmt.setString(8,locCode);
System.out.println("Allocate trace Updated..............................."); pstmt.setString(9,lotNo );
pstmt.setString(10,lotSl);
sqlUpdate = "UPDATE STOCK SET ALLOC_QTY =(CASE WHEN ALLOC_QTY IS NULL THEN 0 ELSE ALLOC_QTY END) + ? " pstmt.setDouble(11,allocQty);
+"WHERE ITEM_CODE = '"+itemCode+"' AND SITE_CODE = '"+ siteCode+"' AND LOC_CODE ='"+locCode+"' AND LOT_NO = '"+lotNo+"' AND LOT_SL = '"+lotSl+"'"; pstmt.setString(12,chgWin);
pstmt = conn.prepareStatement(sqlUpdate); pstmt.setString(13,chgUser);
pstmt.setDouble(1,allocQty) ; pstmt.setString(14,chgTerm);
//pstmt.setString(2,itemCode.trim()) ; pstmt.setDate(15,chgDate);
//pstmt.setString(3, siteCode.trim()) ; pstmt.executeUpdate();
///pstmt.setString(4,locCode.trim()) ;
//pstmt.setString(5,lotNo.trim()) ; //added by msalam on 281209 start
//pstmt.setString(6,lotSl.trim()) ; pstmt.close();
pstmt = null;
// if(allocQty >= 0) // Changed by Alka 14/03/2007 allocQty had to be updated in stock for any case. //added by msalam on 281209 end
// { System.out.println("insertion of sql inside updateInvallocTrace success on date "+ chgDate);
System.out.println("sqlUpdate "+ sqlUpdate);
int i = pstmt.executeUpdate() ; System.out.println("Allocate trace Updated...............................");
//added by msalam on 281209 start
pstmt.close(); sqlUpdate = "UPDATE STOCK SET ALLOC_QTY =(CASE WHEN ALLOC_QTY IS NULL THEN 0 ELSE ALLOC_QTY END) + ? "
pstmt = null; +"WHERE ITEM_CODE = '"+itemCode+"' AND SITE_CODE = '"+ siteCode+"' AND LOC_CODE ='"+locCode+"' AND LOT_NO = '"+lotNo+"' AND LOT_SL = '"+lotSl+"'";
//added by msalam on 281209 end pstmt = conn.prepareStatement(sqlUpdate);
pstmt.setDouble(1,allocQty) ;
System.out.println("Records updated "+ i); //pstmt.setString(2,itemCode.trim()) ;
if(i>0) //pstmt.setString(3, siteCode.trim()) ;
{ ///pstmt.setString(4,locCode.trim()) ;
f.write("sqlUpdate="+ sqlUpdate+"\n"+"Stock update success fully........................."+i+"\n"); //pstmt.setString(5,lotNo.trim()) ;
} //pstmt.setString(6,lotSl.trim()) ;
else
{ // if(allocQty >= 0) // Changed by Alka 14/03/2007 allocQty had to be updated in stock for any case.
throw new ITMException(new Exception("Unable to update stock for [" + sqlUpdate + "]")); // {
} System.out.println("sqlUpdate "+ sqlUpdate);
int i = pstmt.executeUpdate() ;
// } //added by msalam on 281209 start
System.out.println("Updated End.") ; pstmt.close();
f.write("Updated End.........."); pstmt = null;
} //added by msalam on 281209 end
catch(SQLException e)
{ System.out.println("Records updated "+ i);
f.write("TRANSATION ROLL BACK IN updateInvallocTrace"+"\n"); if(i>0)
try{conn.rollback();}catch(Exception ee2){} {
writeException(e); f.write("sqlUpdate="+ sqlUpdate+"\n"+"Stock update success fully........................."+i+"\n");
System.out.println("SQLException :updateInvallocTrace : " + sqlUpdate + "\n" +e.getMessage()); }
System.out.println("ALLOC_QTY : " + allocQty); else
System.out.println("ITEM_CODE : " + itemCode); {
System.out.println("SITE_CODE : " + siteCode); throw new ITMException(new Exception("Unable to update stock for [" + sqlUpdate + "]"));
System.out.println("LOC_CODE : " + locCode); }
System.out.println("LOT_NO : " + lotNo);
System.out.println("LOT_SL : " + lotSl); // }
errString = e.getMessage(); System.out.println("Updated End.") ;
e.printStackTrace(); f.write("Updated End..........");
//return errString; }
throw new ITMException(e); catch(SQLException e)
{
} f.write("TRANSATION ROLL BACK IN updateInvallocTrace"+"\n");
catch(Exception e) try{conn.rollback();}catch(Exception ee2){}
{ writeException(e, fileDest);
writeException(e); System.out.println("SQLException :updateInvallocTrace : " + sqlUpdate + "\n" +e.getMessage());
System.out.println("Exception :updateInvallocTrace :" + sqlUpdate + "\n" +e.getMessage()); System.out.println("ALLOC_QTY : " + allocQty);
errString = e.getMessage(); System.out.println("ITEM_CODE : " + itemCode);
e.printStackTrace(); System.out.println("SITE_CODE : " + siteCode);
try System.out.println("LOC_CODE : " + locCode);
{ System.out.println("LOT_NO : " + lotNo);
f.write("TRANSATION ROLL BACK IN updateInvallocTrace"+"\n"); System.out.println("LOT_SL : " + lotSl);
try{conn.rollback();}catch(Exception ee2){} errString = e.getMessage();
e.printStackTrace();
} //return errString;
catch(Exception e1) throw new ITMException(e);
{
writeException(e1); }
errString = e1.getMessage(); catch(Exception e)
e = e1; {
} writeException(e, fileDest);
//return errString; System.out.println("Exception :updateInvallocTrace :" + sqlUpdate + "\n" +e.getMessage());
throw new ITMException(e); errString = e.getMessage();
} e.printStackTrace();
finally try
{ {
try f.write("TRANSATION ROLL BACK IN updateInvallocTrace"+"\n");
{ try{conn.rollback();}catch(Exception ee2){}
f.close();
if(conn != null) }
{ catch(Exception e1)
if(pstmt != null) {
{ writeException(e, fileDest);
pstmt.close(); errString = e1.getMessage();
pstmt = null; e = e1;
} }
if(stmt != null) //return errString;
{ throw new ITMException(e);
stmt.close(); }
stmt = null; finally
} {
// conn.close(); try
// conn = null; {
} f.close();
} if(conn != null)
catch(Exception e) {
{ if(pstmt != null)
try{conn.rollback();f.write("TRANSATION ROLL BACK IN updateInvallocTrace"+"\n");}catch(Exception ee2){} {
errString = e.getMessage(); pstmt.close();
e.printStackTrace(); pstmt = null;
writeException(e); }
return errString; if(stmt != null)
} {
//return errString; stmt.close();
} stmt = null;
return errString; }
} // conn.close();
private void writeException(Exception e) throws Exception // conn = null;
{ }
try }
{ catch(Exception e)
f.write(e.getMessage() + "\r\n"); {
PrintStream t = new PrintStream(new FileOutputStream(new File("C:\\invalloc.log"),true)); try{conn.rollback();f.write("TRANSATION ROLL BACK IN updateInvallocTrace"+"\n");}catch(Exception ee2){}
e.printStackTrace(t); errString = e.getMessage();
} e.printStackTrace();
catch(Exception t){throw t;} writeException(e, fileDest);
} return errString;
private String getCurrdateAppFormat() }
{ //return errString;
String s = ""; }
GenericUtility genericUtility = GenericUtility.getInstance(); return errString;
try }
{ private void writeException(Exception e, String fileDest) throws Exception
java.util.Date date = null; {
Timestamp timestamp = new Timestamp(System.currentTimeMillis()); try
System.out.println(genericUtility.getDBDateFormat()); {
f.write(e.getMessage() + "\r\n");
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat()); //PrintStream t = new PrintStream(new FileOutputStream(new File("C:\\invalloc.log"),true));
date = simpledateformat.parse(timestamp.toString()); PrintStream t = new PrintStream(new FileOutputStream(new File(fileDest),true));
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0"); e.printStackTrace(t);
s = (new SimpleDateFormat(genericUtility.getApplDateFormat())).format(timestamp).toString(); }
} catch(Exception t){throw t;}
catch(Exception exception) }
{ private String getCurrdateAppFormat()
System.out.println("Exception in getCurrdateAppFormat " + exception.getMessage()); {
} String s = "";
return s; GenericUtility genericUtility = GenericUtility.getInstance();
} try
{
java.util.Date date = null;
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(genericUtility.getDBDateFormat());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
s = (new SimpleDateFormat(genericUtility.getApplDateFormat())).format(timestamp).toString();
}
catch(Exception exception)
{
System.out.println("Exception in getCurrdateAppFormat " + exception.getMessage());
}
return s;
}
} }
\ No newline at end of file
package ibase.webitm.ejb.dis.adv; package ibase.webitm.ejb.dis.adv;
import java.util.*; import java.util.*;
import java.sql.*; import java.sql.*;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.text.*; import java.text.*;
import javax.ejb.SessionContext; import javax.ejb.SessionContext;
import javax.ejb.CreateException; import javax.ejb.CreateException;
//import javax.ejb.SessionBean; //import javax.ejb.SessionBean;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.webitm.servlet.RSItemChange; import ibase.webitm.servlet.RSItemChange;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ActionHandlerEJB; import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.utility.*; import ibase.webitm.utility.*;
import ibase.utility.*; import ibase.utility.*;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.*;
import ibase.system.config.*; import ibase.system.config.*;
import org.w3c.dom.*; import org.w3c.dom.*;
import javax.xml.parsers.*; import javax.xml.parsers.*;
import javax.ejb.Stateless; // added for ejb3 import javax.ejb.Stateless; // added for ejb3
@Stateless // added for ejb3 @Stateless // added for ejb3
public class InvHoldRelConf extends ActionHandlerEJB implements InvHoldRelConfLocal , InvHoldRelConfRemote //SessionBean public class InvHoldRelConf extends ActionHandlerEJB implements InvHoldRelConfLocal , InvHoldRelConfRemote //SessionBean
{ {
/* public void ejbCreate() throws RemoteException,CreateException{ /* public void ejbCreate() throws RemoteException,CreateException{
} }
public void ejbRemove(){ public void ejbRemove(){
} }
public void ejbActivate(){ public void ejbActivate(){
} }
public void ejbPassivate(){ public void ejbPassivate(){
} }
public void setSessionContext(SessionContext se){ public void setSessionContext(SessionContext se){
}*/ }*/
public String confirm(String tranId,String xtraParams, String forcedFlag) throws RemoteException,ITMException public String confirm(String tranId,String xtraParams, String forcedFlag) throws RemoteException,ITMException
{ {
Connection conn = null; Connection conn = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
String sql = ""; String sql = "";
ConnDriver connDriver = null; ConnDriver connDriver = null;
String loginEmpCode = null; String loginEmpCode = null;
ibase.webitm.utility.GenericUtility genericUtility = null; ibase.webitm.utility.GenericUtility genericUtility = null;
Document dom = null; Document dom = null;
int count=0; int count=0;
ITMDBAccessEJB itmDBAccessEJB = null; ITMDBAccessEJB itmDBAccessEJB = null;
String errString = null; String errString = null;
int upd = 0; int upd = 0;
//changed by Dharmesh on 12-08-2011 [WM1ESUN004].start //changed by Dharmesh on 12-08-2011 [WM1ESUN004].start
String itemCode = null; String itemCode = null;
String siteCode = null; String siteCode = null;
String locCode = null; String locCode = null;
String lotNo = null; String lotNo = null;
String lotSl = null; String lotSl = null;
String lineNoSl = null; String lineNoSl = null;
String tranIdTrace = null; String tranIdTrace = null;
String tranIdHold = null; String tranIdHold = null;
//String lineNoHold = null; //String lineNoHold = null;
double holdQtyStock = 0.0; double holdQtyStock = 0.0;
double qtyPerArt = 0.0; double qtyPerArt = 0.0;
double holdQtyTrace = 0.0; double holdQtyTrace = 0.0;
double totalHoldStock = 0.0; double totalHoldStock = 0.0;
double relQtyTrace = 0.0; double relQtyTrace = 0.0;
double holdQty = 0.0; double holdQty = 0.0;
double stockQty = 0.0; double stockQty = 0.0;
double totalHoldTrace = 0.0; double totalHoldTrace = 0.0;
double totalRelTrace = 0.0; double totalRelTrace = 0.0;
double balQtyHold = 0.0; double balQtyHold = 0.0;
double qtyToHold = 0.0; double qtyToHold = 0.0;
double relQty = 0.0; double relQty = 0.0;
int lineNoHold = 0; int lineNoHold = 0;
String sqlUpdate = null; String sqlUpdate = null;
String sqlHoldDet = null; String sqlHoldDet = null;
String sqlSelStck = null; String sqlSelStck = null;
String sqlSelTrace = null; String sqlSelTrace = null;
String sqlInsert = null; String sqlInsert = null;
String sqlDetail = null; String sqlDetail = null;
String lockCode = null; String lockCode = null;
PreparedStatement pUpdate = null; PreparedStatement pUpdate = null;
PreparedStatement pHoldDet = null; PreparedStatement pHoldDet = null;
PreparedStatement pSelStock = null; PreparedStatement pSelStock = null;
PreparedStatement pSelTrace = null; PreparedStatement pSelTrace = null;
PreparedStatement pInsert = null; PreparedStatement pInsert = null;
PreparedStatement pDetail = null; PreparedStatement pDetail = null;
ResultSet rsHoldDet = null; ResultSet rsHoldDet = null;
ResultSet rsSelStck = null; ResultSet rsSelStck = null;
ResultSet rsSelTrace = null; ResultSet rsSelTrace = null;
ResultSet rsDetail = null; ResultSet rsDetail = null;
//changed by Dharmesh on 12-08-2011 [WM1ESUN004].end //changed by Dharmesh on 12-08-2011 [WM1ESUN004].end
try try
{ {
itmDBAccessEJB = new ITMDBAccessEJB(); itmDBAccessEJB = new ITMDBAccessEJB();
genericUtility = ibase.webitm.utility.GenericUtility.getInstance(); genericUtility = ibase.webitm.utility.GenericUtility.getInstance();
connDriver = new ConnDriver(); connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM"); conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false); conn.setAutoCommit(false);
loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"); loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
//check if there is record in detal //check if there is record in detal
int countDet = 0; int countDet = 0;
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start
/* /*
sql = " select count( 1 ) cnt from inv_hold_rel_det where tran_id = '" + tranId.trim() + "' "; sql = " select count( 1 ) cnt from inv_hold_rel_det where tran_id = '" + tranId.trim() + "' ";
pstmt = conn.prepareStatement( sql ); pstmt = conn.prepareStatement( sql );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
*/ */
sql = "select count( 1 ) cnt from inv_hold_rel_det where tran_id = ?" ; sql = "select count( 1 ) cnt from inv_hold_rel_det where tran_id = ?" ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId); pstmt.setString(1,tranId);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end
if( rs.next() ) if( rs.next() )
{ {
countDet = rs.getInt( "cnt" ); countDet = rs.getInt( "cnt" );
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if( countDet == 0 ) if( countDet == 0 )
{ {
errString = itmDBAccessEJB.getErrorString("","VTNODET","","",conn); errString = itmDBAccessEJB.getErrorString("","VTNODET","","",conn);
} }
if( errString == null || errString.length() == 0 ) if( errString == null || errString.length() == 0 )
{ {
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start
/* /*
sql = " select count( 1 ) cnt from inv_hold_rel where tran_id = '" + tranId.trim() + "' AND CONFIRMED = 'Y' "; sql = " select count( 1 ) cnt from inv_hold_rel where tran_id = '" + tranId.trim() + "' AND CONFIRMED = 'Y' ";
pstmt = conn.prepareStatement( sql ); pstmt = conn.prepareStatement( sql );
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
*/ */
sql = "select count( 1 ) cnt from inv_hold_rel where tran_id = ? AND CONFIRMED = 'Y'"; sql = "select count( 1 ) cnt from inv_hold_rel where tran_id = ? AND CONFIRMED = 'Y'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId); pstmt.setString(1,tranId);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end
if( rs.next() ) if( rs.next() )
{ {
countDet = rs.getInt( "cnt" ); countDet = rs.getInt( "cnt" );
} }
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
rs.close(); rs.close();
rs = null; rs = null;
if( countDet > 0 ) if( countDet > 0 )
{ {
errString = itmDBAccessEJB.getErrorString("","VTCONFMD","","",conn); errString = itmDBAccessEJB.getErrorString("","VTCONFMD","","",conn);
} }
//changed by Dharmesh on 12-08-2011 [WM1ESUN004] to commit unconfirmed transaction.start //changed by Dharmesh on 12-08-2011 [WM1ESUN004] to commit unconfirmed transaction.start
else else
{ {
sqlUpdate = "UPDATE STOCK SET HOLD_QTY = ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?"; sqlUpdate = "UPDATE STOCK SET HOLD_QTY = ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pUpdate = conn.prepareStatement(sqlUpdate); pUpdate = conn.prepareStatement(sqlUpdate);
sqlSelStck = "SELECT ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, QTY_PER_ART, HOLD_QTY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? " ; sqlSelStck = "SELECT ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, QTY_PER_ART, HOLD_QTY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? " ;
pSelStock = conn.prepareStatement(sqlSelStck); pSelStock = conn.prepareStatement(sqlSelStck);
sqlSelTrace = "SELECT SUM( HOLD_QTY ) AS HOLD_QTY_TRACE, SUM( REL_QTY ) AS REL_QTY_TRACE FROM INV_HOLD_REL_TRACE WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? " ; sqlSelTrace = "SELECT SUM( HOLD_QTY ) AS HOLD_QTY_TRACE, SUM( REL_QTY ) AS REL_QTY_TRACE FROM INV_HOLD_REL_TRACE WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? " ;
pSelTrace = conn.prepareStatement(sqlSelTrace); pSelTrace = conn.prepareStatement(sqlSelTrace);
sqlInsert = " INSERT INTO INV_HOLD_REL_TRACE ( TRAN_ID, ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, REF_NO, REL_QTY, LOCK_CODE ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? ) " ; sqlInsert = " INSERT INTO INV_HOLD_REL_TRACE ( TRAN_ID, ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, REF_NO, REL_QTY, LOCK_CODE ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? ) " ;
pInsert = conn.prepareStatement(sqlInsert); pInsert = conn.prepareStatement(sqlInsert);
sqlHoldDet = "SELECT ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, LINE_NO_SL FROM INV_HOLD_DET WHERE TRAN_ID = ? AND LINE_NO = ?" ; sqlHoldDet = "SELECT ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, LINE_NO_SL FROM INV_HOLD_DET WHERE TRAN_ID = ? AND LINE_NO = ?" ;
pHoldDet = conn.prepareStatement(sqlHoldDet); pHoldDet = conn.prepareStatement(sqlHoldDet);
sqlDetail = " SELECT HOLDDET.TRAN_ID__HOLD, HOLDDET.LINE_NO__HOLD, IHOLD.LOCK_CODE "+ sqlDetail = " SELECT HOLDDET.TRAN_ID__HOLD, HOLDDET.LINE_NO__HOLD, IHOLD.LOCK_CODE "+
" FROM INV_HOLD_REL_DET HOLDDET, INV_HOLD IHOLD "+ " FROM INV_HOLD_REL_DET HOLDDET, INV_HOLD IHOLD "+
" WHERE HOLDDET.TRAN_ID__HOLD = IHOLD.TRAN_ID AND HOLDDET.TRAN_ID = ? "; " WHERE HOLDDET.TRAN_ID__HOLD = IHOLD.TRAN_ID AND HOLDDET.TRAN_ID = ? ";
pDetail = conn.prepareStatement( sqlDetail ); pDetail = conn.prepareStatement( sqlDetail );
pDetail.setString( 1,tranId ); pDetail.setString( 1,tranId );
rsDetail = pDetail.executeQuery(); rsDetail = pDetail.executeQuery();
pDetail.clearParameters(); pDetail.clearParameters();
while( rsDetail.next() ) while( rsDetail.next() )
{ {
tranIdHold = rsDetail.getString("TRAN_ID__HOLD"); tranIdHold = rsDetail.getString("TRAN_ID__HOLD");
lineNoHold = rsDetail.getInt("LINE_NO__HOLD"); lineNoHold = rsDetail.getInt("LINE_NO__HOLD");
lockCode = rsDetail.getString("LOCK_CODE"); lockCode = rsDetail.getString("LOCK_CODE");
System.out.println("tranIdHold =[" + tranIdHold + "]");
pHoldDet.setString( 1,tranIdHold ); System.out.println("lineNoHold =[" + lineNoHold + "]");
pHoldDet.setInt( 2,lineNoHold ); System.out.println("lockCode =[" + lockCode + "]");
rsHoldDet = pHoldDet.executeQuery(); pHoldDet.setString( 1,tranIdHold );
pHoldDet.clearParameters(); pHoldDet.setInt( 2,lineNoHold );
while( rsHoldDet.next() ) rsHoldDet = pHoldDet.executeQuery();
{ pHoldDet.clearParameters();
itemCode = checkNull(rsHoldDet.getString("ITEM_CODE"));
siteCode = checkNull(rsHoldDet.getString("SITE_CODE")); while( rsHoldDet.next() )
locCode = checkNull(rsHoldDet.getString("LOC_CODE")); {
lotNo = checkNull(rsHoldDet.getString("LOT_NO")); itemCode = checkNull(rsHoldDet.getString("ITEM_CODE"));
lotSl = checkNull(rsHoldDet.getString("LOT_SL")); siteCode = checkNull(rsHoldDet.getString("SITE_CODE"));
lineNoSl = checkNull(rsHoldDet.getString("LINE_NO_SL")); locCode = checkNull(rsHoldDet.getString("LOC_CODE"));
lotNo = checkNull(rsHoldDet.getString("LOT_NO"));
if( lineNoSl != null && lineNoSl.trim().length() > 0 ) //i.e. Line_sl is found lotSl = checkNull(rsHoldDet.getString("LOT_SL"));
{ lineNoSl = checkNull(rsHoldDet.getString("LINE_NO_SL"));
tranIdTrace = generateTranId("w_inv_hold_rel_trace", conn);
if( lineNoSl != null && lineNoSl.trim().length() > 0 ) //i.e. Line_sl is found
pSelStock.setString( 1, itemCode ); {
pSelStock.setString( 2, siteCode ); tranIdTrace = generateTranId("w_inv_hold_rel_trace", conn);
pSelStock.setString( 3, locCode );
pSelStock.setString( 4, lotNo ); pSelStock.setString( 1, itemCode );
pSelStock.setString( 5, lotSl ); pSelStock.setString( 2, siteCode );
pSelStock.setString( 3, locCode );
rsSelStck = pSelStock.executeQuery(); pSelStock.setString( 4, lotNo );
pSelStock.clearParameters(); pSelStock.setString( 5, lotSl );
if( rsSelStck.next() ) rsSelStck = pSelStock.executeQuery();
{ pSelStock.clearParameters();
qtyPerArt = rsSelStck.getDouble("QTY_PER_ART");
holdQtyStock = rsSelStck.getDouble("HOLD_QTY"); if( rsSelStck.next() )
} {
qtyPerArt = rsSelStck.getDouble("QTY_PER_ART");
if( rsSelStck != null ) holdQtyStock = rsSelStck.getDouble("HOLD_QTY");
{ }
rsSelStck.close();
rsSelStck = null; if( rsSelStck != null )
} {
rsSelStck.close();
pSelTrace.setString( 1, itemCode ); rsSelStck = null;
pSelTrace.setString( 2, siteCode ); }
pSelTrace.setString( 3, locCode );
pSelTrace.setString( 4, lotNo ); pSelTrace.setString( 1, itemCode );
pSelTrace.setString( 5, lotSl ); pSelTrace.setString( 2, siteCode );
rsSelTrace = pSelTrace.executeQuery(); pSelTrace.setString( 3, locCode );
pSelTrace.setString( 4, lotNo );
pSelTrace.clearParameters(); pSelTrace.setString( 5, lotSl );
rsSelTrace = pSelTrace.executeQuery();
if( rsSelTrace.next() )
{ pSelTrace.clearParameters();
holdQtyTrace = rsSelTrace.getDouble("HOLD_QTY_TRACE");
relQtyTrace = rsSelTrace.getDouble("REL_QTY_TRACE"); if( rsSelTrace.next() )
} {
holdQtyTrace = rsSelTrace.getDouble("HOLD_QTY_TRACE");
if(rsSelTrace != null) relQtyTrace = rsSelTrace.getDouble("REL_QTY_TRACE");
{ }
rsSelTrace.close();
rsSelTrace = null; if(rsSelTrace != null)
} {
rsSelTrace.close();
balQtyHold = holdQtyTrace - ( relQtyTrace + qtyPerArt ); rsSelTrace = null;
}
if( balQtyHold == 0 )
{ balQtyHold = holdQtyTrace - ( Math.abs(relQtyTrace) + qtyPerArt );
pUpdate.setDouble( 1, balQtyHold);
pUpdate.setString( 2, itemCode); if( balQtyHold == 0 )
pUpdate.setString( 3, siteCode); {
pUpdate.setString( 4, locCode); pUpdate.setDouble( 1, balQtyHold);
pUpdate.setString( 5, lotNo); pUpdate.setString( 2, itemCode);
pUpdate.setString( 6, lotSl); pUpdate.setString( 3, siteCode);
pUpdate.executeUpdate(); pUpdate.setString( 4, locCode);
pUpdate.clearParameters(); pUpdate.setString( 5, lotNo);
} pUpdate.setString( 6, lotSl);
else if ( balQtyHold < holdQtyStock ) pUpdate.executeUpdate();
{ pUpdate.clearParameters();
balQtyHold = holdQtyStock - balQtyHold ; }
pUpdate.setDouble( 1, balQtyHold); else if ( balQtyHold < holdQtyStock )
pUpdate.setString( 2, itemCode); {
pUpdate.setString( 3, siteCode); balQtyHold = holdQtyStock - balQtyHold ;
pUpdate.setString( 4, locCode); pUpdate.setDouble( 1, balQtyHold);
pUpdate.setString( 5, lotNo); pUpdate.setString( 2, itemCode);
pUpdate.setString( 6, lotSl); pUpdate.setString( 3, siteCode);
pUpdate.executeUpdate(); pUpdate.setString( 4, locCode);
pUpdate.clearParameters(); pUpdate.setString( 5, lotNo);
} pUpdate.setString( 6, lotSl);
pUpdate.executeUpdate();
pInsert.setString( 1, tranIdTrace); pUpdate.clearParameters();
pInsert.setString( 2, itemCode ); }
pInsert.setString( 3, siteCode );
pInsert.setString( 4, locCode ); pInsert.setString( 1, tranIdTrace);
pInsert.setString( 5, lotNo ); pInsert.setString( 2, itemCode );
pInsert.setString( 6, lotSl ); pInsert.setString( 3, siteCode );
pInsert.setString( 7, tranId ); pInsert.setString( 4, locCode );
pInsert.setDouble( 8, (-qtyPerArt) ); pInsert.setString( 5, lotNo );
pInsert.setString( 9, lockCode ); pInsert.setString( 6, lotSl );
pInsert.executeUpdate(); pInsert.setString( 7, tranId );
pInsert.clearParameters(); pInsert.setDouble( 8, (-qtyPerArt) );
pInsert.setString( 9, lockCode );
}//end of Line_sl present pInsert.executeUpdate();
else //i.e. line_sl is not found pInsert.clearParameters();
{
HashMap pkKeyValMap = new HashMap(); }//end of Line_sl present
StringBuffer sb = new StringBuffer("SELECT ITEM_CODE,SITE_CODE,LOC_CODE,LOT_NO,LOT_SL,QUANTITY, HOLD_QTY, QTY_PER_ART FROM STOCK WHERE "); else //i.e. line_sl is not found
ArrayList pkList = new ArrayList(); {
HashMap pkKeyValMap = new HashMap();
if ( itemCode != null && itemCode.length() > 0 ) StringBuffer sb = new StringBuffer("SELECT ITEM_CODE,SITE_CODE,LOC_CODE,LOT_NO,LOT_SL,QUANTITY, HOLD_QTY, QTY_PER_ART FROM STOCK WHERE ");
{ ArrayList pkList = new ArrayList();
pkKeyValMap.put("ITEM_CODE", itemCode);
pkList.add("ITEM_CODE"); if ( itemCode != null && itemCode.length() > 0 )
} {
if ( siteCode != null && siteCode.length() > 0 ) pkKeyValMap.put("ITEM_CODE", itemCode);
{ pkList.add("ITEM_CODE");
pkKeyValMap.put("SITE_CODE", siteCode); }
pkList.add("SITE_CODE"); if ( siteCode != null && siteCode.length() > 0 )
} {
if ( locCode != null && locCode.length() > 0 ) pkKeyValMap.put("SITE_CODE", siteCode);
{ pkList.add("SITE_CODE");
pkKeyValMap.put("LOC_CODE", locCode); }
pkList.add("LOC_CODE"); if ( locCode != null && locCode.length() > 0 )
} {
if ( lotNo != null && lotNo.length() > 0 ) pkKeyValMap.put("LOC_CODE", locCode);
{ pkList.add("LOC_CODE");
pkKeyValMap.put("LOT_NO", lotNo); }
pkList.add("LOT_NO"); if ( lotNo != null && lotNo.length() > 0 )
} {
if ( lotSl != null && lotSl.length() > 0 ) pkKeyValMap.put("LOT_NO", lotNo);
{ pkList.add("LOT_NO");
pkKeyValMap.put("LOT_SL", lotSl); }
pkList.add("LOT_SL"); if ( lotSl != null && lotSl.length() > 0 )
} {
System.out.println("pkKeyValMap :"+pkKeyValMap); pkKeyValMap.put("LOT_SL", lotSl);
pkList.add("LOT_SL");
String key = ""; }
for ( int i = 0; i < pkList.size(); i++ ) System.out.println("pkKeyValMap :"+pkKeyValMap);
{
key = pkList.get(i).toString(); String key = "";
sb.append(key).append(" = ? and "); for ( int i = 0; i < pkList.size(); i++ )
} {
String stockQuery = sb.toString(); key = pkList.get(i).toString();
stockQuery = stockQuery.substring(0,(stockQuery.length() - 4)); sb.append(key).append(" = ? and ");
System.out.println("stockQuery :"+stockQuery); }
sb = null; String stockQuery = sb.toString();
PreparedStatement pstmtStock = null; stockQuery = stockQuery.substring(0,(stockQuery.length() - 4));
ResultSet rsStock = null; System.out.println("stockQuery :"+stockQuery);
pstmtStock = conn.prepareStatement(stockQuery); sb = null;
for ( int i = 0; i < pkList.size(); i++ ) PreparedStatement pstmtStock = null;
{ ResultSet rsStock = null;
key = pkList.get(i).toString(); pstmtStock = conn.prepareStatement(stockQuery);
if ( pkKeyValMap.containsKey(key) ) for ( int i = 0; i < pkList.size(); i++ )
{ {
System.out.println("Key =["+key+ "] and Value =["+pkKeyValMap.get(key)+"]"); key = pkList.get(i).toString();
pstmtStock.setString(i+1, pkKeyValMap.get(key).toString()); if ( pkKeyValMap.containsKey(key) )
} {
} System.out.println("Key =["+key+ "] and Value =["+pkKeyValMap.get(key)+"]");
/* pstmtStock.setString(i+1, pkKeyValMap.get(key).toString());
pSelTrace.setString( 1, itemCode ); }
pSelTrace.setString( 2, siteCode ); }
pSelTrace.setString( 3, locCode ); /*
pSelTrace.setString( 4, lotNo ); pSelTrace.setString( 1, itemCode );
pSelTrace.setString( 5, lotSl ); pSelTrace.setString( 2, siteCode );
rsSelTrace = pSelTrace.executeQuery(); pSelTrace.setString( 3, locCode );
pSelTrace.clearParameters(); pSelTrace.setString( 4, lotNo );
pSelTrace.setString( 5, lotSl );
if(rsSelTrace.next()) rsSelTrace = pSelTrace.executeQuery();
{ pSelTrace.clearParameters();
holdQtyTrace = rsSelTrace.getDouble("HOLD_QTY_TRACE");
relQtyTrace = rsSelTrace.getDouble("REL_QTY_TRACE"); if(rsSelTrace.next())
} {
holdQtyTrace = rsSelTrace.getDouble("HOLD_QTY_TRACE");
if( rsSelTrace != null) relQtyTrace = rsSelTrace.getDouble("REL_QTY_TRACE");
{ }
rsSelTrace.close();
rsSelTrace = null; if( rsSelTrace != null)
} {
*/ rsSelTrace.close();
rsStock = pstmtStock.executeQuery(); rsSelTrace = null;
pstmtStock.clearParameters(); }
*/
while( rsStock.next() ) rsStock = pstmtStock.executeQuery();
{ pstmtStock.clearParameters();
tranIdTrace = generateTranId("w_inv_hold_rel_trace", conn);
while( rsStock.next() )
itemCode = checkNull(rsStock.getString("ITEM_CODE")); {
siteCode = checkNull(rsStock.getString("SITE_CODE")); tranIdTrace = generateTranId("w_inv_hold_rel_trace", conn);
locCode = checkNull(rsStock.getString("LOC_CODE"));
lotNo = checkNull(rsStock.getString("LOT_NO")); itemCode = checkNull(rsStock.getString("ITEM_CODE"));
lotSl = checkNull(rsStock.getString("LOT_SL")); siteCode = checkNull(rsStock.getString("SITE_CODE"));
holdQtyStock = rsStock.getDouble("HOLD_QTY"); locCode = checkNull(rsStock.getString("LOC_CODE"));
stockQty = rsStock.getDouble("QUANTITY"); lotNo = checkNull(rsStock.getString("LOT_NO"));
lotSl = checkNull(rsStock.getString("LOT_SL"));
System.out.println("Quantity :" + stockQty); holdQtyStock = rsStock.getDouble("HOLD_QTY");
stockQty = rsStock.getDouble("QUANTITY");
//Selecting sum(hold_qty) and sum(rel_qty) from trace table
pSelTrace.setString( 1, itemCode ); System.out.println("Quantity =[" + stockQty + "]");
pSelTrace.setString( 2, siteCode ); System.out.println("holdQtyStock =[" + holdQtyStock + "]");
pSelTrace.setString( 3, locCode );
pSelTrace.setString( 4, lotNo ); //Selecting sum(hold_qty) and sum(rel_qty) from trace table
pSelTrace.setString( 5, lotSl ); pSelTrace.setString( 1, itemCode );
rsSelTrace = pSelTrace.executeQuery(); pSelTrace.setString( 2, siteCode );
pSelTrace.clearParameters(); pSelTrace.setString( 3, locCode );
pSelTrace.setString( 4, lotNo );
if(rsSelTrace.next()) pSelTrace.setString( 5, lotSl );
{ rsSelTrace = pSelTrace.executeQuery();
holdQtyTrace = rsSelTrace.getDouble("HOLD_QTY_TRACE"); pSelTrace.clearParameters();
relQtyTrace = rsSelTrace.getDouble("REL_QTY_TRACE");
} if(rsSelTrace.next())
rsSelTrace.close(); {
rsSelTrace = null; holdQtyTrace = rsSelTrace.getDouble("HOLD_QTY_TRACE");
relQtyTrace = rsSelTrace.getDouble("REL_QTY_TRACE");
//qtyToHold = totalHoldTrace - (totalRelTrace + relQtyTrace) ; }
balQtyHold = holdQtyTrace - ( relQtyTrace + holdQtyStock ) ; rsSelTrace.close();
rsSelTrace = null;
if( balQtyHold == 0 )
{ //qtyToHold = totalHoldTrace - (totalRelTrace + relQtyTrace) ;
//holdQtyStock = holdQtyStock - relQtyTrace ;
pUpdate.setDouble( 1, balQtyHold ); System.out.println("holdQtyTrace =[" + holdQtyTrace + "]");
pUpdate.setString( 2, itemCode); System.out.println("relQtyTrace =[" + relQtyTrace + "]");
pUpdate.setString( 3, siteCode); balQtyHold = holdQtyTrace - ( Math.abs(relQtyTrace) + holdQtyStock ) ;
pUpdate.setString( 4, locCode);
pUpdate.setString( 5, lotNo); System.out.println("balQtyHold =[" + balQtyHold + "]");
pUpdate.setString( 6, lotSl);
pUpdate.executeUpdate(); if( balQtyHold == 0 )
pUpdate.clearParameters(); {
} //holdQtyStock = holdQtyStock - relQtyTrace ;
else if ( balQtyHold < holdQtyStock ) pUpdate.setDouble( 1, balQtyHold );
{ pUpdate.setString( 2, itemCode);
balQtyHold = holdQtyStock - balQtyHold; pUpdate.setString( 3, siteCode);
pUpdate.setDouble( 1, balQtyHold ); pUpdate.setString( 4, locCode);
pUpdate.setString( 2, itemCode); pUpdate.setString( 5, lotNo);
pUpdate.setString( 3, siteCode); pUpdate.setString( 6, lotSl);
pUpdate.setString( 4, locCode); pUpdate.executeUpdate();
pUpdate.setString( 5, lotNo); pUpdate.clearParameters();
pUpdate.setString( 6, lotSl); }
pUpdate.executeUpdate(); else if ( balQtyHold < holdQtyStock )
pUpdate.clearParameters(); {
} balQtyHold = holdQtyStock - balQtyHold;
pUpdate.setDouble( 1, balQtyHold );
pInsert.setString( 1, tranIdTrace ); pUpdate.setString( 2, itemCode);
pInsert.setString( 2, itemCode ); pUpdate.setString( 3, siteCode);
pInsert.setString( 3, siteCode ); pUpdate.setString( 4, locCode);
pInsert.setString( 4, locCode ); pUpdate.setString( 5, lotNo);
pInsert.setString( 5, lotNo ); pUpdate.setString( 6, lotSl);
pInsert.setString( 6, lotSl ); pUpdate.executeUpdate();
pInsert.setString( 7, tranId ); pUpdate.clearParameters();
pInsert.setDouble( 8, (-holdQtyStock) ); }
pInsert.setString( 9, lockCode );
pInsert.executeUpdate(); pInsert.setString( 1, tranIdTrace );
pInsert.clearParameters(); pInsert.setString( 2, itemCode );
} pInsert.setString( 3, siteCode );
pkList = null; pInsert.setString( 4, locCode );
if(rsStock != null) pInsert.setString( 5, lotNo );
{ pInsert.setString( 6, lotSl );
rsStock.close(); pInsert.setString( 7, tranId );
rsStock = null; pInsert.setDouble( 8, (-holdQtyStock) );
} pInsert.setString( 9, lockCode );
}//end of else pInsert.executeUpdate();
pInsert.clearParameters();
pHoldDet.clearParameters(); }
}//end of outer while() pkList = null;
if(rsHoldDet != null) if(rsStock != null)
{ {
rsHoldDet.close(); rsStock.close();
rsHoldDet = null; rsStock = null;
} }
}//while( rsDetail.next() ) }//end of else
if(rsDetail != null)
{ pHoldDet.clearParameters();
rsDetail.close(); }//end of outer while()
rsDetail = null; if(rsHoldDet != null)
} {
rsHoldDet.close();
} rsHoldDet = null;
//changed by Dharmesh on 12-08-2011 [WM1ESUN004] to commit unconfirmed transaction.end }
} }//while( rsDetail.next() )
// if(rsDetail != null)
{
if( errString == null || errString.length() == 0 ) rsDetail.close();
{ rsDetail = null;
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start }
/*
sql = "update inv_hold_rel set confirmed = 'Y', emp_code__aprv = '" + loginEmpCode + "', CONF_DATE = ? where tran_id = '" + tranId + "'"; }
pstmt = conn.prepareStatement( sql ); //changed by Dharmesh on 12-08-2011 [WM1ESUN004] to commit unconfirmed transaction.end
pstmt.setTimestamp( 1, new java.sql.Timestamp( System.currentTimeMillis() ) ); }
pstmt.executeUpdate(); //
*/
sql = "update inv_hold_rel set confirmed = 'Y', emp_code__aprv = ? , CONF_DATE = ? where tran_id = ?" ; if( errString == null || errString.length() == 0 )
pstmt = conn.prepareStatement(sql); {
pstmt.setString(1,loginEmpCode); //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start
pstmt.setTimestamp( 2 , new java.sql.Timestamp( System.currentTimeMillis() ) ); /*
pstmt.setString(3,tranId); sql = "update inv_hold_rel set confirmed = 'Y', emp_code__aprv = '" + loginEmpCode + "', CONF_DATE = ? where tran_id = '" + tranId + "'";
pstmt.executeUpdate(); pstmt = conn.prepareStatement( sql );
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end pstmt.setTimestamp( 1, new java.sql.Timestamp( System.currentTimeMillis() ) );
pstmt.executeUpdate();
pstmt.close(); */
pstmt = null; sql = "update inv_hold_rel set confirmed = 'Y', emp_code__aprv = ? , CONF_DATE = ? where tran_id = ?" ;
pstmt = conn.prepareStatement(sql);
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start pstmt.setString(1,loginEmpCode);
/* pstmt.setTimestamp( 2 , new java.sql.Timestamp( System.currentTimeMillis() ) );
sql = " update inv_hold_det hd set " pstmt.setString(3,tranId);
+" hd.hold_status = 'R', " pstmt.executeUpdate();
+" hd.STATUS_DATE = ? " //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end
+" where (hd.tran_id, hd.line_no ) "
+" in ( select rd.tran_id__hold, rd.line_no__hold " pstmt.close();
+" from inv_hold_rel_det rd " pstmt = null;
+" where tran_id = '" + tranId + "' ) ";
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.start
pstmt = conn.prepareStatement( sql ); /*
pstmt.setTimestamp( 1, new java.sql.Timestamp( System.currentTimeMillis() ) ); sql = " update inv_hold_det hd set "
pstmt.executeUpdate(); +" hd.hold_status = 'R', "
*/ +" hd.STATUS_DATE = ? "
+" where (hd.tran_id, hd.line_no ) "
sql = " update inv_hold_det hd set " +" in ( select rd.tran_id__hold, rd.line_no__hold "
+" hd.hold_status = 'R', " +" from inv_hold_rel_det rd "
+" hd.STATUS_DATE = ? " +" where tran_id = '" + tranId + "' ) ";
+" where (hd.tran_id, hd.line_no ) "
+" in ( select rd.tran_id__hold, rd.line_no__hold " pstmt = conn.prepareStatement( sql );
+" from inv_hold_rel_det rd " pstmt.setTimestamp( 1, new java.sql.Timestamp( System.currentTimeMillis() ) );
+" where tran_id = ? )"; pstmt.executeUpdate();
*/
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp( 1 , new java.sql.Timestamp( System.currentTimeMillis() ) ); sql = " update inv_hold_det hd set "
pstmt.setString(2,tranId); +" hd.hold_status = 'R', "
pstmt.executeUpdate(); +" hd.STATUS_DATE = ? "
//changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end +" where (hd.tran_id, hd.line_no ) "
+" in ( select rd.tran_id__hold, rd.line_no__hold "
pstmt.close(); +" from inv_hold_rel_det rd "
pstmt = null; +" where tran_id = ? )";
} pstmt = conn.prepareStatement(sql);
if( errString != null && errString.length() > 0 ) pstmt.setTimestamp( 1 , new java.sql.Timestamp( System.currentTimeMillis() ) );
{ pstmt.setString(2,tranId);
System.out.println("Returning Result "+errString); pstmt.executeUpdate();
conn.rollback(); //changed by Dharmesh on 11-08-2011 [WM1ESUN004] to bind variable dynamically instead of statically.end
return errString;
} pstmt.close();
else pstmt = null;
{
conn.commit(); }
errString = itmDBAccessEJB.getErrorString("","VTCNFSUCC",""); if( errString != null && errString.length() > 0 )
System.out.println("Returnng String From InvHoldRelConfEJB : .." + errString); {
} System.out.println("Returning Result "+errString);
System.out.println("errString : "+errString); conn.rollback();
}catch(ITMException ie) return errString;
{ }
System.out.println("ITMException : "+ie); else
try{ {
conn.rollback(); conn.commit();
}catch(Exception t){} errString = itmDBAccessEJB.getErrorString("","VTCNFSUCC","");
ie.printStackTrace(); System.out.println("Returnng String From InvHoldRelConfEJB : .." + errString);
errString = itmDBAccessEJB.getErrorString("","VTDESNCONF","","",conn); }
System.out.println("Returnng String From InvHoldRelConfEJB :"+errString); System.out.println("errString : "+errString);
return errString; }catch(ITMException ie)
}catch(Exception e){ {
System.out.println("Returnng String From InvHoldRelConfEJB :"+e); System.out.println("ITMException : "+ie);
try{ try{
conn.rollback(); conn.rollback();
}catch(Exception t){} }catch(Exception t){}
e.printStackTrace(); ie.printStackTrace();
errString = itmDBAccessEJB.getErrorString("","VTDESNCONF","","",conn); errString = itmDBAccessEJB.getErrorString("","VTDESNCONF","","",conn);
System.out.println("Returnng String From InvHoldRelConfEJB :"+errString); System.out.println("Returnng String From InvHoldRelConfEJB :"+errString);
return errString; return errString;
} }catch(Exception e){
finally System.out.println("Returnng String From InvHoldRelConfEJB :"+e);
{ try{
try{ conn.rollback();
if( pstmt != null ) }catch(Exception t){}
{ e.printStackTrace();
pstmt.close(); errString = itmDBAccessEJB.getErrorString("","VTDESNCONF","","",conn);
} System.out.println("Returnng String From InvHoldRelConfEJB :"+errString);
pstmt = null; return errString;
//changed by Dharmesh on 12-08-2011 [WM1ESUN004] to close preparedStatements and to make null.start }
if( pInsert != null ) finally
{ {
pInsert.close(); try{
pInsert = null; if( pstmt != null )
} {
if(pHoldDet != null) pstmt.close();
{ }
pHoldDet.close(); pstmt = null;
pHoldDet = null; //changed by Dharmesh on 12-08-2011 [WM1ESUN004] to close preparedStatements and to make null.start
} if( pInsert != null )
if(pSelStock != null) {
{ pInsert.close();
pSelStock.close(); pInsert = null;
pSelStock = null; }
} if(pHoldDet != null)
if(pUpdate != null) {
{ pHoldDet.close();
pUpdate.close(); pHoldDet = null;
pUpdate = null; }
} if(pSelStock != null)
if(pDetail != null) {
{ pSelStock.close();
pDetail.close(); pSelStock = null;
pDetail = null; }
} if(pUpdate != null)
{
//changed by Dharmesh on 12-08-2011 [WM1ESUN004] to close preparedStatements and to make null.end pUpdate.close();
pUpdate = null;
if(conn != null) }
{ if(pDetail != null)
conn.close(); {
} pDetail.close();
conn = null; pDetail = null;
}catch(Exception e){System.out.println("Exception : "+e);e.printStackTrace();} }
}
System.out.println("InvHoldRelConfEJB :"+errString); //changed by Dharmesh on 12-08-2011 [WM1ESUN004] to close preparedStatements and to make null.end
return errString;
} if(conn != null)
{
//changed by Dharmesh on 12-08-2011 [WM1ESUN004] to auto genrate Transacion Id for inv_hold_rel_trace.start conn.close();
public String generateTranId(String windowName,Connection conn)throws ITMException }
{ conn = null;
PreparedStatement pstmt = null; }catch(Exception e){System.out.println("Exception : "+e);e.printStackTrace();}
ResultSet rs = null; }
String selSql = ""; System.out.println("InvHoldRelConfEJB :"+errString);
String tranId = ""; return errString;
String tranSer = ""; }
String keyString = "";
String keyCol = ""; //changed by Dharmesh on 12-08-2011 [WM1ESUN004] to auto genrate Transacion Id for inv_hold_rel_trace.start
String xmlValues = ""; public String generateTranId(String windowName,Connection conn)throws ITMException
{
java.sql.Date effDate = null; PreparedStatement pstmt = null;
ResultSet rs = null;
try String selSql = "";
{ String tranId = "";
selSql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE TRAN_WINDOW = ? "; String tranSer = "";
pstmt = conn.prepareStatement(selSql); String keyString = "";
pstmt.setString( 1, windowName ); String keyCol = "";
rs = pstmt.executeQuery(); String xmlValues = "";
if (rs.next())
{ java.sql.Date effDate = null;
keyString = rs.getString("KEY_STRING");
keyCol = rs.getString("TRAN_ID_COL"); try
tranSer = rs.getString("REF_SER"); {
} selSql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE TRAN_WINDOW = ? ";
pstmt = conn.prepareStatement(selSql);
rs.close();rs = null; pstmt.setString( 1, windowName );
pstmt.close();pstmt = null; rs = pstmt.executeQuery();
System.out.println("keyString :"+keyString); if (rs.next())
System.out.println("keyCol :"+keyCol); {
System.out.println("tranSer :"+tranSer); keyString = rs.getString("KEY_STRING");
keyCol = rs.getString("TRAN_ID_COL");
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; tranSer = rs.getString("REF_SER");
xmlValues = xmlValues + "<Header></Header>"; }
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>"; rs.close();rs = null;
xmlValues = xmlValues + "</Detail1></Root>"; pstmt.close();pstmt = null;
System.out.println("xmlValues :["+xmlValues+"]"); System.out.println("keyString :"+keyString);
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME); System.out.println("keyCol :"+keyCol);
tranId = tg.generateTranSeqID(tranSer, keyCol, keyString, conn); System.out.println("tranSer :"+tranSer);
System.out.println("tranId :"+tranId);
} xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
catch (SQLException ex) xmlValues = xmlValues + "<Header></Header>";
{ xmlValues = xmlValues + "<Detail1>";
System.out.println("Exception ::" +selSql+ ex.getMessage() + ":"); xmlValues = xmlValues + "<tran_id></tran_id>";
ex.printStackTrace(); xmlValues = xmlValues + "</Detail1></Root>";
throw new ITMException(ex); System.out.println("xmlValues :["+xmlValues+"]");
} TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
catch (Exception e) tranId = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
{ System.out.println("tranId :"+tranId);
System.out.println("Exception ::" + e.getMessage() + ":"); }
e.printStackTrace(); catch (SQLException ex)
throw new ITMException(e); {
} System.out.println("Exception ::" +selSql+ ex.getMessage() + ":");
finally ex.printStackTrace();
{ throw new ITMException(ex);
try }
{ catch (Exception e)
if (rs != null) {
{ System.out.println("Exception ::" + e.getMessage() + ":");
rs.close(); e.printStackTrace();
rs = null; throw new ITMException(e);
} }
if (pstmt != null) finally
{ {
pstmt.close(); try
pstmt = null; {
} if (rs != null)
} {
catch(Exception e) rs.close();
{ rs = null;
} }
} if (pstmt != null)
return tranId; {
}//generateTranTd() pstmt.close();
//changed by Dharmesh on 12-08-2011 [WM1ESUN004] to auto genrate Transacion Id for inv_hold_rel_trace.end pstmt = null;
private String checkNull( String inputVal ) }
{ }
if ( inputVal == null ) catch(Exception e)
{ {
inputVal = ""; }
} }
return inputVal; return tranId;
} }//generateTranTd()
} //changed by Dharmesh on 12-08-2011 [WM1ESUN004] to auto genrate Transacion Id for inv_hold_rel_trace.end
private String checkNull( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
return inputVal;
}
}
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