Subversion Repositories Applications.gtt

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1 → Rev 2

/trunk/classes_metier/gtt_travail.class.php
New file
0,0 → 1,311
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library 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 |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
 
// |@author ABDOOL RAHEEM shaheen shaheenar50@hotmail.com |
// |@version 3 |
/**
* class Travail
*
*/
 
class Travail
{
/**Attributes: */
var $_utilisateur=null;
var $_tache=null;
var $_date_travail =null;
var $_duree_travail=null;
/**
*constructeur travail
*@param user : identifiant utilisateur
*@param tache : identifiant tache
*/
function Travail($user, $tache)
{
$this->_utilisateur= $user;
$this->_tache=$tache;
}
/*
*enregistre un travail dans la bse de donnees
*renvoie 1 si effectue
*0 si aucun enregistrement effectue
*-1 si erreur
*/
function enregistrerNewTravail()
{
$table =GEST_TRAVAIL;
$champs =array(
GEST_CHAMPS_ID_UTILISATEUR =>$this->_utilisateur,
GEST_CHAMPS_ID_TACHE =>$this->_tache,
GEST_CHAMPS_DATE_TRAVAIL =>$this->_date_travail,
GEST_CHAMPS_DUREE_TRAVAIL =>$this->_duree_travail);
$resultat =$GLOBALS['db']->autoExecute($table,$champs,DB_AUTOQUERY_INSERT);
if (DB::isError($resultat)) {
die($resultat->getMessage());
}
$j=$GLOBALS['db']->affectedRows();
if ($j==1)
{
return 1;
}elseif($j==0){
return 0;
}else{
return -1;
}
}
/**
*fonction mettant a jour l'objet travail dans la base de donnees
*mise a jour de la duree
*renvoie 1 si une modification bien effectuee
*-1 sinon
*/
function mettreAjourTravail()
{
$table=GEST_TRAVAIL;
$requete=" UPDATE $table SET ".
GEST_CHAMPS_DUREE_TRAVAIL." = $this->_duree_travail ".
" WHERE ".GEST_CHAMPS_ID_TACHE." = $this->_tache ".
" AND ".GEST_CHAMPS_ID_UTILISATEUR." = $this->_utilisateur".
" AND ".GEST_CHAMPS_DATE_TRAVAIL." =\"$this->_date_travail\"";
$resultat =$GLOBALS['db']->query($requete) ;
(DB::isError($resultat)) ?
die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$nb_ligne_modifie = $GLOBALS['db']->affectedRows();
if ($nb_ligne_modifie==1)
{
return 1;
}
else return -1;
}
/**
*fonction faisiant la somme des heures travaillees
*pour une journee donnee pour un utilisateur
*@param $id : identifiant de la personne a chercher
*@param $date: date pour laquelle on doit faire la somme
*date est sous forme Y-m-d(format mysql)
*@return une somme temps de travail de l'utilisateur a la date donnee
*/
function sommeHeureTravail($id,$date)
{
$requete="SELECT SUM(".GEST_CHAMPS_DUREE_TRAVAIL.")".
" FROM ".GEST_TRAVAIL.
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $id".
" AND ".GEST_CHAMPS_DATE_TRAVAIL." =\"$date\" ";
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ?
die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$ligne = $resultat->fetchRow(DB_FETCHMODE_ORDERED);
return $ligne[0];
}
/**
*fonction pour determiner la date de travail
*/
function setDateTravail( $dateTravail )
{
$this->_date_travail =$dateTravail;
}
/**
*fonction renvoyant la date de travail
*/
function getDateTravail()
{
return $this->_date_travail;
}
/**
*fonction renvoyant la duree du temps de travail
*/
function getDureeTravail()
{
return $this->_duree_travail;
}
/**
*fonction qui renvoie l'identifiant de l'utilisateur
*/
function getIdUserTravail()
{
return $this->_utilisateur;
}
/**
* fonction mettant a jour la duree de travail
*
*/
function setDureeTravail( $duree )
{
$this->_duree_travail =$duree;
}
/**
* supprime un travail de la bse de donnees
*/
function supprimerTravail()
{
$requete="DELETE FROM ".GEST_TRAVAIL.
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $this->_utilisateur AND "
.GEST_CHAMPS_ID_TACHE." =$this->_tache AND "
.GEST_CHAMPS_DATE_TRAVAIL." = '$this->_date_travail'";
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$j=$GLOBALS['db']->affectedRows();
return $j;
}
/**
*recuperer un tableau de travail
*pour un utilisateur donne
*/
function recupererTableauTravail($id)
{
$table=array();
$requete="SELECT * FROM ".GEST_TRAVAIL.
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $id ";
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
while($ligne=$resultat->fetchRow(DB_FETCHMODE_ASSOC))
{
$case =array(GEST_CHAMPS_ID_TACHE => $ligne[GEST_CHAMPS_ID_TACHE],
GEST_CHAMPS_ID_UTILISATEUR =>$ligne[GEST_CHAMPS_ID_UTILISATEUR],
GEST_CHAMPS_DATE_TRAVAIL => $ligne[GEST_CHAMPS_DATE_TRAVAIL],
GEST_CHAMPS_DUREE_TRAVAIL =>$ligne[GEST_CHAMPS_DUREE_TRAVAIL]);
array_push($table,$case);
}
return $table;
}
/**
*construire un travail
*/
function construireTravail($tableau)
{
$this->_utilisateur=$tableau[GEST_CHAMPS_ID_UTILISATEUR];
$this->_tache=$tableau[GEST_CHAMPS_ID_TACHE];
$this->_date_travail=$tableau[GEST_CHAMPS_DATE_TRAVAIL];
$this->_duree_travail=$tableau[GEST_CHAMPS_DUREE_TRAVAIL];
}
/**
*fonction verifiant si un travail existe pour une date donnee
*tache et utilisateurs donnes
*renvoie la duree du travail si existe
*O si aucun travail trouve et
*-1 sinon
*/
function existeTravail()
{
$requete="SELECT * ".
" FROM ".GEST_TRAVAIL.
" WHERE ".GEST_CHAMPS_ID_TACHE." = $this->_tache AND ".
GEST_CHAMPS_ID_UTILISATEUR." = $this->_utilisateur AND ".
GEST_CHAMPS_DATE_TRAVAIL." ='$this->_date_travail'";
$resultat = $GLOBALS['db']->query($requete);
$ligne=$resultat->fetchRow(DB_FETCHMODE_ASSOC);
(DB::isError($resultat)) ?
die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$j=$resultat->numRows();
if ($j==1)
{
return $ligne[GEST_CHAMPS_DUREE_TRAVAIL];
}elseif($j==0){
return 0;
}else{
return -1;
}
}
/**
*supression de tous les taches d'un utilisateur pour une
*date donnee
*@param $id : identifiant de l'utilisateur
*@param : $date : date de travail format mysql Y-m-d
*@return 1 si ok
*-1 si erreur
*/
function supprimerTachesUserDate($id,$date)
{
$requete="DELETE FROM ".GEST_TRAVAIL.
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $id".
" AND ".GEST_CHAMPS_DATE_TRAVAIL. "= \"$date\" ";
$resultat=$GLOBALS['db']->query($requete);
$j=$GLOBALS['db']->affectedRows();
if ($j>=0){
return 1;
}else return -1;
}
/*
*affichage du travail
*/
function afficherTravail()
{
echo "<br /> travail ";
$t =array(
$this->_utilisateur, $this->_tache,$this->_date_travail,$this->_duree_travail);
foreach ($t as $p)
{
if (isset($p)){
echo "$p <br />";}
}
}
}
?>
Property changes:
Added: svn:executable