X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/6c963757fb2c5e038b93c67fff64997180c33c09..06cd54ffd3f4a2641a10db316fb08d42c3b8b5ea:/lib/MECON/NovedadesDia.php?ds=inline diff --git a/lib/MECON/NovedadesDia.php b/lib/MECON/NovedadesDia.php index ed34750..e652584 100644 --- a/lib/MECON/NovedadesDia.php +++ b/lib/MECON/NovedadesDia.php @@ -39,17 +39,16 @@ class MECON_NovedadesDia { var $_db = null; - function MECON_NovedadesDia($agente, $fecha) { + function MECON_NovedadesDia(&$db, $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); + $this->_db = $db; if(DB::isError($this->_db)) - die($this->_db->getMessage()); + trigger_error($this->_db->getMessage(), E_USER_ERROR); #Carga las novedades del agente/fecha en la lista de novedades $this->BuscarLicencia(); @@ -58,8 +57,8 @@ class MECON_NovedadesDia { } 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'); + $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 = array('Interr/13a','Interr/9'); foreach($this->novedades as $nov) { if(in_array($nov->codigo, $anti_licencias)) return false; @@ -86,10 +85,25 @@ class MECON_NovedadesDia { 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')) + if(!($novedad->codigo == 'adde' + or $novedad->codigo == 'aden' + or $novedad->codigo == 'adden' + or $novedad->codigo == 'ahp' + or $novedad->codigo == 'anul' + or $novedad->codigo == 'ato' + or $novedad->codigo == 'atp' + or $novedad->codigo == 'interr/13a' + or $novedad->codigo == 'interr/9' + or $novedad->codigo == 'interrup' + or $novedad->codigo == 'lta' + or $novedad->codigo == 'sinnov' + or $novedad->codigo == 'tsj' + or $novedad->codigo == '10a/c' + or $novedad->codigo == '10b' + or $novedad->codigo == '10e' + or $novedad->codigo == '15a' + or $novedad->codigo == '15b' + )) $ret = false; } return $ret; @@ -105,17 +119,19 @@ class MECON_NovedadesDia { function BuscarLicencia() { $fecha = $this->fecha->format("%Y%m%d"); - $query = "SELECT codnov - FROM web018 + $query = "SELECT codnov,descripcion + FROM novedades.web018,novedades.webnov WHERE docagente = $this->agente AND diadesde <= $fecha - AND diahasta >= $fecha"; + AND diahasta >= $fecha + AND codnov = codigo"; $result = $this->_db->query($query); if(DB::isError($result)) - die($result->getMessage()); + trigger_error($result->getMessage(), E_USER_ERROR); while($r = $result->fetchRow()) { $novedad = new MECON_Novedad(); $novedad->codigo = $r[0]; + $novedad->descripcion = $r[1]; array_push($this->novedades, $novedad); } } @@ -124,16 +140,18 @@ class MECON_NovedadesDia { $fecha = $this->fecha->getYear()."-". $this->fecha->getMonth()."-". $this->fecha->getDay(); - $query = "SELECT novedad, desde, hasta - FROM parciales + $query = "SELECT novedad, desde, hasta, descripcion + FROM novedades.parciales,novedades.webnov WHERE fecha = '$fecha' - AND nrodoc = $this->agente"; + AND nrodoc = $this->agente + AND novedad = codigo"; $result = $this->_db->query($query); if(DB::isError($result)) - die($result->getMessage()); + trigger_error($result->getMessage(), E_USER_ERROR); while($r = $result->fetchRow()) { $novedad = new MECON_Novedad(); $novedad->codigo = $r[0]; + $novedad->descripcion = $r[3]; $novedad->intervalo = new MECON_Tiempo_Intervalo(new MECON_Tiempo_Hora($r[1]), new MECON_Tiempo_Hora($r[2])); array_push($this->novedades, $novedad); } @@ -145,17 +163,22 @@ class MECON_NovedadesDia { $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 + $query = "SELECT novedad,descripcion + FROM novedades.web020,novedades.webnov WHERE anio = $ano AND mes = $mes AND nrodoc = $this->agente - AND dia$dia = 1"; + AND dia$dia = 1 + AND novedad = codigo"; $result = $this->_db->query($query); + if(DB::isError($result)) + trigger_error($result->getMessage(), E_USER_ERROR); if($c = $result->fetchRow()) { $codigo = $c[0]; + $descripcion = $c[1]; $novedad = new MECON_Novedad(); $novedad->codigo = $codigo; + $novedad->descripcion = $descripcion; array_push($this->novedades, $novedad); } }