New: early development of multi-company module

This commit is contained in:
Regis Houssin 2009-05-08 14:40:28 +00:00
parent a1ee497ba2
commit bc20c75327
19 changed files with 433 additions and 387 deletions

View File

@ -1,5 +1,6 @@
<?php <?php
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -86,16 +87,19 @@ class BonPrelevement extends CommonObject
$result = 0; $result = 0;
$ligne_id = 0; $ligne_id = 0;
$result = $this->AddLigne($ligne_id, $client_id, $client_nom, $result = $this->AddLigne($ligne_id, $client_id, $client_nom, $amount, $code_banque, $code_guichet, $number);
$amount, $code_banque, $code_guichet, $number);
if ($result == 0) if ($result == 0)
{ {
if ($ligne_id > 0) if ($ligne_id > 0)
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_facture "; $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_facture (";
$sql .= " (fk_facture,fk_prelevement_lignes)"; $sql.= "fk_facture";
$sql .= " VALUES (".$facture_id.",".$ligne_id.")"; $sql.= ",fk_prelevement_lignes";
$sql.= ") VALUES (";
$sql.= $facture_id;
$sql.= ", ".$ligne_id;
$sql.= ")";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -137,12 +141,13 @@ class BonPrelevement extends CommonObject
/* /*
* On aggrege les lignes * On aggrege les lignes
*/ */
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes"; $sql = "SELECT rowid";
$sql .= " WHERE fk_prelevement_bons".$this->id; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes";
$sql .= " AND fk_soc =".$client_id; $sql.= " WHERE fk_prelevement_bons = ".$this->id;
$sql .= " AND code_banque ='".$code_banque."'"; $sql.= " AND fk_soc =".$client_id;
$sql .= " AND code_guichet ='".$code_guichet."'"; $sql.= " AND code_banque ='".$code_banque."'";
$sql .= " AND number ='".$number."'"; $sql.= " AND code_guichet ='".$code_guichet."'";
$sql.= " AND number ='".$number."'";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -158,15 +163,23 @@ class BonPrelevement extends CommonObject
/* /*
* Pas de d'agregation * Pas de d'agregation
*/ */
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes (fk_prelevement_bons"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes (";
$sql .= " , fk_soc , client_nom "; $sql.= "fk_prelevement_bons";
$sql .= " , amount"; $sql.= ", fk_soc";
$sql .= " , code_banque , code_guichet , number)"; $sql.= ", client_nom";
$sql.= ", amount";
$sql .= " VALUES (".$this->id; $sql.= ", code_banque";
$sql .= ",".$client_id.",'".addslashes($client_nom)."'"; $sql.= ", code_guichet";
$sql .= ",'".price2num($amount)."'"; $sql.= ", number";
$sql .= ", '$code_banque', '$code_guichet', '$number')"; $sql.= ") VALUES (";
$sql.= $this->id;
$sql.= ", ".$client_id;
$sql.= ", '".addslashes($client_nom)."'";
$sql.= ", '".price2num($amount)."'";
$sql.= ", '".$code_banque."'";
$sql.= ", '".$code_guichet."'";
$sql.= ", '".$number."'";
$sql.= ")";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -203,15 +216,18 @@ class BonPrelevement extends CommonObject
*/ */
function fetch($rowid) function fetch($rowid)
{ {
global $conf;
$sql = "SELECT p.rowid, p.ref, p.amount, p.note, p.credite"; $sql = "SELECT p.rowid, p.ref, p.amount, p.note, p.credite";
$sql .= ",".$this->db->pdate("p.datec")." as dc"; $sql.= ", ".$this->db->pdate("p.datec")." as dc";
$sql .= ",".$this->db->pdate("p.date_trans")." as date_trans"; $sql.= ", ".$this->db->pdate("p.date_trans")." as date_trans";
$sql .= " , method_trans, fk_user_trans"; $sql.= ", p.method_trans, p.fk_user_trans";
$sql .= ",".$this->db->pdate("p.date_credit")." as date_credit"; $sql.= ", ".$this->db->pdate("p.date_credit")." as date_credit";
$sql .= " , fk_user_credit"; $sql.= ", p.fk_user_credit";
$sql .= " , statut"; $sql.= ", p.statut";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " WHERE p.rowid=".$rowid; $sql.= " WHERE p.rowid = ".$rowid;
$sql.= " AND p.entity = ".$conf->entity;
dol_syslog("Bon-prelevement::fetch sql=".$sql, LOG_DEBUG); dol_syslog("Bon-prelevement::fetch sql=".$sql, LOG_DEBUG);
$result=$this->db->query($sql); $result=$this->db->query($sql);
@ -261,15 +277,16 @@ class BonPrelevement extends CommonObject
*/ */
function set_credite() function set_credite()
{ {
global $user; global $user,$conf;
$error == 0; $error == 0;
if ($this->db->begin()) if ($this->db->begin())
{ {
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_bons "; $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_bons ";
$sql .= " SET credite = 1"; $sql.= " SET credite = 1";
$sql .= " WHERE rowid=".$this->id; $sql.= " WHERE rowid=".$this->id;
$sql.= " AND entity = ".$conf->entity;
$result=$this->db->query($sql); $result=$this->db->query($sql);
if (! $result) if (! $result)
@ -297,8 +314,8 @@ class BonPrelevement extends CommonObject
{ {
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes "; $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes ";
$sql .= " SET statut = 2"; $sql.= " SET statut = 2";
$sql .= " WHERE fk_prelevement_bons=".$this->id; $sql.= " WHERE fk_prelevement_bons = ".$this->id;
if (! $this->db->query($sql)) if (! $this->db->query($sql))
{ {
@ -341,6 +358,8 @@ class BonPrelevement extends CommonObject
*/ */
function set_infocredit($user, $date) function set_infocredit($user, $date)
{ {
global $conf;
$error == 0; $error == 0;
if ($this->_fetched == 1) if ($this->_fetched == 1)
@ -350,18 +369,19 @@ class BonPrelevement extends CommonObject
if ($this->db->begin()) if ($this->db->begin())
{ {
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_bons "; $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_bons ";
$sql .= " SET fk_user_credit = ".$user->id; $sql.= " SET fk_user_credit = ".$user->id;
$sql .= " , statut = 2"; $sql.= ", statut = 2";
$sql .= " , date_credit='".$this->db->idate($date)."'"; $sql.= ", date_credit = '".$this->db->idate($date)."'";
$sql .= " WHERE rowid=".$this->id; $sql.= " WHERE rowid=".$this->id;
$sql .= " AND statut = 1"; $sql.= " AND entity = ".$conf->entity;
$sql.= " AND statut = 1";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
$subject = "Cr<EFBFBD>dit pr<70>l<EFBFBD>vement ".$this->ref." <20> la banque"; $subject = "Credit prelevement ".$this->ref." a la banque";
$message = "Le bon de pr<EFBFBD>l<EFBFBD>vement ".$this->ref; $message = "Le bon de prelevement ".$this->ref;
$message .= " a <20>t<EFBFBD> cr<63>dit<69> par la banque.\n"; $message.= " a ete credite par la banque.\n";
$message .= "Date cr<63>dit : ".dol_print_date($date,'dayhour'); $message.= "Date credit : ".dol_print_date($date,'dayhour');
$this->Notify($user, "cr", $subject, $message); $this->Notify($user, "cr", $subject, $message);
} }
@ -372,7 +392,7 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Fin de la proc<EFBFBD>dure * Fin de la procedure
* *
*/ */
if ($error == 0) if ($error == 0)
@ -411,28 +431,31 @@ class BonPrelevement extends CommonObject
*/ */
function set_infotrans($user, $date, $method) function set_infotrans($user, $date, $method)
{ {
global $conf;
$error == 0; $error == 0;
dol_syslog("bon-prelevement::set_infotrans Start",LOG_INFO); dol_syslog("bon-prelevement::set_infotrans Start",LOG_INFO);
if ($this->db->begin()) if ($this->db->begin())
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons "; $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons ";
$sql .= " SET fk_user_trans = ".$user->id; $sql.= " SET fk_user_trans = ".$user->id;
$sql .= " , date_trans='".$this->db->idate($date)."'"; $sql.= " , date_trans = '".$this->db->idate($date)."'";
$sql .= " , method_trans=".$method; $sql.= " , method_trans = ".$method;
$sql .= " , statut = 1"; $sql.= " , statut = 1";
$sql .= " WHERE rowid=".$this->id; $sql.= " WHERE rowid = ".$this->id;
$sql .= " AND statut = 0"; $sql.= " AND entity = ".$conf->entity;
$sql.= " AND statut = 0";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
$this->method_trans = $method; $this->method_trans = $method;
$subject = "Transmission du pr<EFBFBD>l<EFBFBD>vement ".$this->ref." <20> la banque"; $subject = "Transmission du prelevement ".$this->ref." a la banque";
$message = "Le bon de pr<EFBFBD>l<EFBFBD>vement ".$this->ref; $message = "Le bon de prelevement ".$this->ref;
$message .= " a <EFBFBD>t<EFBFBD> transmis <20> la banque par ".$user->prenom. " ".$user->nom; $message .= " a ete transmis a la banque par ".$user->prenom. " ".$user->nom;
$message .= "\n\n"; $message .= "\n\n";
$message .= "\nMontant : ".price($this->amount); $message .= "\nMontant : ".price($this->amount);
$message .= "\nM<EFBFBD>thode : ".$this->methodes_trans[$this->method_trans]; $message .= "\nMethode : ".$this->methodes_trans[$this->method_trans];
$message .= "\nDate : ".dol_print_date($date,'day'); $message .= "\nDate : ".dol_print_date($date,'day');
$this->Notify($user,"tr", $subject, $message, 1); $this->Notify($user,"tr", $subject, $message, 1);
@ -445,7 +468,7 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Fin de la proc<EFBFBD>dure * Fin de la procedure
* *
*/ */
if ($error == 0) if ($error == 0)
@ -475,14 +498,17 @@ class BonPrelevement extends CommonObject
*/ */
function Notify($user, $action, $subject, $message, $joinfile=0) function Notify($user, $action, $subject, $message, $joinfile=0)
{ {
global $conf;
$message .= "\n\n--\n"; $message .= "\n\n--\n";
$message .= "Ceci est un message automatique envoy<6F> par Dolibarr"; $message .= "Ceci est un message automatique envoye par Dolibarr";
$sql = "SELECT u.name, u.firstname, u.email"; $sql = "SELECT u.name, u.firstname, u.email";
$sql .= " FROM ".MAIN_DB_PREFIX."user as u"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_notifications as pn"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_notifications as pn";
$sql .= " WHERE pn.action ='".$action."'"; $sql.= " WHERE pn.action = '".$action."'";
$sql .= " AND u.rowid = pn.fk_user;"; $sql.= " AND u.rowid = pn.fk_user";
$sql.= " AND u.entity IN (0,".$conf->entity.")";
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if ($resql) if ($resql)
@ -504,7 +530,7 @@ class BonPrelevement extends CommonObject
if ($joinfile == 1) if ($joinfile == 1)
{ {
$arr_file = array(DOL_DATA_ROOT.'/prelevement/bon/'.$this->ref.'.ps'); $arr_file = array($conf->prelevement->dir_output.'/receipts/'.$this->ref.'.ps');
$arr_mime = array("application/ps"); $arr_mime = array("application/ps");
$arr_name = array($this->ref.".ps"); $arr_name = array($this->ref.".ps");
} }
@ -522,23 +548,26 @@ class BonPrelevement extends CommonObject
} }
/** /**
* \brief Recup<EFBFBD>re la liste des factures concern<EFBFBD>es * \brief Recupere la liste des factures concernees
*/ */
function _get_list_factures() function _get_list_factures()
{ {
global $conf;
$arr = array(); $arr = array();
/* /*
* Renvoie toutes les factures pr<EFBFBD>sente * Renvoie toutes les factures presente
* dans un bon de pr<EFBFBD>l<EFBFBD>vement * dans un bon de prelevement
*/ */
$sql = "SELECT fk_facture"; $sql = "SELECT fk_facture";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " WHERE pf.fk_prelevement_lignes = pl.rowid"; $sql.= " WHERE pf.fk_prelevement_lignes = pl.rowid";
$sql .= " AND pl.fk_prelevement_bons = p.rowid"; $sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql .= " AND p.rowid=".$this->id; $sql.= " AND p.rowid = ".$this->id;
$sql.= " AND p.entity = ".$conf->entity;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
@ -571,16 +600,18 @@ class BonPrelevement extends CommonObject
*/ */
function SommeAPrelever() function SommeAPrelever()
{ {
global $conf;
$sql = "SELECT sum(f.total_ttc)"; $sql = "SELECT sum(f.total_ttc)";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " WHERE f.fk_statut = 1";
$sql .= " WHERE f.fk_statut = 1"; $sql.= " AND f.entity = ".$conf->entity;
$sql .= " AND f.rowid = pfd.fk_facture"; $sql.= " AND f.rowid = pfd.fk_facture";
$sql .= " AND f.paye = 0"; $sql.= " AND f.paye = 0";
$sql .= " AND pfd.traite = 0"; $sql.= " AND pfd.traite = 0";
$sql .= " AND f.total_ttc > 0"; $sql.= " AND f.total_ttc > 0";
$sql .= " AND f.fk_mode_reglement = 3"; $sql.= " AND f.fk_mode_reglement = 3";
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -608,25 +639,21 @@ class BonPrelevement extends CommonObject
*/ */
function NbFactureAPrelever($banque=0,$agence=0) function NbFactureAPrelever($banque=0,$agence=0)
{ {
global $conf;
$sql = "SELECT count(f.rowid)"; $sql = "SELECT count(f.rowid)";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f,"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque == 1 || $agence == 1) $sql.=", ".MAIN_DB_PREFIX."societe_rib as sr"; if ($banque == 1 || $agence == 1) $sql.=", ".MAIN_DB_PREFIX."societe_rib as sr";
$sql .= " WHERE f.fk_statut = 1"; $sql.= " WHERE f.fk_statut = 1";
$sql .= " AND f.rowid = pfd.fk_facture"; $sql.= " AND f.entity = ".$conf->entity;
$sql .= " AND f.paye = 0"; $sql.= " AND f.rowid = pfd.fk_facture";
$sql .= " AND pfd.traite = 0"; $sql.= " AND f.paye = 0";
$sql .= " AND f.total_ttc > 0"; $sql.= " AND pfd.traite = 0";
if ($banque == 1 || $agence == 1) $sql .= " AND f.fk_soc = sr.rowid"; $sql.= " AND f.total_ttc > 0";
if ($banque == 1) if ($banque == 1 || $agence == 1) $sql.= " AND f.fk_soc = sr.rowid";
{ if ($banque == 1) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
$sql .= " AND sr.code_banque = '".PRELEVEMENT_CODE_BANQUE."'"; if ($agence == 1) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
}
if ($agence == 1)
{
$sql .= " AND sr.code_guichet = '".PRELEVEMENT_CODE_GUICHET."'";
}
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -681,28 +708,23 @@ class BonPrelevement extends CommonObject
if (! $error) if (! $error)
{ {
$sql = "SELECT f.rowid, pfd.rowid as pfdrowid, f.fk_soc"; $sql = "SELECT f.rowid, pfd.rowid as pfdrowid, f.fk_soc";
$sql .= ", pfd.code_banque, pfd.code_guichet, pfd.number, pfd.cle_rib"; $sql.= ", pfd.code_banque, pfd.code_guichet, pfd.number, pfd.cle_rib";
$sql .= ", pfd.amount"; $sql.= ", pfd.amount";
$sql .= ", s.nom"; $sql.= ", s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque == 1 || $agence ==1) $sql .= " , ".MAIN_DB_PREFIX."societe_rib as sr"; if ($banque == 1 || $agence ==1) $sql.= ", ".MAIN_DB_PREFIX."societe_rib as sr";
$sql .= " WHERE f.rowid = pfd.fk_facture"; $sql.= " WHERE f.rowid = pfd.fk_facture";
$sql .= " AND s.rowid = f.fk_soc"; $sql.= " AND f.entity = ".$conf->entity;
if ($banque == 1 || $agence ==1) $sql .= " AND s.rowid = sr.fk_soc"; $sql.= " AND s.rowid = f.fk_soc";
$sql .= " AND f.fk_statut = 1"; if ($banque == 1 || $agence ==1) $sql.= " AND s.rowid = sr.fk_soc";
$sql .= " AND f.paye = 0"; $sql.= " AND f.fk_statut = 1";
$sql .= " AND pfd.traite = 0"; $sql.= " AND f.paye = 0";
$sql .= " AND f.total_ttc > 0"; $sql.= " AND pfd.traite = 0";
if ($banque == 1) $sql.= " AND f.total_ttc > 0";
{ if ($banque == 1) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
$sql .= " AND sr.code_banque = '".PRELEVEMENT_CODE_BANQUE."'"; if ($agence == 1) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
}
if ($agence == 1)
{
$sql .= " AND sr.code_guichet = '".PRELEVEMENT_CODE_GUICHET."'";
}
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG); dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -799,8 +821,10 @@ class BonPrelevement extends CommonObject
{ {
$ref = "T".substr($year,-2).$month; $ref = "T".substr($year,-2).$month;
$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."prelevement_bons"; $sql = "SELECT count(*)";
$sql .= " WHERE ref LIKE '$ref%'"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons";
$sql.= " WHERE ref LIKE '".$ref."%'";
$sql.= " AND entity = ".$conf->entity;
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG); dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -820,8 +844,15 @@ class BonPrelevement extends CommonObject
$filebonprev = $ref; $filebonprev = $ref;
// Create withdraw receipt in database // Create withdraw receipt in database
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (ref,datec)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (";
$sql .= " VALUES ('".$ref."',".$this->db->idate(mktime()).")"; $sql.= ", ref";
$sql.= ", entity";
$sql.= ",datec";
$sql.= ") VALUES (";
$sql.= "'".$ref."'";
$sql.= ", ".$conf->entity;
$sql.= ", ".$this->db->idate(mktime());
$sql.= ")";
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG); dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -866,7 +897,7 @@ class BonPrelevement extends CommonObject
$pai->amounts = array(); $pai->amounts = array();
$pai->amounts[$fac[0]] = $fact->total_ttc; $pai->amounts[$fac[0]] = $fact->total_ttc;
$pai->datepaye = $datetimeprev; $pai->datepaye = $datetimeprev;
$pai->paiementid = 3; // pr<EFBFBD>l<EFBFBD>vement $pai->paiementid = 3; // prelevement
$pai->num_paiement = $ref; $pai->num_paiement = $ref;
if ($pai->create($user, 1) < 0) // on appelle en no_commit if ($pai->create($user, 1) < 0) // on appelle en no_commit
@ -882,7 +913,7 @@ class BonPrelevement extends CommonObject
$pai->valide(); $pai->valide();
/* /*
* Ajout d'une ligne de pr<EFBFBD>l<EFBFBD>vement * Ajout d'une ligne de prelevement
* *
* *
* $fac[3] : banque * $fac[3] : banque
@ -902,14 +933,14 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Mise <EFBFBD> jour des demandes * Mise a jour des demandes
* *
*/ */
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande"; $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande";
$sql .= " SET traite = 1"; $sql.= " SET traite = 1";
$sql .= ", date_traite=".$this->db->idate(mktime()); $sql.= ", date_traite = ".$this->db->idate(mktime());
$sql .= ", fk_prelevement_bons = ".$prev_id; $sql.= ", fk_prelevement_bons = ".$prev_id;
$sql .= " WHERE rowid=".$fac[1]; $sql.= " WHERE rowid = ".$fac[1];
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG); dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
if ($this->db->query($sql)) if ($this->db->query($sql))
@ -946,12 +977,12 @@ class BonPrelevement extends CommonObject
$bonprev->date_echeance = $datetimeprev; $bonprev->date_echeance = $datetimeprev;
$bonprev->reference_remise = $ref; $bonprev->reference_remise = $ref;
$bonprev->numero_national_emetteur = PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR; $bonprev->numero_national_emetteur = $conf->global->PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR;
$bonprev->raison_sociale = PRELEVEMENT_RAISON_SOCIALE; $bonprev->raison_sociale = $conf->global->PRELEVEMENT_RAISON_SOCIALE;
$bonprev->emetteur_code_etablissement = PRELEVEMENT_CODE_BANQUE; $bonprev->emetteur_code_etablissement = $conf->global->PRELEVEMENT_CODE_BANQUE;
$bonprev->emetteur_code_guichet = PRELEVEMENT_CODE_GUICHET; $bonprev->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET;
$bonprev->emetteur_numero_compte = PRELEVEMENT_NUMERO_COMPTE; $bonprev->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE;
$bonprev->factures = $factures_prev_id; $bonprev->factures = $factures_prev_id;
@ -963,13 +994,14 @@ class BonPrelevement extends CommonObject
} }
/* /*
* Mise <EFBFBD> jour du total * Mise a jour du total
* *
*/ */
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons"; $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons";
$sql .= " SET amount = ".price2num($bonprev->total); $sql.= " SET amount = ".price2num($bonprev->total);
$sql .= " WHERE rowid = ".$prev_id; $sql.= " WHERE rowid = ".$prev_id;
$sql.= " AND entity = ".$conf->entity;
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG); dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@ -1037,7 +1069,7 @@ class BonPrelevement extends CommonObject
$result = 0; $result = 0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_notifications "; $sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_notifications ";
$sql .= " WHERE rowid = '".$rowid."'"; $sql.= " WHERE rowid = '".$rowid."'";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -1058,7 +1090,8 @@ class BonPrelevement extends CommonObject
$result = 0; $result = 0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_notifications "; $sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_notifications ";
$sql .= " WHERE fk_user = '".$user."' AND action = '".$action."'"; $sql.= " WHERE fk_user = '".$user."'";
$sql.= " AND action = '".$action."'";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -1081,9 +1114,13 @@ class BonPrelevement extends CommonObject
if ($this->DeleteNotification($user, $action) == 0) if ($this->DeleteNotification($user, $action) == 0)
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_notifications "; $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_notifications (";
$sql .= " (fk_user, action )"; $sql.= "fk_user";
$sql .= " VALUES ('".$user."','".$action."');"; $sql.= ", action";
$sql.= ") VALUES (";
$sql.= "'".$user."'";
$sql.= ", '".$action."'";
$sql.= ")";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
@ -1100,7 +1137,7 @@ class BonPrelevement extends CommonObject
} }
/** /**
* Generation d'un bon de pr<EFBFBD>l<EFBFBD>vement * Generation d'un bon de prelevement
* *
*/ */
function Generate() function Generate()
@ -1175,13 +1212,13 @@ class BonPrelevement extends CommonObject
function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount) function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount)
{ {
fputs ($this->file, "06"); fputs ($this->file, "06");
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire fputs ($this->file, "08"); // Prelevement ordinaire
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2 fputs ($this->file, " "); // Zone Reservee B2
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3 fputs ($this->file, $this->numero_national_emetteur); // Numero National d'emmetteur B3
// Date d'<EFBFBD>ch<EFBFBD>ance C1 // Date d'echeance C1
fputs ($this->file, " "); fputs ($this->file, " ");
fputs ($this->file, strftime("%d%m", $this->date_echeance)); fputs ($this->file, strftime("%d%m", $this->date_echeance));
@ -1195,7 +1232,7 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr(" ",0,24)); fputs ($this->file, substr(" ",0,24));
// Zone R<EFBFBD>serv<EFBFBD>e D2 // Zone Reservee D2
fputs ($this->file, substr(" ",0,8)); fputs ($this->file, substr(" ",0,8));
@ -1213,16 +1250,16 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr("000000000000000".$montant, -16)); fputs ($this->file, substr("000000000000000".$montant, -16));
// Libell<EFBFBD> F // Libelle F
fputs ($this->file, substr("*".$this->ref.$rowid." ",0,13)); fputs ($this->file, substr("*".$this->ref.$rowid." ",0,13));
fputs ($this->file, substr(" ",0,18)); fputs ($this->file, substr(" ",0,18));
// Code <EFBFBD>tablissement G1 // Code etablissement G1
fputs ($this->file, $rib_banque); fputs ($this->file, $rib_banque);
// Zone R<EFBFBD>serv<EFBFBD>e G2 // Zone Reservee G2
fputs ($this->file, substr(" ",0,5)); fputs ($this->file, substr(" ",0,5));
@ -1238,13 +1275,13 @@ class BonPrelevement extends CommonObject
function EnregDestinataireVersion1($fac) function EnregDestinataireVersion1($fac)
{ {
fputs ($this->file, "06"); fputs ($this->file, "06");
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire fputs ($this->file, "08"); // Prelevement ordinaire
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2 fputs ($this->file, " "); // Zone Reservee B2
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3 fputs ($this->file, $this->numero_national_emetteur); // Numero National d'emmetteur B3
// Date d'<EFBFBD>ch<EFBFBD>ance C1 // Date d'echeance C1
fputs ($this->file, " "); fputs ($this->file, " ");
fputs ($this->file, strftime("%d%m", $this->date_echeance)); fputs ($this->file, strftime("%d%m", $this->date_echeance));
@ -1254,11 +1291,11 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr($fac->client->nom. " ",0,24)); fputs ($this->file, substr($fac->client->nom. " ",0,24));
// Reference de la remise cr<EFBFBD>ancier D1 // Reference de la remise creancier D1
fputs ($this->file, substr(" ",0,24)); fputs ($this->file, substr(" ",0,24));
// Zone R<EFBFBD>serv<EFBFBD>e D2 // Zone Reservee D2
fputs ($this->file, substr(" ",0,8)); fputs ($this->file, substr(" ",0,8));
@ -1276,16 +1313,16 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr("000000000000000".$montant, -16)); fputs ($this->file, substr("000000000000000".$montant, -16));
// Libell<EFBFBD> F // Libelle F
fputs ($this->file, substr("*".$fac->ref." ",0,13)); fputs ($this->file, substr("*".$fac->ref." ",0,13));
fputs ($this->file, substr(" ",0,18)); fputs ($this->file, substr(" ",0,18));
// Code <EFBFBD>tablissement G1 // Code etablissement G1
fputs ($this->file, $fac->client->bank_account->code_banque); fputs ($this->file, $fac->client->bank_account->code_banque);
// Zone R<EFBFBD>serv<EFBFBD>e G2 // Zone Reservee G2
fputs ($this->file, substr(" ",0,5)); fputs ($this->file, substr(" ",0,5));
@ -1299,13 +1336,13 @@ class BonPrelevement extends CommonObject
function EnregEmetteur() function EnregEmetteur()
{ {
fputs ($this->file, "03"); fputs ($this->file, "03");
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire fputs ($this->file, "08"); // Prelevement ordinaire
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2 fputs ($this->file, " "); // Zone Reservee B2
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3 fputs ($this->file, $this->numero_national_emetteur); // Numero National d'emmetteur B3
// Date d'<EFBFBD>ch<EFBFBD>ance C1 // Date d'echeance C1
fputs ($this->file, " "); fputs ($this->file, " ");
fputs ($this->file, strftime("%d%m", $this->date_echeance)); fputs ($this->file, strftime("%d%m", $this->date_echeance));
@ -1315,15 +1352,15 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr($this->raison_sociale. " ",0,24)); fputs ($this->file, substr($this->raison_sociale. " ",0,24));
// Reference de la remise cr<EFBFBD>ancier D1 sur 7 caract<63>res // Reference de la remise creancier D1 sur 7 caracteres
fputs ($this->file, substr($this->reference_remise. " ",0,7)); fputs ($this->file, substr($this->reference_remise. " ",0,7));
// Zone R<EFBFBD>serv<EFBFBD>e D1-2 // Zone Reservee D1-2
fputs ($this->file, substr(" ",0,17)); fputs ($this->file, substr(" ",0,17));
// Zone R<EFBFBD>serv<EFBFBD>e D2 // Zone Reservee D2
fputs ($this->file, substr(" ",0,2)); fputs ($this->file, substr(" ",0,2));
fputs ($this->file, "E"); fputs ($this->file, "E");
@ -1337,19 +1374,19 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr("000000000000000".$this->emetteur_numero_compte, -11)); fputs ($this->file, substr("000000000000000".$this->emetteur_numero_compte, -11));
// Zone R<EFBFBD>serv<EFBFBD>e E // Zone Reservee E
fputs ($this->file, substr(" ",0,16)); fputs ($this->file, substr(" ",0,16));
// Zone R<EFBFBD>serv<EFBFBD>e F // Zone Reservee F
fputs ($this->file, substr(" ",0,31)); fputs ($this->file, substr(" ",0,31));
// Code <EFBFBD>tablissement // Code etablissement
fputs ($this->file, $this->emetteur_code_etablissement); fputs ($this->file, $this->emetteur_code_etablissement);
// Zone R<EFBFBD>serv<EFBFBD>e G // Zone Reservee G
fputs ($this->file, substr(" ",0,5)); fputs ($this->file, substr(" ",0,5));
@ -1364,13 +1401,13 @@ class BonPrelevement extends CommonObject
function EnregTotal($total) function EnregTotal($total)
{ {
fputs ($this->file, "08"); fputs ($this->file, "08");
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire fputs ($this->file, "08"); // Prelevement ordinaire
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2 fputs ($this->file, " "); // Zone Reservee B2
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3 fputs ($this->file, $this->numero_national_emetteur); // Numero National d'emmetteur B3
// R<EFBFBD>serv<EFBFBD> C1 // Reserve C1
fputs ($this->file, substr(" ",0,12)); fputs ($this->file, substr(" ",0,12));
@ -1383,7 +1420,7 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr(" ",0,24)); fputs ($this->file, substr(" ",0,24));
// Zone R<EFBFBD>serv<EFBFBD>e D2 // Zone Reservee D2
fputs ($this->file, substr(" ",0,8)); fputs ($this->file, substr(" ",0,8));
@ -1401,15 +1438,15 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr("000000000000000".$montant, -16)); fputs ($this->file, substr("000000000000000".$montant, -16));
// Zone R<EFBFBD>serv<EFBFBD>e F // Zone Reservee F
fputs ($this->file, substr(" ",0,31)); fputs ($this->file, substr(" ",0,31));
// Code <EFBFBD>tablissement // Code etablissement
fputs ($this->file, substr(" ",0,5)); fputs ($this->file, substr(" ",0,5));
// Zone R<EFBFBD>serv<EFBFBD>e F // Zone Reservee F
fputs ($this->file, substr(" ",0,5)); fputs ($this->file, substr(" ",0,5));

View File

@ -90,8 +90,8 @@ if ($_GET["id"])
print '</td></tr>'; print '</td></tr>';
print '</table><br />'; print '</table><br />';
$fileimage = DOL_DATA_ROOT.'/prelevement/bon/'.$bon->ref.'.ps.png.0'; $fileimage = $conf->prelevement->dir_output.'/receipts/'.$bon->ref.'.ps.png.0';
$fileps = DOL_DATA_ROOT.'/prelevement/bon/'.$bon->ref.'.ps'; $fileps = $conf->prelevement->dir_output.'/receipts/'.$bon->ref.'.ps';
// Conversion du PDF en image png si fichier png non existant // Conversion du PDF en image png si fichier png non existant
if (!file_exists($fileimage)) if (!file_exists($fileimage))

View File

@ -57,7 +57,9 @@ if (! $sortfield) $sortfield="p.datec";
$sql = "SELECT p.rowid, p.ref, p.amount, p.statut"; $sql = "SELECT p.rowid, p.ref, p.amount, p.statut";
$sql.= ", ".$db->pdate("p.datec")." as datec"; $sql.= ", ".$db->pdate("p.datec")." as datec";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); $sql.= " WHERE p.entity = ".$conf->entity;
$sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)

View File

@ -133,6 +133,7 @@ $limit=5;
$sql = "SELECT p.rowid, p.ref, p.amount, p.statut"; $sql = "SELECT p.rowid, p.ref, p.amount, p.statut";
$sql.= ", ".$db->pdate("p.datec")." as datec"; $sql.= ", ".$db->pdate("p.datec")." as datec";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " WHERE p.entity = ".$conf->entity;
$sql.= " ORDER BY datec DESC"; $sql.= " ORDER BY datec DESC";
$sql.=$db->plimit($limit); $sql.=$db->plimit($limit);
@ -186,7 +187,7 @@ $sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " WHERE s.rowid = f.fk_soc"; $sql.= " WHERE s.rowid = f.fk_soc";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND pfd.traite = 0"; $sql.= " AND pfd.traite = 0";
$sql.= " AND pfd.fk_facture = f.rowid"; $sql.= " AND pfd.fk_facture = f.rowid";
if ($socid) $sql.= " AND f.fk_soc = ".$socid; if ($socid) $sql.= " AND f.fk_soc = ".$socid;

View File

@ -65,14 +65,14 @@ if (! $sortfield) $sortfield="f.facnumber";
*/ */
$sql= "SELECT f.facnumber, f.rowid, s.nom, s.rowid as socid"; $sql= "SELECT f.facnumber, f.rowid, s.nom, s.rowid as socid";
$sql.= " , ".$db->pdate("pfd.date_demande")." as date_demande"; $sql.= ", ".$db->pdate("pfd.date_demande")." as date_demande";
$sql.= " , pfd.fk_user_demande"; $sql.= ", pfd.fk_user_demande";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " WHERE s.rowid = f.fk_soc"; $sql.= " WHERE s.rowid = f.fk_soc";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($socid) $sql.= " AND f.fk_soc = ".$socid; if ($socid) $sql.= " AND f.fk_soc = ".$socid;
if (!$statut) $sql.= " AND pfd.traite = 0"; if (!$statut) $sql.= " AND pfd.traite = 0";
@ -82,7 +82,8 @@ if (strlen(trim($_GET["search_societe"])))
{ {
$sql.= " AND s.nom LIKE '%".$_GET["search_societe"]."%'"; $sql.= " AND s.nom LIKE '%".$_GET["search_societe"]."%'";
} }
$sql.= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); $sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->plimit($conf->liste_limit+1, $offset);
if ( $db->query($sql) ) if ( $db->query($sql) )
{ {

View File

@ -1,6 +1,7 @@
<?PHP <?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -97,28 +98,22 @@ $offset = $conf->liste_limit * $page ;
* Liste des factures * Liste des factures
*/ */
$sql = "SELECT pf.rowid"; $sql = "SELECT pf.rowid";
$sql .= " ,f.rowid as facid, f.facnumber as ref, f.total_ttc"; $sql.= ",f.rowid as facid, f.facnumber as ref, f.total_ttc";
$sql .= " , s.rowid as socid, s.nom"; $sql.= ", s.rowid as socid, s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " , ".MAIN_DB_PREFIX."facture as f"; $sql.= ", ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE pf.fk_prelevement_lignes = pl.rowid"; $sql.= " WHERE pf.fk_prelevement_lignes = pl.rowid";
$sql .= " AND pl.fk_prelevement_bons = p.rowid"; $sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql .= " AND f.fk_soc = s.rowid"; $sql.= " AND f.fk_soc = s.rowid";
$sql .= " AND pf.fk_facture = f.rowid"; $sql.= " AND pf.fk_facture = f.rowid";
if ($_GET["id"]) $sql.= " AND f.entity = ".$conf->entity;
{ if ($_GET["id"]) $sql.= " AND p.rowid=".$_GET["id"];
$sql .= " AND p.rowid=".$_GET["id"]; if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
} $sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->plimit($conf->liste_limit+1, $offset);
if ($_GET["socid"])
{
$sql .= " AND s.rowid = ".$_GET["socid"];
}
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql); $result = $db->query($sql);
@ -168,11 +163,11 @@ if ($result)
} }
elseif ($obj->statut == 1) elseif ($obj->statut == 1)
{ {
print 'Crédité'; print 'Credite';
} }
elseif ($obj->statut == 2) elseif ($obj->statut == 2)
{ {
print '<b>Rejeté</b>'; print '<b>Rejete</b>';
} }
print "</td></tr>\n"; print "</td></tr>\n";

View File

@ -1,5 +1,6 @@
<?PHP <?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -26,7 +27,7 @@ require_once DOL_DOCUMENT_ROOT."/paiement.class.php";
/* /*
* Sécurité accés client * Sécurite acces client
*/ */
if ($user->societe_id > 0) accessforbidden(); if ($user->societe_id > 0) accessforbidden();
@ -76,23 +77,20 @@ if ($sortfield == "") {
* *
*/ */
$sql = "SELECT p.rowid, pf.statut, p.ref"; $sql = "SELECT p.rowid, pf.statut, p.ref";
$sql .= " ,f.rowid as facid, f.facnumber, f.total_ttc"; $sql.= " ,f.rowid as facid, f.facnumber, f.total_ttc";
$sql .= " , s.rowid as socid, s.nom"; $sql.= " , s.rowid as socid, s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " , ".MAIN_DB_PREFIX."facture as f"; $sql.= " , ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE pf.fk_prelevement = p.rowid"; $sql.= " WHERE pf.fk_prelevement = p.rowid";
$sql .= " AND f.fk_soc = s.rowid"; $sql.= " AND f.fk_soc = s.rowid";
$sql .= " AND pf.fk_facture = f.rowid"; $sql.= " AND pf.fk_facture = f.rowid";
$sql .= " AND pf.statut = 2 "; $sql.= " AND pf.statut = 2 ";
$sql.= " AND f.entity = ".$conf->entity;
if ($_GET["socid"]) if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
{ $sql.= " ORDER BY $sortfield $sortorder ";
$sql .= " AND s.rowid = ".$_GET["socid"]; $sql.= $db->plimit($conf->liste_limit+1, $offset);
}
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)

View File

@ -1,6 +1,7 @@
<?PHP <?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -89,24 +90,20 @@ $rej = new RejetPrelevement($db, $user);
* *
*/ */
$sql = "SELECT pl.rowid, pl.amount, pl.statut"; $sql = "SELECT pl.rowid, pl.amount, pl.statut";
$sql .= " , s.rowid as socid, s.nom"; $sql.= " , s.rowid as socid, s.nom";
$sql .= " , pr.motif, pr.afacturer, pr.fk_facture"; $sql.= " , pr.motif, pr.afacturer, pr.fk_facture";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_rejet as pr"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_rejet as pr";
$sql .= " WHERE p.rowid=".$prev_id; $sql.= " WHERE p.rowid=".$prev_id;
$sql .= " AND pl.fk_prelevement_bons = p.rowid"; $sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql .= " AND pl.fk_soc = s.rowid"; $sql.= " AND p.entity = ".$conf->entity;
$sql .= " AND pl.statut = 3 "; $sql.= " AND pl.fk_soc = s.rowid";
$sql .= " AND pr.fk_prelevement_lignes = pl.rowid"; $sql.= " AND pl.statut = 3 ";
$sql.= " AND pr.fk_prelevement_lignes = pl.rowid";
if ($_GET["socid"]) if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
{ $sql.= " ORDER BY pl.amount DESC";
$sql .= " AND s.rowid = ".$_GET["socid"];
}
$sql .= " ORDER BY pl.amount DESC";
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql) if ($resql)

View File

@ -90,10 +90,9 @@ if ($prev_id)
* *
*/ */
$sql = "SELECT sum(pl.amount), pl.statut"; $sql = "SELECT sum(pl.amount), pl.statut";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql.= " WHERE pl.fk_prelevement_bons = ".$prev_id;
$sql .= " WHERE pl.fk_prelevement_bons = ".$prev_id; $sql.= " GROUP BY pl.statut";
$sql .= " GROUP BY pl.statut";
if ($db->query($sql)) if ($db->query($sql))
{ {
@ -115,11 +114,11 @@ if ($prev_id)
if ($row[1] == 2) if ($row[1] == 2)
{ {
print 'Crédité'; print 'Credite';
} }
elseif ($row[1] == 3) elseif ($row[1] == 3)
{ {
print 'Rejeté'; print 'Rejete';
} }
elseif ($row[1] == 1) elseif ($row[1] == 1)
{ {

View File

@ -81,7 +81,7 @@ $sql.= ", ".MAIN_DB_PREFIX."societe as s";
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " WHERE s.rowid = f.fk_soc"; $sql.= " WHERE s.rowid = f.fk_soc";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND pfd.traite = 0 AND pfd.fk_facture = f.rowid"; $sql.= " AND pfd.traite = 0 AND pfd.fk_facture = f.rowid";
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
if ($socid) $sql.= " AND f.fk_soc = ".$socid; if ($socid) $sql.= " AND f.fk_soc = ".$socid;

View File

@ -1,5 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -41,7 +42,7 @@ class LignePrelevement
/** /**
* \brief Constructeur de la classe * \brief Constructeur de la classe
* \param DB Handler accès base de données * \param DB Handler acces base de donnees
* \param user Objet user * \param user Objet user
*/ */
function LignePrelevement($DB, $user) function LignePrelevement($DB, $user)
@ -51,24 +52,27 @@ class LignePrelevement
$this->statuts = array(); $this->statuts = array();
$this->statuts[0] = "En attente"; $this->statuts[0] = "En attente";
$this->statuts[2] = "Crédité"; $this->statuts[2] = "Credite";
$this->statuts[3] = "Rejeté"; $this->statuts[3] = "Rejete";
} }
/** /**
* \brief Recupére l'objet prelevement * \brief Recupere l'objet prelevement
* \param rowid id de la facture a récupérer * \param rowid id de la facture a recuperer
*/ */
function fetch($rowid) function fetch($rowid)
{ {
global $conf;
$result = 0; $result = 0;
$sql = "SELECT pl.rowid, pl.amount, p.ref, p.rowid as bon_rowid"; $sql = "SELECT pl.rowid, pl.amount, p.ref, p.rowid as bon_rowid";
$sql .= ", pl.statut, pl.fk_soc"; $sql.= ", pl.statut, pl.fk_soc";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= ", ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " WHERE pl.rowid=".$rowid; $sql.= " WHERE pl.rowid=".$rowid;
$sql .= " AND p.rowid = pl.fk_prelevement_bons"; $sql.= " AND p.rowid = pl.fk_prelevement_bons";
$sql.= " AND p.entity = ".$conf->entity;
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {

View File

@ -1,6 +1,7 @@
<?PHP <?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -205,25 +206,22 @@ if ($_GET["id"])
* *
*/ */
$sql = "SELECT pf.rowid"; $sql = "SELECT pf.rowid";
$sql .= " ,f.rowid as facid, f.facnumber as ref, f.total_ttc"; $sql.= " ,f.rowid as facid, f.facnumber as ref, f.total_ttc";
$sql .= " , s.rowid as socid, s.nom"; $sql.= " , s.rowid as socid, s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " , ".MAIN_DB_PREFIX."facture as f"; $sql.= " , ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE pf.fk_prelevement_lignes = pl.rowid"; $sql.= " WHERE pf.fk_prelevement_lignes = pl.rowid";
$sql .= " AND pl.fk_prelevement_bons = p.rowid"; $sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql .= " AND f.fk_soc = s.rowid"; $sql.= " AND f.fk_soc = s.rowid";
$sql .= " AND pf.fk_facture = f.rowid"; $sql.= " AND pf.fk_facture = f.rowid";
$sql .= " AND pl.rowid=".$_GET["id"]; $sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND pl.rowid=".$_GET["id"];
if ($_GET["socid"]) if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
{ $sql.= " ORDER BY $sortfield $sortorder ";
$sql .= " AND s.rowid = ".$_GET["socid"]; $sql.= $db->plimit($conf->liste_limit+1, $offset);
}
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql); $result = $db->query($sql);

View File

@ -1,6 +1,7 @@
<?PHP <?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -107,23 +108,20 @@ if ($sortfield == "") {
} }
/* /*
* Liste des lignes de prélèvement * Liste des lignes de prelevement
* *
* *
*/ */
$sql = "SELECT pl.rowid, pl.statut, pl.amount"; $sql = "SELECT pl.rowid, pl.statut, pl.amount";
$sql .= " , s.rowid as socid, s.nom"; $sql.= ", s.rowid as socid, s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE pl.fk_prelevement_bons=".$prev_id; $sql.= " WHERE pl.fk_prelevement_bons=".$prev_id;
$sql .= " AND pl.fk_soc = s.rowid"; $sql.= " AND pl.fk_soc = s.rowid";
$sql.= " AND s.entity = ".$conf->entity;
if ($_GET["socid"]) if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
{ $sql.= " ORDER BY $sortfield $sortorder ";
$sql .= " AND s.rowid = ".$_GET["socid"]; $sql.= $db->plimit($conf->liste_limit+1, $offset);
}
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql); $result = $db->query($sql);

View File

@ -56,8 +56,8 @@ $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl"; $sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql.= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql.= " WHERE pl.fk_prelevement_bons = p.rowid"; $sql.= " WHERE pl.fk_prelevement_bons = p.rowid";
$sql.= " AND p.entity = ".$conf->entity;
$sql.= " AND s.rowid = pl.fk_soc"; $sql.= " AND s.rowid = pl.fk_soc";
$sql.= " AND s.entity = ".$conf->entity;
if ($socid) $sql.= " AND pl.fk_soc = ".$socid; if ($socid) $sql.= " AND pl.fk_soc = ".$socid;
if ($_GET["search_ligne"]) if ($_GET["search_ligne"])
{ {

View File

@ -66,10 +66,9 @@ $sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql.= " WHERE pf.fk_prelevement_lignes = pl.rowid"; $sql.= " WHERE pf.fk_prelevement_lignes = pl.rowid";
$sql.= " AND pl.fk_prelevement_bons = p.rowid"; $sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql.= " AND f.fk_soc = s.rowid"; $sql.= " AND f.fk_soc = s.rowid";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND pf.fk_facture = f.rowid"; $sql.= " AND pf.fk_facture = f.rowid";
if ($socid) $sql.= " AND s.rowid = ".$socid;
if ($socid) $sql .= " AND s.rowid = ".$socid;
if ($_GET["search_fac"]) if ($_GET["search_fac"])
{ {

View File

@ -1,5 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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,7 +41,7 @@ class RejetPrelevement
/** /**
* \brief Constructeur de la classe * \brief Constructeur de la classe
* \param DB Handler accès base de données * \param DB Handler acces base de donnees
* \param user Utilisateur * \param user Utilisateur
*/ */
function RejetPrelevement($DB, $user) function RejetPrelevement($DB, $user)
@ -49,14 +50,14 @@ class RejetPrelevement
$this->user = $user; $this->user = $user;
$this->motifs = array(); $this->motifs = array();
$this->motifs[0] = "Non renseigné"; $this->motifs[0] = "Non renseigne";
$this->motifs[1] = "Provision insuffisante"; $this->motifs[1] = "Provision insuffisante";
$this->motifs[2] = "Tirage contesté"; $this->motifs[2] = "Tirage conteste";
$this->motifs[3] = "Pas de bon à payer"; $this->motifs[3] = "Pas de bon à payer";
$this->motifs[4] = "Opposition sur compte"; $this->motifs[4] = "Opposition sur compte";
$this->motifs[5] = "RIB inexploitable"; $this->motifs[5] = "RIB inexploitable";
$this->motifs[6] = "Compte soldé"; $this->motifs[6] = "Compte solde";
$this->motifs[7] = "Décision judiciaire"; $this->motifs[7] = "Decision judiciaire";
$this->motifs[8] = "Autre motif"; $this->motifs[8] = "Autre motif";
} }
@ -75,12 +76,21 @@ class RejetPrelevement
/* Insert la ligne de rejet dans la base */ /* Insert la ligne de rejet dans la base */
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_rejet "; $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_rejet (";
$sql .= " (fk_prelevement_lignes, date_rejet"; $sql.= "fk_prelevement_lignes";
$sql .= " , motif , fk_user_creation, date_creation, afacturer)"; $sql.= ", date_rejet";
$sql .= " VALUES (".$id; $sql.= ", motif";
$sql .= " ,'".$this->db->idate($date_rejet)."'"; $sql.= ", fk_user_creation";
$sql .= " ,".$motif.",". $user->id.", ".$this->db->idate(mktime()).",".$facturation.");"; $sql.= ", date_creation";
$sql.= ", afacturer";
$sql.= ") VALUES (";
$sql.= $id;
$sql.= ", '".$this->db->idate($date_rejet)."'";
$sql.= ", ".$motif;
$sql.= ", ".$user->id;
$sql.= ", ".$this->db->idate(mktime());
$sql.= ", ".$facturation;
$sql.= ")";
$result=$this->db->query($sql); $result=$this->db->query($sql);
@ -91,11 +101,11 @@ class RejetPrelevement
$error++; $error++;
} }
/* Tag la ligne de prev comme rejetée */ /* Tag la ligne de prev comme rejetee */
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes "; $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes ";
$sql .= " SET statut = 3"; $sql.= " SET statut = 3";
$sql .= " WHERE rowid=".$id; $sql.= " WHERE rowid = ".$id;
if (! $this->db->query($sql)) if (! $this->db->query($sql))
{ {
@ -109,18 +119,18 @@ class RejetPrelevement
$fac = new Facture($this->db); $fac = new Facture($this->db);
$fac->fetch($facs[$i]); $fac->fetch($facs[$i]);
/* Emet un paiement négatif */ /* Emet un paiement negatif */
$pai = new Paiement($this->db); $pai = new Paiement($this->db);
$pai->amounts = array(); $pai->amounts = array();
// On remplace la virgule éventuelle par un point sinon // On remplace la virgule eventuelle par un point sinon
// certaines install de PHP renvoie uniquement la partie // certaines install de PHP renvoie uniquement la partie
// entiere negative // entiere negative
$pai->amounts[$facs[$i]] = price2num($fac->total_ttc * -1); $pai->amounts[$facs[$i]] = price2num($fac->total_ttc * -1);
$pai->datepaye = $this->db->idate($date_rejet); $pai->datepaye = $this->db->idate($date_rejet);
$pai->paiementid = 3; // prélèvement $pai->paiementid = 3; // prelevement
$pai->num_paiement = "Rejet"; $pai->num_paiement = "Rejet";
if ($pai->create($this->user, 1) == -1) // on appelle en no_commit if ($pai->create($this->user, 1) == -1) // on appelle en no_commit
@ -137,7 +147,7 @@ class RejetPrelevement
dol_syslog("RejetPrelevement::Create Erreur validation du paiement"); dol_syslog("RejetPrelevement::Create Erreur validation du paiement");
} }
/* Tag la facture comme impayée */ /* Tag la facture comme impayee */
dol_syslog("RejetPrelevement::Create set_unpayed fac ".$fac->ref); dol_syslog("RejetPrelevement::Create set_unpayed fac ".$fac->ref);
$fac->set_unpayed($fac->id, $user); $fac->set_unpayed($fac->id, $user);
@ -167,9 +177,9 @@ class RejetPrelevement
$userid = 0; $userid = 0;
$sql = "SELECT fk_user_demande"; $sql = "SELECT fk_user_demande";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql .= " WHERE pfd.fk_prelevement_bons = ".$this->bon_id; $sql.= " WHERE pfd.fk_prelevement_bons = ".$this->bon_id;
$sql .= " AND pfd.fk_facture = ".$fac->id; $sql.= " AND pfd.fk_facture = ".$fac->id;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
@ -196,7 +206,7 @@ class RejetPrelevement
require_once(DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
$subject = "Prélèvement rejeté"; $subject = "Prelevement rejete";
$sendto = $emuser->fullname." <".$emuser->email.">"; $sendto = $emuser->fullname." <".$emuser->email.">";
$from = $this->user->fullname." <".$this->user->email.">"; $from = $this->user->fullname." <".$this->user->email.">";
$msgishtml=0; $msgishtml=0;
@ -206,7 +216,7 @@ class RejetPrelevement
$arr_name = array(); $arr_name = array();
$message = "Bonjour,\n"; $message = "Bonjour,\n";
$message .= "\nLe prélèvement de la facture ".$fac->ref." pour le compte de la société ".$soc->nom." d'un montant de ".price($fac->total_ttc)." a été rejeté par la banque."; $message .= "\nLe prelevement de la facture ".$fac->ref." pour le compte de la societe ".$soc->nom." d'un montant de ".price($fac->total_ttc)." a ete rejete par la banque.";
$message .= "\n\n--\n".$this->user->fullname; $message .= "\n\n--\n".$this->user->fullname;
$mailfile = new CMailFile($subject,$sendto,$from,$message, $mailfile = new CMailFile($subject,$sendto,$from,$message,
@ -216,7 +226,7 @@ class RejetPrelevement
$result=$mailfile->sendfile(); $result=$mailfile->sendfile();
if ($result) if ($result)
{ {
dol_syslog("RejetPrelevement::_send_email email envoyé"); dol_syslog("RejetPrelevement::_send_email email envoye");
} }
else else
{ {
@ -231,10 +241,12 @@ class RejetPrelevement
/** /**
* \brief Recupére la liste des factures concernées * \brief Recupere la liste des factures concernees
*/ */
function _get_list_factures() function _get_list_factures()
{ {
global $conf;
$arr = array(); $arr = array();
/* /*
* Renvoie toutes les factures associée à un prélèvement * Renvoie toutes les factures associée à un prélèvement
@ -242,13 +254,11 @@ class RejetPrelevement
*/ */
$sql = "SELECT f.rowid as facid"; $sql = "SELECT f.rowid as facid";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf"; $sql.= ", ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."facture as f"; $sql.= " WHERE pf.fk_prelevement_lignes = ".$this->id;
$sql.= " AND pf.fk_facture = f.rowid";
$sql .= " WHERE pf.fk_prelevement_lignes = ".$this->id; $sql.= " AND f.entity = ".$conf->entity;
$sql .= " AND pf.fk_facture = f.rowid";
$result=$this->db->query($sql); $result=$this->db->query($sql);
if ($result) if ($result)
@ -279,16 +289,16 @@ class RejetPrelevement
/** /**
* \brief Recupére l'objet prelevement * \brief Recupere l'objet prelevement
* \param rowid id de la facture a récupérer * \param rowid id de la facture a recuperer
*/ */
function fetch($rowid) function fetch($rowid)
{ {
$sql = "SELECT ".$this->db->pdate("pr.date_rejet")." as dr"; $sql = "SELECT ".$this->db->pdate("pr.date_rejet")." as dr";
$sql .= ", motif"; $sql.= ", motif";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_rejet as pr"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_rejet as pr";
$sql .= " WHERE pr.fk_prelevement_lignes =".$rowid; $sql.= " WHERE pr.fk_prelevement_lignes =".$rowid;
if ($this->db->query($sql)) if ($this->db->query($sql))

View File

@ -86,7 +86,7 @@ $sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql.= " WHERE pr.fk_prelevement_lignes = pl.rowid"; $sql.= " WHERE pr.fk_prelevement_lignes = pl.rowid";
$sql.= " AND pl.fk_prelevement_bons = p.rowid"; $sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql.= " AND pl.fk_soc = s.rowid"; $sql.= " AND pl.fk_soc = s.rowid";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if ($socid) $sql.= " AND s.rowid = ".$socid; if ($socid) $sql.= " AND s.rowid = ".$socid;
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); $sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);

View File

@ -1,6 +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-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.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
@ -121,10 +122,6 @@ class modPrelevement extends DolibarrModules
// Permissions // Permissions
$this->remove(); $this->remove();
// Dir
$this->dirs[0] = $conf->prelevement->dir_output;
$this->dirs[1] = $conf->prelevement->dir_output."/bon" ;
$sql = array(); $sql = array();
return $this->_init($sql); return $this->_init($sql);

View File

@ -68,20 +68,20 @@ if (!$error)
{ {
$sql = "SELECT f.rowid, pfd.rowid as pfdrowid, f.fk_soc"; $sql = "SELECT f.rowid, pfd.rowid as pfdrowid, f.fk_soc";
$sql .= ", pfd.code_banque, pfd.code_guichet, pfd.number, pfd.cle_rib"; $sql.= ", pfd.code_banque, pfd.code_guichet, pfd.number, pfd.cle_rib";
$sql .= ", pfd.amount"; $sql.= ", pfd.amount";
$sql .= ", s.nom"; $sql.= ", s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; $sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " WHERE f.rowid = pfd.fk_facture";
$sql .= " WHERE f.rowid = pfd.fk_facture"; $sql.= " AND f.entity = ".$conf->entity;
$sql .= " AND s.rowid = f.fk_soc"; $sql.= " AND s.rowid = f.fk_soc";
$sql .= " AND f.fk_statut = 1"; $sql.= " AND f.fk_statut = 1";
$sql .= " AND f.paye = 0"; $sql.= " AND f.paye = 0";
$sql .= " AND pfd.traite = 0"; $sql.= " AND pfd.traite = 0";
$sql .= " AND f.total_ttc > 0"; $sql.= " AND f.total_ttc > 0";
$sql .= " AND f.fk_mode_reglement = 3"; $sql.= " AND f.fk_mode_reglement = 3";
if ( $db->query($sql) ) if ( $db->query($sql) )
{ {
@ -97,7 +97,7 @@ if (!$error)
$i++; $i++;
} }
$db->free(); $db->free();
dol_syslog("$i factures à prélever"); dol_syslog("$i factures à prelever");
} }
else else
{ {
@ -120,7 +120,7 @@ if (!$error)
* *
*/ */
$i = 0; $i = 0;
dol_syslog("Début vérification des RIB"); dol_syslog("Debut verification des RIB");
if (sizeof($factures) > 0) if (sizeof($factures) > 0)
{ {
@ -147,7 +147,7 @@ if (!$error)
} }
else else
{ {
dol_syslog("Impossible de lire la société"); dol_syslog("Impossible de lire la societe");
} }
} }
else else
@ -168,7 +168,7 @@ if (!$error)
* *
*/ */
dol_syslog(sizeof($factures_prev)." factures seront prélevées"); dol_syslog(sizeof($factures_prev)." factures seront prelevees");
print 'eeee'.$factures_prev; print 'eeee'.$factures_prev;
if (sizeof($factures_prev) > 0) if (sizeof($factures_prev) > 0)
{ {
@ -195,8 +195,10 @@ if (sizeof($factures_prev) > 0)
* *
* *
*/ */
$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."prelevement_bons"; $sql = "SELECT count(*)";
$sql .= " WHERE ref LIKE '$ref%'"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons";
$sql.= " WHERE ref LIKE '".$ref."%'";
$sql.= " AND entity = ".$conf->entity;
if ($db->query($sql)) if ($db->query($sql))
{ {
@ -217,20 +219,27 @@ if (sizeof($factures_prev) > 0)
* *
*/ */
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (ref,datec)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (";
$sql .= " VALUES ('".$ref."',".$db->idate(mktime()).")"; $sql.= "ref";
$sql.= ", entity";
$sql.= ", datec";
$sql.= ") VALUES (";
$sql.= "'".$ref."'";
$sql.= ", ".$conf->entity;
$sql.= ", ".$db->idate(mktime());
$sql.= ")";
if ($db->query($sql)) if ($db->query($sql))
{ {
$prev_id = $db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons"); $prev_id = $db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons");
$bonprev = new BonPrelevement($db, $this->prelevement."/bon/".$filebonprev); $bonprev = new BonPrelevement($db, $this->prelevement."/receipts/".$filebonprev);
$bonprev->id = $prev_id; $bonprev->id = $prev_id;
} }
else else
{ {
$error++; $error++;
dol_syslog("Erreur création du bon de prelevement"); dol_syslog("Erreur creation du bon de prelevement");
} }
} }
@ -242,7 +251,7 @@ if (sizeof($factures_prev) > 0)
*/ */
if (!$error) if (!$error)
{ {
dol_syslog("Début génération des paiements"); dol_syslog("Debut generation des paiements");
dol_syslog("Nombre de factures ".sizeof($factures_prev)); dol_syslog("Nombre de factures ".sizeof($factures_prev));
if (sizeof($factures_prev) > 0) if (sizeof($factures_prev) > 0)
@ -297,10 +306,10 @@ if (sizeof($factures_prev) > 0)
* *
*/ */
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande"; $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande";
$sql .= " SET traite = 1"; $sql.= " SET traite = 1";
$sql .= ", date_traite=".$db->idate(mktime()); $sql.= ", date_traite = ".$db->idate(mktime());
$sql .= ", fk_prelevement_bons = ".$prev_id; $sql.= ", fk_prelevement_bons = ".$prev_id;
$sql .= " WHERE rowid=".$fac[1]; $sql.= " WHERE rowid = ".$fac[1];
if ($db->query($sql)) if ($db->query($sql))
{ {
@ -337,12 +346,12 @@ if (sizeof($factures_prev) > 0)
$bonprev->reference_remise = $ref; $bonprev->reference_remise = $ref;
$bonprev->numero_national_emetteur = PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR; $bonprev->numero_national_emetteur = $conf->global->PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR;
$bonprev->raison_sociale = PRELEVEMENT_RAISON_SOCIALE; $bonprev->raison_sociale = $conf->global->PRELEVEMENT_RAISON_SOCIALE;
$bonprev->emetteur_code_etablissement = PRELEVEMENT_CODE_BANQUE; $bonprev->emetteur_code_etablissement = $conf->global->PRELEVEMENT_CODE_BANQUE;
$bonprev->emetteur_code_guichet = PRELEVEMENT_CODE_GUICHET; $bonprev->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET;
$bonprev->emetteur_numero_compte = PRELEVEMENT_NUMERO_COMPTE; $bonprev->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE;
$bonprev->factures = $factures_prev_id; $bonprev->factures = $factures_prev_id;
@ -359,8 +368,9 @@ if (sizeof($factures_prev) > 0)
*/ */
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons"; $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons";
$sql .= " SET amount = ".price2num($bonprev->total); $sql.= " SET amount = ".price2num($bonprev->total);
$sql .= " WHERE rowid = ".$prev_id; $sql.= " WHERE rowid = ".$prev_id;
$sql.= " AND entity = ".$conf->entity;
if (!$db->query($sql)) if (!$db->query($sql))
{ {