Subversion Repositories SmartDukaan

Rev

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

Rev 35320 Rev 35335
Line 676... Line 676...
676
        model.addAttribute("loanCountMap", loanCountMap);
676
        model.addAttribute("loanCountMap", loanCountMap);
677
        return "partner-wise-loan-summary";
677
        return "partner-wise-loan-summary";
678
    }
678
    }
679
 
679
 
680
    @RequestMapping(value = "/getPartnerStateWiseLoanSummary", method = RequestMethod.GET)
680
    @RequestMapping(value = "/getPartnerStateWiseLoanSummary", method = RequestMethod.GET)
681
    public String getPartnerStateWiseLoanSummary(HttpServletRequest request, @RequestParam LoanSummaryType loanSummaryType, @RequestParam String stateName, @RequestParam(required = false) Integer days, Model model) throws ProfitMandiBusinessException {
681
    public String getPartnerStateWiseLoanSummary(HttpServletRequest request, @RequestParam LoanSummaryType loanSummaryType, @RequestParam String stateName, @RequestParam(required = false) Integer fromDays, @RequestParam(required = false) Integer toDays, Model model) throws ProfitMandiBusinessException {
682
        Map<Integer, FofoReportingModel> fofoReportingModelMap = csService.getPartnerIdSalesHeaders();
682
        Map<Integer, FofoReportingModel> fofoReportingModelMap = csService.getPartnerIdSalesHeaders();
683
        List<Loan> loans = loanRepository.selectAllStateWiseActiveLoan(stateName);
683
        List<Loan> loans = loanRepository.selectAllStateWiseActiveLoan(stateName);
684
        if (loanSummaryType.equals(LoanSummaryType.DEFAULT_LOAN)) {
684
        if (loanSummaryType.equals(LoanSummaryType.DEFAULT_LOAN)) {
685
            loans = loans.stream().filter(x -> x.isDefault()).collect(Collectors.toList());
685
            loans = loans.stream().filter(x -> x.isDefault()).collect(Collectors.toList());
686
        } else if (loanSummaryType.equals(LoanSummaryType.DUE_LOAN)) {
686
        } else if (loanSummaryType.equals(LoanSummaryType.DUE_LOAN)) {
687
            loans = loans.stream().filter(x -> x.isOverdue()).collect(Collectors.toList());
687
            loans = loans.stream().filter(x -> x.isOverdue()).collect(Collectors.toList());
688
        }
688
        }
689
 
689
 
690
        if (days != null) {
690
        // Apply aging filter
-
 
691
        if (fromDays != null && toDays != null) {
691
            loans = loans.stream()
692
            loans = loans.stream()
692
                    .filter(x -> x.getLoanAgeInDays() >= days)   // your logic
693
                    .filter(x -> x.getLoanAgeInDays() >= fromDays &&
-
 
694
                            x.getLoanAgeInDays() <= toDays)
693
                    .collect(Collectors.toList());
695
                    .collect(Collectors.toList());
-
 
696
 
-
 
697
        } else if (fromDays != null) {
-
 
698
            loans = loans.stream()
-
 
699
                    .filter(x -> x.getLoanAgeInDays() >= fromDays)
-
 
700
                    .collect(Collectors.toList());
-
 
701
 
694
        }
702
        }
695
 
703
 
696
        List<Integer> fofoIds = loans.stream().map(x -> x.getFofoId()).collect(Collectors.toList());
704
        List<Integer> fofoIds = loans.stream().map(x -> x.getFofoId()).collect(Collectors.toList());
697
        Map<Integer, Double> fofoIdLoansMap = loans.stream().collect(Collectors.groupingBy(x -> x.getFofoId(), Collectors.summingDouble(x -> x.getPendingAmount().doubleValue())));
705
        Map<Integer, Double> fofoIdLoansMap = loans.stream().collect(Collectors.groupingBy(x -> x.getFofoId(), Collectors.summingDouble(x -> x.getPendingAmount().doubleValue())));
698
        Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(fofoIds);
706
        Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(fofoIds);