Subversion Repositories SmartDukaan

Rev

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

Rev 35534 Rev 35578
Line 177... Line 177...
177
 
177
 
178
        LOGGER.info("sdCreditRequirementModel {} ", sdCreditRequirementModel);
178
        LOGGER.info("sdCreditRequirementModel {} ", sdCreditRequirementModel);
179
 
179
 
180
        int fofoId = sdCreditRequirementModel.getFofoId();
180
        int fofoId = sdCreditRequirementModel.getFofoId();
181
 
181
 
182
        SDCreditRequirement sdCreditRequirement = sdCreditRequirementRepository.selectByFofoId(sdCreditRequirementModel.getFofoId());
182
        SDCreditRequirement sdCreditRequirement = sdCreditRequirementRepository.selectByFofoId(fofoId);
183
 
183
 
184
        // sdCreditRequirement.setSecurityCheck(2);
-
 
185
        sdCreditRequirement.setSecurityCheck(sdCreditRequirementModel.getSecurityCheck());
184
        sdCreditRequirement.setSecurityCheck(sdCreditRequirementModel.getSecurityCheck());
186
 
185
 
187
 
-
 
188
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
186
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
189
        boolean isTarun = loginDetails.getEmailId().equals("tarun.verma@smartdukaan.com") || loginDetails.getEmailId().equals("kamini.sharma@smartdukaan.com");
187
        boolean isTarun = loginDetails.getEmailId().equals("tarun.verma@smartdukaan.com") || loginDetails.getEmailId().equals("kamini.sharma@smartdukaan.com");
190
        sdCreditRequirement.setInterestRate(sdCreditRequirementModel.getInterest());
188
        sdCreditRequirement.setInterestRate(sdCreditRequirementModel.getInterest());
191
        sdCreditRequirement.setFreeDays(sdCreditRequirementModel.getFreeDays());
189
        sdCreditRequirement.setFreeDays(sdCreditRequirementModel.getFreeDays());
192
        BigDecimal utilizedLimit = sdCreditService.getUtilizationAmount(fofoId);
190
        BigDecimal utilizedLimit = sdCreditService.getUtilizationAmount(fofoId);
193
        BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizedLimit);
-
 
194
        sdCreditRequirement.setUtilizedAmount(utilizedLimit);
191
        sdCreditRequirement.setUtilizedAmount(utilizedLimit);
-
 
192
 
195
        if (isTarun) {
193
        if (isTarun) {
196
            if (sdCreditRequirement.getLimit() != sdCreditRequirementModel.getLimit()) {
194
            if (sdCreditRequirement.getLimit() != sdCreditRequirementModel.getLimit()) {
197
                sdCreditRequirement.setLimit(sdCreditRequirementModel.getLimit());
195
                sdCreditRequirement.setLimit(sdCreditRequirementModel.getLimit());
198
                sdCreditRequirement.setHardLimit(true);
196
                sdCreditRequirement.setHardLimit(true);
199
                sdCreditService.updateMinInvestmentForHardLimit(sdCreditRequirement, true);
197
                sdCreditService.updateMinInvestmentForHardLimit(sdCreditRequirement, true);
200
            }
198
            }
-
 
199
        } else if (!sdCreditRequirement.isHardLimit()) {
-
 
200
            sdCreditRequirement.setLimit(sdCreditRequirementModel.getLimit());
201
        }
201
        }
202
 
202
 
203
        sdCreditRequirement.setLimit(sdCreditRequirementModel.getLimit());
-
 
204
        sdCreditRequirement.setCreditDays(15);
203
        sdCreditRequirement.setCreditDays(15);
205
        sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
204
        sdCreditRequirement.setUpdateTimestamp(LocalDateTime.now());
206
 
205
 
-
 
206
        // Calculate availableLimit AFTER limit may have changed
207
        if (sdCreditRequirement.getSecurityCheck() > 0) {
207
        BigDecimal availableLimit = sdCreditRequirement.getLimit().subtract(utilizedLimit);
208
 
208
 
-
 
209
        if (sdCreditRequirement.getSecurityCheck() > 0) {
209
            CreditAccount creditAccount = creditAccountRepository.selectByFofoIdAndGateway(sdCreditRequirementModel.getFofoId(), Gateway.SDDIRECT);
210
            CreditAccount creditAccount = creditAccountRepository.selectByFofoIdAndGateway(fofoId, Gateway.SDDIRECT);
210
            if (creditAccount == null) {
211
            if (creditAccount == null) {
211
                creditAccount = new CreditAccount();
212
                creditAccount = new CreditAccount();
212
                creditAccount.setFofoId(sdCreditRequirementModel.getFofoId());
213
                creditAccount.setFofoId(fofoId);
213
                creditAccount.setGateway(Gateway.SDDIRECT);
214
                creditAccount.setGateway(Gateway.SDDIRECT);
214
                creditAccount.setCreditStatus(CreditStatus.SANCTIONED);
215
                creditAccount.setCreditStatus(CreditStatus.SANCTIONED);
215
                creditAccount.setActive(false);
216
                creditAccount.setActive(false);
216
 
-
 
217
                creditAccount.setUpdatedOn(LocalDateTime.now());
217
                creditAccount.setUpdatedOn(LocalDateTime.now());
218
 
-
 
219
                creditAccountRepository.persist(creditAccount);
218
                creditAccountRepository.persist(creditAccount);
220
            }
219
            }
221
            creditAccount.setInterestRate(sdCreditRequirement.getInterestRate().floatValue());
220
            creditAccount.setInterestRate(sdCreditRequirement.getInterestRate().floatValue());
222
            creditAccount.setSanctionedAmount(sdCreditRequirement.getLimit().floatValue());
221
            creditAccount.setSanctionedAmount(sdCreditRequirement.getLimit().floatValue());
223
            creditAccount.setAvailableAmount(availableLimit.floatValue());
222
            creditAccount.setAvailableAmount(availableLimit.floatValue());
224
            creditAccount.setFreeDays(sdCreditRequirement.getFreeDays());
223
            creditAccount.setFreeDays(sdCreditRequirement.getFreeDays());
225
            creditAccount.setUpdatedOn(LocalDateTime.now());
224
            creditAccount.setUpdatedOn(LocalDateTime.now());
226
        }
225
        }
227
        LOGGER.info("sdCreditRequirement {} ", sdCreditRequirement);
226
        LOGGER.info("sdCreditRequirement {} ", sdCreditRequirement);
228
 
227
 
229
        CustomRetailer customRetailer = retailerService.getFofoRetailer(sdCreditRequirementModel.getFofoId());
228
        CustomRetailer customRetailer = retailerService.getFofoRetailer(fofoId);
230
 
-
 
231
        sdCreditRequirement = sdCreditRequirementRepository.selectByFofoId(sdCreditRequirementModel.getFofoId());
-
 
232
 
229
 
233
        Map<Integer, SDCreditRequirement> sdCreditRequirementMap = new HashMap<>();
230
        Map<Integer, SDCreditRequirement> sdCreditRequirementMap = new HashMap<>();
234
        sdCreditRequirementMap.put(sdCreditRequirement.getFofoId(), sdCreditRequirement);
231
        sdCreditRequirementMap.put(sdCreditRequirement.getFofoId(), sdCreditRequirement);
235
        model.addAttribute("sdCreditRequirementMap", sdCreditRequirementMap);
232
        model.addAttribute("sdCreditRequirementMap", sdCreditRequirementMap);
236
        model.addAttribute("customRetailer", customRetailer);
233
        model.addAttribute("customRetailer", customRetailer);