Ejemplo n.º 1
0
 /**
  * Devuelve todos los emails de los usuarios activos que no 
  * registraron trabajos por al menos dos d�as h�biles
  * @author pfagalde
  * @return (array) emails
  */
 function _getEmailsUsuariosAviso($id_area)
 {
     $lista_emails = array();
     $r = new RecursoDAO();
     $trabajoDAO = new TrabajoDAO();
     $trabajo = new Trabajo();
     $area = new Area($id_area);
     // Obtengo todos los recursos activos
     $recursos = $r->filterBy("activo = '1' AND id_area = '{$id_area}'");
     // Para cada usuario verifico si lleva mas de dos dias h�biles
     // de trabajo sin cargar y lo agrego a la lista
     $body .= "<table style='font:9pt Verdana;'>";
     $body .= "<thead>";
     $body .= "<tr bgcolor='#CCCCCC'>";
     $body .= "<th><b>Apellido y Nombre</b></th>";
     $body .= "<th><b>D�as h�biles desde la �ltima carga</b></th>";
     $body .= "</tr>";
     $body .= "</thead>";
     $body .= "<tbody>";
     foreach ($recursos as $r) {
         $agregar = false;
         // Se pasan las fechas a timestamp para poder compararlas
         $hoy = strtotime(convertirFecha2YMD(date('d/m/Y')));
         $f = $r->getFechaUltimoTrabajo();
         if ($f != "") {
             $fechaUltimoTrabajo = strtotime(convertirFecha2YMD($f));
             // Se guarda el mail del recurso si hace mas de dos dias habiles que no
             // registra sus trabajos
             $dias = $this->diasHabilesEntre($hoy, $fechaUltimoTrabajo);
             if ($dias > 2) {
                 $lista_emails[] = trim($r->getEmail());
                 $agregar = true;
             }
         } else {
             // Si no vuelve una fecha de trabajo, entonces nunca se cargaron trabajos
             $lista_emails[] = trim($r->getEmail());
             $agregar = true;
             $dias = "Nunca cargo horas";
         }
         if ($agregar) {
             $body .= "<tr>";
             $body .= "<td>" . $r->apellido . " " . $r->nombre . "</td>";
             $body .= "<td>" . $dias . "</td>";
             $body .= "</tr>";
         }
     }
     $body .= "</tbody>";
     $body .= "</table>";
     if (sizeof($lista_emails) > 0) {
         $params["TEMPLATE"] = "TEMPLATE_AVISO_RESPONSABLES";
         $params["subject"] = "Reporte de Carga de Horas";
         $params["emails"] = implode(",", $lista_emails);
         $params["body"] = $body;
         $params["area"] = $area->nombre;
     }
     return $params;
 }
Ejemplo n.º 2
0
 /**
  * @return TRUE sólo en caso de que la fecha indicada sea un dia hábil (de lunes a viernes).
  */
 function isValid()
 {
     $fecha = $_REQUEST[$this->_fecha];
     // Averiguo si es es un sabado o domingo
     $timestamp = strtotime(convertirFecha2YMD($fecha));
     $datosFecha = getdate($timestamp);
     // 0 es domingo y 6 es sabado
     return $datosFecha["wday"] != 0 && $datosFecha["wday"] != 6;
 }