Subversion Repositories SmartDukaan

Rev

Rev 35803 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35803 Rev 35811
Line 3941... Line 3941...
3941
        LOGGER.info("Suggested Amount - {}", suggestedAmount);
3941
        LOGGER.info("Suggested Amount - {}", suggestedAmount);
3942
        sdCreditRequirement.setSuggestedLimit(suggestedAmount);
3942
        sdCreditRequirement.setSuggestedLimit(suggestedAmount);
3943
        if (!sdCreditRequirement.isHardLimit()) {
3943
        if (!sdCreditRequirement.isHardLimit()) {
3944
            sdCreditRequirement.setLimit(suggestedAmount);
3944
            sdCreditRequirement.setLimit(suggestedAmount);
3945
        }
3945
        }
3946
        BigDecimal utilizedLimit = sdCreditService.getUtilizationAmount(fofoId);
3946
        BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizationAmount);
3947
 
3947
 
3948
        BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizedLimit);
-
 
3949
 
-
 
3950
        LOGGER.info("utilizedLimit {} ", utilizedLimit);
3948
        LOGGER.info("utilizedLimit {} ", utilizationAmount);
3951
 
3949
 
3952
        LOGGER.info("availableLimit {} ", availableLimit);
3950
        LOGGER.info("availableLimit {} ", availableLimit);
3953
 
3951
 
3954
        sdCreditRequirement.setUtilizedAmount(utilizedLimit);
3952
        sdCreditRequirement.setUtilizedAmount(utilizationAmount);
3955
 
3953
 
3956
        sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
3954
        sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
3957
 
3955
 
3958
        if (creditAccount != null) {
3956
        if (creditAccount != null) {
3959
 
3957
 
Line 3970... Line 3968...
3970
        Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(true);
3968
        Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(true);
3971
        Map<Integer, BigDecimal> fofoSidbiLimitMap = sidbiService.getSuggestedLimitMap();
3969
        Map<Integer, BigDecimal> fofoSidbiLimitMap = sidbiService.getSuggestedLimitMap();
3972
        Map<Integer, SDCreditRequirement> sdCreditRequirementMap = sdCreditRequirementRepository.selectAll().stream().collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
3970
        Map<Integer, SDCreditRequirement> sdCreditRequirementMap = sdCreditRequirementRepository.selectAll().stream().collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
3973
        Map<Integer, CreditAccount> creditAccountMap = creditAccountRepository.selectAllByGateways(Arrays.asList(Gateway.SIDBI, Gateway.SDDIRECT))
3971
        Map<Integer, CreditAccount> creditAccountMap = creditAccountRepository.selectAllByGateways(Arrays.asList(Gateway.SIDBI, Gateway.SDDIRECT))
3974
                .stream().filter(x -> x.isActive()).collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
3972
                .stream().filter(x -> x.isActive()).collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
-
 
3973
        Map<Integer, BulkCreditSummary> bulkSummaryMap = sdCreditService.getCreditSummaryBulk();
3975
        for (Entry<Integer, CustomRetailer> customRetailerEntry : customRetailerMap.entrySet()) {
3974
        for (Entry<Integer, CustomRetailer> customRetailerEntry : customRetailerMap.entrySet()) {
3976
            int fofoId = customRetailerEntry.getKey();
3975
            int fofoId = customRetailerEntry.getKey();
3977
            LocalDateTime firstBillingDate = transactionRepository.getFirstBillingDate(fofoId);
3976
            LocalDateTime firstBillingDate = transactionRepository.getFirstBillingDate(fofoId);
3978
 
3977
 
3979
            CreditAccount creditAccount = creditAccountMap.get(fofoId);
3978
            CreditAccount creditAccount = creditAccountMap.get(fofoId);
-
 
3979
            BulkCreditSummary bulkSummary = bulkSummaryMap.get(fofoId);
3980
            BigDecimal utilizationAmount = sdCreditService.getUtilizationAmount(fofoId);
3980
            BigDecimal utilizationAmount = bulkSummary != null ? bulkSummary.getUtilization() : BigDecimal.ZERO;
3981
            PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoId, 0);
3981
            PartnerDailyInvestment partnerDailyInvestment = partnerInvestmentService.getInvestment(fofoId, 0);
3982
            BigDecimal suggestedAmount = this.getSuggestedAmount(creditAccount, partnerDailyInvestment, utilizationAmount, fofoSidbiLimitMap.get(fofoId));
3982
            BigDecimal suggestedAmount = this.getSuggestedAmount(creditAccount, partnerDailyInvestment, utilizationAmount, fofoSidbiLimitMap.get(fofoId));
3983
            SDCreditRequirement sdCreditRequirement = sdCreditRequirementMap.get(fofoId);
3983
            SDCreditRequirement sdCreditRequirement = sdCreditRequirementMap.get(fofoId);
3984
 
3984
 
3985
            LOGGER.info("suggestedAmount {} ", suggestedAmount);
3985
            LOGGER.info("suggestedAmount {} ", suggestedAmount);
Line 4002... Line 4002...
4002
 
4002
 
4003
            sdCreditRequirement.setSuggestedLimit(suggestedAmount);
4003
            sdCreditRequirement.setSuggestedLimit(suggestedAmount);
4004
            if (!sdCreditRequirement.isHardLimit()) {
4004
            if (!sdCreditRequirement.isHardLimit()) {
4005
                sdCreditRequirement.setLimit(suggestedAmount);
4005
                sdCreditRequirement.setLimit(suggestedAmount);
4006
            }
4006
            }
4007
            BigDecimal utilizedLimit = sdCreditService.getUtilizationAmount(fofoId);
-
 
4008
 
4007
 
4009
            BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizedLimit);
4008
            BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizationAmount);
4010
 
4009
 
4011
            LOGGER.info("utilizedLimit {} ", utilizedLimit);
4010
            LOGGER.info("utilizedLimit {} ", utilizationAmount);
4012
 
4011
 
4013
            LOGGER.info("availableLimit {} ", availableLimit);
4012
            LOGGER.info("availableLimit {} ", availableLimit);
4014
 
4013
 
4015
            sdCreditRequirement.setUtilizedAmount(utilizedLimit);
4014
            sdCreditRequirement.setUtilizedAmount(utilizationAmount);
4016
 
4015
 
4017
            sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
4016
            sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
4018
 
4017
 
4019
            if (creditAccount != null) {
4018
            if (creditAccount != null) {
4020
 
4019