Subversion Repositories SmartDukaan

Rev

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

Rev 8465 Rev 8532
Line 236... Line 236...
236
				String [] nextLine;
236
				String [] nextLine;
237
				try {
237
				try {
238
					int count =1;
238
					int count =1;
239
					Map<Date,Map<Long,FbaSalesSnapshot>> orderDateItemIdFbaSaleSnapshotMap = new HashMap<Date,Map<Long,FbaSalesSnapshot>>();
239
					Map<Date,Map<Long,FbaSalesSnapshot>> orderDateItemIdFbaSaleSnapshotMap = new HashMap<Date,Map<Long,FbaSalesSnapshot>>();
240
					while ((nextLine = orderreportreader.readNext()) != null) {
240
					while ((nextLine = orderreportreader.readNext()) != null) {
241
						if(count!=1 && nextLine[5].equalsIgnoreCase("Amazon") && nextLine[6].equalsIgnoreCase("Amazon.in") && (nextLine[13].equalsIgnoreCase("Unshipped") || nextLine[13].equalsIgnoreCase("Shipped"))){
241
						if(count!=1 && nextLine[5].equalsIgnoreCase("Amazon") && nextLine[6].equalsIgnoreCase("Amazon.in")){
242
							SimpleDateFormat istFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
242
							SimpleDateFormat istFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
243
							istFormatter .setLenient(false);
243
							istFormatter .setLenient(false);
244
							TimeZone zone= TimeZone.getTimeZone("GMT");
244
							TimeZone zone= TimeZone.getTimeZone("GMT");
245
							istFormatter.setTimeZone(zone);
245
							istFormatter.setTimeZone(zone);
246
							Date date = istFormatter.parse(nextLine[2]);
246
							Date date = istFormatter.parse(nextLine[2]);
247
							SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
247
							SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
248
							Date date_key = dateFormat.parse(dateFormat.format(date));
248
							Date date_key = dateFormat.parse(dateFormat.format(date));
249
							System.out.println(nextLine[0]+" "+date_key+" "+ nextLine[11] +" " + nextLine[13] + " " + nextLine[14]);
249
							System.out.println(nextLine[0]+" "+date_key+" "+ nextLine[11] +" " + nextLine[13] + " " + nextLine[14]);
250
							Long itemid = Long.parseLong(nextLine[11].replaceAll("FBA",""));
250
							Long itemid = Long.parseLong(nextLine[11].replaceAll("FBA",""));
251
 
-
 
-
 
251
							Integer qty=0;
-
 
252
							if(nextLine[14].length()!=0){
252
							Integer qty = new Integer(nextLine[14]);
253
								qty = new Integer(nextLine[14]);
-
 
254
							}
253
							Float itemSale = null;
255
							Float itemSale = null;
254
							if(nextLine[16].length()!=0){
256
							if(nextLine[16].length()!=0){
255
								itemSale = new Float(nextLine[16]);
257
								itemSale = new Float(nextLine[16]);
256
							}
258
							}
257
							else{
259
							else{
Line 262... Line 264...
262
								itemDiscount = new Float(nextLine[22]);
264
								itemDiscount = new Float(nextLine[22]);
263
							}
265
							}
264
							else{
266
							else{
265
								itemDiscount = new Float(0);
267
								itemDiscount = new Float(0);
266
							}
268
							}
-
 
269
							if(nextLine[4].equalsIgnoreCase("Cancelled") || nextLine[4].equalsIgnoreCase("Cancelled")){
-
 
270
								itemSale = (float) 0; 
-
 
271
								itemDiscount = (float) 0;
-
 
272
								qty = 0;
-
 
273
							}
267
							if(orderDateItemIdFbaSaleSnapshotMap.containsKey(date_key)){
274
							if(orderDateItemIdFbaSaleSnapshotMap.containsKey(date_key)){
268
								if(orderDateItemIdFbaSaleSnapshotMap.get(date_key).containsKey(itemid)){
275
								if(orderDateItemIdFbaSaleSnapshotMap.get(date_key).containsKey(itemid)){
269
									FbaSalesSnapshot fbaSalesSnapshot = orderDateItemIdFbaSaleSnapshotMap.get(date_key).get(itemid);
276
									FbaSalesSnapshot fbaSalesSnapshot = orderDateItemIdFbaSaleSnapshotMap.get(date_key).get(itemid);
270
									if(itemDiscount!=0){
277
									if(itemDiscount!=0){
271
										fbaSalesSnapshot.setPromotionOrderCount(fbaSalesSnapshot.getPromotionOrderCount()+qty);
278
										fbaSalesSnapshot.setPromotionOrderCount(fbaSalesSnapshot.getPromotionOrderCount()+qty);
Line 375... Line 382...
375
							Double minFBAPrice= null;
382
							Double minFBAPrice= null;
376
							Double minMFNPrice= null;
383
							Double minMFNPrice= null;
377
							Double salePrice= null; 
384
							Double salePrice= null; 
378
							if(nextLine[30].length() >0){
385
							if(nextLine[30].length() >0){
379
								ourPrice = Double.parseDouble(nextLine[30]);
386
								ourPrice = Double.parseDouble(nextLine[30]);
-
 
387
								if(itemIdOurPriceMap.containsKey(item_id)){
380
								if(itemIdOurPriceMap.containsKey(item_id) && itemIdOurPriceMap.get(item_id).getDate().after(date)){
388
									if(itemIdOurPriceMap.get(item_id).getDate().getTime() < date.getTime()){
381
									PriceAtDate priceAtDate= new PriceAtDate();
389
										PriceAtDate priceAtDate= new PriceAtDate();
382
									priceAtDate.setDate(date);
390
										priceAtDate.setDate(date);
383
									priceAtDate.setPrice(ourPrice);
391
										priceAtDate.setPrice(ourPrice);
384
									itemIdOurPriceMap.put(item_id,priceAtDate);
392
										itemIdOurPriceMap.put(item_id,priceAtDate);
-
 
393
									}
385
								}
394
								}
386
								else{	
395
								else{	
387
									PriceAtDate priceAtDate= new PriceAtDate();
396
									PriceAtDate priceAtDate= new PriceAtDate();
388
									priceAtDate.setDate(date);
397
									priceAtDate.setDate(date);
389
									priceAtDate.setPrice(ourPrice);
398
									priceAtDate.setPrice(ourPrice);
390
									itemIdOurPriceMap.put(item_id,priceAtDate);
399
									itemIdOurPriceMap.put(item_id,priceAtDate);
391
								}
400
								}
392
							}
401
							}
393
							if(nextLine[31].length() >0){
402
							if(nextLine[31].length() >0){
394
								salePrice = Double.parseDouble(nextLine[31]);
403
								salePrice = Double.parseDouble(nextLine[31]);
-
 
404
								if(itemIdSalePriceMap.containsKey(item_id) ){
395
								if(itemIdSalePriceMap.containsKey(item_id) && itemIdSalePriceMap.get(item_id).getDate().after(date)){
405
									if(itemIdSalePriceMap.get(item_id).getDate().getTime() < date.getTime()){
396
									PriceAtDate priceAtDate= new PriceAtDate();
406
										PriceAtDate priceAtDate= new PriceAtDate();
397
									priceAtDate.setDate(date);
407
										priceAtDate.setDate(date);
398
									priceAtDate.setPrice(salePrice);
408
										priceAtDate.setPrice(salePrice);
399
									itemIdOurPriceMap.put(item_id,priceAtDate);
409
										itemIdSalePriceMap.put(item_id,priceAtDate);
-
 
410
									}
400
								}
411
								}
401
								else{	
412
								else{	
402
									PriceAtDate priceAtDate= new PriceAtDate();
413
									PriceAtDate priceAtDate= new PriceAtDate();
403
									priceAtDate.setDate(date);
414
									priceAtDate.setDate(date);
404
									priceAtDate.setPrice(salePrice);
415
									priceAtDate.setPrice(salePrice);
405
									itemIdSalePriceMap.put(item_id,priceAtDate);
416
									itemIdSalePriceMap.put(item_id,priceAtDate);
406
								}
417
								}
407
							}
418
							}
408
							if(nextLine[32].length() >0){
419
							if(nextLine[32].length() >0){
409
								minFBAPrice = Double.parseDouble(nextLine[32]);
420
								minFBAPrice = Double.parseDouble(nextLine[32]);
-
 
421
								if(itemIdminFBAPriceMap.containsKey(item_id)){
410
								if(itemIdminFBAPriceMap.containsKey(item_id) && itemIdminFBAPriceMap.get(item_id).getDate().after(date)){
422
									if(itemIdminFBAPriceMap.get(item_id).getDate().getTime() < date.getTime()){
411
									PriceAtDate priceAtDate= new PriceAtDate();
423
										PriceAtDate priceAtDate= new PriceAtDate();
412
									priceAtDate.setDate(date);
424
										priceAtDate.setDate(date);
413
									priceAtDate.setPrice(minFBAPrice);
425
										priceAtDate.setPrice(minFBAPrice);
414
									itemIdOurPriceMap.put(item_id,priceAtDate);
426
										itemIdminFBAPriceMap.put(item_id,priceAtDate);
-
 
427
									}
415
								}
428
								}
416
								else{	
429
								else{	
417
									PriceAtDate priceAtDate= new PriceAtDate();
430
									PriceAtDate priceAtDate= new PriceAtDate();
418
									priceAtDate.setDate(date);
431
									priceAtDate.setDate(date);
419
									priceAtDate.setPrice(minFBAPrice);
432
									priceAtDate.setPrice(minFBAPrice);
420
									itemIdminFBAPriceMap.put(item_id,priceAtDate);
433
									itemIdminFBAPriceMap.put(item_id,priceAtDate);
421
								}
434
								}
422
							}
435
							}
423
							if(nextLine[34].length() >0){
436
							if(nextLine[34].length() >0){
424
								minMFNPrice = Double.parseDouble(nextLine[34]);
437
								minMFNPrice = Double.parseDouble(nextLine[34]);
-
 
438
								if(itemIdminMFNPriceMap.containsKey(item_id)){
425
								if(itemIdminMFNPriceMap.containsKey(item_id) && itemIdminMFNPriceMap.get(item_id).getDate().after(date)){
439
									if(itemIdminMFNPriceMap.get(item_id).getDate().getTime() < date.getTime()){
426
									PriceAtDate priceAtDate= new PriceAtDate();
440
										PriceAtDate priceAtDate= new PriceAtDate();
427
									priceAtDate.setDate(date);
441
										priceAtDate.setDate(date);
428
									priceAtDate.setPrice(minMFNPrice);
442
										priceAtDate.setPrice(minMFNPrice);
429
									itemIdOurPriceMap.put(item_id,priceAtDate);
443
										itemIdminMFNPriceMap.put(item_id,priceAtDate);
-
 
444
									}
430
								}
445
								}
431
								else{	
446
								else{	
432
									PriceAtDate priceAtDate= new PriceAtDate();
447
									PriceAtDate priceAtDate= new PriceAtDate();
433
									priceAtDate.setDate(date);
448
									priceAtDate.setDate(date);
434
									priceAtDate.setPrice(minMFNPrice);
449
									priceAtDate.setPrice(minMFNPrice);
Line 450... Line 465...
450
							}
465
							}
451
							else{
466
							else{
452
								oos=false;
467
								oos=false;
453
							}
468
							}
454
							Long item_id = entry1.getKey();
469
							Long item_id = entry1.getKey();
-
 
470
							Amazonlisted amazon_item=catalogClient.getAmazonItemDetails(item_id);
-
 
471
							if(amazon_item.getItemid()==0){
-
 
472
								continue;
-
 
473
							}
455
							System.out.println(orderDate +","+entry1.getKey()+","+entry1.getValue()+","+ inventory +","+ oos+","+itemIdSalePriceMap.get(item_id)+","+itemIdminFBAPriceMap.get(item_id)+","+itemIdminMFNPriceMap.get(item_id));
474
							System.out.println(orderDate +","+entry1.getKey()+","+entry1.getValue()+","+ inventory +","+ oos+","+itemIdSalePriceMap.get(item_id)+","+itemIdminFBAPriceMap.get(item_id)+","+itemIdminMFNPriceMap.get(item_id));
456
							AmazonFbaSalesSnapshot amazonfbasalessnapshot = new AmazonFbaSalesSnapshot();
475
							AmazonFbaSalesSnapshot amazonfbasalessnapshot = new AmazonFbaSalesSnapshot();
457
							amazonfbasalessnapshot.setDateOfSale(orderDate.getTime());
476
							amazonfbasalessnapshot.setDateOfSale(orderDate.getTime());
458
							amazonfbasalessnapshot.setItem_id(entry1.getKey());
477
							amazonfbasalessnapshot.setItem_id(entry1.getKey());
459
							amazonfbasalessnapshot.setTotalOrderCount(entry1.getValue().getPromotionOrderCount());
478
							amazonfbasalessnapshot.setTotalOrderCount(entry1.getValue().getPromotionOrderCount());
460
							amazonfbasalessnapshot.setTotalOrderCount(entry1.getValue().getTotalOrderCount());
479
							amazonfbasalessnapshot.setTotalOrderCount(entry1.getValue().getTotalOrderCount());
461
							amazonfbasalessnapshot.setTotalSale(entry1.getValue().getTotalSale());
480
							amazonfbasalessnapshot.setTotalSale(entry1.getValue().getTotalSale());
462
							amazonfbasalessnapshot.setPromotionSale(entry1.getValue().getTotalPromotionSale());
481
							amazonfbasalessnapshot.setPromotionSale(entry1.getValue().getTotalPromotionSale());
463
							amazonfbasalessnapshot.setIsOutOfStock(oos);
482
							amazonfbasalessnapshot.setIsOutOfStock(oos);
464
							Amazonlisted amazon_item=null;
-
 
465
							if(catalogClient.getAmazonItemDetails(item_id)!=null){
-
 
466
								amazon_item = catalogClient.getAmazonItemDetails(item_id);
-
 
467
							}
-
 
468
							else{ 
-
 
469
								continue;
-
 
470
							}
-
 
471
							if(itemIdSalePriceMap.containsKey(item_id) && itemIdSalePriceMap.get(item_id).getPrice()!=0){
483
							if(itemIdSalePriceMap.containsKey(item_id) && itemIdSalePriceMap.get(item_id).getPrice()!=0){
472
								amazonfbasalessnapshot.setSalePrice(itemIdSalePriceMap.get(item_id).getPrice());
484
								amazonfbasalessnapshot.setSalePrice(itemIdSalePriceMap.get(item_id).getPrice());
-
 
485
								amazonfbasalessnapshot.setSalePriceSnapshotDate(itemIdSalePriceMap.get(item_id).getDate().getTime());
473
							}
486
							}
474
							else{
487
							else{
475
								amazonfbasalessnapshot.setSalePrice(0.0);
488
								amazonfbasalessnapshot.setSalePrice(0.0);
-
 
489
								amazonfbasalessnapshot.setSalePriceSnapshotDate(0);
476
							}
490
							}
477
							if(itemIdminMFNPriceMap.containsKey(item_id) && itemIdminMFNPriceMap.get(item_id).getPrice()!=0){
491
							if(itemIdminMFNPriceMap.containsKey(item_id) && itemIdminMFNPriceMap.get(item_id).getPrice()!=0){
478
								amazonfbasalessnapshot.setMinMfnPrice(itemIdminMFNPriceMap.get(item_id).getPrice());
492
								amazonfbasalessnapshot.setMinMfnPrice(itemIdminMFNPriceMap.get(item_id).getPrice());
-
 
493
								amazonfbasalessnapshot.setMinMfnPriceSnapshotDate(itemIdminMFNPriceMap.get(item_id).getDate().getTime());
479
							}
494
							}
480
							else{
495
							else{
481
								amazonfbasalessnapshot.setMinMfnPrice(0.0);
496
								amazonfbasalessnapshot.setMinMfnPrice(0.0);
-
 
497
								amazonfbasalessnapshot.setMinMfnPriceSnapshotDate(0);
482
							}
498
							}
483
							if(itemIdminFBAPriceMap.containsKey(item_id) && itemIdminFBAPriceMap.get(item_id).getPrice()!=0){
499
							if(itemIdminFBAPriceMap.containsKey(item_id) && itemIdminFBAPriceMap.get(item_id).getPrice()!=0){
484
								amazonfbasalessnapshot.setMinFbaPrice(itemIdminFBAPriceMap.get(item_id).getPrice());
500
								amazonfbasalessnapshot.setMinFbaPrice(itemIdminFBAPriceMap.get(item_id).getPrice());
-
 
501
								amazonfbasalessnapshot.setMinFbaPriceSnapshotDate(itemIdminFBAPriceMap.get(item_id).getDate().getTime());
485
							}
502
							}
486
							else{
503
							else{
487
								amazonfbasalessnapshot.setMinFbaPrice(0.0);
504
								amazonfbasalessnapshot.setMinFbaPrice(0.0);
-
 
505
								amazonfbasalessnapshot.setMinFbaPriceSnapshotDate(0);
488
							}
506
							}
489
							if(itemIdOurPriceMap.containsKey(item_id) && itemIdOurPriceMap.get(item_id).getPrice()!=0){
507
							if(itemIdOurPriceMap.containsKey(item_id) && itemIdOurPriceMap.get(item_id).getPrice()!=0){
490
								amazonfbasalessnapshot.setOurPrice(itemIdOurPriceMap.get(item_id).getPrice());
508
								amazonfbasalessnapshot.setOurPrice(itemIdOurPriceMap.get(item_id).getPrice());
-
 
509
								amazonfbasalessnapshot.setOurPriceSnapshotDate(itemIdOurPriceMap.get(item_id).getDate().getTime());
491
							}
510
							}
492
							else{
511
							else{
493
								amazonfbasalessnapshot.setOurPrice(amazon_item.getFbaPrice());
512
								amazonfbasalessnapshot.setOurPrice(amazon_item.getFbaPrice());
-
 
513
								amazonfbasalessnapshot.setOurPriceSnapshotDate(0);
494
							}
514
							}
495
							amazonfbasalessnapshot.setAmazonFbaInventory(inventory);
515
							amazonfbasalessnapshot.setAmazonFbaInventory(inventory);
496
							transactionClient.addOrUpdateAmazonFbaSalesSnapshot(amazonfbasalessnapshot);
516
							transactionClient.addOrUpdateAmazonFbaSalesSnapshot(amazonfbasalessnapshot);
497
						}
517
						}
498
					}
518
					}