2 Commits e7bc21ff69 ... d47d30259d

Author SHA1 Message Date
  ElPoteito d47d30259d Filtro evento y usuarios eliminados 2 years ago
  ElPoteito 836113dc09 Ajuste cantidad de usuarios por dependencia 2 years ago

+ 12 - 3
commands/EventoController.php

@@ -101,6 +101,9 @@ class EventoController extends Controller {
           if ($creado !== false) {
             $modelo->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
           }
+          if ($data["estatus"] === false) {
+            $modelo->eliminado = new Expression('now()');
+          }
           $fechaInicio = $this->cambiarFecha($data["fechaInicio"]);
           if ($fechaInicio !== false) {
             $modelo->fechaInicio = $fechaInicio->format(\DateTime::RFC3339_EXTENDED);
@@ -832,7 +835,7 @@ class EventoController extends Controller {
       ->column();
 
     $totalEventos = count($eventos);
-    $this->stdout("{$totalEventos}");
+    $this->stdout("{$totalEventos}\n");
     if ($totalEventos === 0) {
       # ¿Si no hubo eventos en el período de tiempo también hay que avisar?
       return;
@@ -1028,7 +1031,9 @@ class EventoController extends Controller {
       }
 
       $dependenciaLider = DependenciaLider::find()
-        ->andWhere(["idDependencia" => $id]);
+        ->innerJoin('Usuario', '{{Usuario}}.id = {{DependenciaLider}}.[[idUsuario]]')
+        ->andWhere(["idDependencia" => $id])
+        ->andWhere(["{{Usuario}}.eliminado" => null]);
 
       $nombreDependencia = "";
       if (isset($dependencias[$id])) {
@@ -1036,7 +1041,10 @@ class EventoController extends Controller {
       }
 
       foreach ($dependenciaLider->each() as $lider) {
-        $usuario = Usuario::findOne($lider["idUsuario"]);
+        $usuario = Usuario::find()
+          ->andWhere(["id" => $lider["idUsuario"]])
+          ->andWhere(["eliminado" => null])
+          ->one();
         $notificacionUsuario = new NotificacionUsuario();
 
         $notificacionUsuario->idNotificacion = $notificacion->id;
@@ -1108,6 +1116,7 @@ class EventoController extends Controller {
 
     //LIDER GLOBAL
     $liderGlobal = Usuario::find()
+      ->andWhere(["eliminado" => null])
       ->andWhere(["liderGlobal" => true]);
 
     foreach ($liderGlobal->each() as $lider) {

+ 8 - 2
modules/v1/controllers/ComparativaDependenciaController.php

@@ -4,6 +4,7 @@ namespace v1\controllers;
 
 use common\data\Respuesta;
 use common\rest\JsonController;
+use v1\models\UsuarioDependencia;
 use yii\db\Query;
 use yii\web\NotFoundHttpException;
 
@@ -58,19 +59,24 @@ class ComparativaDependenciaController extends JsonController {
 
     $eventosAtendidos = 0;
     $eventosPendientes = 0;
-    $csv = "nombre,participaciones,pendientes\n";
+    $csv = "nombre,participaciones,pendientes,cantidad de usuarios\n";
     foreach($query2->each() as $resultado) {
       $eventosAtendidos += $resultado["cantidadResultados"];
       $eventosPendientes += $resultado["cantidadPendientes"];
 
+      $usuariosDependencia = UsuarioDependencia::find()
+        ->andWhere(['idDependencia' => $resultado["dependenciaId"]])
+        ->count();
+
       $data[] = [
         "id" => $resultado["dependenciaId"],
         "nombre" => $resultado["dependenciaNombre"],
         "participaciones" => $resultado["cantidadResultados"],
         "pendientes" => $resultado["cantidadPendientes"],
+        "cantidadUsuarios" => $usuariosDependencia
       ];
 
-      $csv .= "{$resultado["dependenciaNombre"]},{$resultado["cantidadResultados"]},{$resultado["cantidadPendientes"]}\n";
+      $csv .= "{$resultado["dependenciaNombre"]},{$resultado["cantidadResultados"]},{$resultado["cantidadPendientes"]},{$usuariosDependencia}\n";
     }
 
     \Yii::$app->getResponse()->sendContentAsFile($csv, "comparativa_dep_{$fechaInicio}_{$fechaFinal}.csv");

+ 3 - 0
modules/v1/controllers/EventoController.php

@@ -106,6 +106,7 @@ class EventoController extends AuthController {
       ->innerJoin("UsuarioGrupo", "{{UsuarioGrupo}}.[[idGrupo]] = {{Grupo}}.id")
       ->innerJoin("Usuario", "{{UsuarioGrupo}}.[[idUsuario]] = {{Usuario}}.id")
       ->leftJoin("Resultado", "{{Resultado}}.[[idEvento]] = {{Evento}}.id and {{Resultado}}.[[idUsuario]] = {{UsuarioGrupo}}.[[idUsuario]]")
+      ->andWhere(["{{Evento}}.eliminado" => null])
       ->orderBy(["eventoId" => SORT_ASC]);
     
     /* $query = (new Query())
@@ -205,6 +206,7 @@ class EventoController extends AuthController {
       ->innerJoin("Usuario", "{{Usuario}}.[[id]] = {{UsuarioGrupo}}.[[idUsuario]]")
       ->innerJoin("UsuarioDependencia", "{{UsuarioDependencia}}.[[idUsuario]] = {{Usuario}}.id")
       ->leftJoin("Resultado", "{{Resultado}}.[[idEvento]] = {{Evento}}.id and {{Resultado}}.[[idUsuario]] = {{Usuario}}.id")
+      ->andWhere(['{{Evento}}.eliminado' => null])
       ->andWhere(['{{Usuario}}.eliminado' => null])
       ->groupBy([
         "{{Usuario}}.nombre",
@@ -323,6 +325,7 @@ class EventoController extends AuthController {
       ->innerJoin("UsuarioDependencia", "{{UsuarioDependencia}}.[[idUsuario]] = {{Usuario}}.[[id]]")
       ->innerJoin("Dependencia", "{{Dependencia}}.id = {{UsuarioDependencia}}.[[idDependencia]]")
       ->leftJoin("Resultado", "{{Resultado}}.[[idEvento]] = {{Evento}}.id and {{Resultado}}.[[idUsuario]] = {{Usuario}}.id")
+      ->andWhere(["{{Evento}}.eliminado" => null])
       ->andWhere([
         "AND",
         [">=", "fechaInicio", $fechaInicio],