Пример #1
0
 public static function offsetLoan($data)
 {
     $loanaccount_id = array_get($data, 'loanaccount_id');
     $loanaccount = Loanaccount::findorfail($loanaccount_id);
     $amount = array_get($data, 'amount');
     $date = array_get($data, 'date');
     $principal_bal = Loanaccount::getPrincipalBal($loanaccount);
     $interest_bal = Loanaccount::getInterestBal($loanaccount);
     //pay principal
     Loanrepayment::payPrincipal($loanaccount, $date, $principal_bal);
     //pay interest
     Loanrepayment::payInterest($loanaccount, $date, $interest_bal);
     Loantransaction::repayLoan($loanaccount, $amount, $date);
 }
Пример #2
0
 public static function getInterestAmount($loanaccount)
 {
     $principal = Loanaccount::getPrincipalBal($loanaccount);
     $rate = $loanaccount->interest_rate / 100;
     $time = $loanaccount->repayment_duration;
     $formula = $loanaccount->loanproduct->formula;
     if ($formula == 'SL') {
         $interest_amount = $principal * $rate * $time;
     }
     if ($formula == 'RB') {
         $principal_bal = $principal;
         $interest_amount = 0;
         $principal_pay = $principal / $time;
         for ($i = 1; $i <= $time; $i++) {
             $interest_amount = $interest_amount + $principal_bal * $rate;
             $principal_bal = $principal_bal - $principal_pay;
         }
     }
     return $interest_amount;
 }