Subversion Repositories SmartDukaan

Rev

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

Rev 30922 Rev 30923
Line 96... Line 96...
96
 
96
 
97
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(true);
97
		Map<Integer, CustomRetailer> customRetailerMap = retailerService.getFofoRetailers(true);
98
 
98
 
99
		Map<Integer, SDCreditRequirement> sdCreditRequirementMap = sdCreditRequirementRepository.selectAll().stream()
99
		Map<Integer, SDCreditRequirement> sdCreditRequirementMap = sdCreditRequirementRepository.selectAll().stream()
100
				.collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
100
				.collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
101
		Map<Integer, CurrentPartnerDailyInvestment> currentPartnerDailyInvestmentMap = currentPartnerDailyInvestmentRepository
-
 
102
				.selectAll().stream().collect(Collectors.toMap(x -> x.getFofoId(), x -> x));
-
 
103
 
-
 
104
		for (Entry<Integer, CustomRetailer> customRetailerEntry : customRetailerMap.entrySet()) {
101
		for (Entry<Integer, CustomRetailer> customRetailerEntry : customRetailerMap.entrySet()) {
105
			int fofoId = customRetailerEntry.getKey();
102
			int fofoId = customRetailerEntry.getKey();
106
 
103
 
107
			SDCreditRequirement sdCreditRequirement = sdCreditRequirementMap.get(customRetailerEntry.getKey());
104
			SDCreditRequirement sdCreditRequirement = sdCreditRequirementMap.get(customRetailerEntry.getKey());
108
 
105
 
109
			CurrentPartnerDailyInvestment currentPartnerDailyInvestment = currentPartnerDailyInvestmentMap.get(fofoId);
-
 
110
			BigDecimal suggestedAmount = BigDecimal.ZERO;
-
 
111
			if (currentPartnerDailyInvestment != null) {
106
			if (sdCreditRequirement != null) {
112
				suggestedAmount = BigDecimal.valueOf(currentPartnerDailyInvestment.getTotalInvestment() * 0.1);
-
 
113
			}
-
 
114
 
107
 
115
			if (suggestedAmount.doubleValue() > 200000) {
108
				BigDecimal utilizedLimit = new BigDecimal(sdCreditService.getUtilizationAmount(fofoId));
116
 
109
 
117
				suggestedAmount = BigDecimal.valueOf(200000);
110
				BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizedLimit);
118
 
111
 
119
			}
-
 
-
 
112
				LOGGER.info("utilizedLimit {} ", utilizedLimit);
120
 
113
 
121
			if (suggestedAmount.doubleValue() < 0) {
114
				LOGGER.info("availableLimit {} ", availableLimit);
122
				suggestedAmount = BigDecimal.ZERO;
-
 
123
			}
-
 
124
 
115
 
125
			LOGGER.info("suggestedAmount {} ", suggestedAmount);
116
				sdCreditRequirement.setUtilizedAmount(utilizedLimit);
-
 
117
 
-
 
118
				sdCreditRequirement.setAvailableLimit(availableLimit);
126
 
119
 
127
			if (sdCreditRequirement == null) {
-
 
128
				sdCreditRequirement = new SDCreditRequirement();
-
 
129
				sdCreditRequirement.setFofoId(fofoId);
-
 
130
				sdCreditRequirement.setCreditDays(15);
-
 
131
				sdCreditRequirement.setRisk(CreditRisk.NO_RISK);
-
 
132
				sdCreditRequirement.setInterestRate(BigDecimal.valueOf(0.05));
-
 
133
				sdCreditRequirement.setSuggestedLimit(suggestedAmount);
-
 
134
				sdCreditRequirement.setLimit(suggestedAmount);
-
 
135
				sdCreditRequirement.setUtilizedAmount(BigDecimal.ZERO);
-
 
136
				sdCreditRequirement.setAvailableLimit(suggestedAmount);
-
 
137
				sdCreditRequirement.setCreateTimestamp(LocalDateTime.now());
-
 
138
				sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
120
				sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
139
				sdCreditRequirementRepository.persist(sdCreditRequirement);
-
 
140
			}
121
			}
141
 
122
 
142
			sdCreditRequirement.setSuggestedLimit(suggestedAmount);
-
 
143
			sdCreditRequirement.setLimit(suggestedAmount);
-
 
144
			BigDecimal utilizedLimit = new BigDecimal(sdCreditService.getUtilizationAmount(fofoId));
-
 
145
 
-
 
146
			BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizedLimit);
-
 
147
 
-
 
148
			LOGGER.info("utilizedLimit {} ", utilizedLimit);
-
 
149
 
-
 
150
			LOGGER.info("availableLimit {} ", availableLimit);
-
 
151
 
-
 
152
			sdCreditRequirement.setUtilizedAmount(utilizedLimit);
-
 
153
 
-
 
154
			sdCreditRequirement.setAvailableLimit(availableLimit);
-
 
155
 
-
 
156
			sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
-
 
157
 
-
 
158
		}
123
		}
159
 
124
 
160
		model.addAttribute("customRetailerMap", customRetailerMap);
125
		model.addAttribute("customRetailerMap", customRetailerMap);
161
		model.addAttribute("sdCreditRequirementMap", sdCreditRequirementMap);
126
		model.addAttribute("sdCreditRequirementMap", sdCreditRequirementMap);
162
		return "sd-credit";
127
		return "sd-credit";
163
 
-
 
164
	}
128
	}
165
 
129
 
166
	@RequestMapping(value = "/creditRequirement", method = RequestMethod.POST)
130
	@RequestMapping(value = "/creditRequirement", method = RequestMethod.POST)
167
	public String sdCredit(HttpServletRequest request, @RequestBody SdCreditRequirementModel sdCreditRequirementModel,
131
	public String sdCredit(HttpServletRequest request, @RequestBody SdCreditRequirementModel sdCreditRequirementModel,
168
			Model model) throws Exception {
132
			Model model) throws Exception {