From 4e742c74a0fc70b5cf452a5f5de83da11976c2a6 Mon Sep 17 00:00:00 2001 From: Gonzalo Merayo Date: Fri, 1 Aug 2003 19:51:22 +0000 Subject: [PATCH] Agrego las novedades a MECONLIB --- lib/MECON/Novedad.php | 33 +++++++++ lib/MECON/NovedadesDia.php | 145 +++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 lib/MECON/Novedad.php create mode 100644 lib/MECON/NovedadesDia.php diff --git a/lib/MECON/Novedad.php b/lib/MECON/Novedad.php new file mode 100644 index 0000000..a5d6a21 --- /dev/null +++ b/lib/MECON/Novedad.php @@ -0,0 +1,33 @@ + | +// +--------------------------------------------------------------------+ +// +// $URL: http://portal.mecon.ar/svn/he/tronco/src/lib/he/HE/Novedad.php $ +// $Rev: 339 $ +// $Date: 2003-04-10 16:07:47 -0300 (Thu, 10 Apr 2003) $ +// $Author: llucar $ +// + +require_once "MECON/Tiempo/Intervalo.php"; + +/** + * Representa un Intervalo entre 2 horas del mismo dia + * + * @package HE + * @abstract + * @version $Rev: 339 $ + * @author Gonzalo Merayo + */ +class Novedad { + var $codigo = null; + + var $intervalo = null; + +} diff --git a/lib/MECON/NovedadesDia.php b/lib/MECON/NovedadesDia.php new file mode 100644 index 0000000..46004c2 --- /dev/null +++ b/lib/MECON/NovedadesDia.php @@ -0,0 +1,145 @@ + | +// +--------------------------------------------------------------------+ +// +// $URL: http://portal.mecon.ar/svn/he/tronco/src/lib/he/HE/NovedadesDia.php $ +// $Rev: 380 $ +// $Date: 2003-05-08 18:40:47 -0300 (Thu, 08 May 2003) $ +// $Author: gmeray $ +// + +require_once 'DB.php'; +require_once 'Date.php'; +require_once 'MECON/Novedad.php'; +require_once 'MECON/Tiempo/Hora.php'; + +/** + * Representa un Intervalo entre 2 horas del mismo dia + * + * @package HE + * @abstract + * @version $Rev: 380 $ + * @author Gonzalo Merayo + */ +class NovedadesDia { + + var $novedades = array(); + + var $licencia = null; + + var $agente = null; + + var $fecha = null; + + var $_db = null; + + + function NovedadesDia($agente, $fecha) + { + #validar el tipo de $fecha + $this->agente = $agente; + $this->fecha = $fecha; + + #Ver de donde sacar esto bonito... + $dsn = "mysql://intranet:intranet@localhost/novedades"; + $this->_db = DB::connect( $dsn , true); + if(DB::isError($this->_db)) + die($this->_db->getMessage()); + #Carga las novedades del agente/fecha en la lista de novedades + $this->BuscarLicencia(); + $this->BuscarNovedadesTemporales(); + $this->BuscarNovedadDiaria(); + } + + function enComicion() + { + foreach($this->novedades as $nov) + if($nov->codigo == 'com') + return true; + return false; + } + + function esFranco() + { + foreach($this->novedades as $nov) + if($nov->codigo == 'Fran') + return true; + return false; + } + + function getAtos() + { + $atos = array(); + foreach($this->novedades as $nov) + if($nov->codigo == 'ato') + array_push($atos, $nov); + return $atos; + } + + function BuscarLicencia() + { + $fecha = $this->fecha->format("%Y%m%d"); + $query = "SELECT codnov + FROM web018 + WHERE docagente = $this->agente + AND diadesde <= $fecha + AND diahasta >= $fecha"; + $result = $this->_db->query($query); + if(DB::isError($result)) + die($result->getMessage()); + if( $r = $result->fetchRow() ) + $this->licencia = $r[0]; + } + + function BuscarNovedadesTemporales() + { + $fecha = $this->fecha->getYear()."-". + $this->fecha->getMonth()."-". + $this->fecha->getDay(); + $query = "SELECT novedad, desde, hasta + FROM parciales + WHERE fecha = '$fecha' + AND nrodoc = $this->agente"; + $result = $this->_db->query($query); + if(DB::isError($result)) + die($result->getMessage()); + while($r = $result->fetchRow()) + { + $novedad = new Novedad(); + $novedad->codigo = $r[0]; + $novedad->intervalo = new Intervalo(new Hora($r[1]), new Hora($r[2])); + array_push($this->novedades, $novedad); + } + + } + + function BuscarNovedadDiaria() + { + $mes = $this->fecha->getMonth(); + $dia = $this->fecha->getDay() + 0; //el +0 hace que tome al dia como numero + //y no le agregue un 0 si es < que 10 + $ano = $this->fecha->getYear(); + $query = "SELECT novedad + FROM web020 + WHERE anio = $ano + AND mes = $mes + AND nrodoc = $this->agente + AND dia$dia = 1"; + $result = $this->_db->query($query); + if($c = $result->fetchRow()) + { + $codigo = $c[0]; + $novedad = new Novedad(); + $novedad->codigo = $codigo; + array_push($this->novedades, $novedad); + } + } + +} -- 2.43.0