From 0e6daffb44553d4e4db28ee6ab9c6ce9e76c35d4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 13 Jul 2006 13:40:19 +0000 Subject: [PATCH] New: Quelques classes pour la compta expert --- .../accountancy/accountancyaccount.class.php | 99 +++++++++++++++++++ .../accountancy/accountancysystem.class.php | 99 +++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 htdocs/accountancy/accountancyaccount.class.php create mode 100644 htdocs/accountancy/accountancysystem.class.php diff --git a/htdocs/accountancy/accountancyaccount.class.php b/htdocs/accountancy/accountancyaccount.class.php new file mode 100644 index 00000000000..eb890d9f99d --- /dev/null +++ b/htdocs/accountancy/accountancyaccount.class.php @@ -0,0 +1,99 @@ + + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + */ + +/** + \file htdocs/accountancy/accountancyaccount.class.php + \ingroup comptaexpert + \brief Fichier de la classe des comptes comptables + \version $Revision$ +*/ + + +/** \class AccountancyAccount + \brief Classe permettant la gestion des comptes +*/ + +class AccountancyAccount +{ + var $db; + var $error; + + var $rowid; + var $fk_pcg_version; + var $pcg_type; + var $pcg_subtype; + var $label; + var $account_number; + var $account_parent; + + + /** + * \brief Constructeur de la classe + * \param DB handler accès base de données + * \param id id compte (0 par defaut) + */ + function AccountancyAccount($DB, $id=0) + { + $this->db = $DB; + $this->id = $id ; + } + + + /** + * \brief Insère le compte en base + * \param user Utilisateur qui effectue l'insertion + * \return int <0 si ko, Id ligne ajoutée si ok + */ + function create($user) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."accountingaccount"; + $sql.= " (date_creation, fk_user_author, numero,intitule)"; + $sql.= " VALUES (now(),".$user->id.",'".$this->numero."','".$this->intitule."')"; + + $resql = $this->db->query($sql); + if ($resql) + { + $id = $this->db->last_insert_id(MAIN_DB_PREFIX."accountingaccount"); + + if ($id > 0) + { + $this->id = $id; + $result = $this->id; + } + else + { + $result = -2; + $this->error="AccountancyAccount::Create Erreur $result"; + dolibarr_syslog($this->error); + } + } + else + { + $result = -1; + $this->error="AccountancyAccount::Create Erreur $result"; + dolibarr_syslog($this->error); + } + + return $result; + } + +} +?> diff --git a/htdocs/accountancy/accountancysystem.class.php b/htdocs/accountancy/accountancysystem.class.php new file mode 100644 index 00000000000..0fe7c44a0a1 --- /dev/null +++ b/htdocs/accountancy/accountancysystem.class.php @@ -0,0 +1,99 @@ + + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + */ + +/** + \file htdocs/accountancy/accountancysystem.class.php + \ingroup comptaexpert + \brief Fichier de la classe des plans de comptes comptables + \version $Revision$ +*/ + + +/** \class AccountancySystem + \brief Classe permettant la gestion des plans de comptes +*/ + +class AccountancySystem +{ + var $db; + var $error; + + var $rowid; + var $fk_pcg_version; + var $pcg_type; + var $pcg_subtype; + var $label; + var $account_number; + var $account_parent; + + + /** + * \brief Constructeur de la classe + * \param DB Handler accès base de données + * \param id Id compte (0 par defaut) + */ + function AccountancySystem($DB, $id=0) + { + $this->db = $DB; + $this->id = $id ; + } + + + /** + * \brief Insère le plan de compte en base + * \param user Utilisateur qui effectue l'insertion + * \return int <0 si ko, Id ligne ajoutée si ok + */ + function create($user) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."accountingsystem"; + $sql.= " (date_creation, fk_user_author, numero,intitule)"; + $sql.= " VALUES (now(),".$user->id.",'".$this->numero."','".$this->intitule."')"; + + $resql = $this->db->query($sql); + if ($resql) + { + $id = $this->db->last_insert_id(MAIN_DB_PREFIX."accountingsystem"); + + if ($id > 0) + { + $this->id = $id; + $result = $this->id; + } + else + { + $result = -2; + $this->error="AccountancySystem::Create Erreur $result"; + dolibarr_syslog($this->error); + } + } + else + { + $result = -1; + $this->error="AccountancySystem::Create Erreur $result"; + dolibarr_syslog($this->error); + } + + return $result; + } + +} +?>