Subversion Repositories SmartDukaan

Rev

Rev 9531 | Rev 9533 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9531 Rev 9532
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
		}