adamsaghy commented on code in PR #4770:
URL: https://github.com/apache/fineract/pull/4770#discussion_r2157038034


##########
fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTransactionRepository.java:
##########
@@ -367,4 +367,122 @@ SELECT COALESCE(SUM(CASE WHEN lt.typeOf = 
org.apache.fineract.portfolio.loanacco
             AND ltr.relationType = 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRelationTypeEnum.ADJUSTMENT
             """)
     List<LoanTransaction> 
findAdjustmentsForCapitalizedIncome(@Param("capitalizedIncome") LoanTransaction 
capitalizedIncome);
+
+    @Query("""
+            SELECT lt FROM LoanTransaction lt
+            WHERE lt.loan = :loan
+                AND lt.reversed = false
+                AND lt.typeOf NOT IN (
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.DISBURSEMENT,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.REPAYMENT_AT_DISBURSEMENT,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.INCOME_POSTING,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.CONTRA,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.MARKED_FOR_RESCHEDULING,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.ACCRUAL,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.ACCRUAL_ADJUSTMENT,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.ACCRUAL_ACTIVITY,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.APPROVE_TRANSFER,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.INITIATE_TRANSFER,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.REJECT_TRANSFER,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.WITHDRAW_TRANSFER,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.CHARGE_OFF,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.REAMORTIZE,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.REAGE,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.CAPITALIZED_INCOME_AMORTIZATION,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.CONTRACT_TERMINATION,
+                    
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType.CAPITALIZED_INCOME_AMORTIZATION_ADJUSTMENT
+                )
+            """)
+    List<LoanTransaction> 
findNonReversedPaymentTransactionsByLoan(@Param("loan") Loan loan);

Review Comment:
   I think we should rather provide the list of transaction types as list, so 
we can have common logics what will contains these transaction types and can be 
used as "single source of truth"... my concern is if we introduce a new loan 
transaction type, we need to add it multiple places...
   
   what do you think?



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