Commit c94a0150 authored by msharma's avatar msharma

Update /insert into inv_hold_det table is record found/not found for location


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97038 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b019c02b
......@@ -162,6 +162,8 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
DistCommon discommon = new DistCommon();
String acctCode="",cctrCode="",invacct="",trfacct="",itemSer="",cctrCodeDr=""; //lotNoTo="",;
double qtyPerArt=0,stknoArt=0,partnoArt=0;//Added by manoj dtd 24/06/2014
PreparedStatement pstmt2=null;
ResultSet rs2=null;
try
{
......@@ -272,7 +274,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
cctrCodeCr = rs.getString( "CCTR_CODE__CR" );
acctCodeDr = rs.getString( "ACCT_CODE__DR" ); // cpatil
cctrCodeDr = rs.getString( "CCTR_CODE__DR" );// cpatil
cctrCodeDr = rs.getString( "CCTR_CODE__DR" ); // cpatil
// 16/10/11 manoharan initialise quantity, hold_qty
stkQuantity = 0;
......@@ -754,6 +756,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
updateRowMap.put("pack_ref",packRef); ///added by chandrashekar on20-12-2014
// added by cpatil on 20/11/13 end
retString = stkUpdate.updateStock( updateRowMap, xtraParams, conn );
if ( retString != null && retString.trim().length() > 0 )
{
......@@ -842,8 +845,8 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
+ " 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 * from inv_hold_rel_trace where item_code=? and site_code=? and loc_code=? and "
+ " lot_no=? and lot_sl=? and hold_qty>0";
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);
......@@ -874,7 +877,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmtRel = null;
*/
//tranIdHold = rsHold.getString("TRAN_ID");// added by Ashish Sonawane on 05-sep-12
tranIdHold = rsHold.getString("ref_no");
//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
......@@ -882,6 +885,19 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
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);
......@@ -965,6 +981,11 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
// 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;
......@@ -1138,9 +1159,156 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getDBDateTimeFormat());
Date sysDate = new Date();
String sysDateStr = sdf.format(sysDate);
boolean isFound=false;
boolean isitemHold=false;
boolean isitemLotHold=false;
boolean isuniqueHold=false;
String lineNo="";
sql="select line_no from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and lot_no is null and lot_sl is null and loc_code is null and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
pstmt.setString(3, siteCode);
//pstmt.setString(4, lotNo);
rs =pstmt.executeQuery();
if(rs.next())
{
isitemHold=true;
lineNo=rs.getString(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql ="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and loc_code = ? and lot_no = ? and lot_sl=? ";
if(!isitemHold)
{
sql="select line_no from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and lot_no = ? and lot_sl is null and loc_code is null and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, lotNo);
rs =pstmt.executeQuery();
if(rs.next())
{
isitemLotHold=true;
lineNo=rs.getString(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}
if(!isitemLotHold)
{
sql="select line_no from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and loc_code = ? and lot_no = ? and lot_sl=? and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, locCodeFr);
pstmt.setString(5, lotNo);
pstmt.setString(6, lotSlFr);
rs =pstmt.executeQuery();
if(rs.next())
{
isuniqueHold=true;
lineNo=rs.getString(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}
if(isuniqueHold)
{
/*sql="select hold_qty from stock where site_code=? and item_code=? and lot_no=? and lot_sl=? and loc_code=? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemCode);
pstmt.setString(3,lotNo);
pstmt.setString(4,lotSlFr);
pstmt.setString(5,locCodeFr);
rs=pstmt.executeQuery();
if(rs.next())
{
holdQty=rs.getDouble(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(holdQty==0)
{
sql="UPDATE INV_HOLD_DET SET LOC_CODE=?,LOT_SL=? WHERE tran_id = ? and item_code = ? and site_code = ? "
+" and loc_code = ? and lot_no = ? and lot_sl = ? and line_no=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, locCode);
pstmt.setString(2, lotSl);
pstmt.setString(3,tranIdHold);
pstmt.setString(4, itemCode);
pstmt.setString(5, siteCode);
pstmt.setString(6, locCodeFr);
pstmt.setString(7, lotNo);
pstmt.setString(8, lotSlFr);
pstmt.setString(9, lineNo);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
/
else
{*/
sql="select count(1) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and loc_code = ? and lot_no = ? and lot_sl=? and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
pstmt.setString(3, siteCode);
pstmt.setString(4, locCode);
pstmt.setString(5, lotNo);
pstmt.setString(6, lotSl);
rs =pstmt.executeQuery();
if(rs.next())
{
count=rs.getInt(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(count==0)
{
String sqlInsertInvHold = "INSERT INTO INV_HOLD_DET (TRAN_ID, LINE_NO, ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, HOLD_STATUS, STATUS_DATE , SCH_REL_DATE , REAS_CODE ) " +
" VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmtInsertInvHold = conn.prepareStatement(sqlInsertInvHold);
pstmtInsertInvHold.setString(1, tranIdHold);
pstmtInsertInvHold.setInt(2, maxLineNo);
pstmtInsertInvHold.setString(3, itemCode);
pstmtInsertInvHold.setString(4, siteCode);
pstmtInsertInvHold.setString(5, locCode);
pstmtInsertInvHold.setString(6, lotNo);
pstmtInsertInvHold.setString(7, lotSl);
pstmtInsertInvHold.setString(8, "H");
pstmtInsertInvHold.setTimestamp(9, Timestamp.valueOf( sysDateStr));
pstmtInsertInvHold.setTimestamp(10, Timestamp.valueOf( sysDateStr));
pstmtInsertInvHold.setString(11, reasonCode);
int isInserted = pstmtInsertInvHold.executeUpdate();
pstmtInsertInvHold.close();
pstmtInsertInvHold=null;
}
//}
}
/* sql ="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and loc_code = ? and lot_no = ? and lot_sl=? and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
......@@ -1242,7 +1410,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
count=0;
sql ="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? "
+" and loc_code = ? and lot_no = ? and lot_sl = ? ";
+" and loc_code = ? and lot_no = ? and lot_sl = ? and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
......@@ -1263,7 +1431,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
//Checking for lotwise in inv_hold_det if record by manoj dtd 08/12/2014
if(count==0)
{
sql="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? and lot_no=?";
sql="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? and lot_no=? and hold_status<>'R'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
......@@ -1283,7 +1451,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
//Checking for item wise in inv_hold_det if record by manoj dtd 08/12/2014
if(count==0)
{
sql="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? ";
sql="select count(*) from inv_hold_det where tran_id = ? and item_code = ? and site_code = ? and hold_status<>'R' ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
......@@ -1298,12 +1466,12 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
rs = null;
pstmt.close();
pstmt = null ;
}
}*/
if(count > 0)//aaded by kunal on 22/may/14
{
//if(count > 0)//aaded by kunal on 22/may/14
//{
sql ="select count(*) from INV_HOLD_REL_TRACE where REF_NO = ? and ITEM_CODE = ? and SITE_CODE = ? "
+" and LOC_CODE = ? and LOT_NO = ? and LOT_SL = ? ";
+" and LOC_CODE = ? and LOT_NO = ? and LOT_SL = ? and lock_code=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
......@@ -1311,6 +1479,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmt.setString(4, locCode);
pstmt.setString(5, lotNo);
pstmt.setString(6, lotSl);
pstmt.setString(7, lockCode);
rs =pstmt.executeQuery();
if(rs.next())
{
......@@ -1324,7 +1493,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
if(count1 > 0)
{
sql = " update inv_hold_rel_trace set hold_qty = hold_qty + ? where ref_no = ? and item_code = ? "
+" and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? " ;
+" and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? and lock_code=? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble( 1,holdQuantity );
pstmt.setString( 2, tranIdHold);
......@@ -1333,6 +1502,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmt.setString( 5, locCode );
pstmt.setString( 6, lotNo);
pstmt.setString( 7, lotSl );
pstmt.setString( 8, lockCode );
System.out.println("record updated::"+pstmt.executeUpdate());
if(pstmt != null)
......@@ -1364,7 +1534,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmt = null;
}
}
}
/*}
else
{
......@@ -1409,7 +1579,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmt.close();
pstmt = null;
}
}
}*/
//sql = " UPDATE INV_HOLD_REL_TRACE SET HOLD_QTY = HOLD_QTY - ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? ";
sql = " UPDATE INV_HOLD_REL_TRACE SET HOLD_QTY = HOLD_QTY - ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND LOCK_CODE = ?";
pstmt = conn.prepareStatement(sql);
......
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