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