Commit c790ebca authored by rbhogale's avatar rbhogale

Changed by Rohan on 07-MAy-13 for adding customer code delivery and delivery name


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93018 ce508802-f39f-4f6c-b175-0d175dae99d5
parent c4867844
...@@ -31,6 +31,7 @@ import java.sql.Timestamp; ...@@ -31,6 +31,7 @@ import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
...@@ -244,6 +245,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -244,6 +245,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//Changed by sumit 22/08/12 to retrieve alloc_flag start. //Changed by sumit 22/08/12 to retrieve alloc_flag start.
PreparedStatement pstmt1 = null; PreparedStatement pstmt1 = null;
ResultSet rs2 = null; ResultSet rs2 = null;
//
//Changed by sumit 22/08/12 to retrieve alloc_flag end. //Changed by sumit 22/08/12 to retrieve alloc_flag end.
//Changed by Sankara on 23/11/12 fir dispalying get data in propar format //Changed by Sankara on 23/11/12 fir dispalying get data in propar format
retTabSepStrBuff = new StringBuffer( "<?xml version='1.0' encoding='UTF-8'?>\r\n<DocumentRoot>\r\n<description>Datawindow Root</description>\r\n<group0>\r\n" + retTabSepStrBuff = new StringBuffer( "<?xml version='1.0' encoding='UTF-8'?>\r\n<DocumentRoot>\r\n<description>Datawindow Root</description>\r\n<group0>\r\n" +
...@@ -562,7 +564,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -562,7 +564,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+" ,SORDER.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW, WAVE_TYPE.PARCELPACK_ALLOW " +" ,SORDER.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW, WAVE_TYPE.PARCELPACK_ALLOW "
//Changed by sumit on 31/01/13 adding column //Changed by sumit on 31/01/13 adding column
+" ,ITEM.UNIT AS UNIT_STD ,SORDDET.UNIT ORDER_UNIT,SORDDET.UNIT__STD AS UNIT__STD, SORDDET.CONV__QTY_STDUOM " +" ,ITEM.UNIT AS UNIT_STD ,SORDDET.UNIT ORDER_UNIT,SORDDET.UNIT__STD AS UNIT__STD, SORDDET.CONV__QTY_STDUOM "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE "
// change by venkat on 02/05/13 adding column customer name and customer delivery name
+" , SORDER.CUST_CODE__DLV, C.CUST_NAME AS CUST_DLV_NAME "
// changed by venkat on 06/05/13 adding customer c for getting customer name data
//+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE,CUSTOMER C "
//Changed by sumit 20/08/12 getting column data end. //Changed by sumit 20/08/12 getting column data end.
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND " +"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND " +"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
...@@ -587,6 +594,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -587,6 +594,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+" SORDER.SALE_ORDER <= ? AND " +" SORDER.SALE_ORDER <= ? AND "
+" SORDER.DUE_DATE >= ? AND" +" SORDER.DUE_DATE >= ? AND"
+" SORDER.DUE_DATE <= ? " +" SORDER.DUE_DATE <= ? "
// changed by venkat on 02-05-2013 add join of customer delivery of sorder and customer code
+" AND SORDER.CUST_CODE__DLV = C.CUST_CODE "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' " +"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' " +"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
//Changed by sumit on 12/09/12 considering hold_flag from sorddet //Changed by sumit on 12/09/12 considering hold_flag from sorddet
...@@ -1150,6 +1159,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -1150,6 +1159,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//retTabSepStrBuff.append(rs.getDouble(8)).append("\t"); //retTabSepStrBuff.append(rs.getDouble(8)).append("\t");
//Changed by sumit on 1/02/13 display pending quantity after convert in std unit. //Changed by sumit on 1/02/13 display pending quantity after convert in std unit.
//retTabSepStrBuff.append( "<quantity><![CDATA[" ).append(rs.getDouble(8)).append( "]]></quantity>\r\n" ); //retTabSepStrBuff.append( "<quantity><![CDATA[" ).append(rs.getDouble(8)).append( "]]></quantity>\r\n" );
//changed by venkat on 02/05/13 append shipType in porpar format
retTabSepStrBuff.append( "<ship_type><![CDATA[" ).append(shipType).append( "]]></ship_type>\r\n" );
retTabSepStrBuff.append( "<quantity><![CDATA[" ).append(quantity).append( "]]></quantity>\r\n" ); retTabSepStrBuff.append( "<quantity><![CDATA[" ).append(quantity).append( "]]></quantity>\r\n" );
//Changed by sumit sarkar on 22/06/12 showing value of part quantity. //Changed by sumit sarkar on 22/06/12 showing value of part quantity.
//SHOWING VALUE OF PART QUANTITY //SHOWING VALUE OF PART QUANTITY
...@@ -1433,6 +1445,10 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -1433,6 +1445,10 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//Changed by sumit sarkar on 22/06/12 display part_qty_real end. //Changed by sumit sarkar on 22/06/12 display part_qty_real end.
//Changed by sankara on 23/11/12 append last_col in porpar format //Changed by sankara on 23/11/12 append last_col in porpar format
//retTabSepStrBuff.append(" ").append("\n"); //retTabSepStrBuff.append(" ").append("\n");
//Changed by venkat on 02/05/13 display cust_code__dlv and customer_cust_name start.
retTabSepStrBuff.append( "<cust_code__dlv><![CDATA[" ).append(checkNull(rs.getString("CUST_CODE__DLV"))).append( "]]></cust_code__dlv>\r\n" );
retTabSepStrBuff.append( "<customer_cust_name><![CDATA[" ).append(checkNull(rs.getString("CUST_DLV_NAME"))).append( "]]></customer_cust_name>\r\n" );
//Changed by venkat on 02/05/13 display cust_code__dlv and customer_cust_name end.
retTabSepStrBuff.append( "</Detail2>\r\n" ); retTabSepStrBuff.append( "</Detail2>\r\n" );
} }
...@@ -4788,6 +4804,10 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -4788,6 +4804,10 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
cashCount = 0.0,itemVolume = 0.0; cashCount = 0.0,itemVolume = 0.0;
HashMap itmVolumeMap = null; HashMap itmVolumeMap = null;
ArrayList activeTempPickList = null,caseTempPickList = null, masterTempPackList = null,masterTempList = null; ArrayList activeTempPickList = null,caseTempPickList = null, masterTempPackList = null,masterTempList = null;
//Changed By Pragyan 26/04/13 to store actve maps.start
TreeMap activeListItemWizMap = new TreeMap<String, ArrayList<HashMap>>();
ArrayList newTempActPickList = null;
try try
{ {
...@@ -6189,8 +6209,23 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -6189,8 +6209,23 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{ {
quantity = activeCount; quantity = activeCount;
} }
//Changed by Rohan on 9/03/12 to get case packet,volume,wegiht.start HashMap activeTempMap = (HashMap)dataMap.clone();
/*String[] itmWeightVol = new String[3]; activeTempMap.put("no_art", "1");
activeTempMap.put("alloc_qty", quantity);
if(activeListItemWizMap.containsKey(itemCode))
{
activeTempPickList = (ArrayList)activeListItemWizMap.get(itemCode);
}
else
{
activeTempPickList = new ArrayList();
}
activeTempPickList.add(activeTempMap);
activeListItemWizMap.put(itemCode, activeTempPickList);
/*//Changed by Rohan on 9/03/12 to get case packet,volume,wegiht.start
String[] itmWeightVol = new String[3];
String itemVolumeWeight = getPackItemVolumeWeight((quantity * itemWeight) , (quantity * perItemVolume), "A", conn); String itemVolumeWeight = getPackItemVolumeWeight((quantity * itemWeight) , (quantity * perItemVolume), "A", conn);
itmWeightVol = itemVolumeWeight.split(":"); itmWeightVol = itemVolumeWeight.split(":");
...@@ -6202,7 +6237,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -6202,7 +6237,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if(Double.parseDouble(itmWeightVol[1]) != 0.0) if(Double.parseDouble(itmWeightVol[1]) != 0.0)
{ {
caseVolume = Double.parseDouble(itmWeightVol[1]); caseVolume = Double.parseDouble(itmWeightVol[1]);
}*/ }
System.out.println("packetMaxWeightActive:"+packetMaxWeightActive+"packetMaxVolumeActive:"+packetMaxVolumeActive); System.out.println("packetMaxWeightActive:"+packetMaxWeightActive+"packetMaxVolumeActive:"+packetMaxVolumeActive);
//Changed by Rohan on 9/03/12 to get case packet,volume,wegiht.end //Changed by Rohan on 9/03/12 to get case packet,volume,wegiht.end
...@@ -6376,7 +6411,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -6376,7 +6411,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
renCtr ++ ; renCtr ++ ;
} }
while(renCtr <= quantityPerPallet); while(renCtr <= quantityPerPallet);*/
}//if(quantity < packSize || activeCount > 0 ) }//if(quantity < packSize || activeCount > 0 )
...@@ -6392,6 +6427,220 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -6392,6 +6427,220 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
} }
////
if(activeListItemWizMap.size() > 0)
{
double quantityPerPallet =0.0;
double totQtyPerPallet = 0.0;
double renCtr = 0;
double volumeRmaining = 0.0;
Set itemKeySet = activeListItemWizMap.keySet();
System.out.println("packetMaxWeightActive:"+packetMaxWeightActive+"packetMaxVolumeActive:"+packetMaxVolumeActive);
for (Iterator actItemsIterator = itemKeySet.iterator();actItemsIterator.hasNext(); )
{
itemCode =(String)actItemsIterator.next();
ArrayList<HashMap> tempActList = (ArrayList)activeListItemWizMap.get(itemCode);
int tempActListLen = tempActList.size();
itmVolumeMap = getItemVoumeMap(itemCode,"",conn);
perItemVolume = (Double)itmVolumeMap.get("ITEM_SIZE");
caseVolume = (Double)itmVolumeMap.get("LOT_SIZE");
caseWeight = (Double)itmVolumeMap.get("PACK_WEIGHT");
itemWeight = (Double)itmVolumeMap.get("ITEM_WEIGHT");
for(HashMap actDataMap : tempActList)
{
quantity = (Double)actDataMap.get("alloc_qty");
lotNo = (String)actDataMap.get("lot_no");
quantityPerPallet = Math.floor( (quantity * perItemVolume)/packetMaxVolumeActive);
totQtyPerPallet = Math.floor(packetMaxVolumeActive/perItemVolume);
renCtr = 0;
volumeRmaining = Math.floor(perItemVolume * quantity);
if(totQtyPerPallet > quantity)
{
totQtyPerPallet = quantity;
}
if(activeCount/quantityPerPallet != 0)
{
quantityPerPallet = quantityPerPallet + 1;
}
do
{
double currentvolumeActive = totQtyPerPallet * perItemVolume;
if(totQtyPerPallet < 0)
{
break;
}
else
{
if(allActivesList.size() > 0)
{
int allActiveListLen = allActivesList.size();
activeTempPickList = (ArrayList)allActivesList.get(allActiveListLen -1);
int activeTempPickListLen = activeTempPickList.size();
Map tempMap = (HashMap)activeTempPickList.get(activeTempPickListLen -1);
if(tempMap.containsKey("LAST_PACK_VOLUME"))
{
double lastPackVolume = (Double)tempMap.get("LAST_PACK_VOLUME");
double lastPackWeight = (Double)tempMap.get("LAST_PACK_WEIGHT");
System.out.println("ON ACTIVE CURRENT VOLUME ACTIVE ["+currentvolumeActive+"]");
System.out.println("ON ACTIVE lastPackVolume ["+lastPackVolume+"]");
System.out.println("ON ACTIVE lastPackWeight ["+lastPackWeight+"]");
if(lastPackVolume < packetMaxVolumeActive && lastPackWeight < packetMaxWeightActive)
{
double remainingVolume = packetMaxVolumeActive - lastPackVolume;
System.out.println("ON ACTIVE remainingVolume ["+remainingVolume+"]");
if(remainingVolume >= perItemVolume)
{
if(remainingVolume >= currentvolumeActive)
{
HashMap activeTempMap = (HashMap)actDataMap.clone();
activeTempMap.put("no_art", "1");
activeTempMap.put("alloc_qty", totQtyPerPallet);
activeTempMap.put("LAST_PACK_VOLUME", lastPackVolume + currentvolumeActive);
activeTempMap.put("LAST_PACK_WEIGHT", totQtyPerPallet * itemWeight);
activeTempPickList.add(activeTempMap);
int updLen = allActivesList.size()-1;
allActivesList.set(updLen, activeTempPickList);
}
else
{
double requiredQuantityToStore = Math.floor(remainingVolume / perItemVolume);
System.out.println("ON ACTIVE requiredQuantityToStore ["+requiredQuantityToStore+"]");
HashMap activeTempMap = (HashMap)actDataMap.clone();
activeTempMap.put("no_art", "1");
activeTempMap.put("alloc_qty", requiredQuantityToStore);
activeTempMap.put("LAST_PACK_VOLUME", lastPackVolume + remainingVolume);
activeTempMap.put("LAST_PACK_WEIGHT", requiredQuantityToStore * itemWeight);
activeTempPickList.add(activeTempMap);
lastPackVolume = lastPackVolume + remainingVolume;
double reqVolumeToStore = currentvolumeActive - (requiredQuantityToStore * perItemVolume);
System.out.println("ON ACTIVE reqVolumeToStore ["+reqVolumeToStore+"]");
double remain_quantity = Math.floor(reqVolumeToStore/perItemVolume);
System.out.println("ON ACTIVE remain_quantity ["+remain_quantity+"]");
activeTempPickList = new ArrayList();
HashMap activeTempMap1 = (HashMap)actDataMap.clone();
activeTempMap1.put("no_art", "1");
activeTempMap1.put("alloc_qty", remain_quantity);
//activeTempMap1.put("LAST_PACK_VOLUME", reqVolumeToStore);
if((reqVolumeToStore + lastPackVolume) > packetMaxVolumeActive)
{
activeTempMap1.put("LAST_PACK_VOLUME", reqVolumeToStore);
System.out.println("ON ACTIVE After storing 2nd Last Pack Volume Volume ["+reqVolumeToStore+"]");
}
else
{
activeTempMap1.put("LAST_PACK_VOLUME", reqVolumeToStore + lastPackVolume);
System.out.println("ON ACTIVE After storing 2nd Last Pack Volume Volume ["+reqVolumeToStore + lastPackVolume+"]");
}
activeTempMap1.put("LAST_PACK_WEIGHT", remain_quantity * itemWeight);
activeTempPickList.add(activeTempMap1);
allActivesList.add(activeTempPickList);
}
}
else
{
activeTempPickList = new ArrayList();
HashMap activeTempMap1 = (HashMap)actDataMap.clone();
activeTempMap1.put("no_art", "1");
activeTempMap1.put("alloc_qty", totQtyPerPallet);
activeTempMap1.put("LAST_PACK_VOLUME", currentvolumeActive);
activeTempMap1.put("LAST_PACK_WEIGHT", totQtyPerPallet * itemWeight);
activeTempPickList.add(activeTempMap1);
allActivesList.add(activeTempPickList);
}
}
else
{
activeTempPickList = new ArrayList();
HashMap activeTempMap1 = (HashMap)actDataMap.clone();
activeTempMap1.put("no_art", "1");
activeTempMap1.put("alloc_qty", totQtyPerPallet);
activeTempMap1.put("LAST_PACK_VOLUME", currentvolumeActive);
activeTempMap1.put("LAST_PACK_WEIGHT", totQtyPerPallet * itemWeight);
activeTempPickList.add(activeTempMap1);
allActivesList.add(activeTempPickList);
}
}
}//if(allActivesList.size() > 0)
else
{
activeTempPickList = new ArrayList();
HashMap activeTempMap1 = (HashMap)actDataMap.clone();
activeTempMap1.put("no_art", "1");
activeTempMap1.put("alloc_qty", totQtyPerPallet);
activeTempMap1.put("LAST_PACK_VOLUME", currentvolumeActive);
activeTempMap1.put("LAST_PACK_WEIGHT", totQtyPerPallet * itemWeight);
activeTempPickList.add(activeTempMap1);
allActivesList.add(activeTempPickList);
}
volumeRmaining = volumeRmaining - totQtyPerPallet * perItemVolume;
System.out.println("ON ACTIVE volumeRmaining ["+volumeRmaining+"]totQtyPerPallet"+totQtyPerPallet);
if(totQtyPerPallet < Math.floor((volumeRmaining/perItemVolume)))
{
}
else
{
totQtyPerPallet =Math.floor((volumeRmaining/perItemVolume));
System.out.println("After calculating>>>> ["+totQtyPerPallet+"]");
totQtyPerPallet =Math.floor(volumeRmaining/perItemVolume);
System.out.println("To be check after Floor>>>> ["+totQtyPerPallet+"]");
}
if(volumeRmaining == 0.0)
{
break;
}
}
renCtr ++ ;
}
while(renCtr <= quantityPerPallet);
}
}
}
sqlHdrPick="INSERT INTO PICK_ORD_HDR(PICK_ORDER, ORDER_DATE, SITE_CODE," sqlHdrPick="INSERT INTO PICK_ORD_HDR(PICK_ORDER, ORDER_DATE, SITE_CODE,"
+"SALE_ORDER,WAVE_ID,PICK_TYPE, CHG_USER, CHG_DATE, CHG_TERM) VALUES (?,?,?,?,?,?,?,?,?)"; +"SALE_ORDER,WAVE_ID,PICK_TYPE, CHG_USER, CHG_DATE, CHG_TERM) VALUES (?,?,?,?,?,?,?,?,?)";
...@@ -7573,7 +7822,6 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo ...@@ -7573,7 +7822,6 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
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);
tempCaseReplList = getActiveCaseReplMap("",locInvStat,invPndReserve,invDeepReserve,invReserve, itemCode, siteCode, locCode, lotNo, lotSl, quantity, conn); tempCaseReplList = getActiveCaseReplMap("",locInvStat,invPndReserve,invDeepReserve,invReserve, itemCode, siteCode, locCode, lotNo, lotSl, quantity, conn);
} }
if(tempReplList.size() > 0) if(tempReplList.size() > 0)
{ {
......
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