Commit 37267b57 authored by pjain's avatar pjain

changed by sankara on 14/04/14 updated replissconf,replissic,wavegenerationprc for wms live


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@94574 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 7c3853a3
......@@ -147,7 +147,7 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
//double convQtyStduom = 0;
java.sql.Timestamp dateAlloc = null;
// end 18/09/12 manoharan
double actualAllocQty = 0.0;
try
{
......@@ -258,57 +258,51 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock.start
if (!"D".equals(orderType) && !"H".equals(orderType) && !"L".equals(orderType))
{
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock.end
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock.end
replOrderLineNo = rs.getInt("ORDER_lINE_NO");
//Changed by sumit on 13/03/13 getting quantity as (quantity-dealloc_qty).start
/*sql = " SELECT SUM(QUANTITY) AS QUANTITY FROM " +
" ( SELECT SUM(QUANTITY) AS QUANTITY FROM (SELECT SUM(QUANTITY) AS QUANTITY FROM PICK_ORD_DET P " +
" WHERE P.REPL_ORDER = ? AND P.LINE_NO__REPL = ? AND FN_IS_VALID_PICK_ORDER(P.PICK_ORDER) = 'Y' " +
" UNION ALL " +
" SELECT SUM(QUANTITY) FROM PICK_ORD_DET WHERE (REPL_ORDER, LINE_NO__REPL) IN " +
" (SELECT REPL_ORDER , LINE_NO FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ? ) " +
//Changed by sumit on 14/02/13 checking whether wave cancel or hold
" AND FN_IS_VALID_PICK_ORDER(PICK_ORDER) = 'Y' " +
" UNION ALL " +
" SELECT SUM(QUANTITY) FROM PICK_ORD_DET WHERE (REPL_ORDER, LINE_NO__REPL) IN ( " +
" SELECT REPL_ORDER,LINE_NO FROM REPL_ORD_DET WHERE (PICK_ORDER,LINE_NO__PICK) IN ( " +
" (SELECT REPL_ORDER , LINE_NO FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ? )))" +
//Changed by sumit on 14/02/13 checking whether wave cancel or hold
" AND FN_IS_VALID_PICK_ORDER(PICK_ORDER) = 'Y' ))";
*/
sql = " SELECT SUM(QUANTITY) AS QUANTITY FROM " +
" ( SELECT SUM(QUANTITY) AS QUANTITY FROM (SELECT SUM(QUANTITY - CASE WHEN DEALLOC_QTY IS NULL THEN 0 ELSE DEALLOC_QTY END) AS QUANTITY FROM PICK_ORD_DET P " +
" WHERE P.REPL_ORDER = ? AND P.LINE_NO__REPL = ? AND FN_IS_VALID_PICK_ORDER(P.PICK_ORDER) = 'Y' " +
" UNION ALL " +
" SELECT SUM(QUANTITY - CASE WHEN DEALLOC_QTY IS NULL THEN 0 ELSE DEALLOC_QTY END) FROM PICK_ORD_DET WHERE (REPL_ORDER, LINE_NO__REPL) IN " +
" (SELECT REPL_ORDER , LINE_NO FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ? ) " +
" AND FN_IS_VALID_PICK_ORDER(PICK_ORDER) = 'Y' " +
" UNION ALL " +
" SELECT SUM(QUANTITY - CASE WHEN DEALLOC_QTY IS NULL THEN 0 ELSE DEALLOC_QTY END) FROM PICK_ORD_DET WHERE (REPL_ORDER, LINE_NO__REPL) IN ( " +
" SELECT REPL_ORDER,LINE_NO FROM REPL_ORD_DET WHERE (PICK_ORDER,LINE_NO__PICK) IN ( " +
" (SELECT REPL_ORDER , LINE_NO FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ? )))" +
" AND FN_IS_VALID_PICK_ORDER(PICK_ORDER) = 'Y' ))";
//Changed by sumit on 13/03/13 getting quantity as (quantity-dealloc_qty).end
pstmtPick = conn.prepareStatement(sql);
pstmtPick.setString(1, replOrder);
pstmtPick.setInt(2, replOrderLineNo);
pstmtPick.setString(3, replOrder);
pstmtPick.setInt(4, replOrderLineNo);
pstmtPick.setString(5, replOrder);
pstmtPick.setInt(6, replOrderLineNo);
rsPick = pstmtPick.executeQuery();
if (rsPick.next())
if(!"".equalsIgnoreCase(orderType) && ("Q".equals(orderType) || "T".equals(orderType) || "P".equals(orderType) || "E".equals(orderType) || "I".equals(orderType) ))
{
pickQty = rsPick.getDouble("QUANTITY");
sql = " SELECT SUM(QUANTITY) AS QUANTITY FROM " +
" ( SELECT SUM(QUANTITY) AS QUANTITY FROM (SELECT SUM(QUANTITY - CASE WHEN DEALLOC_QTY IS NULL THEN 0 ELSE DEALLOC_QTY END) AS QUANTITY FROM PICK_ORD_DET P " +
" WHERE P.REPL_ORDER = ? AND P.LINE_NO__REPL = ? AND FN_IS_VALID_PICK_ORDER(P.PICK_ORDER) = 'Y' " +
" UNION ALL " +
" SELECT SUM(QUANTITY - CASE WHEN DEALLOC_QTY IS NULL THEN 0 ELSE DEALLOC_QTY END) FROM PICK_ORD_DET WHERE (REPL_ORDER, LINE_NO__REPL) IN " +
" (SELECT REPL_ORDER , LINE_NO FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ? ) " +
" AND FN_IS_VALID_PICK_ORDER(PICK_ORDER) = 'Y' " +
" UNION ALL " +
" SELECT SUM(QUANTITY - CASE WHEN DEALLOC_QTY IS NULL THEN 0 ELSE DEALLOC_QTY END) FROM PICK_ORD_DET WHERE (REPL_ORDER, LINE_NO__REPL) IN ( " +
" SELECT REPL_ORDER,LINE_NO FROM REPL_ORD_DET WHERE (PICK_ORDER,LINE_NO__PICK) IN ( " +
" (SELECT REPL_ORDER , LINE_NO FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ? )))" +
" AND FN_IS_VALID_PICK_ORDER(PICK_ORDER) = 'Y' ))";
//Changed by sumit on 13/03/13 getting quantity as (quantity-dealloc_qty).end
pstmtPick = conn.prepareStatement(sql);
pstmtPick.setString(1, replOrder);
pstmtPick.setInt(2, replOrderLineNo);
pstmtPick.setString(3, replOrder);
pstmtPick.setInt(4, replOrderLineNo);
pstmtPick.setString(5, replOrder);
pstmtPick.setInt(6, replOrderLineNo);
rsPick = pstmtPick.executeQuery();
if (rsPick.next())
{
pickQty = rsPick.getDouble("QUANTITY");
}
rsPick.close();
rsPick = null;
pstmtPick.close();
pstmtPick = null;
actualQty = quantity - pickQty;
}
else
{
actualAllocQty = getStockQuantity(itemCode,siteCode,locCode,lotNo,lotSl,0.0,conn);
actualQty = quantity - actualAllocQty;
}
rsPick.close();
rsPick = null;
pstmtPick.close();
pstmtPick = null;
actualQty = quantity - pickQty;
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock
}
// end 09/02/13 manoharan actual quantity (balance quantity) is updated in multiples of number of cases so this has to be taken as the total pick quantity
......@@ -397,57 +391,7 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
updateRowMap.put("unit__alt", unitAlt);
updateRowMap.put("batch_no", batchNo);
updateRowMap.put("batch_size", ""+batchSize);
//End changes by gulzar on 12/24/2011
/*
if ("E".equals(orderType) || "P".equals(orderType) || "Q".equals(orderType) || "T".equals(orderType) )
{
System.out.println(" inside 'J' OR K block and actualQty ["+actualQty+"]");
//Changed by sumit on 28/08/12 modifide sql.
sql = "SELECT ACTUAL_QTY FROM REPL_ORD_DET WHERE REPL_ORDER = ? " +
" AND LINE_NO =? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, pickOrder);
pstmt1.setInt(2, lineNoPick);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
actualQty = rs1.getInt( "ACTUAL_QTY" );
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
}
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock.start
System.out.println("orderType::"+orderType);
if ("D".equals(orderType) || "H".equals(orderType) || "L".equals(orderType))
{
sql = "SELECT ACTUAL_QTY FROM REPL_ORD_DET WHERE REPL_ORDER = ? " +
" AND LINE_NO =? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, pickOrder);
pstmt1.setInt(2, lineNoPick);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
actualQty = rs1.getInt( "ACTUAL_QTY" );
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
}
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock.end
*/
System.out.println(" Active actualQty ["+actualQty+"]"+"quantity"+quantity);
updateRowMap.put("tran_type","ID");
updateRowMap.put("qty_stduom", ""+ (quantity - actualQty));//140
......@@ -889,10 +833,10 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
pstmtPick = null;
//}
/*else
//}
/*else
{
System.out.println("manohar 26/10/12 ");
updateSql = "UPDATE SORDALLOC SET LOC_CODE = ? ,LOT_SL = ? "
+ " WHERE "
......@@ -918,38 +862,46 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
pstmtUpd.close();
pstmtUpd = null;
}*/
//Changed by Pragyan 05-Apr-14 to un comment for stock-to-dock moving to dock location
/*if ("D".equals(orderType) || "H".equals(orderType) || "L".equals(orderType))
{*/
if(!"Q".equalsIgnoreCase(orderType) && ! "T".equalsIgnoreCase(orderType) && !"P".equalsIgnoreCase(orderType) && !"E".equalsIgnoreCase(orderType) && !"I".equalsIgnoreCase(orderType) )
{
System.out.println("Updating Our New logic orderType ["+orderType+"]");
updateSql = "UPDATE SORDALLOC SET LOC_CODE = ? ,LOT_SL = ? "
+ " WHERE "
//"SALE_ORDER = ? AND LINE_NO = ? AND " +
+ " ITEM_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? "
+ " AND QTY_ALLOC > 0";
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setString(1, locCodeTo);
pstmtUpd.setString(2, lotSlNew); //added by Kunal on 11/09/12 as per S Manoharan sir intruction
//To Check whether th other saleorder exist with replenishmnet.start
pstmtUpd.setString(3, saleOrder);
pstmtUpd.setString(4, lineNoSord);
//To Check whether th other saleorder exist with replenishmnet.end
pstmtUpd.setString(3, itemCode);
pstmtUpd.setString(4, locCode);
pstmtUpd.setString(5, lotNo);
pstmtUpd.setString(6, lotSl);
//Changed by Pragyan 05-Apr-14 to un comment for stock-to-dock moving to dock location
if ("D".equals(orderType) || "H".equals(orderType) || "L".equals(orderType))
{
updateSql = "UPDATE SORDALLOC SET LOC_CODE = ? ,LOT_SL = ? "
+ " WHERE "
//"SALE_ORDER = ? AND LINE_NO = ? AND " +
+ " ITEM_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? "
+ " AND QTY_ALLOC > 0";
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setString(1, locCodeTo);
pstmtUpd.setString(2, lotSlNew); //added by Kunal on 11/09/12 as per S Manoharan sir intruction
//To Check whether th other saleorder exist with replenishmnet.start
pstmtUpd.setString(3, saleOrder);
pstmtUpd.setString(4, lineNoSord);
//To Check whether th other saleorder exist with replenishmnet.end
pstmtUpd.setString(3, itemCode);
pstmtUpd.setString(4, locCode);
pstmtUpd.setString(5, lotNo);
pstmtUpd.setString(6, lotSl);
updCnt = pstmtUpd.executeUpdate();
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}
updCnt = pstmtUpd.executeUpdate();
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}
// end 18/09/12 manoharan as the lot_sl also changed and allocation may be for case pick as well as active pick
// end 16/10/11 manoharan update sordalloc
......@@ -1067,7 +1019,7 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
}*/
//Changed by sumit on 06/02/12 no need below line end.
////////////////
}
}//while(rs.next())
rs.close();rs = null;
pstmt.close();pstmt = null;
if ( retString == null || retString.trim().length() == 0 )
......@@ -1793,4 +1745,148 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
return status;
}
//Changed by sumit on 25/03/13 checking whether all repl is confirmed or not end.
public double getStockQuantity(String itemCode,String siteCode,String locCode,String lotNo,String lotSl,double qtyAllocate,Connection conn) throws Exception
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
double quantity = 0.0;
double allocQty = 0.0;
double stockQty = 0.0;
double holdQty = 0.0;
double sordAllocQty = 0.0;
double activeReplQty = 0.0;
double finalQty = 0.0;
try
{
sql= "SELECT QUANTITY,ALLOC_QTY,(CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) AS HOLD_QTY " +
" FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? "
+" AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
quantity = rs.getDouble("QUANTITY");
allocQty = rs.getDouble("ALLOC_QTY");
holdQty = rs.getDouble("HOLD_QTY");
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("For deduction ["+qtyAllocate+"]");
System.out.println("quantity["+quantity+"]allocQty["+allocQty+"]holdQty["+holdQty+"]");
/*System.out.println("For Result ["+(quantity - (allocQty - qtyAllocate))+"]");
stockQty = quantity - (allocQty - qtyAllocate);
System.out.println("For stockQty ["+stockQty+"]");
stockQty = stockQty - holdQty;*/
sql= "SELECT SUM(QTY_ALLOC) as QTY_ALLOC FROM SORDALLOC WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
sordAllocQty = rs.getDouble("QTY_ALLOC");
}
System.out.println("sordAllocQty["+sordAllocQty+"]");
finalQty = quantity - (allocQty - sordAllocQty);
System.out.println("finalQty["+finalQty+"]");
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
/*sql = "SELECT SUM(D.QUANTITY) AS QUANTITY FROM REPL_ORD_DET D, REPL_ORD_HDR H WHERE D.ITEM_CODE = ? "
+" AND D.SITE_CODE = ? AND D.LOC_CODE = ? AND D.LOT_NO = ? AND D.LOT_SL = ? "
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE IN('Q','T','P','E','I') ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
activeReplQty = rs.getDouble("QUANTITY");
}
System.out.println("activeReplQty["+activeReplQty+"]");
finalQty = quantity - activeReplQty;
System.out.println("finalQty["+finalQty+"]");*/
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
throw e;
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e2)
{
throw new ITMException(e2);
}
}
return sordAllocQty;
}
}
......@@ -196,6 +196,10 @@ public class ReplIssIC extends ValidatorEJB implements ReplIssICLocal, ReplIssIC
String ptcn = "";
//changed by sankara on 18/11/13 validation for different assign user
String assignTo = "";
//changed by sankara on 12/04/14 validation for compared alloc_qty from srodalloc
double stockalloocqty = 0.0;
double sordallocqty = 0.0;
double activeReplQty = 0.0;
try
{
......@@ -682,6 +686,110 @@ public class ReplIssIC extends ValidatorEJB implements ReplIssICLocal, ReplIssIC
pstmt.close();
pstmt = null;
//changed by sankara on 03/01/13 for doing replenishment order wise end.
//changed by sankara on 12/04/14 validation for quantity compared from sordalloc and stock start.
if ("repl_iss".equalsIgnoreCase(objName.trim()))
{
sql = " SELECT SITE_CODE, ITEM_CODE, LOC_CODE, LOT_NO, LOT_SL FROM REPL_ORD_DET WHERE REPL_ORDER = ? ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, replOrder );
rs = pstmt.executeQuery();
if( rs.next() )
{
siteCode = checkNull(rs.getString("SITE_CODE"));
itemCode = checkNull(rs.getString("ITEM_CODE"));
locCode = checkNull(rs.getString("LOC_CODE"));
lotNo = checkNull(rs.getString("LOT_NO"));
lotSl = checkNull(rs.getString("LOT_SL"));
}
System.out.println("siteCode:::::"+siteCode);
System.out.println("itemCode:::::"+itemCode);
System.out.println("locCode:::::"+locCode);
System.out.println("lotNo:::::"+lotNo);
System.out.println("lotSl:::::"+lotSl);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT SUM(QUANTITY) AS QUANTITY,SUM(ALLOC_QTY) AS ALLOC_QTY FROM STOCK WHERE SITE_CODE = ? AND ITEM_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND QUANTITY >0 ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, siteCode );
pstmt.setString( 2, itemCode );
pstmt.setString( 3, locCode );
pstmt.setString( 4, lotNo );
pstmt.setString( 5, lotSl );
rs = pstmt.executeQuery();
if( rs.next() )
{
quantity = rs.getDouble("QUANTITY");
stockalloocqty = rs.getDouble("ALLOC_QTY");
}
System.out.println("stockquantity:::::"+quantity);
System.out.println("stockallocqty:::::"+stockalloocqty);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT SUM(QTY_ALLOC) AS QTY_ALLOC FROM SORDALLOC WHERE SITE_CODE = ? AND ITEM_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND QTY_ALLOC >0 ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, siteCode );
pstmt.setString( 2, itemCode );
pstmt.setString( 3, locCode );
pstmt.setString( 4, lotNo );
pstmt.setString( 5, lotSl );
rs = pstmt.executeQuery();
if( rs.next() )
{
sordallocqty = rs.getDouble("QTY_ALLOC");
}
System.out.println("sordallocqty:::::"+sordallocqty);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
double finalQty = stockalloocqty - sordallocqty;
/*sql = "SELECT SUM(D.QUANTITY) AS QUANTITY FROM REPL_ORD_DET D, REPL_ORD_HDR H WHERE D.ITEM_CODE = ? "
+" AND D.SITE_CODE = ? AND D.LOC_CODE = ? AND D.LOT_NO = ? AND D.LOT_SL = ? "
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE IN('Q','T','P','E','I') ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
activeReplQty = rs.getDouble("QUANTITY");
}
System.out.println("activeReplQty["+activeReplQty+"]");
finalQty = finalQty - activeReplQty;
System.out.println("finalQty["+finalQty+"]");*/
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if( finalQty > 0 )
{
errList.add( "INVALOCQTY" );
errFields.add( childNodeName.toLowerCase() );
}
}
//changed by sankara on 12/04/14 validation for quantity comared from sordalloc and stock end.
}
else if( "site_code".equalsIgnoreCase( childNodeName ) )
{
......@@ -1179,7 +1287,7 @@ public class ReplIssIC extends ValidatorEJB implements ReplIssICLocal, ReplIssIC
//Changed By Sumit as the pick type "Q" required.
//if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) )//Active pick
//if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) || "Q".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim() ))//Active pick
if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) || "Q".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim() ) || "E".equalsIgnoreCase(orderType.trim()))//Active pick
if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) || "Q".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim() ))//Active pick
{
varName = "ACTIVE_PICK_INVSTAT";
}
......@@ -2771,7 +2879,7 @@ public class ReplIssIC extends ValidatorEJB implements ReplIssICLocal, ReplIssIC
//Changed By Sumit as the pick type "Q" required.
//if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) )//Active pick//
//if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) || "Q".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim()) || "P".equalsIgnoreCase(pickType.trim()))//Active pick
if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) || "Q".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim()) || "P".equalsIgnoreCase(pickType.trim()) | "E".equalsIgnoreCase(orderType.trim()))//Active pick
if ( "A".equalsIgnoreCase(pickType.trim()) || "I".equalsIgnoreCase(pickType.trim()) || "Q".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim()) || "P".equalsIgnoreCase(pickType.trim()) )//Active pick
{
varName = "ACTIVE_PICK_INVSTAT";
}
......
......@@ -3991,7 +3991,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
" AND S.LINE_NO = ?"+
" AND S.ITEM_CODE = ?"+
" AND S.EXP_LEV = ? "+
" AND S.ALLOC_MODE <> ?";
" AND S.ALLOC_MODE <> ?"+
" AND S.QTY_ALLOC > 0";
pstmtMan = conn.prepareStatement(sodreAlloc);
pstmtMan.setString(1,saleOrder);
......@@ -4065,17 +4066,23 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
Map tempMapReplenishment =new HashMap();
String lastReplenishmentID="",locCodeTo="";
int lineNoRepl=0;
System.out.println("Current Stock Qty ["+stkQuantity+"]");
if(itemInfoMapForRepl.containsKey(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCd))
{
System.out.println("Current Mannual Map Exist------------------------------- ");
ArrayList tempListTestForRepl = (ArrayList)itemInfoMapForRepl.get(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCd);
}
else
{
System.out.println("In Case Of Mannual Stock Allocation current avilable stock ["+stkQuantity+"]");
tempListForRepl = new ArrayList();
qtyActual=0.0;
stkQuantity = Math.floor(stkQuantity/itemPackSize) * itemPackSize;
System.out.println("In Case Of Mannual Stock Allocation current avilable stock in case ["+stkQuantity+"]");
tempMapReplenishment.put("QTY_ACTUAL", qtyActual);
tempMapReplenishment.put("LAST_REPL_ID", lastReplenishmentID);
tempMapReplenishment.put("REPL_LINE_NO", lineNoRepl);
......@@ -4085,6 +4092,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
tempListForRepl.add(tempMapReplenishment);
itemInfoMapForRepl.put(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCd, tempListForRepl);
}
System.out.println("Current Mannual Map-------------------["+itemInfoMapForRepl.toString()+"]");
perItemVolume = (Double)itmVolumeMap.get("ITEM_SIZE");
caseVolume = (Double)itmVolumeMap.get("LOT_SIZE");
......@@ -4286,7 +4295,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtInv = null;
}
}
}
}// if(rs.next())
if( rs != null)
{
......@@ -5140,7 +5149,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
while(rs.next())
{
isStockToDock = false;
System.out.println( "INSIDE WHILE LOOP.............["+allocQty);
System.out.println( "INSIDE WHILE LOOP...........For allocation.["+allocQty);
//LOT_NO
lotNo = rs.getString(1);
//LOT_SL
......@@ -5151,7 +5160,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
unit = rs.getString(4);
//QTY_AVAIL_ALLO
qtyAvailAlloc = rs.getDouble(5);
System.out.println("qtyAvailAlloc--->"+qtyAvailAlloc);
System.out.println("qtyAvailAlloc--------------->"+qtyAvailAlloc);
//GRADE
grade = rs.getString(6);
//EXP_DATE
......@@ -5492,10 +5501,13 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
qtyAvailAlloc = quantiAvilableAsCase - packSizeActive;
}*/
tempMapReplenishment.put("QTY_AVAIL",qtyAvailAlloc);
//tempMapReplenishment.put("QTY_AVAIL",qtyAvailAlloc);
}
}
double stkQuantity = getStockQuantity(itemCode,siteCode,locCode,lotNo,lotSl,0.0,conn);
stkQuantity = Math.floor(stkQuantity/packSizeActive) * packSizeActive;
System.out.println("stkQuantity["+stkQuantity+"]");
tempMapReplenishment.put("QTY_ACTUAL", qtyActual);
tempMapReplenishment.put("LAST_REPL_ID", lastReplenishmentID);
tempMapReplenishment.put("REPL_LINE_NO", lineNoRepl);
......@@ -5503,10 +5515,13 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//tempMapReplenishment.put("REPL_LOC_TO",locCodeTo);
tempMapReplenishment.put("REPL_LOC_TO","");
tempMapReplenishment.put("SUGG_LOC_TO",locCodeTo);
//Changed By Pragyan 12-apr-14 to set the actual stock quantity stkQuantity
//Change by Rohan on 26/08/12 to remove flag
//tempMapReplenishment.put("IS_REPLAINSH","Y");
//Changed by rohan to add stock quantity in list
tempMapReplenishment.put("STOCK_QTY",qtyAvailAlloc);
//tempMapReplenishment.put("STOCK_QTY",qtyAvailAlloc);
tempMapReplenishment.put("QTY_AVAIL",stkQuantity);
tempMapReplenishment.put("STOCK_QTY",stkQuantity);
tempListForRepl.add(tempMapReplenishment);
itemInfoMapForRepl.put(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode, tempListForRepl);
System.out.println("itemInfoMapForReplPPPPPPPPPPPPPPPPPPP"+itemInfoMapForRepl.toString());
......@@ -5570,6 +5585,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
}*/
System.out.println("To allocate ::: " + strAllocate.toString()+"]lotQtyToBeAllocated["+lotQtyToBeAllocated+"]");
errString = invAllocTrace.updateInvallocTrace(strAllocate, conn);
......@@ -18600,13 +18617,15 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
else
{
//Changed By Pragyan to get the replenisghment for actual avilable quantity.start
/*actulaQty+=availQty;
itemSitemap.remove("QTY_ATUAL");
itemSitemap.put("QTY_ATUAL", actulaQty);*/
//Changed by Rohan on 8/7/12 to consider Stock quantity.start
//returnString="Y:"+String.valueOf(availQty);
if(stockQuantity == availQty)
/*if(stockQuantity == availQty)
{
returnString="Y:"+String.valueOf(availQty);
}
......@@ -18615,7 +18634,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
System.out.println("Avail");
availQty = stockQuantity - availQty;
returnString="Y:"+String.valueOf(availQty);
}
}*/
returnString="Y:"+String.valueOf(stockQuantity);
//Changed By Pragyan to get the replenisghment for actual avilable quantity.end
//Changed by Rohan on 8/7/12 to consider Stock quantity.end
System.out.println("Replenishment returnString inside else : [" +returnString +"]");
}
......@@ -20314,9 +20335,14 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
double stockQty = 0.0;
double holdQty = 0.0;
double sordAllocQty = 0.0;
double activeReplQty = 0.0;
double finalQty = 0.0;
try
{
sql= "SELECT QUANTITY,ALLOC_QTY,(CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) AS HOLD_QTY " +
sql= "SELECT SUM(QUANTITY) AS QUANTITY,SUM(ALLOC_QTY) AS ALLOC_QTY,SUM((CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END)) AS HOLD_QTY " +
" FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? "
+" AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement(sql);
......@@ -20334,9 +20360,84 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
holdQty = rs.getDouble("HOLD_QTY");
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("For deduction ["+qtyAllocate+"]");
System.out.println("quantity["+quantity+"]allocQty["+allocQty+"]holdQty["+holdQty+"]");
/*System.out.println("For Result ["+(quantity - (allocQty - qtyAllocate))+"]");
stockQty = quantity - (allocQty - qtyAllocate);
stockQty = stockQty - holdQty;
System.out.println("For stockQty ["+stockQty+"]");
stockQty = stockQty - holdQty;*/
sql= "SELECT SUM(QTY_ALLOC) as QTY_ALLOC FROM SORDALLOC WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
sordAllocQty = rs.getDouble("QTY_ALLOC");
}
System.out.println("sordAllocQty["+sordAllocQty+"]");
finalQty = quantity - (allocQty - sordAllocQty);
System.out.println("finalQty["+finalQty+"]");
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
sql = "SELECT SUM(D.QUANTITY) AS QUANTITY FROM REPL_ORD_DET D, REPL_ORD_HDR H WHERE D.ITEM_CODE = ? "
+" AND D.SITE_CODE = ? AND D.LOC_CODE = ? AND D.LOT_NO = ? AND D.LOT_SL = ? "
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE IN('Q','T','P','E','I') ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
activeReplQty = rs.getDouble("QUANTITY");
}
System.out.println("activeReplQty["+activeReplQty+"]");
finalQty = finalQty - activeReplQty;
System.out.println("finalQty["+finalQty+"]");
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
......@@ -20364,7 +20465,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
}
return stockQty;
return finalQty;
}
//Chnaged by Rohan on 22/08/12 to get stock quantity for manual stock allocation.end
......
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