Withdrawals: Add bank transaction. Payment of invoice should not be in standing order creation. Transaction added and payment translated to infocredit function

This commit is contained in:
Juanjo Menent 2011-01-29 21:37:50 +00:00
parent e2ffd8276c
commit 284606af73
6 changed files with 147 additions and 150 deletions

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* *
* 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
@ -28,6 +28,7 @@
require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php");
require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php"); require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");
require_once(DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php');
if ($conf->esaeb->enabled) require_once(DOL_DOCUMENT_ROOT.'/esaeb/class/esaeb19.class.php'); if ($conf->esaeb->enabled) require_once(DOL_DOCUMENT_ROOT.'/esaeb/class/esaeb19.class.php');
@ -48,7 +49,6 @@ class BonPrelevement extends CommonObject
var $emetteur_number_key; var $emetteur_number_key;
var $total; var $total;
var $_fetched; var $_fetched;
var $statut; // 0-Wait, 1-Trans, 2-Done var $statut; // 0-Wait, 1-Trans, 2-Done
var $labelstatut=array(); var $labelstatut=array();
@ -411,16 +411,48 @@ class BonPrelevement extends CommonObject
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
//$subject = "Credit prelevement ".$this->ref." a la banque";
/*$message = "Le bon de prelevement ".$this->ref;
$message.= " a ete credite par la banque.\n";
$message.= "Date credit : ".dol_print_date($date,'dayhour');*/
$langs->load('withdrawals'); $langs->load('withdrawals');
$subject = $langs->trans("InfoCreditSubject", $this->ref); $subject = $langs->trans("InfoCreditSubject", $this->ref);
$message = $langs->trans("InfoCreditMessage", $this->ref, dol_print_date($date,'dayhour')); $message = $langs->trans("InfoCreditMessage", $this->ref, dol_print_date($date,'dayhour'));
$this->Notify($user, "cr", $subject, $message); $this->Notify($user, "cr", $subject, $message);
//Add payment of withdrawal into bank
$bankaccount = $conf->global->PRELEVEMENT_ID_BANKACCOUNT;
$facs = array();
$amounts = array();
$facs = $this->_get_list_factures();
for ($i = 0 ; $i < sizeof($facs) ; $i++)
{
$fac = new Facture($this->db);
$fac->fetch($facs[$i]);
$amounts[$fac->id] = $fac->total_ttc;
//$result = $fac->set_paid($user);
}
$paiement = new Paiement($this->db);
$paiement->datepaye = $date ;//$this->date_credit;
$paiement->amounts = $amounts;
$paiement->paiementid = 3; //
$paiement->num_paiement = $this->ref ;
$paiement_id = $paiement->create($user);
if ($paiement_id < 0)
{
dol_syslog("BonPrelevement::set_credite Erreur 1");
$error++;
}
$result=$paiement->addPaymentToBank($user,'payment','(WithdrawalPayment)',$bankaccount);
if ($result < 0)
{
dol_syslog("BonPrelevement::set_credite Erreur 1");
$error++;
}
// Update prelevement line // Update prelevement line
// TODO: Translate to ligne-prelevement.class.php // TODO: Translate to ligne-prelevement.class.php
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes"; $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes";
@ -749,10 +781,8 @@ class BonPrelevement extends CommonObject
dol_syslog("BonPrelevement::Create banque=$banque guichet=$guichet"); dol_syslog("BonPrelevement::Create banque=$banque guichet=$guichet");
//require_once (DOL_DOCUMENT_ROOT."/compta/prelevement/bon-prelevement.class.php");
require_once (DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); require_once (DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
require_once (DOL_DOCUMENT_ROOT."/societe/class/societe.class.php"); require_once (DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");
require_once (DOL_DOCUMENT_ROOT."/compta/paiement/class/paiement.class.php");
$error = 0; $error = 0;
@ -763,8 +793,8 @@ class BonPrelevement extends CommonObject
$puser = new User($this->db, $conf->global->PRELEVEMENT_USER); $puser = new User($this->db, $conf->global->PRELEVEMENT_USER);
/** /*
* Lectures des factures * Read invoices
*/ */
$factures = array(); $factures = array();
$factures_prev = array(); $factures_prev = array();
@ -887,7 +917,7 @@ class BonPrelevement extends CommonObject
{ {
/* /*
* We are in real mode. * We are in real mode.
* We create withdraw receipt, payments and build withdraw into disk * We create withdraw receipt and build withdraw into disk
*/ */
$this->db->begin(); $this->db->begin();
@ -957,8 +987,6 @@ class BonPrelevement extends CommonObject
*/ */
if (!$error) if (!$error)
{ {
dol_syslog("Start generation payments for the ".sizeof($factures_prev)." invoices");
if (sizeof($factures_prev) > 0) if (sizeof($factures_prev) > 0)
{ {
foreach ($factures_prev as $fac) foreach ($factures_prev as $fac)
@ -966,41 +994,6 @@ class BonPrelevement extends CommonObject
// Fetch invoice // Fetch invoice
$fact = new Facture($this->db); $fact = new Facture($this->db);
$fact->fetch($fac[0]); $fact->fetch($fac[0]);
// Create payment
$pai = new Paiement($this->db);
$pai->amounts = array();
$pai->amounts[$fac[0]] = $fact->total_ttc;
$pai->datepaye = $datetimeprev;
$pai->paiementid = 3; // prelevement
$pai->num_paiement = $ref;
if ($pai->create($puser, 1) < 0) // on appelle en no_commit
{
$error++;
dol_syslog("Erreur creation paiement facture ".$fac[0]);
}
else
{
/*
* Validation du paiement
*/
$pai->valide();
/*
* Ajout d'une ligne de prelevement
*
*
* $fac[3] : banque
* $fac[4] : guichet
* $fac[5] : number
* $fac[6] : cle rib
* $fac[7] : amount
* $fac[8] : client nom
* $fac[2] : client id
*/
$ri = $bonprev->AddFacture($fac[0], $fac[2], $fac[8], $fac[7], $ri = $bonprev->AddFacture($fac[0], $fac[2], $fac[8], $fac[7],
$fac[3], $fac[4], $fac[5], $fac[6]); $fac[3], $fac[4], $fac[5], $fac[6]);
if ($ri <> 0) if ($ri <> 0)
@ -1009,7 +1002,7 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Mise a jour des demandes * Update orders
* *
*/ */
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande"; $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande";
@ -1031,10 +1024,9 @@ class BonPrelevement extends CommonObject
} }
} }
}
} }
dol_syslog("Fin des paiements");
} }
if (!$error) if (!$error)
@ -1060,7 +1052,7 @@ class BonPrelevement extends CommonObject
$bonprev->factures = $factures_prev_id; $bonprev->factures = $factures_prev_id;
// Build file //Build file
$bonprev->generate(); $bonprev->generate();
} }
dol_syslog( $filebonprev ) ; dol_syslog( $filebonprev ) ;
@ -1068,7 +1060,7 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Mise a jour du total * Update total
* *
*/ */
@ -1086,7 +1078,7 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Rollback ou Commit * Rollback or Commit
* *
*/ */
if (!$error) if (!$error)

View File

@ -102,8 +102,9 @@ AddBankRecordLong=Realitzar un registre manual fora d'una factura
ConciliatedBy=Conciliat per ConciliatedBy=Conciliat per
DateConciliating=Data conciliació DateConciliating=Data conciliació
BankLineConciliated=Registre conciliat BankLineConciliated=Registre conciliat
CustomerInvoicePayment=Pagament de client CustomerInvoicePayment=Cobrament a client
SupplierInvoicePayment=Pagament a proveïdor SupplierInvoicePayment=Pagament a proveïdor
WithdrawalPayment=Cobrament de domiciliació
SocialContributionPayment=Pagament càrrega social SocialContributionPayment=Pagament càrrega social
FinancialAccountJournal=Diari de tresoreria del compte FinancialAccountJournal=Diari de tresoreria del compte
BankTransfer=Transferència bancària BankTransfer=Transferència bancària

View File

@ -104,6 +104,7 @@ DateConciliating=Reconcile date
BankLineConciliated=Transaction reconciled BankLineConciliated=Transaction reconciled
CustomerInvoicePayment=Customer payment CustomerInvoicePayment=Customer payment
SupplierInvoicePayment=Supplier payment SupplierInvoicePayment=Supplier payment
WithdrawalPayment=Withdrawal payment
SocialContributionPayment=Social contribution payment SocialContributionPayment=Social contribution payment
FinancialAccountJournal=Financial account journal FinancialAccountJournal=Financial account journal
BankTransfer=Bank transfer BankTransfer=Bank transfer

View File

@ -102,8 +102,9 @@ AddBankRecordLong=Realizar un registro manual fuera de una factura
ConciliatedBy=Conciliado por ConciliatedBy=Conciliado por
DateConciliating=Fecha conciliación DateConciliating=Fecha conciliación
BankLineConciliated=Registro conciliado BankLineConciliated=Registro conciliado
CustomerInvoicePayment=Pago de cliente CustomerInvoicePayment=Cobro a cliente
SupplierInvoicePayment=Pago a proveedor SupplierInvoicePayment=Pago a proveedor
WithdrawalPayment=Cobro de domiciliación
SocialContributionPayment=Pago carga social SocialContributionPayment=Pago carga social
FinancialAccountJournal=Diario de tesorería de la cuenta FinancialAccountJournal=Diario de tesorería de la cuenta
BankTransfer=Transferencia bancaria BankTransfer=Transferencia bancaria

View File

@ -102,8 +102,9 @@ AddBankRecordLong=Realizar un registro manual fuera de una factura
ConciliatedBy=Conciliado por ConciliatedBy=Conciliado por
DateConciliating=Fecha conciliación DateConciliating=Fecha conciliación
BankLineConciliated=Registro conciliado BankLineConciliated=Registro conciliado
CustomerInvoicePayment=Pago de cliente CustomerInvoicePayment=Cobro a cliente
SupplierInvoicePayment=Pago a proveedor SupplierInvoicePayment=Pago a proveedor
WithdrawalPayment=Cobro de domiciliación
SocialContributionPayment=Pago carga social SocialContributionPayment=Pago carga social
FinancialAccountJournal=Diario de tesorería de la cuenta FinancialAccountJournal=Diario de tesorería de la cuenta
BankTransfer=Transferencia bancaria BankTransfer=Transferencia bancaria

View File

@ -104,6 +104,7 @@ DateConciliating=Date rapprochement
BankLineConciliated=Écriture rapprochée BankLineConciliated=Écriture rapprochée
CustomerInvoicePayment=Règlement client CustomerInvoicePayment=Règlement client
SupplierInvoicePayment=Règlement fournisseur SupplierInvoicePayment=Règlement fournisseur
WithdrawalPayment=Règlement bon de prélèvement
SocialContributionPayment=Règlement charge sociale SocialContributionPayment=Règlement charge sociale
FinancialAccountJournal=Journal de trésorerie du compte FinancialAccountJournal=Journal de trésorerie du compte
BankTransfer=Virement bancaire BankTransfer=Virement bancaire