diff --git a/htdocs/includes/modules/commande/mod_commande_diamant.php b/htdocs/includes/modules/commande/mod_commande_diamant.php index f765a9fa1b9..4bb06148830 100644 --- a/htdocs/includes/modules/commande/mod_commande_diamant.php +++ b/htdocs/includes/modules/commande/mod_commande_diamant.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2005 Rodolphe Quiedeville + * Copyright (C) 2005-2006 Regis Houssin * * 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 @@ -52,7 +53,7 @@ class mod_commande_diamant extends ModeleNumRefCommandes */ function info() { - $texte = "Renvoie le numéro sous la forme numérique CYY00001, CYY00002, CYY00003, ... où YY représente l'année. Le numéro d'incrément qui suit l'année n'est PAS remis à zéro en début d'année.
\n"; + $texte = "Renvoie le numéro sous la forme numérique CYYNNNN, où YY représente l'année et NNNN Le numéro d'incrément. Ce dernier n'est PAS remis à zéro en début d'année.
\n"; $texte.= "Si la constante COMMANDE_DIAMANT_DELTA est définie, un offset est appliqué sur le compteur"; if (defined("COMMANDE_DIAMANT_DELTA")) @@ -72,13 +73,15 @@ class mod_commande_diamant extends ModeleNumRefCommandes */ function getExample() { - if (defined("COMMANDE_DIAMANT_DELTA")) + if (defined("COMMANDE_DIAMANT_DELTA")) { - return "C0400".sprintf("%02d",COMMANDE_DIAMANT_DELTA); + $y = strftime("%y",time()); + $num = sprintf("%02d",COMMANDE_DIAMANT_DELTA); + return "C".$y.substr("000".$num, strlen("000".$num)-4,4); } else { - return "C040001"; + return "C".$y."0001"; } } @@ -107,11 +110,11 @@ class mod_commande_diamant extends ModeleNumRefCommandes define("COMMANDE_DIAMANT_DELTA", 0); } - $num = $num + FACTURE_NEPTUNE_DELTA; + $num = $num + COMMANDE_NEPTUNE_DELTA; $y = strftime("%y",time()); - return 'C'.$y.substr("0000".$num, strlen("0000".$num)-5,5); + return 'C'.$y.substr("000".$num, strlen("000".$num)-4,4); } } ?> diff --git a/htdocs/includes/modules/propale/mod_propale_diamant.php b/htdocs/includes/modules/propale/mod_propale_diamant.php new file mode 100644 index 00000000000..2d471de6fcd --- /dev/null +++ b/htdocs/includes/modules/propale/mod_propale_diamant.php @@ -0,0 +1,122 @@ + + * Copyright (C) 2004-2005 Laurent Destailleur + * Copyright (C) 2005-2006 Regis Houssin + * + * 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. + * or see http://www.gnu.org/ + * + * $Id$ + * $Source$ + */ + + +/** + \file htdocs/includes/modules/propale/mod_propale_diamant.php + \ingroup propale + \brief Fichier contenant la classe du modèle de numérotation de référence de propale Diamant + \version $Revision$ +*/ + +require_once(DOL_DOCUMENT_ROOT ."/includes/modules/propale/modules_propale.php"); + +/** \class mod_propale_diamant + \brief Classe du modèle de numérotation de référence de propale Diamant +*/ + +class mod_propale_diamant extends ModeleNumRefPropales +{ + + /** \brief Renvoi la description du modele de numérotation + * \return string Texte descripif + */ + function info() + { + $texte = "Renvoie le numéro sous la forme numérique PRYYNNNN où YY représente l'année et NNNN Le numéro d'incrément. Ce dernier n'est PAS remis à zéro en début d'année.
\n"; + $texte.= "Si la constante PROPALE_DIAMANT_DELTA est définie, un offset est appliqué sur le compteur"; + + if (defined("PROPALE_DIAMANT_DELTA")) + { + $texte .= " (Définie et vaut: ".PROPALE_DIAMANT_DELTA.")"; + } + else + { + $texte .= " (N'est pas définie)"; + } + return $texte; + } + + + /** \brief Renvoi un exemple de numérotation + * \return string Example + */ + function getExample() + { + + + if (defined("PROPALE_DIAMANT_DELTA")) + { + $y = strftime("%y",time()); + $num = sprintf("%02d",PROPALE_DIAMANT_DELTA); + return "C".$y.substr("000".$num, strlen("000".$num)-4,4); + } + else + { + return "C".$y."0001"; + } + } + + + /** \brief Renvoi prochaine valeur attribuée + * \return string Valeur + */ + function getNextValue() + { + global $db; + + $sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."propal"; + + if ( $db->query($sql) ) + { + $row = $db->fetch_row(0); + + $num = $row[0]; + } + + if (!defined("PROPALE_DIAMANT_DELTA")) + { + define("PROPALE_DIAMANT_DELTA", 0); + } + + $num = $num + PROPALE_NEPTUNE_DELTA; + + $y = strftime("%y",time()); + + return "PR" .$y. substr("000".$num, strlen("000".$num)-4,4); + } + + + /** \brief Renvoie la référence de propale suivante non utilisée + * \param objsoc Objet société + * \return string Texte descripif + */ + function propale_get_num($objsoc=0) + { +// return $this->propale_get_num(); + return $this->getNextValue(); + } +} + +?> diff --git a/htdocs/includes/modules/propale/mod_propale_ivoire.php b/htdocs/includes/modules/propale/mod_propale_ivoire.php index a176efec518..2d471de6fcd 100644 --- a/htdocs/includes/modules/propale/mod_propale_ivoire.php +++ b/htdocs/includes/modules/propale/mod_propale_ivoire.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2005 Laurent Destailleur - * Copyright (C) 2005 Regis Houssin + * Copyright (C) 2005-2006 Regis Houssin * * 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 @@ -24,19 +24,19 @@ /** - \file htdocs/includes/modules/propale/mod_propale_ivoire.php + \file htdocs/includes/modules/propale/mod_propale_diamant.php \ingroup propale - \brief Fichier contenant la classe du modèle de numérotation de référence de propale Ivoire + \brief Fichier contenant la classe du modèle de numérotation de référence de propale Diamant \version $Revision$ */ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/propale/modules_propale.php"); -/** \class mod_propale_ivoire - \brief Classe du modèle de numérotation de référence de propale Ivoire +/** \class mod_propale_diamant + \brief Classe du modèle de numérotation de référence de propale Diamant */ -class mod_propale_ivoire extends ModeleNumRefPropales +class mod_propale_diamant extends ModeleNumRefPropales { /** \brief Renvoi la description du modele de numérotation @@ -44,8 +44,19 @@ class mod_propale_ivoire extends ModeleNumRefPropales */ function info() { - return "Renvoie le numéro sous la forme PRyynnnn où yy est l'année et nnnn un compteur sans remise à 0"; - } + $texte = "Renvoie le numéro sous la forme numérique PRYYNNNN où YY représente l'année et NNNN Le numéro d'incrément. Ce dernier n'est PAS remis à zéro en début d'année.
\n"; + $texte.= "Si la constante PROPALE_DIAMANT_DELTA est définie, un offset est appliqué sur le compteur"; + + if (defined("PROPALE_DIAMANT_DELTA")) + { + $texte .= " (Définie et vaut: ".PROPALE_DIAMANT_DELTA.")"; + } + else + { + $texte .= " (N'est pas définie)"; + } + return $texte; + } /** \brief Renvoi un exemple de numérotation @@ -53,7 +64,18 @@ class mod_propale_ivoire extends ModeleNumRefPropales */ function getExample() { - return "PR050001"; + + + if (defined("PROPALE_DIAMANT_DELTA")) + { + $y = strftime("%y",time()); + $num = sprintf("%02d",PROPALE_DIAMANT_DELTA); + return "C".$y.substr("000".$num, strlen("000".$num)-4,4); + } + else + { + return "C".$y."0001"; + } } @@ -72,10 +94,17 @@ class mod_propale_ivoire extends ModeleNumRefPropales $num = $row[0]; } + + if (!defined("PROPALE_DIAMANT_DELTA")) + { + define("PROPALE_DIAMANT_DELTA", 0); + } + + $num = $num + PROPALE_NEPTUNE_DELTA; $y = strftime("%y",time()); - return "PR" . "$y" . substr("000".$num, strlen("000".$num)-4,4); + return "PR" .$y. substr("000".$num, strlen("000".$num)-4,4); }