Commit 2cd68ca2 authored by ppatro's avatar ppatro

Case pick Location code wize and active weight updates in despatch


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@92430 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 1f64bed1
...@@ -189,7 +189,10 @@ public class ConsolidatToDoc { ...@@ -189,7 +189,10 @@ public class ConsolidatToDoc {
double tareWtPerArt = 0d; double tareWtPerArt = 0d;
double palletWt = 0d; double palletWt = 0d;
double stkRate = 0d; double stkRate = 0d;
//Changed By Pragyan 26/12/12 To take each item gross weight & net weight
double grossWeightItem = 0d;
double netWeightItem = 0d;
sordItemSql = "SELECT ITEM_CODE__ORD, (CASE WHEN QUANTITY IS NULL THEN 0 ELSE QUANTITY END - CASE WHEN QTY_DESP IS NULL THEN 0 ELSE QTY_DESP END ) AS QUANTITY__ORD FROM SORDITEM WHERE SALE_ORDER = ? AND LINE_NO = ? AND LINE_TYPE = 'I' "; sordItemSql = "SELECT ITEM_CODE__ORD, (CASE WHEN QUANTITY IS NULL THEN 0 ELSE QUANTITY END - CASE WHEN QTY_DESP IS NULL THEN 0 ELSE QTY_DESP END ) AS QUANTITY__ORD FROM SORDITEM WHERE SALE_ORDER = ? AND LINE_NO = ? AND LINE_TYPE = 'I' ";
pstmtSordItem = conn.prepareStatement(sordItemSql); pstmtSordItem = conn.prepareStatement(sordItemSql);
...@@ -208,8 +211,11 @@ public class ConsolidatToDoc { ...@@ -208,8 +211,11 @@ public class ConsolidatToDoc {
+ " WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? "; + " WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ? ";
pstmtStock = conn.prepareStatement(stockSql); pstmtStock = conn.prepareStatement(stockSql);
itemSql = "SELECT I.UNIT AS UNIT_STD, I.MFR_PART_NO, ILP.SHIPPER_SIZE FROM ITEM I , ITEM_LOT_PACKSIZE ILP " //Changed By Pragyan 26/12/12 To take each item gross weight & net weight
+ " WHERE I.ITEM_CODE = ? AND I.ITEM_CODE = ILP.ITEM_CODE "; /*itemSql = "SELECT I.UNIT AS UNIT_STD, I.MFR_PART_NO, ILP.SHIPPER_SIZE FROM ITEM I , ITEM_LOT_PACKSIZE ILP "
+ " WHERE I.ITEM_CODE = ? AND I.ITEM_CODE = ILP.ITEM_CODE ";*/
itemSql = "SELECT I.UNIT AS UNIT_STD, I.MFR_PART_NO, ILP.SHIPPER_SIZE,I.GROSS_WEIGHT,I.NET_WEIGHT FROM ITEM I , ITEM_LOT_PACKSIZE ILP "
+ " WHERE I.ITEM_CODE = ? AND I.ITEM_CODE = ILP.ITEM_CODE ";
pstmtItem = conn.prepareStatement(itemSql); pstmtItem = conn.prepareStatement(itemSql);
String issSql = "SELECT LOC_CODE__TO FROM PICK_ISS_DET WHERE PICK_ORDER = ? AND LINE_NO__ORD = ? "; String issSql = "SELECT LOC_CODE__TO FROM PICK_ISS_DET WHERE PICK_ORDER = ? AND LINE_NO__ORD = ? ";
...@@ -239,6 +245,8 @@ public class ConsolidatToDoc { ...@@ -239,6 +245,8 @@ public class ConsolidatToDoc {
" AND POD.PICK_ORDER = P.PICK_ORDER "+ " AND POD.PICK_ORDER = P.PICK_ORDER "+
" AND POD.LINE_NO = P.LINE_NO__ORD "+ " AND POD.LINE_NO = P.LINE_NO__ORD "+
" AND PH.PICK_ORDER = P.PICK_ORDER "+ " AND PH.PICK_ORDER = P.PICK_ORDER "+
//Changed By Pragyan 26/12/12 to check the join with detail for valid records.
" AND PH.TRAN_ID = P.TRAN_ID "+
" AND PO.PICK_ORDER = ? "; " AND PO.PICK_ORDER = ? ";
//End changes by gulzar on 12/27/2011 //End changes by gulzar on 12/27/2011
...@@ -293,6 +301,8 @@ public class ConsolidatToDoc { ...@@ -293,6 +301,8 @@ public class ConsolidatToDoc {
" AND RPH.REPL_ORDER = P.REPL_ORDER " + " AND RPH.REPL_ORDER = P.REPL_ORDER " +
//"AND POD.LINE_NO = P.LINE_NO " +//Commented by Gulzar on 12/27/2011 //"AND POD.LINE_NO = P.LINE_NO " +//Commented by Gulzar on 12/27/2011
" AND POD.LINE_NO = P.LINE_NO__ORD " +//Added by Gulzar on 12/27/2011 " AND POD.LINE_NO = P.LINE_NO__ORD " +//Added by Gulzar on 12/27/2011
//Changed By Pragyan 26/12/12 to check the join with detail for valid records.
" AND RPH.TRAN_ID = P.TRAN_ID " +
" AND PO.ORDER_TYPE in ('D','L') " + " AND PO.ORDER_TYPE in ('D','L') " +
" AND PO.REPL_ORDER = ?"; " AND PO.REPL_ORDER = ?";
} }
...@@ -557,15 +567,49 @@ public class ConsolidatToDoc { ...@@ -557,15 +567,49 @@ public class ConsolidatToDoc {
rsStock.close();rsStock = null; rsStock.close();rsStock = null;
pstmtStock.clearParameters(); pstmtStock.clearParameters();
totalNoArt = totalNoArt + noArt; //Changed By Pragyan 26/12/12 To take each item gross weight & net weight.START
pstmtItem.setString(1, itemCode);
rsItem = pstmtItem.executeQuery();
if ( rsItem.next() )
{
//UNIT_STD, I.MFR_PART_NO, ILP.SHIPPER_SIZE,EACH GROSS WEIGHT AND NET WEIGHT
mbaseUnit = checkNull(rsItem.getString("UNIT_STD"));
partNo = checkNull(rsItem.getString("MFR_PART_NO"));
shipperSize = rsItem.getDouble("SHIPPER_SIZE");
grossWeightItem = rsItem.getDouble("GROSS_WEIGHT");
netWeightItem = rsItem.getDouble("NET_WEIGHT");
}
rsItem.close();rsItem = null;
pstmtItem.clearParameters();
/*totalNoArt = totalNoArt + noArt;
grossWeight = (grossWtPerArt * noArt); grossWeight = (grossWtPerArt * noArt);
totalGrossWeight = totalGrossWeight + grossWeight; //added by Kunal on 08/09/12 totalGrossWeight = totalGrossWeight + grossWeight; //added by Kunal on 08/09/12
tareWeight = (tareWtPerArt * noArt); tareWeight = (tareWtPerArt * noArt);
totalTareWeight = totalTareWeight + tareWeight ; //added by Kunal on 10/09/12 totalTareWeight = totalTareWeight + tareWeight ; //added by Kunal on 10/09/12
netWeight = grossWeight - tareWeight ; netWeight = grossWeight - tareWeight ;
totalNetWeight = totalNetWeight + netWeight; //added by Kunal on 10/09/12 totalNetWeight = totalNetWeight + netWeight; */ //added by Kunal on 10/09/12
if(quantity < shipperSize)
{
grossWeight = (grossWeightItem * quantity);
netWeight = (netWeightItem * quantity);
}
else
{
grossWeight = (grossWtPerArt * noArt);
totalGrossWeight = totalGrossWeight + grossWeight; //added by Kunal on 08/09/12
tareWeight = (tareWtPerArt * noArt);
netWeight = grossWeight - tareWeight ;
}
totalNoArt = totalNoArt + noArt;
totalGrossWeight = totalGrossWeight + grossWeight;
totalTareWeight = totalTareWeight + tareWeight ; //added by Kunal on 10/09/12
totalNetWeight = totalNetWeight + netWeight;
//Changed By Pragyan 26/12/12 To take each item gross weight & net weight.END
//Form item and item_lot_packsize //Form item and item_lot_packsize
pstmtItem.setString(1, itemCode); //Changed By Pragyan 26/12/12 To take each item gross weight & net weight.START
/*pstmtItem.setString(1, itemCode);
rsItem = pstmtItem.executeQuery(); rsItem = pstmtItem.executeQuery();
if ( rsItem.next() ) if ( rsItem.next() )
{ {
...@@ -575,7 +619,9 @@ public class ConsolidatToDoc { ...@@ -575,7 +619,9 @@ public class ConsolidatToDoc {
shipperSize = rsItem.getDouble("SHIPPER_SIZE"); shipperSize = rsItem.getDouble("SHIPPER_SIZE");
} }
rsItem.close();rsItem = null; rsItem.close();rsItem = null;
pstmtItem.clearParameters(); pstmtItem.clearParameters(); */
//Changed By Pragyan 26/12/12 To take each item gross weight & net weight.END
if(unitStd != "") if(unitStd != "")
{ {
...@@ -838,6 +884,8 @@ public class ConsolidatToDoc { ...@@ -838,6 +884,8 @@ public class ConsolidatToDoc {
" AND POD.PICK_ORDER = P.PICK_ORDER "+ " AND POD.PICK_ORDER = P.PICK_ORDER "+
" AND POD.LINE_NO = P.LINE_NO__ORD "+ " AND POD.LINE_NO = P.LINE_NO__ORD "+
" AND PH.PICK_ORDER = P.PICK_ORDER "+ " AND PH.PICK_ORDER = P.PICK_ORDER "+
//Changed By Pragyan 26/12/12 to check the join with detail for valid records.
" AND PH.TRAN_ID = P.TRAN_ID "+
" AND PO.PICK_ORDER = ? "; " AND PO.PICK_ORDER = ? ";
...@@ -870,6 +918,8 @@ public class ConsolidatToDoc { ...@@ -870,6 +918,8 @@ public class ConsolidatToDoc {
" AND POD.REPL_ORDER = PO.REPL_ORDER " + " AND POD.REPL_ORDER = PO.REPL_ORDER " +
" AND RPH.REPL_ORDER = P.REPL_ORDER " + " AND RPH.REPL_ORDER = P.REPL_ORDER " +
" AND POD.LINE_NO = P.LINE_NO__ORD " + " AND POD.LINE_NO = P.LINE_NO__ORD " +
//Changed By Pragyan 26/12/12 to check the join with detail for valid records.
" AND RPH.TRAN_ID = P.TRAN_ID " +
" AND PO.ORDER_TYPE in ('D','L') " + " AND PO.ORDER_TYPE in ('D','L') " +
" AND PO.REPL_ORDER = ?"; " AND PO.REPL_ORDER = ?";
} }
...@@ -1283,12 +1333,16 @@ public class ConsolidatToDoc { ...@@ -1283,12 +1333,16 @@ public class ConsolidatToDoc {
} }
else if(key.equalsIgnoreCase("R-TASK") || key.equalsIgnoreCase("S-DOC") || key.equalsIgnoreCase("RS-DSO") || key.equalsIgnoreCase("RO-DSO") || key.equalsIgnoreCase("R-DSO") || key.equalsIgnoreCase("R-PSO") ) else if(key.equalsIgnoreCase("R-TASK") || key.equalsIgnoreCase("S-DOC") || key.equalsIgnoreCase("RS-DSO") || key.equalsIgnoreCase("RO-DSO") || key.equalsIgnoreCase("R-DSO") || key.equalsIgnoreCase("R-PSO") )
{ {
sql = "SELECT CONFIRMED FROM REPL_ISS_HDR WHERE REPL_ORDER = ?"; //Changed By Pragyan 26/12/12 to check the join with detail for valid records.
//sql = "SELECT CONFIRMED FROM REPL_ISS_HDR WHERE REPL_ORDER = ?";
sql = "SELECT R.CONFIRMED FROM REPL_ISS_HDR R,REPL_ISS_DET D WHERE R.TRAN_ID = D.TRAN_ID AND R.REPL_ORDER=?";
} }
else if(key.equalsIgnoreCase("M-PACK")) else if(key.equalsIgnoreCase("M-PACK"))
{ {
sql = "SELECT CONFIRMED FROM PACK_HDR WHERE TRAN_ID = ?"; //Changed By Pragyan 26/12/12 to check the join with detail for valid records.
//sql = "SELECT CONFIRMED FROM PACK_HDR WHERE TRAN_ID = ?";
sql = "SELECT P.CONFIRMED FROM PACK_HDR P,PACK_DET D WHERE P.TRAN_ID = ? AND P.TRAN_ID = D.TRAN_ID";
} }
else else
{ {
...@@ -1327,7 +1381,10 @@ public class ConsolidatToDoc { ...@@ -1327,7 +1381,10 @@ public class ConsolidatToDoc {
{ {
// check all the issues are // check all the issues are
int countTrf = 0; int countTrf = 0;
sql1 = "SELECT count(1) FROM pick_iss_hdr WHERE pick_order = ? and case when TRF_STATUS is null then 'N' else TRF_STATUS end = 'N'"; //Changed By Pragyan 26/12/12 to check the join with detail for valid records.
//sql1 = "SELECT count(1) FROM pick_iss_hdr WHERE pick_order = ? and case when TRF_STATUS is null then 'N' else TRF_STATUS end = 'N'";
sql1 = "SELECT COUNT(1) FROM PICK_ISS_HDR P,PICK_ISS_DET D WHERE P.PICK_ORDER = ? AND " +
" CASE WHEN P.TRF_STATUS IS NULL THEN 'N' ELSE P.TRF_STATUS END = 'N' AND P.TRAN_ID = D.TRAN_ID";
pstmt1 = conn.prepareStatement(sql1); pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,refId); pstmt1.setString(1,refId);
rs1 = pstmt1.executeQuery(); rs1 = pstmt1.executeQuery();
......
...@@ -43,6 +43,7 @@ import java.util.Random; ...@@ -43,6 +43,7 @@ import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.TreeSet;
import javax.mail.Flags.Flag; import javax.mail.Flags.Flag;
import javax.naming.InitialContext; import javax.naming.InitialContext;
...@@ -741,6 +742,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -741,6 +742,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
/*HashMap itemVolMap = getItemVoumeMap(itemCode, "", conn); /*HashMap itemVolMap = getItemVoumeMap(itemCode, "", conn);
double packSize = (Double)itemVolMap.get("PACK_SIZE");*/ double packSize = (Double)itemVolMap.get("PACK_SIZE");*/
if(globalSingleLot != null && !globalSingleLot.equalsIgnoreCase(singleLot))
{
singleLot = globalSingleLot;
}
if((pendingQty % packSize) > 0) if((pendingQty % packSize) > 0)
{ {
isActives = true; isActives = true;
...@@ -3458,6 +3465,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -3458,6 +3465,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
String ptcnID = ""; String ptcnID = "";
String itemCode = ""; String itemCode = "";
String lotNo = ""; String lotNo = "";
String locCode = "";
String sLocCode = "";
double quantity = 0.0; double quantity = 0.0;
double itemWeight = 0.0; double itemWeight = 0.0;
double itemVolume = 0.0; double itemVolume = 0.0;
...@@ -3466,7 +3475,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -3466,7 +3475,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
double caseVolume = 0.0; double caseVolume = 0.0;
//Changed by sumit on 03/08/12 start. //Changed by sumit on 03/08/12 start.
ArrayList ptcnList = new ArrayList(); ArrayList ptcnList = new ArrayList();
Set locSet = null;
try try
{ {
...@@ -3531,7 +3540,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -3531,7 +3540,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//String sorderKey = (String)it.next();; //String sorderKey = (String)it.next();;
String sorderKey = (String)it.next(); String sorderKey = (String)it.next();
ArrayList itemMapList = (ArrayList)saleOrderWiseMap.get(sorderKey); ArrayList itemMapList = (ArrayList)saleOrderWiseMap.get(sorderKey);
ArrayList itemSortList = new ArrayList();
locSet = new TreeSet();
System.out.println("wave Id :"+waveId); System.out.println("wave Id :"+waveId);
saleOrder = sorderKey.substring(0,sorderKey.indexOf(":")); saleOrder = sorderKey.substring(0,sorderKey.indexOf(":"));
System.out.println("Current sorder No>>>>>>>>>>>>["+saleOrder+"]"); System.out.println("Current sorder No>>>>>>>>>>>>["+saleOrder+"]");
...@@ -3578,13 +3588,16 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -3578,13 +3588,16 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
itemCode = (String)loadMap.get("item_code"); itemCode = (String)loadMap.get("item_code");
lotNo = (String)loadMap.get("lot_no"); lotNo = (String)loadMap.get("lot_no");
quantity = (Double)loadMap.get("alloc_qty"); quantity = (Double)loadMap.get("alloc_qty");
locCode = (String)loadMap.get("loc_code");
HashMap dataTempMap = getItemVoumeMap(itemCode, lotNo, conn); HashMap dataTempMap = getItemVoumeMap(itemCode, lotNo, conn);
itemWeight = (Double)dataTempMap.get("ITEM_WEIGHT"); itemWeight = (Double)dataTempMap.get("ITEM_WEIGHT");
itemVolume = (Double)dataTempMap.get("ITEM_SIZE"); itemVolume = (Double)dataTempMap.get("ITEM_SIZE");
packSize = (Double)dataTempMap.get("PACK_SIZE"); packSize = (Double)dataTempMap.get("PACK_SIZE");
caseWeight = (Double)dataTempMap.get("PACK_WEIGHT"); caseWeight = (Double)dataTempMap.get("PACK_WEIGHT");
caseVolume = (Double)dataTempMap.get("LOT_SIZE"); caseVolume = (Double)dataTempMap.get("LOT_SIZE");
System.out.println("current item code"+itemCode+"]quantity["+quantity+"]itemWeight["+itemWeight+"]caseWeight"+caseWeight+"]caseVolume["+caseVolume+"]");
System.out.println("current item code"+itemCode+"]quantity["+quantity+"]itemWeight["+itemWeight+"]caseWeight"+caseWeight+"]caseVolume["+caseVolume+"]Loc Code["+locCode+"]");
locSet.add(locCode);
if(quantity < packSize) if(quantity < packSize)
{ {
actCount = quantity; actCount = quantity;
...@@ -3604,15 +3617,36 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -3604,15 +3617,36 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
totalWeightCurrentshipment = totalWeightCurrentshipment + ( itemWeight * quantity); totalWeightCurrentshipment = totalWeightCurrentshipment + ( itemWeight * quantity);
System.out.println("current total weight "+totalWeightCurrentshipment+"]"); System.out.println("current total weight "+totalWeightCurrentshipment+"]");
} }
System.out.println("Current Location Tree["+locSet.toString()+"]");
Iterator itLoc = locSet.iterator();
while(itLoc.hasNext())
{
sLocCode = (String)itLoc.next();
System.out.println("Searching For Location ["+sLocCode+"]");
for(int i =0;i<itemMapListLen;i++)
{
HashMap loadMap = (HashMap)itemMapList.get(i);
locCode = (String)loadMap.get("loc_code");
if(sLocCode.equalsIgnoreCase(locCode))
{
System.out.println("Found Location ["+locCode+"]index["+i+"]");
itemSortList.add(loadMap);
}
}
}
System.out.println("Final weight for th shipment "+totalWeightCurrentshipment+"]"); System.out.println("Final weight for th shipment "+totalWeightCurrentshipment+"]");
HashMap transPorterInfoMap = getTransportInfo(saleOrder,totalWeightCurrentshipment, conn); HashMap transPorterInfoMap = getTransportInfo(saleOrder,totalWeightCurrentshipment, conn);
tranCode = (String)transPorterInfoMap.get("TRAN_CODE"); tranCode = (String)transPorterInfoMap.get("TRAN_CODE");
transMode = (String)transPorterInfoMap.get("TRANS_MODE"); transMode = (String)transPorterInfoMap.get("TRANS_MODE");
//Changed By Pragyan 26/12/12/ To send the List with ordered Location
// 05/07/12 separate list for PSO and DSO as earlier logic is wrong // 05/07/12 separate list for PSO and DSO as earlier logic is wrong
//if(replList.size() > 0 || pickList.size() > 0) //if(replList.size() > 0 || pickList.size() > 0)
//if(replListPSO.size() > 0 || replListDSO.size() > 0 || pickList.size() > 0) //if(replListPSO.size() > 0 || replListDSO.size() > 0 || pickList.size() > 0)
if(itemMapList.size() > 0) //if(itemMapList.size() > 0)
if(itemSortList.size() > 0)
{ {
ptcnID = getTranId( "w_ptcn", conn ); ptcnID = getTranId( "w_ptcn", conn );
...@@ -3627,7 +3661,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -3627,7 +3661,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmt = null; pstmt = null;
} }
errString = updatePickOrdPartII(headerDom, detailDom,waveId, siteCode,saleOrder ,xtraParams, itemMapList,ptcnID,transPorterInfoMap,totActVolume,totActWeight,totCaseVolume,totCaseWeight,totCaseCount, conn); //Changed By Pragyan 26/12/12/ To send the List with ordered Location
//errString = updatePickOrdPartII(headerDom, detailDom,waveId, siteCode,saleOrder ,xtraParams, itemMapList,ptcnID,transPorterInfoMap,totActVolume,totActWeight,totCaseVolume,totCaseWeight,totCaseCount, conn);
errString = updatePickOrdPartII(headerDom, detailDom,waveId, siteCode,saleOrder ,xtraParams, itemSortList,ptcnID,transPorterInfoMap,totActVolume,totActWeight,totCaseVolume,totCaseWeight,totCaseCount, conn);
//System.out.println("replListPSO.size() ["+replListPSO.size()+"] replListDSO.size() ["+replListDSO.size()+"] pickList.size()"+pickList.size()); //System.out.println("replListPSO.size() ["+replListPSO.size()+"] replListDSO.size() ["+replListDSO.size()+"] pickList.size()"+pickList.size());
......
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