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
errString = getError(saleOrder,"INVORDQTY",conn);
return errString;
}
//Change by Rohan on 4/7/12 To add min_shilf_life.start
if ( singleLot.trim().length() > 0 && singleLot.trim().equalsIgnoreCase("Y") )
{
getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL,"
+"STOCK.LOC_CODE, "
+"STOCK.UNIT, "
......@@ -2697,6 +2698,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
else
{
getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL,"
+"STOCK.LOC_CODE, "
+"STOCK.UNIT, "
......@@ -2772,6 +2774,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
unit = rs.getString(4);
//QTY_AVAIL_ALLO
qtyAvailAlloc = rs.getDouble(5);
System.out.println("qtyAvailAlloc--->"+qtyAvailAlloc);
//GRADE
grade = rs.getString(6);
//EXP_DATE
......@@ -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
//populateReplHistory(itemCode,siteCode,lotNo,lotSl,locCode,conn);
//Changed by rohan on 7/8/12 to adjust Stock Quantity.end
qtyAvailAlloc = adjustAvailableQty(itemCode,siteCode,lotNo,lotSl,locCode,qtyAvailAlloc,conn);
System.out.println("Return qty from function"+lotQtyToBeAllocated);
//Changed by Rohan on 14-02-13 for not call adjustAvailableQty in case of prsv
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)
......@@ -2866,7 +2880,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
/*Ashish */
System.out.println("allocQty"+allocQty+"qtyAvailAlloc:::"+qtyAvailAlloc);
if (allocQty >= qtyAvailAlloc)
{
lotQtyToBeAllocated = qtyAvailAlloc;
......@@ -2881,6 +2895,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
else
{
System.out.println("Enetr in else");
lotQtyToBeAllocated = allocQty;
}
//invallocTrace.setAllocQty(lotQtyToBeAllocated);
......@@ -2889,7 +2904,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
allocQty -= lotQtyToBeAllocated ;
System.out.print("AllocQty = " + lotQtyToBeAllocated);
System.out.print("AllocQty2 = " + allocQty);
if (lotQtyToBeAllocated > 0)
{
......@@ -2901,6 +2916,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
int lineNoRepl=0;
invStat = invStat != null?invStat.trim():"";
if((invStat.equalsIgnoreCase(resrvLoc) || invStat.equalsIgnoreCase(deepStoreLoc)) && (lotQtyToBeAllocated >= packSizeActive) )
{
System.out.println("Inside For Creating Repelnishment packSizeActive["+packSizeActive+"]lotQtyToBeAllocated["+lotQtyToBeAllocated+"]");
......@@ -13638,6 +13654,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
ArrayList tempReplList = new ArrayList();
ArrayList tempCaseReplList = new ArrayList();
//if(locInvStat.equalsIgnoreCase(invDeepReserve) || locInvStat.equalsIgnoreCase(invReserve))
if(!locInvStat.equalsIgnoreCase(activePickInv))
{
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
//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);
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
itemVolumeTotal = itemVolumeTotal + pendActQty*itemVolume;
......@@ -14487,8 +14504,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
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))
System.out.println("locInvStat::::::>>>>>>>>:::::"+locInvStat);
if(!locInvStat.equalsIgnoreCase(activePickInv))
{
......@@ -14557,6 +14578,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if(locInvStat.equalsIgnoreCase(partialResrvLoc))
{
System.out.println("Inside loc_in_stat---->");
if(!isReplHdrRSV)
{
replRefDeepId = updateWaveTaskDet(waveID,1,saleOrder,"RP-ACT","E",ptcn,conn);
......@@ -14586,6 +14608,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if(locInvStat.equalsIgnoreCase(partialResrvLoc))
{
packSizeCase = stkQty;
System.out.println("packSizeCase::::::::"+packSizeCase);
pstmtRplDet.setDouble(11, stkQty);
}
......@@ -18792,19 +18815,29 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
return returnString;
}
private double getStockQty(String itemCode,String siteCode,String lotNo,String lotSl,String locCode) throws ITMException
//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,Connection conn) throws ITMException
{
double stockQuantity = 0.0;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
/*Changed by Rohna on 14-02-13 for bug fixing
ArrayList tempItemInfoList = null;
System.out.println("Enter in getStock QTY");
if(itemInfoMapForRepl.containsKey(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode))
{
System.out.println("***************************************************");
tempItemInfoList = (ArrayList) itemInfoMapForRepl.get(itemCode+":"+siteCode+":"+lotNo+":"+lotSl+":"+locCode);
System.out.println("HTREEEEEEEEEEEEEEEEEEEEEEEEEEEE");
Iterator itemIterator= tempItemInfoList.iterator();
while(itemIterator.hasNext())
......@@ -18814,14 +18847,55 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
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)
{
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;
}
......@@ -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";
*/
//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,"
+ " 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 = ?"
+" 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 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
pstmtReplHistory =conn.prepareStatement(sqlReplHistory);
pstmtReplHistory.setString(1, itemCodeHis);
pstmtReplHistory.setString(2, siteCodeHis);
pstmtReplHistory.setString(3, lotNoHis);
pstmtReplHistory.setString(4, lotSlHis);
//Changed by Rohan on 06-02-13 to retrive only case Repalnishment.start
pstmtReplHistory.setString(5, casePickInv);
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
//pstmtReplHistory.setString(5, locCodeHis);
rsReplHistory = pstmtReplHistory.executeQuery();
......@@ -19096,6 +19184,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
}
System.out.println("While loop end");
if(pstmtReplHistory != null)
......@@ -20341,6 +20430,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
String locCodeTo = "";
String locCodeToRepl = "";
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;
try
......@@ -20373,7 +20467,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
locCodeToRepl = rsRepl.getString("LOC_CODE__TO");
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");
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