| Line 151... |
Line 151... |
| 151 |
for (Warehouse warehouse:ours_warehouses){
|
151 |
for (Warehouse warehouse:ours_warehouses){
|
| 152 |
oursGoodWarehouse.add(warehouse.getId());
|
152 |
oursGoodWarehouse.add(warehouse.getId());
|
| 153 |
}
|
153 |
}
|
| 154 |
long available=0;
|
154 |
long available=0;
|
| 155 |
long reserve=0;
|
155 |
long reserve=0;
|
| 156 |
long total_held=0;
|
156 |
long total_warehouse_held=0;
|
| 157 |
long heldForSource=0;
|
157 |
long heldForSource=0;
|
| - |
|
158 |
long total_held=0;
|
| 158 |
double nlc=0;
|
159 |
double nlc=0;
|
| 159 |
double maxnlc=0;
|
160 |
double maxnlc=0;
|
| 160 |
Item thriftItem;
|
161 |
Item thriftItem;
|
| 161 |
long sku = 0;
|
162 |
long sku = 0;
|
| 162 |
for(Inventory inventoryItem:currentInventoryItemList){
|
163 |
for(Inventory inventoryItem:currentInventoryItemList){
|
| Line 172... |
Line 173... |
| 172 |
else{
|
173 |
else{
|
| 173 |
continue;
|
174 |
continue;
|
| 174 |
}
|
175 |
}
|
| 175 |
available=0;
|
176 |
available=0;
|
| 176 |
reserve=0;
|
177 |
reserve=0;
|
| 177 |
total_held=0;
|
178 |
total_warehouse_held=0;
|
| 178 |
heldForSource=0;
|
179 |
heldForSource=0;
|
| - |
|
180 |
total_held=0;
|
| 179 |
nlc=0;
|
181 |
nlc=0;
|
| 180 |
List<Warehouse> vendor_warehouses=null;
|
182 |
List<Warehouse> vendor_warehouses=null;
|
| 181 |
SnapdealItemForInventory item;
|
183 |
SnapdealItemForInventory item;
|
| 182 |
if(availability.get(thriftItem.getId())!=null){
|
184 |
if(availability.get(thriftItem.getId())!=null){
|
| 183 |
ItemInventory iteminventory = availability.get(thriftItem.getId());
|
185 |
ItemInventory iteminventory = availability.get(thriftItem.getId());
|
| Line 203... |
Line 205... |
| 203 |
nlc = inventoryClient.getNlcForWarehouse(warehouse.getId(),thriftItem.getId());
|
205 |
nlc = inventoryClient.getNlcForWarehouse(warehouse.getId(),thriftItem.getId());
|
| 204 |
}
|
206 |
}
|
| 205 |
maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
|
207 |
maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
|
| 206 |
//System.out.println("itemId:" + thriftItem.getId() + "\tmaxnlc: " + maxnlc + "\tnlc:" + nlc + "\twid:" + warehouse.getId() );
|
208 |
//System.out.println("itemId:" + thriftItem.getId() + "\tmaxnlc: " + maxnlc + "\tnlc:" + nlc + "\twid:" + warehouse.getId() );
|
| 207 |
if(nlc !=0 && (maxnlc >= nlc)){
|
209 |
if(nlc !=0 && (maxnlc >= nlc)){
|
| 208 |
total_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 0);
|
210 |
total_warehouse_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 0);
|
| 209 |
heldForSource = heldForSource + total_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 7);
|
211 |
heldForSource = heldForSource + total_warehouse_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 7);
|
| 210 |
available = available + itemavailability.get(warehouse.getId()) - total_held;
|
212 |
available = available + itemavailability.get(warehouse.getId());
|
| - |
|
213 |
total_held = total_held + total_warehouse_held;
|
| 211 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
214 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
| 212 |
}
|
215 |
}
|
| 213 |
else if(maxnlc==0){
|
216 |
else if(maxnlc==0){
|
| 214 |
total_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 0);
|
217 |
total_warehouse_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 0);
|
| 215 |
heldForSource = heldForSource + total_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 7);
|
218 |
heldForSource = heldForSource + total_warehouse_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 7);
|
| 216 |
available = available + itemavailability.get(warehouse.getId()) - total_held;
|
219 |
available = available + itemavailability.get(warehouse.getId());
|
| - |
|
220 |
total_held = total_held + total_warehouse_held;
|
| 217 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
221 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
| 218 |
}
|
222 |
}
|
| 219 |
}
|
223 |
}
|
| 220 |
}
|
224 |
}
|
| 221 |
}
|
225 |
}
|
| Line 237... |
Line 241... |
| 237 |
catalogClient = catalogServiceClient.getClient();
|
241 |
catalogClient = catalogServiceClient.getClient();
|
| 238 |
maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
|
242 |
maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
|
| 239 |
}
|
243 |
}
|
| 240 |
//System.out.println("itemId:" + thriftItem.getId() + "\tmaxnlc: " + maxnlc + "\tnlc:" + nlc + "\twid:" + entry.getKey() );
|
244 |
//System.out.println("itemId:" + thriftItem.getId() + "\tmaxnlc: " + maxnlc + "\tnlc:" + nlc + "\twid:" + entry.getKey() );
|
| 241 |
if(nlc !=0 && (maxnlc >= nlc)){
|
245 |
if(nlc !=0 && (maxnlc >= nlc)){
|
| 242 |
total_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 0);
|
246 |
total_warehouse_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 0);
|
| 243 |
heldForSource = heldForSource + total_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 7);
|
247 |
heldForSource = heldForSource + total_warehouse_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 7);
|
| 244 |
available = available + entry.getValue() - total_held;
|
248 |
available = available + entry.getValue();
|
| - |
|
249 |
total_held = total_held + total_warehouse_held;
|
| 245 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
250 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
| 246 |
}
|
251 |
}
|
| 247 |
else if(maxnlc==0){
|
252 |
else if(maxnlc==0){
|
| 248 |
total_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 0);
|
253 |
total_warehouse_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 0);
|
| 249 |
heldForSource = heldForSource + total_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 7);
|
254 |
heldForSource = heldForSource + total_warehouse_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 7);
|
| 250 |
available = available + itemavailability.get(entry.getKey()) - total_held;
|
255 |
available = available + itemavailability.get(entry.getKey());
|
| - |
|
256 |
total_held = total_held + total_warehouse_held;
|
| 251 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
257 |
//System.out.println("itemId:" + thriftItem.getId() + "\ttotal_held: " + total_held + "\theldForSource:" + heldForSource + "\tavailable:" + available);
|
| 252 |
}
|
258 |
}
|
| 253 |
|
259 |
|
| 254 |
}
|
260 |
}
|
| 255 |
}
|
261 |
}
|
| Line 306... |
Line 312... |
| 306 |
else{
|
312 |
else{
|
| 307 |
//System.out.println("skipping inventory for warehouse id " + entry.getKey());
|
313 |
//System.out.println("skipping inventory for warehouse id " + entry.getKey());
|
| 308 |
}
|
314 |
}
|
| 309 |
}
|
315 |
}
|
| 310 |
}
|
316 |
}
|
| 311 |
item= new SnapdealItemForInventory(thriftItem.getId(),available,reserve,heldForSource,thriftItem.getHoldInventory(),thriftItem.getDefaultInventory(),thriftItem.isRisky(),thriftItem.getItemStatus());
|
317 |
item= new SnapdealItemForInventory(thriftItem.getId(),available,reserve,heldForSource,thriftItem.getHoldInventory(),thriftItem.getDefaultInventory(),total_held,thriftItem.isRisky(),thriftItem.getItemStatus());
|
| 312 |
System.out.println("itemId:" + thriftItem.getId() + "\tavailable: " + available + "\treserve" + reserve + "\theldForSource:" + heldForSource + "\twebsite_hold:" + thriftItem.getHoldInventory() + "\tdefault_inv:" +thriftItem.getDefaultInventory());
|
318 |
System.out.println("itemId:" + thriftItem.getId() + "\tavailable: " + available + "\treserve" + reserve + "\theldForSource:" + heldForSource + "\twebsite_hold:" + thriftItem.getHoldInventory() + "\tdefault_inv:" +thriftItem.getDefaultInventory());
|
| 313 |
}
|
319 |
}
|
| 314 |
else{
|
320 |
else{
|
| 315 |
item = new SnapdealItemForInventory(thriftItem.getId(),0,0,0,thriftItem.getHoldInventory(),thriftItem.getDefaultInventory(),thriftItem.isRisky(),thriftItem.getItemStatus());
|
321 |
item = new SnapdealItemForInventory(thriftItem.getId(),0,0,0,thriftItem.getHoldInventory(),thriftItem.getDefaultInventory(),0,thriftItem.isRisky(),thriftItem.getItemStatus());
|
| 316 |
System.out.println("itemId:" + thriftItem.getId() + "\tavailable: " + available + "\treserve" + reserve + "\theldForSource:" + heldForSource + "\twebsite_hold:" + thriftItem.getHoldInventory() + "\tdefault_inv:" +thriftItem.getDefaultInventory());
|
322 |
System.out.println("itemId:" + thriftItem.getId() + "\tavailable: " + available + "\treserve" + reserve + "\theldForSource:" + heldForSource + "\twebsite_hold:" + thriftItem.getHoldInventory() + "\tdefault_inv:" +thriftItem.getDefaultInventory());
|
| 317 |
}
|
323 |
}
|
| 318 |
|
324 |
|
| 319 |
//System.out.println(" Item details are " + thriftItem.getId() +" " + available + " " + reserve + " " + thriftItem.getHoldInventory() + " "+ thriftItem.getDefaultInventory() + " " + thriftItem.isRisky());
|
325 |
//System.out.println(" Item details are " + thriftItem.getId() +" " + available + " " + reserve + " " + thriftItem.getHoldInventory() + " "+ thriftItem.getDefaultInventory() + " " + thriftItem.isRisky());
|
| 320 |
//System.out.println("+++++++++++++++++++++++");
|
326 |
//System.out.println("+++++++++++++++++++++++");
|
| Line 628... |
Line 634... |
| 628 |
FileInputStream fis = new FileInputStream("/root/code/trunk/SnapDealFeeds/SellerInventory.xls");
|
634 |
FileInputStream fis = new FileInputStream("/root/code/trunk/SnapDealFeeds/SellerInventory.xls");
|
| 629 |
Workbook hwb = new HSSFWorkbook(fis);
|
635 |
Workbook hwb = new HSSFWorkbook(fis);
|
| 630 |
Sheet sheet = hwb.getSheetAt(0);
|
636 |
Sheet sheet = hwb.getSheetAt(0);
|
| 631 |
Row row;
|
637 |
Row row;
|
| 632 |
int iterator=1;
|
638 |
int iterator=1;
|
| 633 |
long availability,reserve,defaultinventory,holdinventory,actualavailability,heldorders=0,sent_inventory;
|
639 |
long available,reserve,defaultinventory,holdinventory,heldorders=0,sent_inventory,totalheld,heldforsource,allocable;
|
| 634 |
SnapdealItemForInventory inventoryItem;
|
640 |
SnapdealItemForInventory inventoryItem;
|
| 635 |
StringBuffer outOfStockItems =new StringBuffer();
|
641 |
StringBuffer outOfStockItems =new StringBuffer();
|
| 636 |
StringBuffer backInStockItems =new StringBuffer();
|
642 |
StringBuffer backInStockItems =new StringBuffer();
|
| 637 |
long sku = 0;
|
643 |
long sku = 0;
|
| 638 |
SnapdealItemDetails snapdealitem;
|
644 |
SnapdealItemDetails snapdealitem;
|
| Line 648... |
Line 654... |
| 648 |
if(snapdealitem.getItem_id()!=0 && snapdealitem.isIsListedOnSnapdeal() && !snapdealitem.isSuppressInventoryFeed()){
|
654 |
if(snapdealitem.getItem_id()!=0 && snapdealitem.isIsListedOnSnapdeal() && !snapdealitem.isSuppressInventoryFeed()){
|
| 649 |
inventoryItem = allItemsInventoryMap.get(sku);
|
655 |
inventoryItem = allItemsInventoryMap.get(sku);
|
| 650 |
if(inventoryItem==null){
|
656 |
if(inventoryItem==null){
|
| 651 |
continue;
|
657 |
continue;
|
| 652 |
}
|
658 |
}
|
| 653 |
availability = inventoryItem.getAvailability();
|
659 |
available = inventoryItem.getAvailability();
|
| 654 |
reserve = inventoryItem.getReserve();
|
660 |
reserve = inventoryItem.getReserve();
|
| 655 |
defaultinventory = inventoryItem.getDefaultInventory();
|
661 |
defaultinventory = inventoryItem.getDefaultInventory();
|
| 656 |
holdinventory = inventoryItem.getHoldInventory();
|
662 |
holdinventory = inventoryItem.getHoldInventory();
|
| - |
|
663 |
totalheld = inventoryItem.getTotalHeldInventory();
|
| - |
|
664 |
heldforsource = inventoryItem.getHeldForSource();
|
| 657 |
actualavailability = availability - reserve;
|
665 |
allocable = available - reserve - totalheld - holdinventory;
|
| 658 |
if(itemIdpendingOrdersMap.containsKey(sku)){
|
666 |
if(itemIdpendingOrdersMap.containsKey(sku)){
|
| 659 |
heldorders = itemIdpendingOrdersMap.get(sku);
|
667 |
heldorders = itemIdpendingOrdersMap.get(sku);
|
| 660 |
if(heldorders < 0){
|
668 |
if(heldorders < 0){
|
| 661 |
heldorders = 0;
|
669 |
heldorders = 0;
|
| 662 |
}
|
670 |
}
|
| 663 |
}
|
671 |
}
|
| 664 |
System.out.println("itemId: " + inventoryItem.getId() + "\trisky: " + inventoryItem.getRisky()+ "\tavailable: " + inventoryItem.getAvailability() + "\treserve: " + inventoryItem.getReserve() + "\theldForSource:" + inventoryItem.getHeldForSource() + "\twebsite_hold: " + inventoryItem.getHoldInventory() + "\tdefault_inv: " +inventoryItem.getDefaultInventory() + "\theldorders " + heldorders);
|
672 |
System.out.println("itemId: " + inventoryItem.getId() + "\trisky: " + inventoryItem.getRisky()+ "\tavailable: " + inventoryItem.getAvailability() + "\treserve: " + inventoryItem.getReserve() + "\theldForSource:" + inventoryItem.getHeldForSource() + "\twebsite_hold: " + inventoryItem.getHoldInventory() + "\tdefault_inv: " +inventoryItem.getDefaultInventory() + "\theldorders " + heldorders);
|
| 665 |
row = sheet.getRow((short) iterator);
|
673 |
row = sheet.getRow((short) iterator);
|
| 666 |
long inventoryForRiskyItem = actualavailability - holdinventory;
|
674 |
if(allocable < 0){
|
| - |
|
675 |
allocable = 0;
|
| - |
|
676 |
}
|
| 667 |
if(inventoryItem.getRisky()){
|
677 |
if(inventoryItem.getRisky()){
|
| 668 |
if((Math.round(inventoryForRiskyItem*2/3) - heldorders + inventoryItem.getHeldForSource()) > 0){
|
678 |
if((Math.round(allocable*2/3) - heldorders + heldforsource) > 0){
|
| 669 |
sent_inventory = Math.round(inventoryForRiskyItem*2/3) - heldorders + inventoryItem.getHeldForSource();
|
679 |
sent_inventory = Math.round(allocable*2/3) - heldorders + heldforsource;
|
| 670 |
System.out.println("actual" + actualavailability + "\t2/3actual" + Math.round(actualavailability*2/3) + "\theld for source" + inventoryItem.getHeldForSource() + "\theldorders" + heldorders + "\tFinal Value is : " + (Math.round(actualavailability*2/3) + inventoryItem.getHeldForSource() - heldorders));
|
680 |
System.out.println("allocable" + allocable + "\t2/3allocable" + Math.round(allocable*2/3) + "\theld for source" + heldforsource + "\ttotal held" + totalheld +"\theldorders" + heldorders + "\tFinal Value is : " + (Math.round(allocable*2/3) + heldforsource - heldorders));
|
| 671 |
}
|
681 |
}
|
| 672 |
else{
|
682 |
else{
|
| 673 |
sent_inventory = 0;
|
683 |
sent_inventory = 0;
|
| 674 |
}
|
684 |
}
|
| 675 |
|
685 |
|
| 676 |
}
|
686 |
}
|
| 677 |
else{
|
687 |
else{
|
| 678 |
if((actualavailability + inventoryItem.getHeldForSource()) > defaultinventory){
|
688 |
if((allocable + heldforsource) > defaultinventory){
|
| 679 |
if((Math.round(actualavailability*2/3) + inventoryItem.getHeldForSource()) > heldorders){
|
689 |
if((Math.round(allocable*2/3) + inventoryItem.getHeldForSource()) > heldorders){
|
| 680 |
System.out.println("actual" + actualavailability + "\t2/3actual" + Math.round(actualavailability*2/3) + "\theld for source" + inventoryItem.getHeldForSource() + "\theldorders" + heldorders + "\tFinal Value is : " + (Math.round(actualavailability*2/3) + inventoryItem.getHeldForSource() - heldorders));
|
690 |
System.out.println("actual" + allocable + "\t2/3actual" + Math.round(allocable*2/3) + "\theld for source" + heldforsource + "\theldorders" + heldorders + "\tFinal Value is : " + (Math.round(allocable*2/3) + heldforsource - heldorders));
|
| 681 |
sent_inventory = Math.round(actualavailability*2/3) + inventoryItem.getHeldForSource() - heldorders;
|
691 |
sent_inventory = Math.round(allocable*2/3) + heldforsource - heldorders;
|
| 682 |
}
|
692 |
}
|
| 683 |
else{
|
693 |
else{
|
| 684 |
sent_inventory = 0;
|
694 |
sent_inventory = 0;
|
| 685 |
}
|
695 |
}
|
| 686 |
}
|
696 |
}
|
| Line 834... |
Line 844... |
| 834 |
} catch (MessagingException e) {
|
844 |
} catch (MessagingException e) {
|
| 835 |
e.printStackTrace();
|
845 |
e.printStackTrace();
|
| 836 |
}
|
846 |
}
|
| 837 |
*/
|
847 |
*/
|
| 838 |
try {
|
848 |
try {
|
| 839 |
mailer.sendSSLMessage(sendTo,"Snapdeal Inventory Updates sent for " +iterator+" items "+ sdf.format(System.currentTimeMillis()),"Snapdeal inventory feed sent successfully ", emailFromAddress, password, new ArrayList<File>());
|
849 |
mailer.sendSSLMessage(sendTo,"Snapdeal Inventory Updates sent for " +(iterator-1)+" items "+ sdf.format(System.currentTimeMillis()),"Snapdeal inventory feed sent successfully ", emailFromAddress, password, new ArrayList<File>());
|
| 840 |
} catch (MessagingException e) {
|
850 |
} catch (MessagingException e) {
|
| 841 |
e.printStackTrace();
|
851 |
e.printStackTrace();
|
| 842 |
}
|
852 |
}
|
| 843 |
|
853 |
|
| 844 |
}
|
854 |
}
|