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
/* 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
* it under the terms of the GNU General Public License as published by
@ -86,16 +87,19 @@ class BonPrelevement extends CommonObject
$result = 0;
$ligne_id = 0;
$result = $this->AddLigne($ligne_id, $client_id, $client_nom,
$amount, $code_banque, $code_guichet, $number);
$result = $this->AddLigne($ligne_id, $client_id, $client_nom, $amount, $code_banque, $code_guichet, $number);
if ($result == 0)
{
if ($ligne_id > 0)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_facture ";
$sql .= " (fk_facture,fk_prelevement_lignes)";
$sql .= " VALUES (".$facture_id.",".$ligne_id.")";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_facture (";
$sql.= "fk_facture";
$sql.= ",fk_prelevement_lignes";
$sql.= ") VALUES (";
$sql.= $facture_id;
$sql.= ", ".$ligne_id;
$sql.= ")";
if ($this->db->query($sql))
{
@ -137,12 +141,13 @@ class BonPrelevement extends CommonObject
/*
* On aggrege les lignes
*/
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes";
$sql .= " WHERE fk_prelevement_bons".$this->id;
$sql .= " AND fk_soc =".$client_id;
$sql .= " AND code_banque ='".$code_banque."'";
$sql .= " AND code_guichet ='".$code_guichet."'";
$sql .= " AND number ='".$number."'";
$sql = "SELECT rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes";
$sql.= " WHERE fk_prelevement_bons = ".$this->id;
$sql.= " AND fk_soc =".$client_id;
$sql.= " AND code_banque ='".$code_banque."'";
$sql.= " AND code_guichet ='".$code_guichet."'";
$sql.= " AND number ='".$number."'";
if ($this->db->query($sql))
{
@ -158,15 +163,23 @@ class BonPrelevement extends CommonObject
/*
* Pas de d'agregation
*/
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes (fk_prelevement_bons";
$sql .= " , fk_soc , client_nom ";
$sql .= " , amount";
$sql .= " , code_banque , code_guichet , number)";
$sql .= " VALUES (".$this->id;
$sql .= ",".$client_id.",'".addslashes($client_nom)."'";
$sql .= ",'".price2num($amount)."'";
$sql .= ", '$code_banque', '$code_guichet', '$number')";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes (";
$sql.= "fk_prelevement_bons";
$sql.= ", fk_soc";
$sql.= ", client_nom";
$sql.= ", amount";
$sql.= ", code_banque";
$sql.= ", code_guichet";
$sql.= ", 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))
{
@ -203,15 +216,18 @@ class BonPrelevement extends CommonObject
*/
function fetch($rowid)
{
global $conf;
$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.date_trans")." as date_trans";
$sql .= " , method_trans, fk_user_trans";
$sql .= ",".$this->db->pdate("p.date_credit")." as date_credit";
$sql .= " , fk_user_credit";
$sql .= " , statut";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " WHERE p.rowid=".$rowid;
$sql.= ", ".$this->db->pdate("p.datec")." as dc";
$sql.= ", ".$this->db->pdate("p.date_trans")." as date_trans";
$sql.= ", p.method_trans, p.fk_user_trans";
$sql.= ", ".$this->db->pdate("p.date_credit")." as date_credit";
$sql.= ", p.fk_user_credit";
$sql.= ", p.statut";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " WHERE p.rowid = ".$rowid;
$sql.= " AND p.entity = ".$conf->entity;
dol_syslog("Bon-prelevement::fetch sql=".$sql, LOG_DEBUG);
$result=$this->db->query($sql);
@ -261,15 +277,16 @@ class BonPrelevement extends CommonObject
*/
function set_credite()
{
global $user;
global $user,$conf;
$error == 0;
if ($this->db->begin())
{
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_bons ";
$sql .= " SET credite = 1";
$sql .= " WHERE rowid=".$this->id;
$sql.= " SET credite = 1";
$sql.= " WHERE rowid=".$this->id;
$sql.= " AND entity = ".$conf->entity;
$result=$this->db->query($sql);
if (! $result)
@ -297,8 +314,8 @@ class BonPrelevement extends CommonObject
{
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes ";
$sql .= " SET statut = 2";
$sql .= " WHERE fk_prelevement_bons=".$this->id;
$sql.= " SET statut = 2";
$sql.= " WHERE fk_prelevement_bons = ".$this->id;
if (! $this->db->query($sql))
{
@ -341,6 +358,8 @@ class BonPrelevement extends CommonObject
*/
function set_infocredit($user, $date)
{
global $conf;
$error == 0;
if ($this->_fetched == 1)
@ -350,18 +369,19 @@ class BonPrelevement extends CommonObject
if ($this->db->begin())
{
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_bons ";
$sql .= " SET fk_user_credit = ".$user->id;
$sql .= " , statut = 2";
$sql .= " , date_credit='".$this->db->idate($date)."'";
$sql .= " WHERE rowid=".$this->id;
$sql .= " AND statut = 1";
$sql.= " SET fk_user_credit = ".$user->id;
$sql.= ", statut = 2";
$sql.= ", date_credit = '".$this->db->idate($date)."'";
$sql.= " WHERE rowid=".$this->id;
$sql.= " AND entity = ".$conf->entity;
$sql.= " AND statut = 1";
if ($this->db->query($sql))
{
$subject = "Cr<EFBFBD>dit pr<70>l<EFBFBD>vement ".$this->ref." <20> la banque";
$message = "Le bon de pr<EFBFBD>l<EFBFBD>vement ".$this->ref;
$message .= " a <20>t<EFBFBD> cr<63>dit<69> par la banque.\n";
$message .= "Date cr<63>dit : ".dol_print_date($date,'dayhour');
$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');
$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)
@ -411,28 +431,31 @@ class BonPrelevement extends CommonObject
*/
function set_infotrans($user, $date, $method)
{
global $conf;
$error == 0;
dol_syslog("bon-prelevement::set_infotrans Start",LOG_INFO);
if ($this->db->begin())
{
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons ";
$sql .= " SET fk_user_trans = ".$user->id;
$sql .= " , date_trans='".$this->db->idate($date)."'";
$sql .= " , method_trans=".$method;
$sql .= " , statut = 1";
$sql .= " WHERE rowid=".$this->id;
$sql .= " AND statut = 0";
$sql.= " SET fk_user_trans = ".$user->id;
$sql.= " , date_trans = '".$this->db->idate($date)."'";
$sql.= " , method_trans = ".$method;
$sql.= " , statut = 1";
$sql.= " WHERE rowid = ".$this->id;
$sql.= " AND entity = ".$conf->entity;
$sql.= " AND statut = 0";
if ($this->db->query($sql))
{
$this->method_trans = $method;
$subject = "Transmission du pr<EFBFBD>l<EFBFBD>vement ".$this->ref." <20> la banque";
$message = "Le bon de pr<EFBFBD>l<EFBFBD>vement ".$this->ref;
$message .= " a <EFBFBD>t<EFBFBD> transmis <20> la banque par ".$user->prenom. " ".$user->nom;
$subject = "Transmission du prelevement ".$this->ref." a la banque";
$message = "Le bon de prelevement ".$this->ref;
$message .= " a ete transmis a la banque par ".$user->prenom. " ".$user->nom;
$message .= "\n\n";
$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');
$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)
@ -475,14 +498,17 @@ class BonPrelevement extends CommonObject
*/
function Notify($user, $action, $subject, $message, $joinfile=0)
{
global $conf;
$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 .= " FROM ".MAIN_DB_PREFIX."user as u";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_notifications as pn";
$sql .= " WHERE pn.action ='".$action."'";
$sql .= " AND u.rowid = pn.fk_user;";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
$sql.= " , ".MAIN_DB_PREFIX."prelevement_notifications as pn";
$sql.= " WHERE pn.action = '".$action."'";
$sql.= " AND u.rowid = pn.fk_user";
$sql.= " AND u.entity IN (0,".$conf->entity.")";
$resql = $this->db->query($sql);
if ($resql)
@ -504,7 +530,7 @@ class BonPrelevement extends CommonObject
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_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()
{
global $conf;
$arr = array();
/*
* Renvoie toutes les factures pr<EFBFBD>sente
* dans un bon de pr<EFBFBD>l<EFBFBD>vement
* Renvoie toutes les factures presente
* dans un bon de prelevement
*/
$sql = "SELECT fk_facture";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " WHERE pf.fk_prelevement_lignes = pl.rowid";
$sql .= " AND pl.fk_prelevement_bons = p.rowid";
$sql .= " AND p.rowid=".$this->id;
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " , ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql.= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql.= " WHERE pf.fk_prelevement_lignes = pl.rowid";
$sql.= " AND pl.fk_prelevement_bons = p.rowid";
$sql.= " AND p.rowid = ".$this->id;
$sql.= " AND p.entity = ".$conf->entity;
$resql=$this->db->query($sql);
if ($resql)
@ -571,16 +600,18 @@ class BonPrelevement extends CommonObject
*/
function SommeAPrelever()
{
global $conf;
$sql = "SELECT sum(f.total_ttc)";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql .= " WHERE f.fk_statut = 1";
$sql .= " AND f.rowid = pfd.fk_facture";
$sql .= " AND f.paye = 0";
$sql .= " AND pfd.traite = 0";
$sql .= " AND f.total_ttc > 0";
$sql .= " AND f.fk_mode_reglement = 3";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " WHERE f.fk_statut = 1";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND f.rowid = pfd.fk_facture";
$sql.= " AND f.paye = 0";
$sql.= " AND pfd.traite = 0";
$sql.= " AND f.total_ttc > 0";
$sql.= " AND f.fk_mode_reglement = 3";
$resql = $this->db->query($sql);
@ -608,25 +639,21 @@ class BonPrelevement extends CommonObject
*/
function NbFactureAPrelever($banque=0,$agence=0)
{
global $conf;
$sql = "SELECT count(f.rowid)";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f,";
$sql .= " ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque == 1 || $agence == 1) $sql.=", ".MAIN_DB_PREFIX."societe_rib as sr";
$sql .= " WHERE f.fk_statut = 1";
$sql .= " AND f.rowid = pfd.fk_facture";
$sql .= " AND f.paye = 0";
$sql .= " AND pfd.traite = 0";
$sql .= " AND f.total_ttc > 0";
if ($banque == 1 || $agence == 1) $sql .= " AND f.fk_soc = sr.rowid";
if ($banque == 1)
{
$sql .= " AND sr.code_banque = '".PRELEVEMENT_CODE_BANQUE."'";
}
if ($agence == 1)
{
$sql .= " AND sr.code_guichet = '".PRELEVEMENT_CODE_GUICHET."'";
}
$sql.= " WHERE f.fk_statut = 1";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND f.rowid = pfd.fk_facture";
$sql.= " AND f.paye = 0";
$sql.= " AND pfd.traite = 0";
$sql.= " AND f.total_ttc > 0";
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."'";
if ($agence == 1) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
$resql = $this->db->query($sql);
@ -681,28 +708,23 @@ class BonPrelevement extends CommonObject
if (! $error)
{
$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.amount";
$sql .= ", s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque == 1 || $agence ==1) $sql .= " , ".MAIN_DB_PREFIX."societe_rib as sr";
$sql .= " WHERE f.rowid = pfd.fk_facture";
$sql .= " AND s.rowid = f.fk_soc";
if ($banque == 1 || $agence ==1) $sql .= " AND s.rowid = sr.fk_soc";
$sql .= " AND f.fk_statut = 1";
$sql .= " AND f.paye = 0";
$sql .= " AND pfd.traite = 0";
$sql .= " AND f.total_ttc > 0";
if ($banque == 1)
{
$sql .= " AND sr.code_banque = '".PRELEVEMENT_CODE_BANQUE."'";
}
if ($agence == 1)
{
$sql .= " AND sr.code_guichet = '".PRELEVEMENT_CODE_GUICHET."'";
}
$sql.= ", pfd.code_banque, pfd.code_guichet, pfd.number, pfd.cle_rib";
$sql.= ", pfd.amount";
$sql.= ", s.nom";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if ($banque == 1 || $agence ==1) $sql.= ", ".MAIN_DB_PREFIX."societe_rib as sr";
$sql.= " WHERE f.rowid = pfd.fk_facture";
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " AND s.rowid = f.fk_soc";
if ($banque == 1 || $agence ==1) $sql.= " AND s.rowid = sr.fk_soc";
$sql.= " AND f.fk_statut = 1";
$sql.= " AND f.paye = 0";
$sql.= " AND pfd.traite = 0";
$sql.= " AND f.total_ttc > 0";
if ($banque == 1) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'";
if ($agence == 1) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'";
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql);
@ -799,8 +821,10 @@ class BonPrelevement extends CommonObject
{
$ref = "T".substr($year,-2).$month;
$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."prelevement_bons";
$sql .= " WHERE ref LIKE '$ref%'";
$sql = "SELECT count(*)";
$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);
$resql = $this->db->query($sql);
@ -820,8 +844,15 @@ class BonPrelevement extends CommonObject
$filebonprev = $ref;
// Create withdraw receipt in database
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (ref,datec)";
$sql .= " VALUES ('".$ref."',".$this->db->idate(mktime()).")";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons (";
$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);
$resql = $this->db->query($sql);
@ -866,7 +897,7 @@ class BonPrelevement extends CommonObject
$pai->amounts = array();
$pai->amounts[$fac[0]] = $fact->total_ttc;
$pai->datepaye = $datetimeprev;
$pai->paiementid = 3; // pr<EFBFBD>l<EFBFBD>vement
$pai->paiementid = 3; // prelevement
$pai->num_paiement = $ref;
if ($pai->create($user, 1) < 0) // on appelle en no_commit
@ -882,7 +913,7 @@ class BonPrelevement extends CommonObject
$pai->valide();
/*
* Ajout d'une ligne de pr<EFBFBD>l<EFBFBD>vement
* Ajout d'une ligne de prelevement
*
*
* $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 .= " SET traite = 1";
$sql .= ", date_traite=".$this->db->idate(mktime());
$sql .= ", fk_prelevement_bons = ".$prev_id;
$sql .= " WHERE rowid=".$fac[1];
$sql.= " SET traite = 1";
$sql.= ", date_traite = ".$this->db->idate(mktime());
$sql.= ", fk_prelevement_bons = ".$prev_id;
$sql.= " WHERE rowid = ".$fac[1];
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
if ($this->db->query($sql))
@ -946,12 +977,12 @@ class BonPrelevement extends CommonObject
$bonprev->date_echeance = $datetimeprev;
$bonprev->reference_remise = $ref;
$bonprev->numero_national_emetteur = PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR;
$bonprev->raison_sociale = PRELEVEMENT_RAISON_SOCIALE;
$bonprev->numero_national_emetteur = $conf->global->PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR;
$bonprev->raison_sociale = $conf->global->PRELEVEMENT_RAISON_SOCIALE;
$bonprev->emetteur_code_etablissement = PRELEVEMENT_CODE_BANQUE;
$bonprev->emetteur_code_guichet = PRELEVEMENT_CODE_GUICHET;
$bonprev->emetteur_numero_compte = PRELEVEMENT_NUMERO_COMPTE;
$bonprev->emetteur_code_etablissement = $conf->global->PRELEVEMENT_CODE_BANQUE;
$bonprev->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET;
$bonprev->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE;
$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 .= " SET amount = ".price2num($bonprev->total);
$sql .= " WHERE rowid = ".$prev_id;
$sql.= " SET amount = ".price2num($bonprev->total);
$sql.= " WHERE rowid = ".$prev_id;
$sql.= " AND entity = ".$conf->entity;
dol_syslog("Bon-Prelevement::Create sql=".$sql, LOG_DEBUG);
$resql=$this->db->query($sql);
@ -1037,7 +1069,7 @@ class BonPrelevement extends CommonObject
$result = 0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_notifications ";
$sql .= " WHERE rowid = '".$rowid."'";
$sql.= " WHERE rowid = '".$rowid."'";
if ($this->db->query($sql))
{
@ -1058,7 +1090,8 @@ class BonPrelevement extends CommonObject
$result = 0;
$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))
{
@ -1081,9 +1114,13 @@ class BonPrelevement extends CommonObject
if ($this->DeleteNotification($user, $action) == 0)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_notifications ";
$sql .= " (fk_user, action )";
$sql .= " VALUES ('".$user."','".$action."');";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_notifications (";
$sql.= "fk_user";
$sql.= ", action";
$sql.= ") VALUES (";
$sql.= "'".$user."'";
$sql.= ", '".$action."'";
$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()
@ -1175,13 +1212,13 @@ class BonPrelevement extends CommonObject
function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount)
{
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, strftime("%d%m", $this->date_echeance));
@ -1195,7 +1232,7 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr(" ",0,24));
// Zone R<EFBFBD>serv<EFBFBD>e D2
// Zone Reservee D2
fputs ($this->file, substr(" ",0,8));
@ -1213,16 +1250,16 @@ class BonPrelevement extends CommonObject
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(" ",0,18));
// Code <EFBFBD>tablissement G1
// Code etablissement G1
fputs ($this->file, $rib_banque);
// Zone R<EFBFBD>serv<EFBFBD>e G2
// Zone Reservee G2
fputs ($this->file, substr(" ",0,5));
@ -1238,13 +1275,13 @@ class BonPrelevement extends CommonObject
function EnregDestinataireVersion1($fac)
{
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, strftime("%d%m", $this->date_echeance));
@ -1254,11 +1291,11 @@ class BonPrelevement extends CommonObject
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));
// Zone R<EFBFBD>serv<EFBFBD>e D2
// Zone Reservee D2
fputs ($this->file, substr(" ",0,8));
@ -1276,16 +1313,16 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr("000000000000000".$montant, -16));
// Libell<EFBFBD> F
// Libelle F
fputs ($this->file, substr("*".$fac->ref." ",0,13));
fputs ($this->file, substr(" ",0,18));
// Code <EFBFBD>tablissement G1
// Code etablissement G1
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));
@ -1299,13 +1336,13 @@ class BonPrelevement extends CommonObject
function EnregEmetteur()
{
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, strftime("%d%m", $this->date_echeance));
@ -1315,15 +1352,15 @@ class BonPrelevement extends CommonObject
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));
// Zone R<EFBFBD>serv<EFBFBD>e D1-2
// Zone Reservee D1-2
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, "E");
@ -1337,19 +1374,19 @@ class BonPrelevement extends CommonObject
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));
// Zone R<EFBFBD>serv<EFBFBD>e F
// Zone Reservee F
fputs ($this->file, substr(" ",0,31));
// Code <EFBFBD>tablissement
// 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));
@ -1364,13 +1401,13 @@ class BonPrelevement extends CommonObject
function EnregTotal($total)
{
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));
@ -1383,7 +1420,7 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr(" ",0,24));
// Zone R<EFBFBD>serv<EFBFBD>e D2
// Zone Reservee D2
fputs ($this->file, substr(" ",0,8));
@ -1401,15 +1438,15 @@ class BonPrelevement extends CommonObject
fputs ($this->file, substr("000000000000000".$montant, -16));
// Zone R<EFBFBD>serv<EFBFBD>e F
// Zone Reservee F
fputs ($this->file, substr(" ",0,31));
// Code <EFBFBD>tablissement
// Code etablissement
fputs ($this->file, substr(" ",0,5));
// Zone R<EFBFBD>serv<EFBFBD>e F
// Zone Reservee F
fputs ($this->file, substr(" ",0,5));

View File

@ -90,8 +90,8 @@ if ($_GET["id"])
print '</td></tr>';
print '</table><br />';
$fileimage = DOL_DATA_ROOT.'/prelevement/bon/'.$bon->ref.'.ps.png.0';
$fileps = DOL_DATA_ROOT.'/prelevement/bon/'.$bon->ref.'.ps';
$fileimage = $conf->prelevement->dir_output.'/receipts/'.$bon->ref.'.ps.png.0';
$fileps = $conf->prelevement->dir_output.'/receipts/'.$bon->ref.'.ps';
// Conversion du PDF en image png si fichier png non existant
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.= ", ".$db->pdate("p.datec")." as datec";
$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);
if ($result)

View File

@ -133,6 +133,7 @@ $limit=5;
$sql = "SELECT p.rowid, p.ref, p.amount, p.statut";
$sql.= ", ".$db->pdate("p.datec")." as datec";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " WHERE p.entity = ".$conf->entity;
$sql.= " ORDER BY datec DESC";
$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."prelevement_facture_demande as pfd";
$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.fk_facture = f.rowid";
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.= " , ".$db->pdate("pfd.date_demande")." as date_demande";
$sql.= " , pfd.fk_user_demande";
$sql.= ", ".$db->pdate("pfd.date_demande")." as date_demande";
$sql.= ", pfd.fk_user_demande";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$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 ($socid) $sql.= " AND f.fk_soc = ".$socid;
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.= " 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) )
{

View File

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

View File

@ -1,5 +1,6 @@
<?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
* 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();
@ -76,23 +77,20 @@ if ($sortfield == "") {
*
*/
$sql = "SELECT p.rowid, pf.statut, p.ref";
$sql .= " ,f.rowid as facid, f.facnumber, f.total_ttc";
$sql .= " , s.rowid as socid, s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement as p";
$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " , ".MAIN_DB_PREFIX."facture as f";
$sql .= " , ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE pf.fk_prelevement = p.rowid";
$sql .= " AND f.fk_soc = s.rowid";
$sql .= " AND pf.fk_facture = f.rowid";
$sql .= " AND pf.statut = 2 ";
if ($_GET["socid"])
{
$sql .= " AND s.rowid = ".$_GET["socid"];
}
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);
$sql.= " ,f.rowid as facid, f.facnumber, f.total_ttc";
$sql.= " , s.rowid as socid, s.nom";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement as p";
$sql.= " , ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql.= " , ".MAIN_DB_PREFIX."facture as f";
$sql.= " , ".MAIN_DB_PREFIX."societe as s";
$sql.= " WHERE pf.fk_prelevement = p.rowid";
$sql.= " AND f.fk_soc = s.rowid";
$sql.= " AND pf.fk_facture = f.rowid";
$sql.= " AND pf.statut = 2 ";
$sql.= " AND f.entity = ".$conf->entity;
if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
$sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql);
if ($result)

View File

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

View File

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

View File

@ -1,5 +1,6 @@
<?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
* it under the terms of the GNU General Public License as published by
@ -41,7 +42,7 @@ class LignePrelevement
/**
* \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
*/
function LignePrelevement($DB, $user)
@ -51,24 +52,27 @@ class LignePrelevement
$this->statuts = array();
$this->statuts[0] = "En attente";
$this->statuts[2] = "Crédité";
$this->statuts[3] = "Rejeté";
$this->statuts[2] = "Credite";
$this->statuts[3] = "Rejete";
}
/**
* \brief Recupére l'objet prelevement
* \param rowid id de la facture a récupérer
* \brief Recupere l'objet prelevement
* \param rowid id de la facture a recuperer
*/
function fetch($rowid)
{
global $conf;
$result = 0;
$sql = "SELECT pl.rowid, pl.amount, p.ref, p.rowid as bon_rowid";
$sql .= ", pl.statut, pl.fk_soc";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= ", ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql .= " WHERE pl.rowid=".$rowid;
$sql .= " AND p.rowid = pl.fk_prelevement_bons";
$sql.= ", pl.statut, pl.fk_soc";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql.= ", ".MAIN_DB_PREFIX."prelevement_bons as p";
$sql.= " WHERE pl.rowid=".$rowid;
$sql.= " AND p.rowid = pl.fk_prelevement_bons";
$sql.= " AND p.entity = ".$conf->entity;
if ($this->db->query($sql))
{

View File

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

View File

@ -1,6 +1,7 @@
<?PHP
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* 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
* 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 .= " , s.rowid as socid, s.nom";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql .= " , ".MAIN_DB_PREFIX."societe as s";
$sql .= " WHERE pl.fk_prelevement_bons=".$prev_id;
$sql .= " AND pl.fk_soc = s.rowid";
if ($_GET["socid"])
{
$sql .= " AND s.rowid = ".$_GET["socid"];
}
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);
$sql.= ", s.rowid as socid, s.nom";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= " WHERE pl.fk_prelevement_bons=".$prev_id;
$sql.= " AND pl.fk_soc = s.rowid";
$sql.= " AND s.entity = ".$conf->entity;
if ($_GET["socid"]) $sql.= " AND s.rowid = ".$_GET["socid"];
$sql.= " ORDER BY $sortfield $sortorder ";
$sql.= $db->plimit($conf->liste_limit+1, $offset);
$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."societe as s";
$sql.= " WHERE pl.fk_prelevement_bons = p.rowid";
$sql.= " AND p.entity = ".$conf->entity;
$sql.= " AND s.rowid = pl.fk_soc";
$sql.= " AND s.entity = ".$conf->entity;
if ($socid) $sql.= " AND pl.fk_soc = ".$socid;
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.= " AND pl.fk_prelevement_bons = p.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";
if ($socid) $sql .= " AND s.rowid = ".$socid;
if ($socid) $sql.= " AND s.rowid = ".$socid;
if ($_GET["search_fac"])
{

View File

@ -1,5 +1,6 @@
<?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
* it under the terms of the GNU General Public License as published by
@ -40,7 +41,7 @@ class RejetPrelevement
/**
* \brief Constructeur de la classe
* \param DB Handler accès base de données
* \param DB Handler acces base de donnees
* \param user Utilisateur
*/
function RejetPrelevement($DB, $user)
@ -49,14 +50,14 @@ class RejetPrelevement
$this->user = $user;
$this->motifs = array();
$this->motifs[0] = "Non renseigné";
$this->motifs[0] = "Non renseigne";
$this->motifs[1] = "Provision insuffisante";
$this->motifs[2] = "Tirage contesté";
$this->motifs[2] = "Tirage conteste";
$this->motifs[3] = "Pas de bon à payer";
$this->motifs[4] = "Opposition sur compte";
$this->motifs[5] = "RIB inexploitable";
$this->motifs[6] = "Compte soldé";
$this->motifs[7] = "Décision judiciaire";
$this->motifs[6] = "Compte solde";
$this->motifs[7] = "Decision judiciaire";
$this->motifs[8] = "Autre motif";
}
@ -75,12 +76,21 @@ class RejetPrelevement
/* Insert la ligne de rejet dans la base */
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_rejet ";
$sql .= " (fk_prelevement_lignes, date_rejet";
$sql .= " , motif , fk_user_creation, date_creation, afacturer)";
$sql .= " VALUES (".$id;
$sql .= " ,'".$this->db->idate($date_rejet)."'";
$sql .= " ,".$motif.",". $user->id.", ".$this->db->idate(mktime()).",".$facturation.");";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_rejet (";
$sql.= "fk_prelevement_lignes";
$sql.= ", date_rejet";
$sql.= ", motif";
$sql.= ", fk_user_creation";
$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);
@ -91,11 +101,11 @@ class RejetPrelevement
$error++;
}
/* Tag la ligne de prev comme rejetée */
/* Tag la ligne de prev comme rejetee */
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes ";
$sql .= " SET statut = 3";
$sql .= " WHERE rowid=".$id;
$sql.= " SET statut = 3";
$sql.= " WHERE rowid = ".$id;
if (! $this->db->query($sql))
{
@ -109,18 +119,18 @@ class RejetPrelevement
$fac = new Facture($this->db);
$fac->fetch($facs[$i]);
/* Emet un paiement négatif */
/* Emet un paiement negatif */
$pai = new Paiement($this->db);
$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
// entiere negative
$pai->amounts[$facs[$i]] = price2num($fac->total_ttc * -1);
$pai->datepaye = $this->db->idate($date_rejet);
$pai->paiementid = 3; // prélèvement
$pai->paiementid = 3; // prelevement
$pai->num_paiement = "Rejet";
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");
}
/* Tag la facture comme impayée */
/* Tag la facture comme impayee */
dol_syslog("RejetPrelevement::Create set_unpayed fac ".$fac->ref);
$fac->set_unpayed($fac->id, $user);
@ -167,9 +177,9 @@ class RejetPrelevement
$userid = 0;
$sql = "SELECT fk_user_demande";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql .= " WHERE pfd.fk_prelevement_bons = ".$this->bon_id;
$sql .= " AND pfd.fk_facture = ".$fac->id;
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd";
$sql.= " WHERE pfd.fk_prelevement_bons = ".$this->bon_id;
$sql.= " AND pfd.fk_facture = ".$fac->id;
$resql=$this->db->query($sql);
if ($resql)
@ -196,7 +206,7 @@ class RejetPrelevement
require_once(DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
$subject = "Prélèvement rejeté";
$subject = "Prelevement rejete";
$sendto = $emuser->fullname." <".$emuser->email.">";
$from = $this->user->fullname." <".$this->user->email.">";
$msgishtml=0;
@ -206,7 +216,7 @@ class RejetPrelevement
$arr_name = array();
$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;
$mailfile = new CMailFile($subject,$sendto,$from,$message,
@ -216,7 +226,7 @@ class RejetPrelevement
$result=$mailfile->sendfile();
if ($result)
{
dol_syslog("RejetPrelevement::_send_email email envoyé");
dol_syslog("RejetPrelevement::_send_email email envoye");
}
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()
{
global $conf;
$arr = array();
/*
* Renvoie toutes les factures associée à un prélèvement
@ -242,13 +254,11 @@ class RejetPrelevement
*/
$sql = "SELECT f.rowid as facid";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql .= " , ".MAIN_DB_PREFIX."facture as f";
$sql .= " WHERE pf.fk_prelevement_lignes = ".$this->id;
$sql .= " AND pf.fk_facture = f.rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_facture as pf";
$sql.= ", ".MAIN_DB_PREFIX."facture as f";
$sql.= " WHERE pf.fk_prelevement_lignes = ".$this->id;
$sql.= " AND pf.fk_facture = f.rowid";
$sql.= " AND f.entity = ".$conf->entity;
$result=$this->db->query($sql);
if ($result)
@ -279,16 +289,16 @@ class RejetPrelevement
/**
* \brief Recupére l'objet prelevement
* \param rowid id de la facture a récupérer
* \brief Recupere l'objet prelevement
* \param rowid id de la facture a recuperer
*/
function fetch($rowid)
{
$sql = "SELECT ".$this->db->pdate("pr.date_rejet")." as dr";
$sql .= ", motif";
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_rejet as pr";
$sql .= " WHERE pr.fk_prelevement_lignes =".$rowid;
$sql.= ", motif";
$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_rejet as pr";
$sql.= " WHERE pr.fk_prelevement_lignes =".$rowid;
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.= " AND pl.fk_prelevement_bons = p.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;
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset);

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* 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
* it under the terms of the GNU General Public License as published by
@ -121,10 +122,6 @@ class modPrelevement extends DolibarrModules
// Permissions
$this->remove();
// Dir
$this->dirs[0] = $conf->prelevement->dir_output;
$this->dirs[1] = $conf->prelevement->dir_output."/bon" ;
$sql = array();
return $this->_init($sql);

View File

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