Subversion Repositories SmartDukaan

Rev

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

Rev 28309 Rev 28312
Line 3... Line 3...
3
import java.time.LocalDateTime;
3
import java.time.LocalDateTime;
4
import java.time.LocalTime;
4
import java.time.LocalTime;
5
import java.time.format.DateTimeFormatter;
5
import java.time.format.DateTimeFormatter;
6
import java.util.ArrayList;
6
import java.util.ArrayList;
7
import java.util.Arrays;
7
import java.util.Arrays;
-
 
8
import java.util.Comparator;
8
import java.util.HashMap;
9
import java.util.HashMap;
9
import java.util.HashSet;
10
import java.util.HashSet;
10
import java.util.List;
11
import java.util.List;
11
import java.util.Map;
12
import java.util.Map;
12
import java.util.Optional;
13
import java.util.Optional;
Line 677... Line 678...
677
							fofoAvailabilityInfoMap.get(itemId).setMop((float) childItem.getDouble("mop_f"));
678
							fofoAvailabilityInfoMap.get(itemId).setMop((float) childItem.getDouble("mop_f"));
678
						}
679
						}
679
					} else {
680
					} else {
680
						FofoAvailabilityInfo fdi = new FofoAvailabilityInfo();
681
						FofoAvailabilityInfo fdi = new FofoAvailabilityInfo();
681
						fdi.setSellingPrice(sellingPrice);
682
						fdi.setSellingPrice(sellingPrice);
682
						fdi.setActive(childItem.getBoolean("active_b"));
-
 
683
						fdi.setMrp(childItem.getDouble("mrp_f"));
683
						fdi.setMrp(childItem.getDouble("mrp_f"));
684
						fdi.setMop((float) childItem.getDouble("mop_f"));
684
						fdi.setMop((float) childItem.getDouble("mop_f"));
685
						fdi.setColor(childItem.has("color_s") ? childItem.getString("color_s") : "");
685
						fdi.setColor(childItem.has("color_s") ? childItem.getString("color_s") : "");
686
						fdi.setTagId(childItem.getInt("tagId_i"));
686
						fdi.setTagId(childItem.getInt("tagId_i"));
687
						fdi.setItem_id(itemId);
687
						fdi.setItem_id(itemId);
Line 689... Line 689...
689
						cashBack = cashBack == null ? 0 : cashBack;
689
						cashBack = cashBack == null ? 0 : cashBack;
690
						fdi.setCashback(cashBack);
690
						fdi.setCashback(cashBack);
691
						fdi.setMinBuyQuantity(1);
691
						fdi.setMinBuyQuantity(1);
692
						int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0
692
						int ourStockAvailability = ourItemAvailabilityMap.get(itemId) == null ? 0
693
								: Math.max(0, ourItemAvailabilityMap.get(itemId));
693
								: Math.max(0, ourItemAvailabilityMap.get(itemId));
-
 
694
						fdi.setActive(ourStockAvailability > 0);
694
						int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0
695
						int partnerAvailability = partnerStockAvailabilityMap.get(itemId) == null ? 0
695
								: partnerStockAvailabilityMap.get(itemId);
696
								: partnerStockAvailabilityMap.get(itemId);
696
						fdi.setAvailability(Math.min(5, ourStockAvailability + partnerAvailability));
697
						fdi.setAvailability(Math.min(5, ourStockAvailability + partnerAvailability));
697
						fdi.setQuantityStep(1);
698
						fdi.setQuantityStep(1);
698
						fdi.setMaxQuantity(fdi.getAvailability());
699
						fdi.setMaxQuantity(fdi.getAvailability());
699
						fofoAvailabilityInfoMap.put(itemId, fdi);
700
						fofoAvailabilityInfoMap.put(itemId, fdi);
700
					}
701
					}
701
				}
702
				}
702
			}
703
			}
703
			if (fofoAvailabilityInfoMap.values().size() > 0) {
704
			if (fofoAvailabilityInfoMap.values().size() > 0) {
704
				ffdr.setItems(fofoAvailabilityInfoMap.values().stream()
705
				ffdr.setItems(fofoAvailabilityInfoMap.values().stream().sorted()
-
 
706
						.sorted(
-
 
707
								Comparator.comparing(FofoAvailabilityInfo::isActive).reversed()
705
						.sorted((x, y) -> y.getAvailability() - x.getAvailability()).collect(Collectors.toList()));
708
								.thenComparingInt(x->x.getAvailability())).collect(Collectors.toList()));
706
				dealResponse.add(ffdr);
709
				dealResponse.add(ffdr);
707
			}
710
			}
708
		}
711
		}
709
		return dealResponse.stream().sorted((x, y) -> {
712
		return dealResponse.stream().sorted((x, y) -> {
710
			return Math.min(y.getItems().get(0).getAvailability(), 1)
713
			return Math.min(y.getItems().get(0).getAvailability(), 1)