+ Parent::MECON_Agente($agente);
+ $dsn = 'mysql://intranet:intranet@bal747f/bandas';
+ $db = DB::connect($dsn);
+ if (DB::isError($db))
+ die ($db->getMessage("No pudo conectarse a la base"));
+ if(is_null($fecha)) $fecha = new Date();
+ $mes = $fecha->format('%m');
+ $anio = $fecha->format('%Y');
+ $sql = "SELECT AC.credencial, TA.tipo_acceso, A.fecha, A.hora
+ FROM Acceso A, Agente_Credencial AC, Tipo_Acceso TA
+ WHERE AC.credencial = A.credencial AND
+ AC.agente = $agente AND
+ MONTH(A.fecha) = $mes AND YEAR(A.fecha) = $anio AND
+ TA.puerta = A.puerta AND
+ AC.desde <= A.fecha AND
+ ( AC.hasta >= A.fecha OR AC.hasta IS NULL)
+ ORDER BY A.fecha, A.hora";
+ $result = $db->query($sql);
+ if (DB::isError($result))
+ die ($result->getMessage("Query mal hecho"));
+ for ($fila = 0; $fila < $result->numRows(); $fila++) {
+ $this->_accesos[$fila] = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+
+ $sql = "SELECT diasLaborablesTrabajados, diasTrabajados, promedio, NASN
+ FROM PrecalculoMensual
+ WHERE agente = $agente AND anio = $anio and mes = $mes";
+ $result = $db->query($sql);
+ if (DB::isError($result))
+ die ($result->getMessage("Query mal hecho"));
+ if ( $result->numRows() > 0) {
+ $aux = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ $this->_diasTrabajados = $aux['diasTrabajados'];
+ $this->_diasLaborablesTrabajados = $aux['diasLaborablesTrabajados'];
+ $this->_promedio = $aux['promedio'];
+ $this->_NASA = $aux['NASN'];
+ }
+ $sql = "SELECT P.fecha, tiempo, ASN, inconsistencia, tipo
+ FROM PrecalculoDiario AS P, Dia AS D
+ WHERE agente = $agente AND
+ P.fecha = D.fecha AND
+ MONTH(P.fecha) = $mes AND
+ YEAR(P.fecha) = $anio
+ ORDER BY P.fecha";
+ $result = $db->query($sql);
+ if (DB::isError($result))
+ die ($result->getMessage("Query mal hecho"));
+ $this->_ASA = array();
+ for ($fila = 1; $fila < ($result->numRows() + 1); $fila++) {
+ $this->_horas[$fila] = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ ($this->_horas[$fila]['ASN']==1)?array_push($this->_ASA,$this->_horas[$fila]['fecha']):0;
+ }
+
+ }
+ // -X2C
+
+ // +X2C Operation 229
+ /**
+ * Devuelve las fechas dentro del mes pedido en que el agente faltó y no se pasó ninguna novedad que lo justifique
+ *
+ * @return array
+ * @access public
+ */
+ function getASA() // ~X2C
+ {
+ return $this->_ASA;
+ }
+ // -X2C
+
+ // +X2C Operation 230
+ /**
+ * @return int
+ * @access public
+ */
+ function getNASA() // ~X2C
+ {
+ return $this->_NASA;