| 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 |
}
|