commit
594d8569a9
@ -50,7 +50,7 @@ $echance++;
|
|||||||
$capital=$cap_rest;
|
$capital=$cap_rest;
|
||||||
while ($echance<=$nbterm) {
|
while ($echance<=$nbterm) {
|
||||||
|
|
||||||
$mens = round($object->calc_mens($capital,$rate,$nbterm-$echance+1),2,PHP_ROUND_HALF_UP);
|
$mens = round($object->calcMonthlyPayments($capital, $rate, $nbterm-$echance+1), 2, PHP_ROUND_HALF_UP);
|
||||||
|
|
||||||
$int = ($capital*($rate/12));
|
$int = ($capital*($rate/12));
|
||||||
$int = round($int,2,PHP_ROUND_HALF_UP);
|
$int = round($int,2,PHP_ROUND_HALF_UP);
|
||||||
@ -63,4 +63,3 @@ while ($echance<=$nbterm) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode($output);
|
echo json_encode($output);
|
||||||
|
|
||||||
|
|||||||
@ -68,7 +68,7 @@ class Loan extends CommonObject
|
|||||||
public $date_validation;
|
public $date_validation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int ID
|
* @var int Bank ID
|
||||||
*/
|
*/
|
||||||
public $fk_bank;
|
public $fk_bank;
|
||||||
|
|
||||||
@ -174,10 +174,10 @@ class Loan extends CommonObject
|
|||||||
if (isset($this->account_capital)) $this->account_capital = trim($this->account_capital);
|
if (isset($this->account_capital)) $this->account_capital = trim($this->account_capital);
|
||||||
if (isset($this->account_insurance)) $this->account_insurance = trim($this->account_insurance);
|
if (isset($this->account_insurance)) $this->account_insurance = trim($this->account_insurance);
|
||||||
if (isset($this->account_interest)) $this->account_interest = trim($this->account_interest);
|
if (isset($this->account_interest)) $this->account_interest = trim($this->account_interest);
|
||||||
if (isset($this->fk_bank)) $this->fk_bank=trim($this->fk_bank);
|
if (isset($this->fk_bank)) $this->fk_bank = (int) $this->fk_bank;
|
||||||
if (isset($this->fk_user_creat)) $this->fk_user_creat=trim($this->fk_user_creat);
|
if (isset($this->fk_user_creat)) $this->fk_user_creat = (int) $this->fk_user_creat;
|
||||||
if (isset($this->fk_user_modif)) $this->fk_user_modif=trim($this->fk_user_modif);
|
if (isset($this->fk_user_modif)) $this->fk_user_modif = (int) $this->fk_user_modif;
|
||||||
if (isset($this->fk_project)) $this->fk_project=trim($this->fk_project);
|
if (isset($this->fk_project)) $this->fk_project = (int) $this->fk_project;
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if (! $newcapital > 0 || empty($this->datestart) || empty($this->dateend))
|
if (! $newcapital > 0 || empty($this->datestart) || empty($this->dateend))
|
||||||
@ -461,9 +461,9 @@ class Loan extends CommonObject
|
|||||||
|
|
||||||
$tooltip = '<u>' . $langs->trans("ShowLoan") . '</u>';
|
$tooltip = '<u>' . $langs->trans("ShowLoan") . '</u>';
|
||||||
if (! empty($this->ref))
|
if (! empty($this->ref))
|
||||||
$tooltip .= '<br><b>' . $langs->trans('Ref') . ':</b> ' . $this->ref;
|
$tooltip .= '<br><strong>' . $langs->trans('Ref') . ':</strong> ' . $this->ref;
|
||||||
if (! empty($this->label))
|
if (! empty($this->label))
|
||||||
$tooltip .= '<br><b>' . $langs->trans('Label') . ':</b> ' . $this->label;
|
$tooltip .= '<br><strong>' . $langs->trans('Label') . ':</strong> ' . $this->label;
|
||||||
|
|
||||||
$linkstart = '<a href="'.DOL_URL_ROOT.'/loan/card.php?id='.$this->id.'" title="'.str_replace('\n', '', dol_escape_htmltag($tooltip, 1)).'" class="classfortooltip">';
|
$linkstart = '<a href="'.DOL_URL_ROOT.'/loan/card.php?id='.$this->id.'" title="'.str_replace('\n', '', dol_escape_htmltag($tooltip, 1)).'" class="classfortooltip">';
|
||||||
$linkend = '</a>';
|
$linkend = '</a>';
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2017 Florian HENRY <florian.henry@atm-consulting.fr>
|
/* Copyright (C) 2017 Florian HENRY <florian.henry@atm-consulting.fr>
|
||||||
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -39,20 +40,53 @@ class LoanSchedule extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $table_element='loan_schedule';
|
public $table_element='loan_schedule';
|
||||||
|
|
||||||
var $fk_loan;
|
/**
|
||||||
var $datec='';
|
* @var int Loan ID
|
||||||
var $tms='';
|
*/
|
||||||
var $datep='';
|
public $fk_loan;
|
||||||
var $amounts=array(); // Array of amounts
|
|
||||||
var $amount_capital; // Total amount of payment
|
/**
|
||||||
var $amount_insurance;
|
* @var string Create date
|
||||||
var $amount_interest;
|
*/
|
||||||
var $fk_typepayment;
|
public $datec='';
|
||||||
var $num_payment;
|
public $tms='';
|
||||||
var $fk_bank;
|
|
||||||
var $fk_user_creat;
|
/**
|
||||||
var $fk_user_modif;
|
* @var string Payment date
|
||||||
var $lines=array();
|
*/
|
||||||
|
public $datep='';
|
||||||
|
|
||||||
|
public $amounts=array(); // Array of amounts
|
||||||
|
public $amount_capital; // Total amount of payment
|
||||||
|
public $amount_insurance;
|
||||||
|
public $amount_interest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Payment Type ID
|
||||||
|
*/
|
||||||
|
public $fk_typepayment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Payment ID
|
||||||
|
*/
|
||||||
|
public $num_payment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Bank ID
|
||||||
|
*/
|
||||||
|
public $fk_bank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Bank ID
|
||||||
|
*/
|
||||||
|
public $fk_user_creat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int User ID
|
||||||
|
*/
|
||||||
|
public $fk_user_modif;
|
||||||
|
|
||||||
|
public $lines=array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated
|
* @deprecated
|
||||||
@ -65,7 +99,7 @@ class LoanSchedule extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
function __construct($db)
|
public function __construct($db)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
}
|
}
|
||||||
@ -77,7 +111,7 @@ class LoanSchedule extends CommonObject
|
|||||||
* @param User $user User making payment
|
* @param User $user User making payment
|
||||||
* @return int <0 if KO, id of payment if OK
|
* @return int <0 if KO, id of payment if OK
|
||||||
*/
|
*/
|
||||||
function create($user)
|
public function create($user)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -86,21 +120,21 @@ class LoanSchedule extends CommonObject
|
|||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
// Validate parameters
|
// Validate parameters
|
||||||
if (! $this->datepaid)
|
if (! $this->datep)
|
||||||
{
|
{
|
||||||
$this->error='ErrorBadValueForParameter';
|
$this->error='ErrorBadValueForParameter';
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (isset($this->fk_loan)) $this->fk_loan = trim($this->fk_loan);
|
if (isset($this->fk_loan)) $this->fk_loan = (int) $this->fk_loan;
|
||||||
if (isset($this->amount_capital)) $this->amount_capital = trim($this->amount_capital?$this->amount_capital:0);
|
if (isset($this->amount_capital)) $this->amount_capital = trim($this->amount_capital?$this->amount_capital:0);
|
||||||
if (isset($this->amount_insurance)) $this->amount_insurance = trim($this->amount_insurance?$this->amount_insurance:0);
|
if (isset($this->amount_insurance)) $this->amount_insurance = trim($this->amount_insurance?$this->amount_insurance:0);
|
||||||
if (isset($this->amount_interest)) $this->amount_interest = trim($this->amount_interest?$this->amount_interest:0);
|
if (isset($this->amount_interest)) $this->amount_interest = trim($this->amount_interest?$this->amount_interest:0);
|
||||||
if (isset($this->fk_typepayment)) $this->fk_typepayment = trim($this->fk_typepayment);
|
if (isset($this->fk_typepayment)) $this->fk_typepayment = (int) $this->fk_typepayment;
|
||||||
if (isset($this->fk_bank)) $this->fk_bank = trim($this->fk_bank);
|
if (isset($this->fk_bank)) $this->fk_bank = (int) $this->fk_bank;
|
||||||
if (isset($this->fk_user_creat)) $this->fk_user_creat = trim($this->fk_user_creat);
|
if (isset($this->fk_user_creat)) $this->fk_user_creat = (int) $this->fk_user_creat;
|
||||||
if (isset($this->fk_user_modif)) $this->fk_user_modif = trim($this->fk_user_modif);
|
if (isset($this->fk_user_modif)) $this->fk_user_modif = (int) $this->fk_user_modif;
|
||||||
|
|
||||||
$totalamount = $this->amount_capital + $this->amount_insurance + $this->amount_interest;
|
$totalamount = $this->amount_capital + $this->amount_insurance + $this->amount_interest;
|
||||||
$totalamount = price2num($totalamount);
|
$totalamount = price2num($totalamount);
|
||||||
@ -119,7 +153,7 @@ class LoanSchedule extends CommonObject
|
|||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." (fk_loan, datec, datep, amount_capital, amount_insurance, amount_interest,";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." (fk_loan, datec, datep, amount_capital, amount_insurance, amount_interest,";
|
||||||
$sql.= " fk_typepayment, fk_user_creat, fk_bank)";
|
$sql.= " fk_typepayment, fk_user_creat, fk_bank)";
|
||||||
$sql.= " VALUES (".$this->fk_loan.", '".$this->db->idate($now)."',";
|
$sql.= " VALUES (".$this->fk_loan.", '".$this->db->idate($now)."',";
|
||||||
$sql.= " '".$this->db->idate($this->datepaid)."',";
|
$sql.= " '".$this->db->idate($this->datep)."',";
|
||||||
$sql.= " ".$this->amount_capital.",";
|
$sql.= " ".$this->amount_capital.",";
|
||||||
$sql.= " ".$this->amount_insurance.",";
|
$sql.= " ".$this->amount_insurance.",";
|
||||||
$sql.= " ".$this->amount_interest.",";
|
$sql.= " ".$this->amount_interest.",";
|
||||||
@ -162,7 +196,7 @@ class LoanSchedule extends CommonObject
|
|||||||
* @param int $id Id object
|
* @param int $id Id object
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function fetch($id)
|
public function fetch($id)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
$sql = "SELECT";
|
$sql = "SELECT";
|
||||||
@ -237,7 +271,7 @@ class LoanSchedule extends CommonObject
|
|||||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function update($user=0, $notrigger=0)
|
public function update($user=0, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
$error=0;
|
$error=0;
|
||||||
@ -321,7 +355,7 @@ class LoanSchedule extends CommonObject
|
|||||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete($user, $notrigger=0)
|
public function delete($user, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
$error=0;
|
$error=0;
|
||||||
@ -372,18 +406,16 @@ class LoanSchedule extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
|
||||||
/**
|
/**
|
||||||
* Calculate mensuality
|
* Calculate Monthly Payments
|
||||||
*
|
*
|
||||||
* @param double $capital Capital
|
* @param double $capital Capital
|
||||||
* @param double $rate rate
|
* @param double $rate rate
|
||||||
* @param int $nbterm nb term
|
* @param int $nbterm nb term
|
||||||
* @return double mensuality
|
* @return double mensuality
|
||||||
*/
|
*/
|
||||||
function calc_mens($capital, $rate, $nbterm)
|
public function calcMonthlyPayments($capital, $rate, $nbterm)
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
|
||||||
$result='';
|
$result='';
|
||||||
|
|
||||||
if (!empty($capital) && !empty($rate) && !empty($nbterm)) {
|
if (!empty($capital) && !empty($rate) && !empty($nbterm)) {
|
||||||
@ -400,7 +432,7 @@ class LoanSchedule extends CommonObject
|
|||||||
* @param int $loanid Id object
|
* @param int $loanid Id object
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function fetchAll($loanid)
|
public function fetchAll($loanid)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
@ -461,15 +493,13 @@ class LoanSchedule extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
|
||||||
/**
|
/**
|
||||||
* trans_paiment
|
* transPayment
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function trans_paiment()
|
private function transPayment()
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
@ -483,7 +513,7 @@ class LoanSchedule extends CommonObject
|
|||||||
|
|
||||||
if($resql){
|
if($resql){
|
||||||
while($obj = $this->db->fetch_object($resql)){
|
while($obj = $this->db->fetch_object($resql)){
|
||||||
$lastrecorded = $this->lastpaiment($obj->rowid);
|
$lastrecorded = $this->lastPayment($obj->rowid);
|
||||||
$toinsert = $this->paimenttorecord($obj->rowid, $lastrecorded);
|
$toinsert = $this->paimenttorecord($obj->rowid, $lastrecorded);
|
||||||
if(count($toinsert)>0){
|
if(count($toinsert)>0){
|
||||||
foreach ($toinsert as $echid){
|
foreach ($toinsert as $echid){
|
||||||
@ -505,12 +535,12 @@ class LoanSchedule extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* trans_paiment
|
* lastpayment
|
||||||
*
|
*
|
||||||
* @param int $loanid Loan id
|
* @param int $loanid Loan id
|
||||||
* @return int < 0 if KO, Date > 0 if OK
|
* @return int < 0 if KO, Date > 0 if OK
|
||||||
*/
|
*/
|
||||||
function lastpaiment($loanid)
|
private function lastPayment($loanid)
|
||||||
{
|
{
|
||||||
$sql = "SELECT p.datep";
|
$sql = "SELECT p.datep";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."payment_loan as p ";
|
$sql.= " FROM ".MAIN_DB_PREFIX."payment_loan as p ";
|
||||||
@ -535,7 +565,7 @@ class LoanSchedule extends CommonObject
|
|||||||
* @param int $datemax Date max
|
* @param int $datemax Date max
|
||||||
* @return array Array of id
|
* @return array Array of id
|
||||||
*/
|
*/
|
||||||
function paimenttorecord($loanid, $datemax)
|
public function paimenttorecord($loanid, $datemax)
|
||||||
{
|
{
|
||||||
$sql = "SELECT p.rowid";
|
$sql = "SELECT p.rowid";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as p ";
|
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as p ";
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
* Copyright (C) 2015-2018 Frederic France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -40,32 +40,68 @@ class PaymentLoan extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $table_element='payment_loan';
|
public $table_element='payment_loan';
|
||||||
|
|
||||||
var $fk_loan;
|
/**
|
||||||
var $datec='';
|
* @var int Loan ID
|
||||||
var $tms='';
|
*/
|
||||||
var $datep='';
|
public $fk_loan;
|
||||||
var $amounts=array(); // Array of amounts
|
|
||||||
var $amount_capital; // Total amount of payment
|
/**
|
||||||
var $amount_insurance;
|
* @var string Create date
|
||||||
var $amount_interest;
|
*/
|
||||||
var $fk_typepayment;
|
public $datec='';
|
||||||
var $num_payment;
|
|
||||||
var $fk_bank;
|
public $tms='';
|
||||||
var $fk_user_creat;
|
|
||||||
var $fk_user_modif;
|
/**
|
||||||
|
* @var string Payment date
|
||||||
|
*/
|
||||||
|
public $datep='';
|
||||||
|
|
||||||
|
public $amounts=array(); // Array of amounts
|
||||||
|
|
||||||
|
public $amount_capital; // Total amount of payment
|
||||||
|
|
||||||
|
public $amount_insurance;
|
||||||
|
|
||||||
|
public $amount_interest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Payment type ID
|
||||||
|
*/
|
||||||
|
public $fk_typepayment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Payment ID
|
||||||
|
*/
|
||||||
|
public $num_payment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Bank ID
|
||||||
|
*/
|
||||||
|
public $fk_bank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int User ID
|
||||||
|
*/
|
||||||
|
public $fk_user_creat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int user ID
|
||||||
|
*/
|
||||||
|
public $fk_user_modif;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated
|
* @deprecated
|
||||||
* @see amount, amounts
|
* @see amount, amounts
|
||||||
*/
|
*/
|
||||||
var $total;
|
public $total;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
function __construct($db)
|
public function __construct($db)
|
||||||
{
|
{
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
}
|
}
|
||||||
@ -86,24 +122,24 @@ class PaymentLoan extends CommonObject
|
|||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
// Validate parameters
|
// Validate parameters
|
||||||
if (! $this->datepaid)
|
if (! $this->datep)
|
||||||
{
|
{
|
||||||
$this->error='ErrorBadValueForParameter';
|
$this->error='ErrorBadValueForParameter';
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (isset($this->fk_loan)) $this->fk_loan = trim($this->fk_loan);
|
if (isset($this->fk_loan)) $this->fk_loan = (int) $this->fk_loan;
|
||||||
if (isset($this->amount_capital)) $this->amount_capital = price2num($this->amount_capital?$this->amount_capital:0);
|
if (isset($this->amount_capital)) $this->amount_capital = price2num($this->amount_capital?$this->amount_capital:0);
|
||||||
if (isset($this->amount_insurance)) $this->amount_insurance = price2num($this->amount_insurance?$this->amount_insurance:0);
|
if (isset($this->amount_insurance)) $this->amount_insurance = price2num($this->amount_insurance?$this->amount_insurance:0);
|
||||||
if (isset($this->amount_interest)) $this->amount_interest = price2num($this->amount_interest?$this->amount_interest:0);
|
if (isset($this->amount_interest)) $this->amount_interest = price2num($this->amount_interest?$this->amount_interest:0);
|
||||||
if (isset($this->fk_typepayment)) $this->fk_typepayment = trim($this->fk_typepayment);
|
if (isset($this->fk_typepayment)) $this->fk_typepayment = (int) $this->fk_typepayment;
|
||||||
if (isset($this->num_payment)) $this->num_payment = trim($this->num_payment);
|
if (isset($this->num_payment)) $this->num_payment = (int) $this->num_payment;
|
||||||
if (isset($this->note_private)) $this->note_private = trim($this->note_private);
|
if (isset($this->note_private)) $this->note_private = trim($this->note_private);
|
||||||
if (isset($this->note_public)) $this->note_public = trim($this->note_public);
|
if (isset($this->note_public)) $this->note_public = trim($this->note_public);
|
||||||
if (isset($this->fk_bank)) $this->fk_bank = trim($this->fk_bank);
|
if (isset($this->fk_bank)) $this->fk_bank = (int) $this->fk_bank;
|
||||||
if (isset($this->fk_user_creat)) $this->fk_user_creat = trim($this->fk_user_creat);
|
if (isset($this->fk_user_creat)) $this->fk_user_creat = (int) $this->fk_user_creat;
|
||||||
if (isset($this->fk_user_modif)) $this->fk_user_modif = trim($this->fk_user_modif);
|
if (isset($this->fk_user_modif)) $this->fk_user_modif = (int) $this->fk_user_modif;
|
||||||
|
|
||||||
$totalamount = $this->amount_capital + $this->amount_insurance + $this->amount_interest;
|
$totalamount = $this->amount_capital + $this->amount_insurance + $this->amount_interest;
|
||||||
$totalamount = price2num($totalamount);
|
$totalamount = price2num($totalamount);
|
||||||
@ -119,7 +155,7 @@ class PaymentLoan extends CommonObject
|
|||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."payment_loan (fk_loan, datec, datep, amount_capital, amount_insurance, amount_interest,";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."payment_loan (fk_loan, datec, datep, amount_capital, amount_insurance, amount_interest,";
|
||||||
$sql.= " fk_typepayment, num_payment, note_private, note_public, fk_user_creat, fk_bank)";
|
$sql.= " fk_typepayment, num_payment, note_private, note_public, fk_user_creat, fk_bank)";
|
||||||
$sql.= " VALUES (".$this->chid.", '".$this->db->idate($now)."',";
|
$sql.= " VALUES (".$this->chid.", '".$this->db->idate($now)."',";
|
||||||
$sql.= " '".$this->db->idate($this->datepaid)."',";
|
$sql.= " '".$this->db->idate($this->datep)."',";
|
||||||
$sql.= " ".$this->amount_capital.",";
|
$sql.= " ".$this->amount_capital.",";
|
||||||
$sql.= " ".$this->amount_insurance.",";
|
$sql.= " ".$this->amount_insurance.",";
|
||||||
$sql.= " ".$this->amount_interest.",";
|
$sql.= " ".$this->amount_interest.",";
|
||||||
@ -244,17 +280,17 @@ class PaymentLoan extends CommonObject
|
|||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (isset($this->fk_loan)) $this->fk_loan=trim($this->fk_loan);
|
if (isset($this->fk_loan)) $this->fk_loan = (int) $this->fk_loan;
|
||||||
if (isset($this->amount_capital)) $this->amount_capital=trim($this->amount_capital);
|
if (isset($this->amount_capital)) $this->amount_capital=trim($this->amount_capital);
|
||||||
if (isset($this->amount_insurance)) $this->amount_insurance=trim($this->amount_insurance);
|
if (isset($this->amount_insurance)) $this->amount_insurance=trim($this->amount_insurance);
|
||||||
if (isset($this->amount_interest)) $this->amount_interest=trim($this->amount_interest);
|
if (isset($this->amount_interest)) $this->amount_interest=trim($this->amount_interest);
|
||||||
if (isset($this->fk_typepayment)) $this->fk_typepayment=trim($this->fk_typepayment);
|
if (isset($this->fk_typepayment)) $this->fk_typepayment = (int) $this->fk_typepayment;
|
||||||
if (isset($this->num_payment)) $this->num_payment=trim($this->num_payment);
|
if (isset($this->num_payment)) $this->num_payment = (int) $this->num_payment;
|
||||||
if (isset($this->note_private)) $this->note=trim($this->note_private);
|
if (isset($this->note_private)) $this->note=trim($this->note_private);
|
||||||
if (isset($this->note_public)) $this->note=trim($this->note_public);
|
if (isset($this->note_public)) $this->note=trim($this->note_public);
|
||||||
if (isset($this->fk_bank)) $this->fk_bank=trim($this->fk_bank);
|
if (isset($this->fk_bank)) $this->fk_bank = (int) $this->fk_bank;
|
||||||
if (isset($this->fk_user_creat)) $this->fk_user_creat=trim($this->fk_user_creat);
|
if (isset($this->fk_user_creat)) $this->fk_user_creat = (int) $this->fk_user_creat;
|
||||||
if (isset($this->fk_user_modif)) $this->fk_user_modif=trim($this->fk_user_modif);
|
if (isset($this->fk_user_modif)) $this->fk_user_modif = (int) $this->fk_user_modif;
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
|
|
||||||
@ -418,7 +454,7 @@ class PaymentLoan extends CommonObject
|
|||||||
|
|
||||||
// Insert payment into llx_bank
|
// Insert payment into llx_bank
|
||||||
$bank_line_id = $acc->addline(
|
$bank_line_id = $acc->addline(
|
||||||
$this->datepaid,
|
$this->datep,
|
||||||
$this->paymenttype, // Payment mode id or code ("CHQ or VIR for example")
|
$this->paymenttype, // Payment mode id or code ("CHQ or VIR for example")
|
||||||
$label,
|
$label,
|
||||||
$total,
|
$total,
|
||||||
|
|||||||
@ -51,7 +51,7 @@ if ($action == 'createecheancier') {
|
|||||||
$echeance->fk_loan = $object->id;
|
$echeance->fk_loan = $object->id;
|
||||||
$echeance->datec = dol_now();
|
$echeance->datec = dol_now();
|
||||||
$echeance->tms = dol_now();
|
$echeance->tms = dol_now();
|
||||||
$echeance->datepaid = $date;
|
$echeance->datep = $date;
|
||||||
$echeance->amount_capital = $mens-$int;
|
$echeance->amount_capital = $mens-$int;
|
||||||
$echeance->amount_insurance = 0;
|
$echeance->amount_insurance = 0;
|
||||||
$echeance->amount_interest = $int;
|
$echeance->amount_interest = $int;
|
||||||
@ -61,7 +61,7 @@ if ($action == 'createecheancier') {
|
|||||||
$echeance->fk_user_modif = $user->id;
|
$echeance->fk_user_modif = $user->id;
|
||||||
$result=$echeance->create($user);
|
$result=$echeance->create($user);
|
||||||
if ($result<0) {
|
if ($result<0) {
|
||||||
setEventMessages(null, $echeance->errors,'errors');
|
setEventMessages($echeance->error, $echeance->errors,'errors');
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -165,7 +165,7 @@ if ($object->nbterm > 0 && count($echeance->lines)==0)
|
|||||||
$capital = $object->capital;
|
$capital = $object->capital;
|
||||||
while($i <$object->nbterm+1)
|
while($i <$object->nbterm+1)
|
||||||
{
|
{
|
||||||
$mens = price2num($echeance->calc_mens($capital, $object->rate/100, $object->nbterm-$i+1), 'MT');
|
$mens = price2num($echeance->calcMonthlyPayments($capital, $object->rate/100, $object->nbterm-$i+1), 'MT');
|
||||||
$int = ($capital*($object->rate/12))/100;
|
$int = ($capital*($object->rate/12))/100;
|
||||||
$int = price2num($int, 'MT');
|
$int = price2num($int, 'MT');
|
||||||
$cap_rest = price2num($capital - ($mens-$int), 'MT');
|
$cap_rest = price2num($capital - ($mens-$int), 'MT');
|
||||||
@ -213,6 +213,3 @@ print '</form>';
|
|||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -93,12 +93,12 @@ if ($action == 'add_payment')
|
|||||||
// Create a line of payments
|
// Create a line of payments
|
||||||
$payment = new PaymentLoan($db);
|
$payment = new PaymentLoan($db);
|
||||||
$payment->chid = $chid;
|
$payment->chid = $chid;
|
||||||
$payment->datepaid = $datepaid;
|
$payment->datep = $datepaid;
|
||||||
$payment->label = $loan->label;
|
$payment->label = $loan->label;
|
||||||
$payment->amount_capital = GETPOST('amount_capital');
|
$payment->amount_capital = GETPOST('amount_capital');
|
||||||
$payment->amount_insurance = GETPOST('amount_insurance');
|
$payment->amount_insurance = GETPOST('amount_insurance');
|
||||||
$payment->amount_interest = GETPOST('amount_interest');
|
$payment->amount_interest = GETPOST('amount_interest');
|
||||||
$payment->paymenttype = GETPOST('paymenttype');
|
$payment->paymenttype = GETPOST('paymenttype', 'int');
|
||||||
$payment->num_payment = GETPOST('num_payment');
|
$payment->num_payment = GETPOST('num_payment');
|
||||||
$payment->note_private = GETPOST('note_private','none');
|
$payment->note_private = GETPOST('note_private','none');
|
||||||
$payment->note_public = GETPOST('note_public','none');
|
$payment->note_public = GETPOST('note_public','none');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user