galovics commented on code in PR #2668:
URL: https://github.com/apache/fineract/pull/2668#discussion_r995534021


##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/delinquency/service/DelinquencyWritePlatformServiceImpl.java:
##########
@@ -134,8 +144,61 @@ public CommandProcessingResult 
deleteDelinquencyBucket(Long delinquencyBucketId,
                         "Data integrity issue with resource: " + 
delinquencyBucket.getId());
             }
             repositoryBucket.delete(delinquencyBucket);
+            return new 
CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(delinquencyBucket.getId()).build();
         }
-        return new 
CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(delinquencyBucket.getId()).build();
+        return new 
CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(delinquencyBucketId).build();
+    }
+
+    @Override
+    public LoanScheduleDelinquencyData 
getOverdueDays(LoanScheduleDelinquencyData loanScheduleDelinquencyData) {

Review Comment:
   This is definitely not gonna fly. We're introducing side effects on an input 
parameter. Please refactor this in a way that it's returning an object from the 
inside.



##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/delinquency/service/DelinquencyWritePlatformServiceImpl.java:
##########
@@ -134,8 +144,61 @@ public CommandProcessingResult 
deleteDelinquencyBucket(Long delinquencyBucketId,
                         "Data integrity issue with resource: " + 
delinquencyBucket.getId());
             }
             repositoryBucket.delete(delinquencyBucket);
+            return new 
CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(delinquencyBucket.getId()).build();
         }
-        return new 
CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(delinquencyBucket.getId()).build();
+        return new 
CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(delinquencyBucketId).build();
+    }
+
+    @Override
+    public LoanScheduleDelinquencyData 
getOverdueDays(LoanScheduleDelinquencyData loanScheduleDelinquencyData) {
+        final Loan loan = 
this.loanRepository.findOneWithNotFoundDetection(loanScheduleDelinquencyData.getLoanId());
+        loanScheduleDelinquencyData.setLoan(loan);
+        loanScheduleDelinquencyData.setOverdueDays(getOverdueDays(loan));
+        return loanScheduleDelinquencyData;
+    }
+
+    @Override
+    public Long getOverdueDays(Loan loan) {

Review Comment:
   Shouldn't we reuse a similar logic than in 
`LoanReadPlatformServiceImpl#retrieveAllOverdueInstallmentsForLoan`? Whats the 
logical difference from this?



##########
fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java:
##########
@@ -1698,9 +1696,32 @@ public LoanTermVariationsData mapRow(final ResultSet rs, 
@SuppressWarnings("unus
         }
     }
 
+    @Override
+    public Collection<LoanScheduleDelinquencyData> 
retrieveScheduleDelinquencyData(LocalDate businessLocalDate, List<Long> 
loanIds) {
+        LoanScheduleDelinquencyByTransactionMapper mapper = new 
LoanScheduleDelinquencyByTransactionMapper();
+        final StringBuilder sqlBuilder = new StringBuilder(400);

Review Comment:
   I don't think this SQL query is complicated enough to use native SQL. Let's 
go with a JPQL query.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to