コード例 #1
0
 /**
  * Show the form for creating a new loanrepayment
  *
  * @return Response
  */
 public function create($id)
 {
     $loanaccount = Loanaccount::findOrFail($id);
     $loanbalance = Loantransaction::getLoanBalance($loanaccount);
     $principal_due = Loantransaction::getPrincipalDue($loanaccount);
     $interest = Loanaccount::getInterestAmount($loanaccount);
     $interest_due = Loantransaction::getInterestDue($loanaccount);
     return View::make('loanrepayments.create', compact('loanaccount', 'principal_due', 'interest_due', 'loanbalance', 'interest'));
 }
コード例 #2
0
ファイル: Loanaccount.php プロジェクト: kenkode/xaraerp
 public static function getEMP($loanaccount)
 {
     $loanamount = Loanaccount::getLoanAmount($loanaccount);
     if ($loanaccount->repayment_duration > 0) {
         $period = $loanaccount->repayment_duration;
     } else {
         $period = $loanaccount->period;
     }
     if ($loanaccount->loanproduct->amortization == 'EP') {
         if ($loanaccount->loanproduct->formula == 'RB') {
             $principal = $loanaccount->amount_disbursed + $loanaccount->top_up_amount;
             $principal = $principal / $period;
             $interest = Loantransaction::getLoanBalance($loanaccount) * ($loanaccount->loanproduct->rate / 100);
             $mp = $principal + $interest;
         }
         if ($loanaccount->loanproduct->formula == 'SL') {
             $mp = $loanamount / $period;
         }
     }
     if ($loanaccount->loanproduct->amortization == 'EI') {
         $mp = $loanamount / $loanaccount->repayment_duration;
     }
     return $mp;
 }
コード例 #3
0
 public function receipt($id)
 {
     $transaction = Loantransaction::findOrFail($id);
     $organization = Organization::findOrFail(1);
     $pdf = PDF::loadView('pdf.loanreports.receipt', compact('transaction', 'organization'))->setPaper('a5')->setOrientation('potrait');
     return $pdf->stream('receipt.pdf');
 }
コード例 #4
0
ファイル: Loantransaction.php プロジェクト: kenkode/xaraerp
 public static function topupLoan($loanaccount, $amount, $date)
 {
     $transaction = new Loantransaction();
     $transaction->loanaccount()->associate($loanaccount);
     $transaction->date = $date;
     $transaction->description = 'loan top up';
     $transaction->amount = $amount;
     $transaction->type = 'debit';
     $transaction->save();
     $account = Loanposting::getPostingAccount($loanaccount->loanproduct, 'disbursal');
     $data = array('credit_account' => $account['credit'], 'debit_account' => $account['debit'], 'date' => $date, 'amount' => $loanaccount->top_up_amount, 'initiated_by' => 'system', 'description' => 'loan top up');
     $journal = new Journal();
     $journal->journal_entry($data);
     Audit::logAudit($date, Confide::user()->username, 'loan to up', 'Loans', $amount);
 }
コード例 #5
0
 public function topup($id)
 {
     $data = Input::all();
     $date = Input::get('top_up_date');
     $amount = Input::get('amount');
     $loanaccount = Loanaccount::findOrFail($id);
     $loanaccount->is_top_up = true;
     $loanaccount->top_up_amount = $amount;
     $loanaccount->top_up_date = $date;
     $loanaccount->update();
     Loantransaction::topupLoan($loanaccount, $amount, $date);
     return Redirect::to('loans/show/' . $loanaccount->id);
 }
コード例 #6
0
ファイル: Loanrepayment.php プロジェクト: kenkode/xaraerp
 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);
 }