Subversion Repositories SmartDukaan

Rev

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

Rev 33030 Rev 33182
Line 24... Line 24...
24
import com.spice.profitmandi.dao.repository.cs.CsService;
24
import com.spice.profitmandi.dao.repository.cs.CsService;
25
import com.spice.profitmandi.dao.repository.cs.RegionRepository;
25
import com.spice.profitmandi.dao.repository.cs.RegionRepository;
26
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
26
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
27
import com.spice.profitmandi.dao.repository.dtr.Mongo;
27
import com.spice.profitmandi.dao.repository.dtr.Mongo;
28
import com.spice.profitmandi.dao.repository.fofo.*;
28
import com.spice.profitmandi.dao.repository.fofo.*;
-
 
29
import com.spice.profitmandi.dao.repository.fofo.ActivatedImeiRepository;
29
import com.spice.profitmandi.dao.repository.transaction.PriceDropIMEIRepository;
30
import com.spice.profitmandi.dao.repository.transaction.PriceDropIMEIRepository;
30
import com.spice.profitmandi.dao.repository.transaction.PriceDropRepository;
31
import com.spice.profitmandi.dao.repository.transaction.PriceDropRepository;
31
import com.spice.profitmandi.dao.repository.transaction.TransactionRepository;
32
import com.spice.profitmandi.dao.repository.transaction.TransactionRepository;
32
import com.spice.profitmandi.service.authentication.RoleManager;
33
import com.spice.profitmandi.service.authentication.RoleManager;
33
import com.spice.profitmandi.service.inventory.InventoryService;
34
import com.spice.profitmandi.service.inventory.InventoryService;
Line 602... Line 603...
602
        model.addAttribute("response1", mvcResponseSender.createResponseString(false));
603
        model.addAttribute("response1", mvcResponseSender.createResponseString(false));
603
        return "response";
604
        return "response";
604
    }
605
    }
605
 
606
 
606
    @RequestMapping(value = "/getSchemesByImei", method = RequestMethod.GET)
607
    @RequestMapping(value = "/getSchemesByImei", method = RequestMethod.GET)
-
 
608
    public String getSchemesByImei(HttpServletRequest request,
607
    public String getSchemesByImei(HttpServletRequest request, @RequestParam(name = "searchImei", required = false, defaultValue = "") String searchImei, Model model) throws ProfitMandiBusinessException {
609
                                   @RequestParam (defaultValue = "") String searchImei, Model model) throws ProfitMandiBusinessException {
608
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
610
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
609
        if (org.apache.commons.lang3.StringUtils.isNotEmpty(searchImei)) {
611
        if (org.apache.commons.lang3.StringUtils.isNotEmpty(searchImei)) {
610
 
612
 
611
            List<Scheme> schemes = null;
613
            List<Scheme> schemes = null;
612
            List<SchemeInOut> schemeInOuts = null;
614
            List<SchemeInOut> schemeInOuts = null;
613
 
615
 
614
            InventoryItem inventoryItem = inventoryItemRepository.selectBySerialNumber(searchImei);
616
            InventoryItem inventoryItem = inventoryItemRepository.selectBySerialNumber(searchImei);
615
 
-
 
616
            int fofoId = inventoryItem.getFofoId();
617
            int fofoId = inventoryItem.getFofoId();
-
 
618
           List<ItemSaleSummaryModel> itemSaleSummaryModels = inventoryItemRepository.selectItemSaleSummary(new ArrayList<>(Arrays.asList(inventoryItem.getId())));
617
 
619
 
-
 
620
            List<FofoOrder> fofoOrders=fofoOrderRepository.selectByFofoIdAndSerialNumber(fofoId, searchImei ,null, null, 0, 0);
-
 
621
            LOGGER.info("fofoOrder {}", fofoOrders);
-
 
622
            List<FofoOrder> filterOrders = fofoOrders.stream().filter(x -> x.getCancelledTimestamp() == null).collect(Collectors.toList());
618
            CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
623
            CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
619
            Item item = itemRepository.selectById(inventoryItem.getItemId());
624
            Item item = itemRepository.selectById(inventoryItem.getItemId());
620
            Map<Integer, Scheme> schemeMap = new HashMap<>();
625
            Map<Integer, Scheme> schemeMap = new HashMap<>();
621
            double netEarnings = 0;
626
            double netEarnings = 0;
622
            if (inventoryItem != null) {
627
            if (inventoryItem != null) {
Line 624... Line 629...
624
                List<OfferPayout> offerPayouts = offerPayoutRepository.selectAllBySerialNumber(fofoId, searchImei);
629
                List<OfferPayout> offerPayouts = offerPayoutRepository.selectAllBySerialNumber(fofoId, searchImei);
625
                Map<Integer, CreateOfferRequest> offerRequestMap = offerPayouts.stream().map(x -> x.getOfferId())
630
                Map<Integer, CreateOfferRequest> offerRequestMap = offerPayouts.stream().map(x -> x.getOfferId())
626
                        .distinct().map(offerId -> offerService.getOffer(fofoId, offerId.intValue())).collect(Collectors.toMap(x -> x.getId(), x -> x));
631
                        .distinct().map(offerId -> offerService.getOffer(fofoId, offerId.intValue())).collect(Collectors.toMap(x -> x.getId(), x -> x));
627
 
632
 
628
                schemeInOuts = schemeInOutRepository.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItem.getId())));
633
                schemeInOuts = schemeInOutRepository.selectByInventoryItemIds(new HashSet<>(Arrays.asList(inventoryItem.getId())));
-
 
634
                ActivatedImei activatedImei = activatedImeiRepository.selectBySerialNumber(searchImei);
629
 
635
 
630
                if (!schemeInOuts.isEmpty()) {
636
                if (!schemeInOuts.isEmpty()) {
631
                    netEarnings += schemeInOuts.stream().filter(x -> x.getStatus().equals(SchemePayoutStatus.CREDITED)).collect(Collectors.summingDouble(x -> x.getAmount()));
637
                    netEarnings += schemeInOuts.stream().filter(x -> x.getStatus().equals(SchemePayoutStatus.CREDITED)).collect(Collectors.summingDouble(x -> x.getAmount()));
632
                    List<Integer> schemeIds = schemeInOuts.stream().map(x -> x.getSchemeId()).collect(Collectors.toList());
638
                    List<Integer> schemeIds = schemeInOuts.stream().map(x -> x.getSchemeId()).collect(Collectors.toList());
633
 
639
 
Line 640... Line 646...
640
                        }
646
                        }
641
                    }
647
                    }
642
 
648
 
643
                    schemeMap = schemes.stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
649
                    schemeMap = schemes.stream().collect(Collectors.toMap(x -> x.getId(), x -> x));
644
                }
650
                }
645
                List<PriceDropIMEI> priceDropImeis = priceDropIMEIRepository.selectByFofoIdImei(loginDetails.getFofoId(), searchImei);
651
                List<PriceDropIMEI> priceDropImeis = priceDropIMEIRepository.selectByFofoIdImei(fofoId, searchImei);
646
                if (priceDropImeis.size() > 0) {
652
                if (priceDropImeis.size() > 0) {
647
 
653
 
648
                    for (PriceDropIMEI priceDropIMEI : priceDropImeis) {
654
                    for (PriceDropIMEI priceDropIMEI : priceDropImeis) {
649
                        int priceDropId = priceDropIMEI.getPriceDropId();
655
                        int priceDropId = priceDropIMEI.getPriceDropId();
650
                        PriceDrop pd = priceDropRepository.selectById(priceDropId);
656
                        PriceDrop pd = priceDropRepository.selectById(priceDropId);
Line 654... Line 660...
654
                }
660
                }
655
                netEarnings += offerPayouts.stream().collect(Collectors.summingDouble(x -> x.getAmount()));
661
                netEarnings += offerPayouts.stream().collect(Collectors.summingDouble(x -> x.getAmount()));
656
                model.addAttribute("offerPayouts", offerPayouts);
662
                model.addAttribute("offerPayouts", offerPayouts);
657
                model.addAttribute("offerRequestMap", offerRequestMap);
663
                model.addAttribute("offerRequestMap", offerRequestMap);
658
                model.addAttribute("inventoryItem", inventoryItem);
664
                model.addAttribute("inventoryItem", inventoryItem);
-
 
665
                model.addAttribute("itemSaleSummaryModels", itemSaleSummaryModels);
-
 
666
                model.addAttribute("fofoOrders", filterOrders);
659
                model.addAttribute("inventoryItem", inventoryItem);
667
                model.addAttribute("activatedImei", activatedImei);
-
 
668
 
-
 
669
 
660
 
670
 
661
            }
671
            }
662
            LOGGER.info("Net Earnings {}", netEarnings);
672
            LOGGER.info("Net Earnings {}", netEarnings);
663
            model.addAttribute("netEarnings", netEarnings);
673
            model.addAttribute("netEarnings", netEarnings);
664
            model.addAttribute("fofoId", fofoId);
674
            model.addAttribute("fofoId", fofoId);
665
            model.addAttribute("schemeMap", schemeMap);
675
            model.addAttribute("schemeMap", schemeMap);
666
            model.addAttribute("item", item);
676
            model.addAttribute("item", item);
667
            model.addAttribute("schemeInOut", schemeInOuts);
677
            model.addAttribute("schemeInOut", schemeInOuts);
668
            model.addAttribute("schemes", schemes);
678
            model.addAttribute("schemes", schemes);
669
            model.addAttribute("customRetailer", customRetailer);
679
            model.addAttribute("customRetailer", customRetailer);
-
 
680
            model.addAttribute("searchImei", searchImei);
670
        }
681
        }
671
        return "scheme-imei-history";
682
        return "scheme-imei-history";
672
    }
683
    }
673
 
684
 
674
 
685
 
675
    @Autowired
686
    @Autowired
676
    PriceDropController priceDropController;
687
    PriceDropController priceDropController;
677
 
688
 
-
 
689
    @Autowired
-
 
690
    ActivatedImeiRepository activatedImeiRepository;
-
 
691
 
678
    @RequestMapping(value = "/getSchemes", method = RequestMethod.GET)
692
    @RequestMapping(value = "/getSchemes", method = RequestMethod.GET)
679
    public String getSchemes(HttpServletRequest request, @RequestParam(name = "offset", defaultValue = "0") int offset,
693
    public String getSchemes(HttpServletRequest request, @RequestParam(name = "offset", defaultValue = "0") int offset,
680
                             @RequestParam(required = false) LocalDate date,
694
                             @RequestParam(required = false) LocalDate date,
681
                             @RequestParam(name = "limit", required = false, defaultValue = "30") int limit,
695
                             @RequestParam(name = "limit", required = false, defaultValue = "30") int limit,
682
                             @RequestParam(name = "searchModel", required = false, defaultValue = "0") int searchModel,
696
                             @RequestParam(name = "searchModel", required = false, defaultValue = "0") int searchModel,