Commit 9daa4d8a authored by caluka's avatar caluka

stock transfer time data insert or update in INV_HOLD_REL_TRACE when stock on hold


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97113 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 04b32b52
......@@ -215,8 +215,8 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
else
{
// 24/06/12 manoharan if transfer to near expiry not to transfer the hold quantity
nearExpLoc = dComm.getDisparams("999999","NEAREXP_LOC",conn);
partialGrlLoc = dComm.getDisparams("999999","PGRL_INVSTAT",conn);
//nearExpLoc = dComm.getDisparams("999999","NEAREXP_LOC",conn);
//partialGrlLoc = dComm.getDisparams("999999","PGRL_INVSTAT",conn);
sql = "SELECT LINE_NO, ITEM_CODE, QUANTITY, LOC_CODE__FR, LOC_CODE__TO, LOT_NO__FR, LOT_SL__FR, LOT_SL__TO, ACCT_CODE__CR, CCTR_CODE__CR, NO_ART ,LOT_NO__TO " +
",acct_code__dr,cctr_code__dr " + // added by cpatil on 20/11/13 compare with pb code and adding missing field
......@@ -770,231 +770,9 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
// if hold_qty > 0 update the same stock hold_qty for loc_code__to
// also reduce the hold_qty for old loc_code
// This utility methods to update old and new location should be in
// a separate probably in stockupdate so that we can call the same from various places
if (holdQuantity > 0)
{
// update old location with - hold_qty
sqlRel = "UPDATE STOCK SET HOLD_QTY = HOLD_QTY - ?"
+ " WHERE ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? ";
pstmtUpd = conn.prepareStatement(sqlRel);
//pstmtUpd.setDouble(1,holdQuantity); //Commented by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setDouble(1,quantity); //Added by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setString(2,itemCode);
pstmtUpd.setString(3,siteCode);
pstmtUpd.setString(4,locCodeFr);
pstmtUpd.setString(5,lotNo);
pstmtUpd.setString(6,lotSl);
pstmtUpd.executeUpdate();
// 24/06/12 manoharan if not neare expiry location hold quantity to be transferred
if (!nearExpLoc.trim().equalsIgnoreCase(locCodeTo.trim()) )
{
// update new location with + hold_qty
sqlRel = "UPDATE STOCK SET HOLD_QTY = CASE WHEN HOLD_QTY IS NULL THEN 0 ELSE HOLD_QTY END + ? "
+ " WHERE ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? ";
pstmtUpd = conn.prepareStatement(sqlRel);
//pstmtUpd.setDouble(1,holdQuantity); //Commented by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setDouble(1,quantity); //Added by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setString(2,itemCode);
pstmtUpd.setString(3,siteCode);
pstmtUpd.setString(4,locCodeTo);
pstmtUpd.setString(5,lotNo);
//pstmtUpd.setString(6,lotSl);//Gulzar on 21/12/11
pstmtUpd.setString(6,lotSlTo);//Gulzar on 21/12/11
pstmtUpd.executeUpdate();
pstmtHold = null;
rsHold = null;
tranIdHold = "";
lineNoHold = 0;
//Changed by Rohan on 26-07-13 for disinct record
//sqlHold = "SELECT D.TRAN_ID AS TRAN_ID, D.LINE_NO AS LINE_NO, "
/*lHold = "SELECT DISTINCT D.TRAN_ID AS TRAN_ID, D.LINE_NO AS LINE_NO, "
+ " D.ITEM_CODE AS ITEM_CODE, D.SITE_CODE AS SITE_CODE, "
+ " D.LOC_CODE AS LOC_CODE, D.LOT_NO AS LOT_NO, D.LOT_SL AS LOT_SL ,D.REAS_CODE " //ADDED BY KUNAL ON 23/MAY/14 ADD REAS_CODE
//Changed By Rohan on 18-07-13 for getting lock_code
//+ " FROM INV_HOLD_DET D, INV_HOLD H "
//Changed by Rohan on 06-08-13 to get hold qty
//+ " ,T.LOCK_CODE FROM INV_HOLD_DET D, INV_HOLD H , INV_HOLD_REL_TRACE T "
+ " ,T.LOCK_CODE,T.HOLD_QTY FROM INV_HOLD_DET D, INV_HOLD H , INV_HOLD_REL_TRACE T "
+ " WHERE H.TRAN_ID = D.TRAN_ID "
//Changed By Rohan on 18-07-13 for getting lock_code
+ " AND T.REF_NO = D.TRAN_ID "
//Chnaged by Rohan on 09-08-13 for add join of inv hold det and inv hold rel trace.start
//change by kunal on 29/may/14 check null value for join
+" AND (D.ITEM_CODE = T.ITEM_CODE or (d.item_code is null or length(trim(d.item_code)) = 0 ) )"
+" AND (D.SITE_CODE = T.SITE_CODE or (d.site_code is null or length(trim(d.site_code)) = 0 ) )"
+" AND (D.LOC_CODE = T.LOC_CODE or (d.loc_code is null or length(trim(d.loc_code)) = 0 ) )"
+" AND (D.LOT_NO = T.LOT_NO or (d.lot_no is null or length(trim(d.lot_no)) = 0 ) )"
+" AND (D.LOT_SL = T.LOT_SL or (d.lot_sl is null or length(trim(d.lot_sl)) = 0 ) )"
//Chnaged by Rohan on 09-08-13 for add join of inv hold det and inv hold rel trace.end
//change done by kunal on 30/may/14 add conditiob for INV_HOLD_REL_TRACE table
+ " AND ((T.ITEM_CODE = ? ) OR (T.ITEM_CODE IS NULL OR LENGTH(TRIM(T.ITEM_CODE)) = 0 ) ) "
+ " AND ((T.SITE_CODE = ? ) OR (T.SITE_CODE IS NULL OR LENGTH(TRIM(T.SITE_CODE)) = 0 ) ) "
+ " AND ((T.LOC_CODE = ? ) OR (T.LOC_CODE IS NULL OR LENGTH(TRIM(T.LOC_CODE)) = 0 ) ) "
+ " AND ((T.LOT_NO = ? ) OR (T.LOT_NO IS NULL OR LENGTH(TRIM(T.LOT_NO)) = 0 ) ) "
+ " AND ((T.LOT_SL = ? ) OR (T.LOT_SL IS NULL OR LENGTH(TRIM(T.LOT_SL)) = 0 ) ) "
+ " AND D.HOLD_STATUS = 'H'"
+ " AND H.CONFIRMED = 'Y' ";*/
sqlHold="select sum(case when hold_qty is null then 0 else hold_qty end + case when rel_qty is null then 0 else rel_qty end) as HOLD_QTY,site_code,item_code,lot_no,lock_code,lot_sl,loc_code from inv_hold_rel_trace where item_code=? and site_code=? and loc_code=? and "
+ " lot_no=? and lot_sl=? group by site_code,item_code,lot_no,lock_code,lot_sl,loc_code having sum(case when hold_qty is null then 0 else hold_qty end + case when rel_qty is null then 0 else rel_qty end)>0";
pstmtHold = conn.prepareStatement(sqlHold);
pstmtHold.setString(1,itemCode);
pstmtHold.setString(2,siteCode);
pstmtHold.setString(3,locCodeFr);
pstmtHold.setString(4,lotNo);
pstmtHold.setString(5,lotSl);
rsHold = pstmtHold.executeQuery();
balQty = holdQuantity;
while ( rsHold.next() )
{
/*//check whether there is a confirmed release hold for the same
sqlRel = "select count(1) from inv_hold_rel h, inv_hold_rel_det "
+ " where h.tran_id = d.tran_id "
+ " and d.tran_id__hold = ? "
+ " and d.line_no__hold = ? "
+ " and h.confirmed = 'Y'";
pstmtRel = conn.prepareStatement(sqlRel);
pstmtRel.SetString(1,rsHold.getString("TRAN_ID"));
pstmtRel.setInt(2,rsHold.getInt("LINE_NO"));
rsRel = pstmtRel.executeQuery();
if (rsRelel.next())
{
}
rsRel.close();
rsRel = null;
pstmtRel.close();
pstmtRel = null;
*/
//tranIdHold = rsHold.getString("TRAN_ID");// added by Ashish Sonawane on 05-sep-12
//tranIdHold = rsHold.getString("ref_no");
//Changed By Rohan on 18-07-13 for getting lock_code
lockCode = checkNull(rsHold.getString("lock_code"));
//Changed by Rohan on 06-08-13 to get hold qty
holdQty = rsHold.getDouble("HOLD_QTY");
locCodeInvHold = checkNull(rsHold.getString("LOC_CODE"));
lotSlInvHold = checkNull(rsHold.getString("LOT_SL"));
pstmt2=conn.prepareStatement("SELECT REF_NO FROM INV_HOLD_REL_TRACE WHERE SITE_CODE=? AND ITEM_CODE=? AND LOT_NO=? AND LOT_SL=? AND LOC_CODE=? AND LOCK_CODE=?");
pstmt2.setString(1,rsHold.getString("site_code"));
pstmt2.setString(2,rsHold.getString("item_code"));
pstmt2.setString(3,lotNo);
pstmt2.setString(4,lotSl);
pstmt2.setString(5,locCodeInvHold);
pstmt2.setString(6,lockCode);
rs2=pstmt2.executeQuery();
while(rs2.next())
{
tranIdHold = rs2.getString("REF_NO");
//reasonCodeInvHold = checkNull(rsHold.getString("REAS_CODE"));
System.out.println("inv hold loc code="+locCodeInvHold+"@"+lotSlInvHold+"@"+reasonCodeInvHold);
System.out.println("invStatLocCodeTo"+invStatLocCodeTo+"locCodeTo"+locCodeTo);
System.out.println("Current Lock Code"+lockCode+"quantity::"+quantity+"holdQty::"+holdQty);
//Changed by Rohan on 06-08-13 if partial qty move from pso to pso lacation.start
//if(invStatLocCodeTo.trim().equalsIgnoreCase(locCodeTo.trim()))
//if(invStatLocCodeTo.trim().equalsIgnoreCase(locCodeTo.trim()) || quantity < holdQty )
//if(quantity < holdQty )
//{
System.out.println("-----Insert Block-----");
//Changed by Rohan on 17-07-13 for updating INV_HOLD_REL_TRACE
//insertIntoInvHold(itemCode,siteCode,locCodeTo,lotNo,lotSlTo,tranIdHold,conn);
insertIntoInvHold(itemCode,siteCode,locCodeTo,lotNo,lotSlTo,tranIdHold,locCodeFr,lotSl,quantity,lockCode,reasonCodeInvHold,conn);
System.out.println("@@@@ End of insertion...");
//}
// else
// {
// System.out.println("-----Update Block-----");
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold det.start
/*sqlRel = "UPDATE INV_HOLD_DET SET LOC_CODE = ?, STATUS_DATE = ? "
+ " WHERE TRAN_ID = ? AND LINE_NO = ?";
pstmtUpd = conn.prepareStatement(sqlRel);
pstmtUpd.setString(1,locCodeTo);
pstmtUpd.setTimestamp(2,new java.sql.Timestamp( System.currentTimeMillis() ));
pstmtUpd.setString(3,rsHold.getString("TRAN_ID"));
pstmtUpd.setInt(4,rsHold.getInt("LINE_NO"));
pstmtUpd.executeUpdate(); */
// sqlRel = "UPDATE INV_HOLD_DET SET LOC_CODE = ?, STATUS_DATE = ?, LOT_SL = ? "
// + " WHERE TRAN_ID = ? AND LINE_NO = ?";
// pstmtUpd = conn.prepareStatement(sqlRel);
// pstmtUpd.setString(1,locCodeTo);
// pstmtUpd.setTimestamp(2,new java.sql.Timestamp( System.currentTimeMillis() ));
// pstmtUpd.setString(3,lotSlTo);
// pstmtUpd.setString(4,rsHold.getString("TRAN_ID"));
// pstmtUpd.setInt(5,rsHold.getInt("LINE_NO"));
// pstmtUpd.executeUpdate();
// 23/06/12 manoharan
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold det.end
// 23/06/12 manoharan
//tranIdHold = rsHold.getString("TRAN_ID"); //commented by Ashish Sonawane on 05-Sep-12 and moved to line no 421
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold_trace.start
/*sqlRel = "UPDATE INV_HOLD_REL_TRACE SET LOC_CODE = ? "
+ " WHERE REF_NO = ? "
+ " AND ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? " ;
pstmtUpd = conn.prepareStatement(sqlRel);
pstmtUpd.setString(1,locCodeTo);
pstmtUpd.setString(2,tranIdHold);
pstmtUpd.setString(3,itemCode);
pstmtUpd.setString(4,siteCode);
pstmtUpd.setString(5,locCodeFr);
pstmtUpd.setString(6,lotNo);
pstmtUpd.setString(7,lotSl);
updCnt = pstmtUpd.executeUpdate();
System.out.println( "[" + updCnt + "] rows updated successfully in INV_HOLD_REL_TRACE" );
// end 23/06/12 manoharan */
// sqlRel = "UPDATE INV_HOLD_REL_TRACE SET LOC_CODE = ?, LOT_SL = ?"
// + " WHERE REF_NO = ? "
// + " AND ITEM_CODE = ? "
// + " AND SITE_CODE = ? "
// + " AND LOC_CODE = ? "
// + " AND LOT_NO = ? "
// + " AND LOT_SL = ? " ;
// pstmtUpd = conn.prepareStatement(sqlRel);
// pstmtUpd.setString(1,locCodeTo);
// pstmtUpd.setString(2,lotSlTo);
// pstmtUpd.setString(3,tranIdHold);
// pstmtUpd.setString(4,itemCode);
// pstmtUpd.setString(5,siteCode);
// pstmtUpd.setString(6,locCodeFr);
// pstmtUpd.setString(7,lotNo);
// pstmtUpd.setString(8,lotSl);
// updCnt = pstmtUpd.executeUpdate();
// System.out.println( "[" + updCnt + "] rows updated successfully in INV_HOLD_REL_TRACE" );
// end 23/06/12 manoharan */
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold_trace det.end
// end 23/06/12 manoharan
// }
}
rs2.close();
rs2=null;
pstmt2.close();
pstmt2=null;
}
rsHold.close();
rsHold = null;
pstmtHold.close();
pstmtHold = null;
// a separate probably in stockupdate so that we can call the same from various places
StockUpdtHoldItems(reasonCodeInvHold,holdQuantity,quantity,itemCode,siteCode,locCodeFr,lotNo,lotSl,locCodeTo,lotSlTo,conn);
} // end 24/06/12 manoharan not near expiry
}
// end 16/10/11 manoharan
}
rs.close();rs = null;
......@@ -1127,6 +905,252 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
//Changed by Rohan on 17-07-13 for updating INV_HOLD_REL_TRACE
//private void insertIntoInvHold(String itemCode ,String siteCode, String locCode ,String lotNo, String lotSl, String tranIdHold ,Connection conn) throws ITMException
//change done by kunal on 31/may/14 reason code add in argumnet
public void StockUpdtHoldItems(String reasonCodeInvHold,double holdQuantity,double quantity,String itemCode,String siteCode,String locCodeFr,String lotNo,String lotSl,String locCodeTo,String lotSlTo,Connection conn)
{
String sqlRel="",tranIdHold="",sqlHold="";
PreparedStatement pstmtUpd=null,pstmtHold=null;
int lineNoHold=0;
ResultSet rsHold=null;
double balQty=0;
String lockCode="",locCodeInvHold="",lotSlInvHold="";
double holdQty=0;
PreparedStatement pstmt2=null;
ResultSet rs2=null;
DistCommon dComm=new DistCommon();
try
{
String nearExpLoc = dComm.getDisparams("999999","NEAREXP_LOC",conn);
String partialGrlLoc = dComm.getDisparams("999999","PGRL_INVSTAT",conn);
if (holdQuantity > 0)
{
// update old location with - hold_qty
sqlRel = "UPDATE STOCK SET HOLD_QTY = HOLD_QTY - ?"
+ " WHERE ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? ";
pstmtUpd = conn.prepareStatement(sqlRel);
//pstmtUpd.setDouble(1,holdQuantity); //Commented by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setDouble(1,quantity); //Added by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setString(2,itemCode);
pstmtUpd.setString(3,siteCode);
pstmtUpd.setString(4,locCodeFr);
pstmtUpd.setString(5,lotNo);
pstmtUpd.setString(6,lotSl);
pstmtUpd.executeUpdate();
// 24/06/12 manoharan if not neare expiry location hold quantity to be transferred
if (!nearExpLoc.trim().equalsIgnoreCase(locCodeTo.trim()) )
{
// update new location with + hold_qty
sqlRel = "UPDATE STOCK SET HOLD_QTY = CASE WHEN HOLD_QTY IS NULL THEN 0 ELSE HOLD_QTY END + ? "
+ " WHERE ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? ";
pstmtUpd = conn.prepareStatement(sqlRel);
//pstmtUpd.setDouble(1,holdQuantity); //Commented by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setDouble(1,quantity); //Added by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmtUpd.setString(2,itemCode);
pstmtUpd.setString(3,siteCode);
pstmtUpd.setString(4,locCodeTo);
pstmtUpd.setString(5,lotNo);
//pstmtUpd.setString(6,lotSl);//Gulzar on 21/12/11
pstmtUpd.setString(6,lotSlTo);//Gulzar on 21/12/11
pstmtUpd.executeUpdate();
pstmtHold = null;
rsHold = null;
tranIdHold = "";
lineNoHold = 0;
//Changed by Rohan on 26-07-13 for disinct record
//sqlHold = "SELECT D.TRAN_ID AS TRAN_ID, D.LINE_NO AS LINE_NO, "
/*lHold = "SELECT DISTINCT D.TRAN_ID AS TRAN_ID, D.LINE_NO AS LINE_NO, "
+ " D.ITEM_CODE AS ITEM_CODE, D.SITE_CODE AS SITE_CODE, "
+ " D.LOC_CODE AS LOC_CODE, D.LOT_NO AS LOT_NO, D.LOT_SL AS LOT_SL ,D.REAS_CODE " //ADDED BY KUNAL ON 23/MAY/14 ADD REAS_CODE
//Changed By Rohan on 18-07-13 for getting lock_code
//+ " FROM INV_HOLD_DET D, INV_HOLD H "
//Changed by Rohan on 06-08-13 to get hold qty
//+ " ,T.LOCK_CODE FROM INV_HOLD_DET D, INV_HOLD H , INV_HOLD_REL_TRACE T "
+ " ,T.LOCK_CODE,T.HOLD_QTY FROM INV_HOLD_DET D, INV_HOLD H , INV_HOLD_REL_TRACE T "
+ " WHERE H.TRAN_ID = D.TRAN_ID "
//Changed By Rohan on 18-07-13 for getting lock_code
+ " AND T.REF_NO = D.TRAN_ID "
//Chnaged by Rohan on 09-08-13 for add join of inv hold det and inv hold rel trace.start
//change by kunal on 29/may/14 check null value for join
+" AND (D.ITEM_CODE = T.ITEM_CODE or (d.item_code is null or length(trim(d.item_code)) = 0 ) )"
+" AND (D.SITE_CODE = T.SITE_CODE or (d.site_code is null or length(trim(d.site_code)) = 0 ) )"
+" AND (D.LOC_CODE = T.LOC_CODE or (d.loc_code is null or length(trim(d.loc_code)) = 0 ) )"
+" AND (D.LOT_NO = T.LOT_NO or (d.lot_no is null or length(trim(d.lot_no)) = 0 ) )"
+" AND (D.LOT_SL = T.LOT_SL or (d.lot_sl is null or length(trim(d.lot_sl)) = 0 ) )"
//Chnaged by Rohan on 09-08-13 for add join of inv hold det and inv hold rel trace.end
//change done by kunal on 30/may/14 add conditiob for INV_HOLD_REL_TRACE table
+ " AND ((T.ITEM_CODE = ? ) OR (T.ITEM_CODE IS NULL OR LENGTH(TRIM(T.ITEM_CODE)) = 0 ) ) "
+ " AND ((T.SITE_CODE = ? ) OR (T.SITE_CODE IS NULL OR LENGTH(TRIM(T.SITE_CODE)) = 0 ) ) "
+ " AND ((T.LOC_CODE = ? ) OR (T.LOC_CODE IS NULL OR LENGTH(TRIM(T.LOC_CODE)) = 0 ) ) "
+ " AND ((T.LOT_NO = ? ) OR (T.LOT_NO IS NULL OR LENGTH(TRIM(T.LOT_NO)) = 0 ) ) "
+ " AND ((T.LOT_SL = ? ) OR (T.LOT_SL IS NULL OR LENGTH(TRIM(T.LOT_SL)) = 0 ) ) "
+ " AND D.HOLD_STATUS = 'H'"
+ " AND H.CONFIRMED = 'Y' ";*/
sqlHold="select sum(case when hold_qty is null then 0 else hold_qty end + case when rel_qty is null then 0 else rel_qty end) as HOLD_QTY,site_code,item_code,lot_no,lock_code,lot_sl,loc_code from inv_hold_rel_trace where item_code=? and site_code=? and loc_code=? and "
+ " lot_no=? and lot_sl=? group by site_code,item_code,lot_no,lock_code,lot_sl,loc_code having sum(case when hold_qty is null then 0 else hold_qty end + case when rel_qty is null then 0 else rel_qty end)>0";
pstmtHold = conn.prepareStatement(sqlHold);
pstmtHold.setString(1,itemCode);
pstmtHold.setString(2,siteCode);
pstmtHold.setString(3,locCodeFr);
pstmtHold.setString(4,lotNo);
pstmtHold.setString(5,lotSl);
rsHold = pstmtHold.executeQuery();
balQty = holdQuantity;
while ( rsHold.next() )
{
/*//check whether there is a confirmed release hold for the same
sqlRel = "select count(1) from inv_hold_rel h, inv_hold_rel_det "
+ " where h.tran_id = d.tran_id "
+ " and d.tran_id__hold = ? "
+ " and d.line_no__hold = ? "
+ " and h.confirmed = 'Y'";
pstmtRel = conn.prepareStatement(sqlRel);
pstmtRel.SetString(1,rsHold.getString("TRAN_ID"));
pstmtRel.setInt(2,rsHold.getInt("LINE_NO"));
rsRel = pstmtRel.executeQuery();
if (rsRelel.next())
{
}
rsRel.close();
rsRel = null;
pstmtRel.close();
pstmtRel = null;
*/
//tranIdHold = rsHold.getString("TRAN_ID");// added by Ashish Sonawane on 05-sep-12
//tranIdHold = rsHold.getString("ref_no");
//Changed By Rohan on 18-07-13 for getting lock_code
lockCode = checkNull(rsHold.getString("lock_code"));
//Changed by Rohan on 06-08-13 to get hold qty
holdQty = rsHold.getDouble("HOLD_QTY");
locCodeInvHold = checkNull(rsHold.getString("LOC_CODE"));
lotSlInvHold = checkNull(rsHold.getString("LOT_SL"));
pstmt2=conn.prepareStatement("SELECT REF_NO FROM INV_HOLD_REL_TRACE WHERE SITE_CODE=? AND ITEM_CODE=? AND LOT_NO=? AND LOT_SL=? AND LOC_CODE=? AND LOCK_CODE=?");
pstmt2.setString(1,rsHold.getString("site_code"));
pstmt2.setString(2,rsHold.getString("item_code"));
pstmt2.setString(3,lotNo);
pstmt2.setString(4,lotSl);
pstmt2.setString(5,locCodeInvHold);
pstmt2.setString(6,lockCode);
rs2=pstmt2.executeQuery();
while(rs2.next())
{
tranIdHold = rs2.getString("REF_NO");
//reasonCodeInvHold = checkNull(rsHold.getString("REAS_CODE"));
//System.out.println("inv hold loc code="+locCodeInvHold+"@"+lotSlInvHold+"@"+reasonCodeInvHold);
//System.out.println("invStatLocCodeTo"+invStatLocCodeTo+"locCodeTo"+locCodeTo);
System.out.println("Current Lock Code"+lockCode+"quantity::"+quantity+"holdQty::"+holdQty);
//Changed by Rohan on 06-08-13 if partial qty move from pso to pso lacation.start
//if(invStatLocCodeTo.trim().equalsIgnoreCase(locCodeTo.trim()))
//if(invStatLocCodeTo.trim().equalsIgnoreCase(locCodeTo.trim()) || quantity < holdQty )
//if(quantity < holdQty )
//{
System.out.println("-----Insert Block-----");
//Changed by Rohan on 17-07-13 for updating INV_HOLD_REL_TRACE
//insertIntoInvHold(itemCode,siteCode,locCodeTo,lotNo,lotSlTo,tranIdHold,conn);
insertIntoInvHold(itemCode,siteCode,locCodeTo,lotNo,lotSlTo,tranIdHold,locCodeFr,lotSl,quantity,lockCode,reasonCodeInvHold,conn);
System.out.println("@@@@ End of insertion...");
//}
// else
// {
// System.out.println("-----Update Block-----");
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold det.start
/*sqlRel = "UPDATE INV_HOLD_DET SET LOC_CODE = ?, STATUS_DATE = ? "
+ " WHERE TRAN_ID = ? AND LINE_NO = ?";
pstmtUpd = conn.prepareStatement(sqlRel);
pstmtUpd.setString(1,locCodeTo);
pstmtUpd.setTimestamp(2,new java.sql.Timestamp( System.currentTimeMillis() ));
pstmtUpd.setString(3,rsHold.getString("TRAN_ID"));
pstmtUpd.setInt(4,rsHold.getInt("LINE_NO"));
pstmtUpd.executeUpdate(); */
// sqlRel = "UPDATE INV_HOLD_DET SET LOC_CODE = ?, STATUS_DATE = ?, LOT_SL = ? "
// + " WHERE TRAN_ID = ? AND LINE_NO = ?";
// pstmtUpd = conn.prepareStatement(sqlRel);
// pstmtUpd.setString(1,locCodeTo);
// pstmtUpd.setTimestamp(2,new java.sql.Timestamp( System.currentTimeMillis() ));
// pstmtUpd.setString(3,lotSlTo);
// pstmtUpd.setString(4,rsHold.getString("TRAN_ID"));
// pstmtUpd.setInt(5,rsHold.getInt("LINE_NO"));
// pstmtUpd.executeUpdate();
// 23/06/12 manoharan
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold det.end
// 23/06/12 manoharan
//tranIdHold = rsHold.getString("TRAN_ID"); //commented by Ashish Sonawane on 05-Sep-12 and moved to line no 421
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold_trace.start
/*sqlRel = "UPDATE INV_HOLD_REL_TRACE SET LOC_CODE = ? "
+ " WHERE REF_NO = ? "
+ " AND ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? " ;
pstmtUpd = conn.prepareStatement(sqlRel);
pstmtUpd.setString(1,locCodeTo);
pstmtUpd.setString(2,tranIdHold);
pstmtUpd.setString(3,itemCode);
pstmtUpd.setString(4,siteCode);
pstmtUpd.setString(5,locCodeFr);
pstmtUpd.setString(6,lotNo);
pstmtUpd.setString(7,lotSl);
updCnt = pstmtUpd.executeUpdate();
System.out.println( "[" + updCnt + "] rows updated successfully in INV_HOLD_REL_TRACE" );
// end 23/06/12 manoharan */
// sqlRel = "UPDATE INV_HOLD_REL_TRACE SET LOC_CODE = ?, LOT_SL = ?"
// + " WHERE REF_NO = ? "
// + " AND ITEM_CODE = ? "
// + " AND SITE_CODE = ? "
// + " AND LOC_CODE = ? "
// + " AND LOT_NO = ? "
// + " AND LOT_SL = ? " ;
// pstmtUpd = conn.prepareStatement(sqlRel);
// pstmtUpd.setString(1,locCodeTo);
// pstmtUpd.setString(2,lotSlTo);
// pstmtUpd.setString(3,tranIdHold);
// pstmtUpd.setString(4,itemCode);
// pstmtUpd.setString(5,siteCode);
// pstmtUpd.setString(6,locCodeFr);
// pstmtUpd.setString(7,lotNo);
// pstmtUpd.setString(8,lotSl);
// updCnt = pstmtUpd.executeUpdate();
// System.out.println( "[" + updCnt + "] rows updated successfully in INV_HOLD_REL_TRACE" );
// end 23/06/12 manoharan */
// changed by sankara on 06-07-13 fixing bug updated corret lot_sl in inv_hold_trace det.end
// end 23/06/12 manoharan
// }
}
rs2.close();
rs2=null;
pstmt2.close();
pstmt2=null;
}
rsHold.close();
rsHold = null;
pstmtHold.close();
pstmtHold = null;
} // end 24/06/12 manoharan not near expiry
}
}catch(Exception e)
{
e.printStackTrace();
}
}
private void insertIntoInvHold(String itemCode ,String siteCode, String locCode ,String lotNo, String lotSl, String tranIdHold ,String locCodeFr,String lotSlFr,double holdQuantity,String lockCode,String reasonCode ,Connection conn) throws ITMException
{
PreparedStatement pstmtInsertInvHold =null;
......
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