-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);
+class MECON_NovedadesDia {
+
+ var $novedades = array();
+
+ var $agente = null;
+
+ var $fecha = null;
+
+ var $_db = null;
+
+
+ function MECON_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 deLicencia() {
+ $licencias = array('Adp','Asa','Fal','Fran','FES/REL','Grem','Interrup','Sus','10a', ->'10a/d','10c','10d','10g','10h','10i','10j','10j/c','13Ia','13Ia/s','13Ia/u','13Ib',->'13Ic','13Id','13Id/a','13Id/h','13Ie','13Ig','13IIa','13IIb','13IIc','13IId', ->'13IIe','1363/97-2','14a','14b','14b1','14b2','14c','14d','14f','14g','14h','15a', ->'15b','15c','9');
+ $anti_licencias = ('Interr/13a','Interr/9');
+ foreach($this->novedades as $nov) {
+ if(in_array($nov->codigo, $anti_licencias))
+ return false;
+ if(in_array($nov->codigo, $licencias))
+ return true;
+ }
+ return false;
+ }
+
+ 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 debioVenir() {
+ $ret = true;
+ foreach($this->novedades as $novedad) {
+ if(!($novedad->codigo == 'Adde'
+ or $novedad->codigo == 'Aden'
+ or $novedad->codigo == 'Ato'
+ or $novedad->codigo == 'Atp'))
+ $ret = false;
+ }
+ return $ret;
+ }
+
+ 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());
+ while($r = $result->fetchRow()) {
+ $novedad = new MECON_Novedad();
+ $novedad->codigo = $r[0];
+ array_push($this->novedades, $novedad);
+ }
+ }
+
+ 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 MECON_Novedad();
+ $novedad->codigo = $r[0];
+ $novedad->intervalo = new MECON_Tiempo_Intervalo(new MECON_Tiempo_Hora($r[1]), new MECON_Tiempo_Hora($r[2]));
+ array_push($this->novedades, $novedad);
+ }
+