Commit c2e6ca72 authored by rbhogale's avatar rbhogale

Changed by Rohan on 14-02-13 for Repanishment PRSV-CAPK actual quantity negative bug fixing


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@92691 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 334b37c1
...@@ -2642,9 +2642,10 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2642,9 +2642,10 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
errString = getError(saleOrder,"INVORDQTY",conn); errString = getError(saleOrder,"INVORDQTY",conn);
return errString; return errString;
} }
//Change by Rohan on 4/7/12 To add min_shilf_life.start
if ( singleLot.trim().length() > 0 && singleLot.trim().equalsIgnoreCase("Y") ) if ( singleLot.trim().length() > 0 && singleLot.trim().equalsIgnoreCase("Y") )
{ {
getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL," getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL,"
+"STOCK.LOC_CODE, " +"STOCK.LOC_CODE, "
+"STOCK.UNIT, " +"STOCK.UNIT, "
...@@ -2697,6 +2698,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2697,6 +2698,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
} }
else else
{ {
getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL," getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL,"
+"STOCK.LOC_CODE, " +"STOCK.LOC_CODE, "
+"STOCK.UNIT, " +"STOCK.UNIT, "
...@@ -2772,6 +2774,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2772,6 +2774,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
unit = rs.getString(4); unit = rs.getString(4);
//QTY_AVAIL_ALLO //QTY_AVAIL_ALLO
qtyAvailAlloc = rs.getDouble(5); qtyAvailAlloc = rs.getDouble(5);
System.out.println("qtyAvailAlloc--->"+qtyAvailAlloc);
//GRADE //GRADE
grade = rs.getString(6); grade = rs.getString(6);
//EXP_DATE //EXP_DATE
...@@ -2809,8 +2812,19 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2809,8 +2812,19 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//Chnaged by Rohan on 8/3/12 to update pnd location in active replanishement.start //Chnaged by Rohan on 8/3/12 to update pnd location in active replanishement.start
//populateReplHistory(itemCode,siteCode,lotNo,lotSl,locCode,conn); //populateReplHistory(itemCode,siteCode,lotNo,lotSl,locCode,conn);
//Changed by rohan on 7/8/12 to adjust Stock Quantity.end //Changed by rohan on 7/8/12 to adjust Stock Quantity.end
qtyAvailAlloc = adjustAvailableQty(itemCode,siteCode,lotNo,lotSl,locCode,qtyAvailAlloc,conn); //Changed by Rohan on 14-02-13 for not call adjustAvailableQty in case of prsv
System.out.println("Return qty from function"+lotQtyToBeAllocated); System.out.println("Return qty from function:::::"+qtyAvailAlloc);
//Changed by Rohan on 14-02-13 for not call adjustAvailableQty.start
//qtyAvailAlloc = adjustAvailableQty(itemCode,siteCode,lotNo,lotSl,locCode,qtyAvailAlloc,conn);
/*
if(!invStat.trim().equalsIgnoreCase(partialResrvLoc.trim()))
{
qtyAvailAlloc = adjustAvailableQty(itemCode,siteCode,lotNo,lotSl,locCode,qtyAvailAlloc,conn);
}
*/
System.out.println("Return qty from function"+qtyAvailAlloc);
//Changed by Rohan on 14-02-13 for not call adjustAvailableQty .end
/* /*
if(allocQty < packSizeActive) if(allocQty < packSizeActive)
...@@ -2866,7 +2880,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2866,7 +2880,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
/*Ashish */ /*Ashish */
System.out.println("allocQty"+allocQty+"qtyAvailAlloc:::"+qtyAvailAlloc);
if (allocQty >= qtyAvailAlloc) if (allocQty >= qtyAvailAlloc)
{ {
lotQtyToBeAllocated = qtyAvailAlloc; lotQtyToBeAllocated = qtyAvailAlloc;
...@@ -2881,6 +2895,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2881,6 +2895,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
} }
else else
{ {
System.out.println("Enetr in else");
lotQtyToBeAllocated = allocQty; lotQtyToBeAllocated = allocQty;
} }
//invallocTrace.setAllocQty(lotQtyToBeAllocated); //invallocTrace.setAllocQty(lotQtyToBeAllocated);
...@@ -2889,7 +2904,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2889,7 +2904,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
allocQty -= lotQtyToBeAllocated ; allocQty -= lotQtyToBeAllocated ;
System.out.print("AllocQty = " + lotQtyToBeAllocated); System.out.print("AllocQty = " + lotQtyToBeAllocated);
System.out.print("AllocQty2 = " + allocQty);
if (lotQtyToBeAllocated > 0) if (lotQtyToBeAllocated > 0)
{ {
...@@ -2901,6 +2916,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -2901,6 +2916,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
int lineNoRepl=0; int lineNoRepl=0;
invStat = invStat != null?invStat.trim():""; invStat = invStat != null?invStat.trim():"";
if((invStat.equalsIgnoreCase(resrvLoc) || invStat.equalsIgnoreCase(deepStoreLoc)) && (lotQtyToBeAllocated >= packSizeActive) ) if((invStat.equalsIgnoreCase(resrvLoc) || invStat.equalsIgnoreCase(deepStoreLoc)) && (lotQtyToBeAllocated >= packSizeActive) )
{ {
System.out.println("Inside For Creating Repelnishment packSizeActive["+packSizeActive+"]lotQtyToBeAllocated["+lotQtyToBeAllocated+"]"); System.out.println("Inside For Creating Repelnishment packSizeActive["+packSizeActive+"]lotQtyToBeAllocated["+lotQtyToBeAllocated+"]");
...@@ -13638,6 +13654,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -13638,6 +13654,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
ArrayList tempReplList = new ArrayList(); ArrayList tempReplList = new ArrayList();
ArrayList tempCaseReplList = new ArrayList(); ArrayList tempCaseReplList = new ArrayList();
//if(locInvStat.equalsIgnoreCase(invDeepReserve) || locInvStat.equalsIgnoreCase(invReserve)) //if(locInvStat.equalsIgnoreCase(invDeepReserve) || locInvStat.equalsIgnoreCase(invReserve))
if(!locInvStat.equalsIgnoreCase(activePickInv)) if(!locInvStat.equalsIgnoreCase(activePickInv))
{ {
tempReplList = getActiveCaseReplMap("I",locInvStat,invPndReserve,invDeepReserve,invReserve, itemCode, siteCode, locCode, lotNo, lotSl, quantity, conn); tempReplList = getActiveCaseReplMap("I",locInvStat,invPndReserve,invDeepReserve,invReserve, itemCode, siteCode, locCode, lotNo, lotSl, quantity, conn);
...@@ -14341,7 +14358,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -14341,7 +14358,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//Changed by Rohan on 07-02-13 to reduce one case from actual quantity //Changed by Rohan on 07-02-13 to reduce one case from actual quantity
//updateReplenishmentRecord(itemCode, siteCode, lotNo, lotSl, locCode, pendActQty, lloReplOrder,"",9999, 2,casePackSize,false, conn); //updateReplenishmentRecord(itemCode, siteCode, lotNo, lotSl, locCode, pendActQty, lloReplOrder,"",9999, 2,casePackSize,false, conn);
System.out.println("5pendActQty"+pendActQty+"casePackSize"+casePackSize+"not ***** ***** requried"); System.out.println("5pendActQty"+pendActQty+"casePackSize"+casePackSize+"not ***** ***** requried");
//updateReplenishmentRecord(itemCode, siteCode, lotNo, lotSl, locCode, casePackSize, lloReplOrder,"",9999, 2,casePackSize,false, conn);//not requried updateReplenishmentRecord(itemCode, siteCode, lotNo, lotSl, locCode, casePackSize, lloReplOrder,"",9999, 2,casePackSize,false, conn);//not requried
//Changed by Rohan on 13-09-12 to generate only one Repalnishmement Header.end //Changed by Rohan on 13-09-12 to generate only one Repalnishmement Header.end
itemVolumeTotal = itemVolumeTotal + pendActQty*itemVolume; itemVolumeTotal = itemVolumeTotal + pendActQty*itemVolume;
...@@ -14487,8 +14504,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -14487,8 +14504,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{ {
System.out.println("Inside Normal Block..."); System.out.println("Inside Normal Block...");
double stkQty = getStockQty(itemCode, siteCode, lotNo, lotSl, locCode); //Changed by Rohan on 13-02-13 for passing connection
//double stkQty = getStockQty(itemCode, siteCode, lotNo, lotSl, locCode);
double stkQty = getStockQty(itemCode, siteCode, lotNo, lotSl, locCode,conn);
System.out.println("Stock Quantity"+stkQty);
//if(locInvStat.equalsIgnoreCase(invDeepReserve) || locInvStat.equalsIgnoreCase(invReserve) || locInvStat.equalsIgnoreCase(casePickInv)) //if(locInvStat.equalsIgnoreCase(invDeepReserve) || locInvStat.equalsIgnoreCase(invReserve) || locInvStat.equalsIgnoreCase(casePickInv))
System.out.println("locInvStat::::::>>>>>>>>:::::"+locInvStat);
if(!locInvStat.equalsIgnoreCase(activePickInv)) if(!locInvStat.equalsIgnoreCase(activePickInv))
{ {
...@@ -14557,6 +14578,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -14557,6 +14578,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if(locInvStat.equalsIgnoreCase(partialResrvLoc)) if(locInvStat.equalsIgnoreCase(partialResrvLoc))
{ {
System.out.println("Inside loc_in_stat---->");
if(!isReplHdrRSV) if(!isReplHdrRSV)
{ {
replRefDeepId = updateWaveTaskDet(waveID,1,saleOrder,"RP-ACT","E",ptcn,conn); replRefDeepId = updateWaveTaskDet(waveID,1,saleOrder,"RP-ACT","E",ptcn,conn);
...@@ -14586,6 +14608,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -14586,6 +14608,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if(locInvStat.equalsIgnoreCase(partialResrvLoc)) if(locInvStat.equalsIgnoreCase(partialResrvLoc))
{ {
packSizeCase = stkQty; packSizeCase = stkQty;
System.out.println("packSizeCase::::::::"+packSizeCase);
pstmtRplDet.setDouble(11, stkQty); pstmtRplDet.setDouble(11, stkQty);
} }
...@@ -18792,19 +18815,29 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -18792,19 +18815,29 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
return returnString; return returnString;
} }
//Chnaged by Rohan on 13-02-13 for getting stock quantity.start
private double getStockQty(String itemCode,String siteCode,String lotNo,String lotSl,String locCode) throws ITMException //private double getStockQty(String itemCode,String siteCode,String lotNo,String lotSl,String locCode) throws ITMException
private double getStockQty(String itemCode,String siteCode,String lotNo,String lotSl,String locCode,Connection conn) throws ITMException
{ {
double stockQuantity = 0.0; double stockQuantity = 0.0;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try try
{ {
/*Changed by Rohna on 14-02-13 for bug fixing
ArrayList tempItemInfoList = null; ArrayList tempItemInfoList = null;
System.out.println("Enter in getStock QTY");
if(itemInfoMapForRepl.containsKey(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode)) if(itemInfoMapForRepl.containsKey(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode))
{ {
System.out.println("***************************************************");
tempItemInfoList = (ArrayList) itemInfoMapForRepl.get(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode); tempItemInfoList = (ArrayList) itemInfoMapForRepl.get(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode);
System.out.println("HTREEEEEEEEEEEEEEEEEEEEEEEEEEEE");
Iterator itemIterator= tempItemInfoList.iterator(); Iterator itemIterator= tempItemInfoList.iterator();
while(itemIterator.hasNext()) while(itemIterator.hasNext())
...@@ -18814,14 +18847,55 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -18814,14 +18847,55 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{ {
stockQuantity =(Double)itemSitemap.get("STOCK_QTY"); stockQuantity =(Double)itemSitemap.get("STOCK_QTY");
} }
}
} }
} //Chnaged by Rohan on 13-02-13 for getting stock quantity.start
else
{
*/
System.out.println("****&&&&&&&&&&&&&");
sql =" SELECT QUANTITY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? "
+" AND (QUANTITY - ALLOC_QTY - CASE WHEN HOLD_QTY IS NULL THEN 0 ELSE HOLD_QTY END) > 0 " ;
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())
{
stockQuantity = rs.getDouble("QUANTITY");
}
//}
//Chnaged by Rohan on 13-02-13 for getting stock quantity.end
} }
catch(Exception e) catch(Exception e)
{ {
throw new ITMException(e); throw new ITMException(e);
} }
//Chnaged by Rohan
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs= null;
}
}
catch(Exception e)
{
throw new ITMException(e);
}
}
return stockQuantity; return stockQuantity;
} }
...@@ -18890,24 +18964,38 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -18890,24 +18964,38 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+" AND D.LOT_NO = S.LOT_NO AND D.LOT_SL = S.LOT_SL AND D.ACTUAL_QTY > 0"; +" AND D.LOT_NO = S.LOT_NO AND D.LOT_SL = S.LOT_SL AND D.ACTUAL_QTY > 0";
*/ */
//Chnged by Rohan on 07-02-13 not consider pnd repanishment in case of active repanishment //Chnged by Rohan on 07-02-13 not consider pnd repanishment in case of active repanishment
System.out.println("HGTRRRRRR");
sqlReplHistory = "SELECT D.LOC_CODE,D.REPL_ORDER,D.QUANTITY,D.ACTUAL_QTY,D.LOC_CODE__TO,D.LINE_NO,D.PICK_ORDER," sqlReplHistory = "SELECT D.LOC_CODE,D.REPL_ORDER,D.QUANTITY,D.ACTUAL_QTY,D.LOC_CODE__TO,D.LINE_NO,D.PICK_ORDER,"
+ " D.LINE_NO__PICK,S.QUANTITY AS STK_QTY FROM REPL_ORD_DET D,STOCK S ,LOCATION L,REPL_ORD_HDR H WHERE D.ITEM_CODE = ? AND " + " D.LINE_NO__PICK,S.QUANTITY AS STK_QTY FROM REPL_ORD_DET D,STOCK S ,LOCATION L,REPL_ORD_HDR H WHERE D.ITEM_CODE = ? AND "
+" D.SITE_CODE = ? AND D.LOT_NO = ? AND D.LOT_SL = ?" +" D.SITE_CODE = ? AND D.LOT_NO = ? AND D.LOT_SL = ?"
+" AND D.ITEM_CODE = S.ITEM_CODE AND D.SITE_CODE = S.SITE_CODE " +" AND D.ITEM_CODE = S.ITEM_CODE AND D.SITE_CODE = S.SITE_CODE "
//Changed by Rohan on 13-02-13 add partial reserv location in map.start
+" AND D.LOT_NO = S.LOT_NO AND D.LOT_SL = S.LOT_SL AND D.LOC_CODE__TO = L.LOC_CODE AND L.INV_STAT IN( ?,? ) " +" AND D.LOT_NO = S.LOT_NO AND D.LOT_SL = S.LOT_SL AND D.LOC_CODE__TO = L.LOC_CODE AND L.INV_STAT IN( ?,? ) "
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','T','P','E','I') AND D.ACTUAL_QTY > 0 "; +" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','T','P','E','I') AND D.ACTUAL_QTY > 0 ";
/*
+" AND D.LOT_NO = S.LOT_NO AND D.LOT_SL = S.LOT_SL AND D.LOC_CODE__TO = L.LOC_CODE AND L.INV_STAT IN( ?,?,? ) "
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','P','E','I') AND D.ACTUAL_QTY > 0 ";
//Changed by Rohan on 13-02-13 add partial reserv location in map.end
*/
//Changed by Rohan on 06-02-13 to retrive only case Repalnishment.end //Changed by Rohan on 06-02-13 to retrive only case Repalnishment.end
pstmtReplHistory =conn.prepareStatement(sqlReplHistory); pstmtReplHistory =conn.prepareStatement(sqlReplHistory);
pstmtReplHistory.setString(1, itemCodeHis); pstmtReplHistory.setString(1, itemCodeHis);
pstmtReplHistory.setString(2, siteCodeHis); pstmtReplHistory.setString(2, siteCodeHis);
pstmtReplHistory.setString(3, lotNoHis); pstmtReplHistory.setString(3, lotNoHis);
pstmtReplHistory.setString(4, lotSlHis); pstmtReplHistory.setString(4, lotSlHis);
//Changed by Rohan on 06-02-13 to retrive only case Repalnishment.start //Changed by Rohan on 06-02-13 to retrive only case Repalnishment.start
pstmtReplHistory.setString(5, casePickInv); pstmtReplHistory.setString(5, casePickInv);
pstmtReplHistory.setString(6, pndLoc); pstmtReplHistory.setString(6, pndLoc);
//Changed by Rohan on 06-02-13 to retrive only case Repalnishment.end //Changed by Rohan on 06-02-13 to retrve only case Repalnishment.end
//Changed by Rohan on 13-02-13 add partial reserv location in map
///pstmtReplHistory.setString(7, activePickLoc);
//Changed By Rohan //Changed By Rohan
//pstmtReplHistory.setString(5, locCodeHis); //pstmtReplHistory.setString(5, locCodeHis);
rsReplHistory = pstmtReplHistory.executeQuery(); rsReplHistory = pstmtReplHistory.executeQuery();
...@@ -19096,6 +19184,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -19096,6 +19184,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
} }
} }
System.out.println("While loop end");
if(pstmtReplHistory != null) if(pstmtReplHistory != null)
...@@ -20341,6 +20430,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -20341,6 +20430,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
String locCodeTo = ""; String locCodeTo = "";
String locCodeToRepl = ""; String locCodeToRepl = "";
String locInvstat = ""; String locInvstat = "";
//Changed by Rohan on 14-02-13 to define variable.start
String activePickInv1 = discommon.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn);
System.out.println("activePickInv1:::>>::>>>"+activePickInv1);
//activePickLoc = discommon.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn);
double replQuantity = 0.0; double replQuantity = 0.0;
try try
...@@ -20373,7 +20467,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -20373,7 +20467,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
locCodeToRepl = rsRepl.getString("LOC_CODE__TO"); locCodeToRepl = rsRepl.getString("LOC_CODE__TO");
locInvstat = rsRepl.getString("INV_STAT"); locInvstat = rsRepl.getString("INV_STAT");
} }
if(locInvstat.startsWith("ACTPK")) //if(locInvstat.startsWith("ACTPK"))
//if(locInvstat.equalsIgnoreCase(activePickInv))
//System.out.println()
System.out.println("locInvstat"+locInvstat+"activePickInv"+activePickInv1);
if(locInvstat.trim().equalsIgnoreCase(activePickInv1.trim()))
{ {
System.out.println("Enter in Active Replanishement"); System.out.println("Enter in Active Replanishement");
qtyAvailAlloc = qtyAvailAlloc - replQuantity; qtyAvailAlloc = qtyAvailAlloc - replQuantity;
......
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