Commit 9b81c6bf authored by msharma's avatar msharma

Remove insertion in inv_hold_det table during Stock transfer confirmation


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@96700 ce508802-f39f-4f6c-b175-0d175dae99d5
parent dacac720
......@@ -601,6 +601,35 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
//End changes by gulzar on 12/24/2011
// added by cpatil on 20/11/13 start
//Added by Manoj dtd 29/10/2014 to set hold_lock field
int countHold=0;
sql="select count(1) From inv_hold a, inv_hold_det b Where a.tran_id = b.tran_id And b.item_code = ? And (b.site_code = ? or b.site_code is null )" +
" And (b.loc_code = ? or b.loc_code is null ) " +
" And (b.lot_no =? or b.lot_no is null ) " +
" And (b.lot_sl = ? or b.lot_sl is null ) " +
"And (b.line_no_sl = 0 or b.line_no_sl is null) " +
" And a.confirmed='Y' And b.hold_status ='H'";
pstmtHold = conn.prepareStatement(sql);
pstmtHold.setString(1,itemCode);
pstmtHold.setString(2,siteCode);
pstmtHold.setString(3,locCodeTo);
pstmtHold.setString(4,lotNoTo);
pstmtHold.setString(5,lotSlTo);
rsHold = pstmtHold.executeQuery();
if(rsHold.next())
{
countHold = rs.getInt(1);
}
rsHold.close();
rsHold = null;
pstmtHold.close();
pstmtHold = null;
if(countHold>0)
{
updateRowMap.put("hold_lock", "Y");
}
itemSer = discommon.getItemSer(itemCode, siteCode, tranDate, "","", conn);
cctrCode = finCommon.getAcctDetrTtype(itemCode, itemSer, "XFRX", " ", conn);
acctCode = cctrCode.substring(0,cctrCode.indexOf(","));
......@@ -763,7 +792,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
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 + ? "
/* 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 = ? "
......@@ -783,6 +812,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmtHold = null;
rsHold = null;
*/
tranIdHold = "";
lineNoHold = 0;
......@@ -824,6 +854,7 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmtHold.setString(5,lotSl);
rsHold = pstmtHold.executeQuery();
balQty = holdQuantity;
String siteInvHold="",lotNoInvHold="",itemInvHold="";
while ( rsHold.next() )
{
/*//check whether there is a confirmed release hold for the same
......@@ -857,9 +888,14 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
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);
siteInvHold= checkNull(rsHold.getString("SITE_CODE"));
itemInvHold= checkNull(rsHold.getString("ITEM_CODE"));
lotNoInvHold= checkNull(rsHold.getString("LOT_NO"));
//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 )
/*Commented by Manoj dtd 18/10/2014
if(invStatLocCodeTo.trim().equalsIgnoreCase(locCodeTo.trim()) || quantity < holdQty )
{
System.out.println("-----Insert Block-----");
//Changed by Rohan on 17-07-13 for updating INV_HOLD_REL_TRACE
......@@ -868,7 +904,9 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
System.out.println("@@@@ End of insertion...");
}
else
{
{*/
//Method changed by Manoj dtd 29/10/2014 to remove insertion in inv_hold_det table and insert/update in inv_hold_rel_trace table
insertIntoInvHold(itemCode,siteCode,locCodeTo,lotNo,lotSlTo,tranIdHold,locCodeFr,lotSl,quantity,lockCode,reasonCodeInvHold,conn);
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 = ? "
......@@ -879,62 +917,69 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
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
}
if(locCodeInvHold.trim().length()>0 || lotSlInvHold.trim().length()>0)
{
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
//}
}
}
rsHold.close();
rsHold = null;
......@@ -1075,7 +1120,8 @@ 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
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
//insertIntoInvHold(String itemCode ,String siteCode, String locCodeTo,String lotNo, String lotSlTo,String tranIdHold ,String locCodeFr,String lotSl ,double quantity,String lockCode,String reasonCodeInvHold,Connection conn);
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;
PreparedStatement pstmtMaxLine =null;
......@@ -1089,27 +1135,8 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
try {
String sqlMaxLine ="SELECT MAX(LINE_NO) FROM INV_HOLD_DET WHERE TRAN_ID =?";
pstmtMaxLine = conn.prepareStatement(sqlMaxLine);
pstmtMaxLine.setString(1,tranIdHold);
rsMaxLine =pstmtMaxLine.executeQuery();
if(rsMaxLine.next())
{
maxLineNo =(rsMaxLine.getInt(1))+1;
System.out.println("line no to be inserted :" +maxLineNo);
}
else
{
maxLineNo =maxLineNo++;
}
GenericUtility genericUtility = GenericUtility.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getDBDateTimeFormat());
Date sysDate = new Date();
String sysDateStr = sdf.format(sysDate);
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 = ? ";
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 = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIdHold);
pstmt.setString(2, itemCode);
......@@ -1120,79 +1147,15 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
rs =pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
count1 = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null ;
if(count > 0)//aaded by kunal on 22/may/14
System.out.println("count1="+count1);
if(count1 == 0)
{
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 = ? ";
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())
{
count1 = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null ;
System.out.println("count1="+count1);
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 = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble( 1,holdQuantity );
pstmt.setString( 2, tranIdHold);
pstmt.setString( 3, itemCode );
pstmt.setString( 4, siteCode );
pstmt.setString( 5, locCode );
pstmt.setString( 6, lotNo);
pstmt.setString( 7, lotSl );
System.out.println("record updated::"+pstmt.executeUpdate());
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
else
{
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();
System.out.println("@@@@ Hey Row inserted !!!!!!!! .....Total :["+isInserted+"]");
//Changed by Rohan on 17-07-13 for updating INV_HOLD_REL_TRACE.start
tranId = generateTraceId("w_inv_hold_rel_trace",siteCode, conn);
sql = " INSERT INTO INV_HOLD_REL_TRACE ( TRAN_ID, ITEM_CODE, SITE_CODE, LOC_CODE, LOT_NO, LOT_SL, REF_NO, HOLD_QTY, LOCK_CODE ) " +
" VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? ) " ;
......@@ -1207,28 +1170,40 @@ public class StockTransferConf extends ActionHandlerEJB implements StockTransfer
pstmt.setDouble( 8,holdQuantity );
pstmt.setString( 9, lockCode );
pstmt.executeUpdate();
if(pstmt != null)
{
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.close();
pstmt=null;
sql = "UPDATE STOCK SET HOLD_QTY = CASE WHEN HOLD_QTY IS NULL THEN 0 ELSE HOLD_QTY END + ? "
+ " WHERE ITEM_CODE = ? "
+ " AND SITE_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble( 1, holdQuantity);
pstmt.setString( 2, itemCode );
pstmt.setString( 3, siteCode );
pstmt.setString( 4, locCodeFr );
pstmt.setString( 5, lotNo);
pstmt.setString( 6, lotSlFr );
pstmt.setString( 7, lockCode );
//pstmt.setDouble(1,holdQuantity); //Commented by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmt.setDouble(1,holdQuantity); //Added by Ashish Sonawane on 01/SEP/12 as implication on stock due to PGRL location for partial qty putaway
pstmt.setString(2,itemCode);
pstmt.setString(3,siteCode);
pstmt.setString(4,locCode);
pstmt.setString(5,lotNo);
//pstmt.setString(6,lotSl);//Gulzar on 21/12/11
pstmt.setString(6,lotSl);//Gulzar on 21/12/11
pstmt.executeUpdate();
//Changed by Rohan on 17-07-13 for updating INV_HOLD_REL_TRACE.end
pstmt.close();
}
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);
pstmt.setDouble( 1, holdQuantity);
pstmt.setString( 2, itemCode );
pstmt.setString( 3, siteCode );
pstmt.setString( 4, locCodeFr );
pstmt.setString( 5, lotNo);
pstmt.setString( 6, lotSlFr );
pstmt.setString( 7, lockCode );
pstmt.executeUpdate();
}
catch (Exception e)
{
......
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