]> git.llucax.com Git - mecon/meconlib.git/commitdiff
Agrego las novedades a MECONLIB
authorGonzalo Merayo <merayo@gmail.com>
Fri, 1 Aug 2003 19:51:22 +0000 (19:51 +0000)
committerGonzalo Merayo <merayo@gmail.com>
Fri, 1 Aug 2003 19:51:22 +0000 (19:51 +0000)
lib/MECON/Novedad.php [new file with mode: 0644]
lib/MECON/NovedadesDia.php [new file with mode: 0644]

diff --git a/lib/MECON/Novedad.php b/lib/MECON/Novedad.php
new file mode 100644 (file)
index 0000000..a5d6a21
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// |                          HORAS EXTRA                               |
+// +--------------------------------------------------------------------+
+// |    Sistema de Horas Extra - Ministerio de Economía - Argentina     |
+// +--------------------------------------------------------------------+
+// | Creado: lun abr 22 16:05:33 ART 2002                               |
+// | Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>                    |
+// +--------------------------------------------------------------------+
+//
+// $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 <gmeray@mecon.gov.ar>
+ */
+class Novedad {
+  var $codigo = null;
+  
+  var $intervalo = null;
+  
+}
diff --git a/lib/MECON/NovedadesDia.php b/lib/MECON/NovedadesDia.php
new file mode 100644 (file)
index 0000000..46004c2
--- /dev/null
@@ -0,0 +1,145 @@
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// |                          HORAS EXTRA                               |
+// +--------------------------------------------------------------------+
+// |    Sistema de Horas Extra - Ministerio de Economía - Argentina     |
+// +--------------------------------------------------------------------+
+// | Creado: lun abr 22 16:05:33 ART 2002                               |
+// | Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>                    |
+// +--------------------------------------------------------------------+
+//
+// $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 <gmeray@mecon.gov.ar>
+ */
+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);
+    }
+  }
+
+}