|
|
@@ -3,6 +3,7 @@
|
|
|
namespace app\commands;
|
|
|
|
|
|
use app\components\FirebaseHelper;
|
|
|
+use app\models\DependenciaLider;
|
|
|
use app\models\Notificacion;
|
|
|
use app\models\NotificacionUsuario;
|
|
|
use common\data\Respuesta;
|
|
|
@@ -233,7 +234,7 @@ class EventoController extends Controller {
|
|
|
|
|
|
// UsuarioGrupo
|
|
|
if ($usuarioModelo !== null && isset($usuarioRef["grupos"]) && isset($usuarioRef["grupos"][0])) {
|
|
|
- for($i = 0; $i < count($usuarioRef["grupos"]); $i++) {
|
|
|
+ for ($i = 0; $i < count($usuarioRef["grupos"]); $i++) {
|
|
|
$modelGrupo = Grupo::findOne(['firebaseId' => $usuarioRef["grupos"][$i]]);
|
|
|
if (isset($modelGrupo)) {
|
|
|
$usuarioGrupo = UsuarioGrupo::find()
|
|
|
@@ -287,29 +288,29 @@ class EventoController extends Controller {
|
|
|
|
|
|
// Dependencias
|
|
|
if ($usuarioModelo !== null && isset($usuarioRef["dependencias"]) && isset($usuarioRef["dependencias"][0])) {
|
|
|
- if (!empty($usuarioRef["dependencias"])){
|
|
|
+ if (!empty($usuarioRef["dependencias"])) {
|
|
|
if (is_array($usuarioRef["dependencias"])) {
|
|
|
- for ($i = 0; $i < count($usuarioRef["dependencias"]); $i++){
|
|
|
+ for ($i = 0; $i < count($usuarioRef["dependencias"]); $i++) {
|
|
|
$dependenciaModel = Dependencia::findOne(["firebaseId" => $usuarioRef["dependencias"][$i]]);
|
|
|
if ($dependenciaModel === null) {
|
|
|
$dependenciaRef = $dependencias[$usuarioRef["dependencias"][$i]];
|
|
|
$dependenciaModel = new Dependencia();
|
|
|
-
|
|
|
+
|
|
|
$dependenciaModel->firebaseId = $usuarioRef["dependencias"][$i];
|
|
|
$dependenciaModel->nombre = $dependenciaRef['nombre'];
|
|
|
$dependenciaModel->descripcion = $dependenciaRef['descripcion'];
|
|
|
$dependenciaModel->estatus = $dependenciaRef['estatus'];
|
|
|
-
|
|
|
+
|
|
|
$creado = \DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $dependenciaRef["timestamp"]);
|
|
|
if ($creado !== false) {
|
|
|
$dependenciaModel->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (!$dependenciaModel->save()) {
|
|
|
$this->stdoutln('Ocurrió un error al guardar una dependencia. ' . Json::encode($dependenciaModel->getFirstErrors()));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//UsuarioDependencia
|
|
|
$usuarioDependencia = UsuarioDependencia::find()
|
|
|
->andWhere([
|
|
|
@@ -317,13 +318,13 @@ class EventoController extends Controller {
|
|
|
"idDependencia" => $dependenciaModel->id
|
|
|
])
|
|
|
->one();
|
|
|
-
|
|
|
+
|
|
|
if ($usuarioDependencia === null) {
|
|
|
$usuarioDependencia = new UsuarioDependencia();
|
|
|
-
|
|
|
+
|
|
|
$usuarioDependencia->idUsuario = $usuarioModelo->id;
|
|
|
$usuarioDependencia->idDependencia = $dependenciaModel->id;
|
|
|
-
|
|
|
+
|
|
|
if (!$usuarioDependencia->save()) {
|
|
|
$this->stdoutln('Ocurrió un error al guardar un usuario-dependencia. ' . Json::encode($usuarioDependencia->getFirstErrors()));
|
|
|
}
|
|
|
@@ -331,43 +332,43 @@ class EventoController extends Controller {
|
|
|
}
|
|
|
} else {
|
|
|
$dependenciaModel = Dependencia::findOne(["firebaseId" => $usuarioRef["dependencias"]]);
|
|
|
- if ($dependenciaModel === null) {
|
|
|
- $dependenciaRef = $dependencias[$usuarioRef["dependencias"]];
|
|
|
- $dependenciaModel = new Dependencia();
|
|
|
-
|
|
|
- $dependenciaModel->firebaseId = $usuarioRef["dependencias"];
|
|
|
- $dependenciaModel->nombre = $dependenciaRef['nombre'];
|
|
|
- $dependenciaModel->descripcion = $dependenciaRef['descripcion'];
|
|
|
- $dependenciaModel->estatus = $dependenciaRef['estatus'];
|
|
|
-
|
|
|
- $creado = \DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $dependenciaRef["timestamp"]);
|
|
|
- if ($creado !== false) {
|
|
|
- $dependenciaModel->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
|
|
|
- }
|
|
|
-
|
|
|
- if (!$dependenciaModel->save()) {
|
|
|
- $this->stdoutln('Ocurrió un error al guardar una dependencia. ' . Json::encode($dependenciaModel->getFirstErrors()));
|
|
|
- }
|
|
|
+ if ($dependenciaModel === null) {
|
|
|
+ $dependenciaRef = $dependencias[$usuarioRef["dependencias"]];
|
|
|
+ $dependenciaModel = new Dependencia();
|
|
|
+
|
|
|
+ $dependenciaModel->firebaseId = $usuarioRef["dependencias"];
|
|
|
+ $dependenciaModel->nombre = $dependenciaRef['nombre'];
|
|
|
+ $dependenciaModel->descripcion = $dependenciaRef['descripcion'];
|
|
|
+ $dependenciaModel->estatus = $dependenciaRef['estatus'];
|
|
|
+
|
|
|
+ $creado = \DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $dependenciaRef["timestamp"]);
|
|
|
+ if ($creado !== false) {
|
|
|
+ $dependenciaModel->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
|
|
|
}
|
|
|
-
|
|
|
- //UsuarioDependencia
|
|
|
- $usuarioDependencia = UsuarioDependencia::find()
|
|
|
- ->andWhere([
|
|
|
- "idUsuario" => $usuarioModelo->id,
|
|
|
- "idDependencia" => $dependenciaModel->id
|
|
|
- ])
|
|
|
- ->one();
|
|
|
-
|
|
|
- if ($usuarioDependencia === null) {
|
|
|
- $usuarioDependencia = new UsuarioDependencia();
|
|
|
-
|
|
|
- $usuarioDependencia->idUsuario = $usuarioModelo->id;
|
|
|
- $usuarioDependencia->idDependencia = $dependenciaModel->id;
|
|
|
-
|
|
|
- if (!$usuarioDependencia->save()) {
|
|
|
- $this->stdoutln('Ocurrió un error al guardar un usuario-dependencia. ' . Json::encode($usuarioDependencia->getFirstErrors()));
|
|
|
- }
|
|
|
+
|
|
|
+ if (!$dependenciaModel->save()) {
|
|
|
+ $this->stdoutln('Ocurrió un error al guardar una dependencia. ' . Json::encode($dependenciaModel->getFirstErrors()));
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ //UsuarioDependencia
|
|
|
+ $usuarioDependencia = UsuarioDependencia::find()
|
|
|
+ ->andWhere([
|
|
|
+ "idUsuario" => $usuarioModelo->id,
|
|
|
+ "idDependencia" => $dependenciaModel->id
|
|
|
+ ])
|
|
|
+ ->one();
|
|
|
+
|
|
|
+ if ($usuarioDependencia === null) {
|
|
|
+ $usuarioDependencia = new UsuarioDependencia();
|
|
|
+
|
|
|
+ $usuarioDependencia->idUsuario = $usuarioModelo->id;
|
|
|
+ $usuarioDependencia->idDependencia = $dependenciaModel->id;
|
|
|
+
|
|
|
+ if (!$usuarioDependencia->save()) {
|
|
|
+ $this->stdoutln('Ocurrió un error al guardar un usuario-dependencia. ' . Json::encode($usuarioDependencia->getFirstErrors()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -597,7 +598,7 @@ class EventoController extends Controller {
|
|
|
|
|
|
// UsuarioGrupo
|
|
|
if ($usuarioModelo !== null && isset($usuarioRef["grupos"]) && isset($usuarioRef["grupos"][0])) {
|
|
|
- for($i = 0; $i < count($usuarioRef["grupos"]); $i++) {
|
|
|
+ for ($i = 0; $i < count($usuarioRef["grupos"]); $i++) {
|
|
|
$modelGrupo = Grupo::findOne(['firebaseId' => $usuarioRef["grupos"][$i]]);
|
|
|
if (isset($modelGrupo)) {
|
|
|
$usuarioGrupo = UsuarioGrupo::find()
|
|
|
@@ -651,29 +652,29 @@ class EventoController extends Controller {
|
|
|
|
|
|
// Dependencias
|
|
|
if ($usuarioModelo !== null && isset($usuarioRef["dependencias"]) && isset($usuarioRef["dependencias"][0])) {
|
|
|
- if (!empty($usuarioRef["dependencias"])){
|
|
|
+ if (!empty($usuarioRef["dependencias"])) {
|
|
|
if (is_array($usuarioRef["dependencias"])) {
|
|
|
- for ($i = 0; $i < count($usuarioRef["dependencias"]); $i++){
|
|
|
+ for ($i = 0; $i < count($usuarioRef["dependencias"]); $i++) {
|
|
|
$dependenciaModel = Dependencia::findOne(["firebaseId" => $usuarioRef["dependencias"][$i]]);
|
|
|
if ($dependenciaModel === null) {
|
|
|
$dependenciaRef = $dependencias[$usuarioRef["dependencias"][$i]];
|
|
|
$dependenciaModel = new Dependencia();
|
|
|
-
|
|
|
+
|
|
|
$dependenciaModel->firebaseId = $usuarioRef["dependencias"][$i];
|
|
|
$dependenciaModel->nombre = $dependenciaRef['nombre'];
|
|
|
$dependenciaModel->descripcion = $dependenciaRef['descripcion'];
|
|
|
$dependenciaModel->estatus = $dependenciaRef['estatus'];
|
|
|
-
|
|
|
+
|
|
|
$creado = \DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $dependenciaRef["timestamp"]);
|
|
|
if ($creado !== false) {
|
|
|
$dependenciaModel->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (!$dependenciaModel->save()) {
|
|
|
$this->stdoutln('Ocurrió un error al guardar una dependencia. ' . Json::encode($dependenciaModel->getFirstErrors()));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//UsuarioDependencia
|
|
|
$usuarioDependencia = UsuarioDependencia::find()
|
|
|
->andWhere([
|
|
|
@@ -681,13 +682,13 @@ class EventoController extends Controller {
|
|
|
"idDependencia" => $dependenciaModel->id
|
|
|
])
|
|
|
->one();
|
|
|
-
|
|
|
+
|
|
|
if ($usuarioDependencia === null) {
|
|
|
$usuarioDependencia = new UsuarioDependencia();
|
|
|
-
|
|
|
+
|
|
|
$usuarioDependencia->idUsuario = $usuarioModelo->id;
|
|
|
$usuarioDependencia->idDependencia = $dependenciaModel->id;
|
|
|
-
|
|
|
+
|
|
|
if (!$usuarioDependencia->save()) {
|
|
|
$this->stdoutln('Ocurrió un error al guardar un usuario-dependencia. ' . Json::encode($usuarioDependencia->getFirstErrors()));
|
|
|
}
|
|
|
@@ -695,43 +696,43 @@ class EventoController extends Controller {
|
|
|
}
|
|
|
} else {
|
|
|
$dependenciaModel = Dependencia::findOne(["firebaseId" => $usuarioRef["dependencias"]]);
|
|
|
- if ($dependenciaModel === null) {
|
|
|
- $dependenciaRef = $dependencias[$usuarioRef["dependencias"]];
|
|
|
- $dependenciaModel = new Dependencia();
|
|
|
-
|
|
|
- $dependenciaModel->firebaseId = $usuarioRef["dependencias"];
|
|
|
- $dependenciaModel->nombre = $dependenciaRef['nombre'];
|
|
|
- $dependenciaModel->descripcion = $dependenciaRef['descripcion'];
|
|
|
- $dependenciaModel->estatus = $dependenciaRef['estatus'];
|
|
|
-
|
|
|
- $creado = \DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $dependenciaRef["timestamp"]);
|
|
|
- if ($creado !== false) {
|
|
|
- $dependenciaModel->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
|
|
|
- }
|
|
|
-
|
|
|
- if (!$dependenciaModel->save()) {
|
|
|
- $this->stdoutln('Ocurrió un error al guardar una dependencia. ' . Json::encode($dependenciaModel->getFirstErrors()));
|
|
|
- }
|
|
|
+ if ($dependenciaModel === null) {
|
|
|
+ $dependenciaRef = $dependencias[$usuarioRef["dependencias"]];
|
|
|
+ $dependenciaModel = new Dependencia();
|
|
|
+
|
|
|
+ $dependenciaModel->firebaseId = $usuarioRef["dependencias"];
|
|
|
+ $dependenciaModel->nombre = $dependenciaRef['nombre'];
|
|
|
+ $dependenciaModel->descripcion = $dependenciaRef['descripcion'];
|
|
|
+ $dependenciaModel->estatus = $dependenciaRef['estatus'];
|
|
|
+
|
|
|
+ $creado = \DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $dependenciaRef["timestamp"]);
|
|
|
+ if ($creado !== false) {
|
|
|
+ $dependenciaModel->creado = $creado->format(\DateTime::RFC3339_EXTENDED);
|
|
|
}
|
|
|
-
|
|
|
- //UsuarioDependencia
|
|
|
- $usuarioDependencia = UsuarioDependencia::find()
|
|
|
- ->andWhere([
|
|
|
- "idUsuario" => $usuarioModelo->id,
|
|
|
- "idDependencia" => $dependenciaModel->id
|
|
|
- ])
|
|
|
- ->one();
|
|
|
-
|
|
|
- if ($usuarioDependencia === null) {
|
|
|
- $usuarioDependencia = new UsuarioDependencia();
|
|
|
-
|
|
|
- $usuarioDependencia->idUsuario = $usuarioModelo->id;
|
|
|
- $usuarioDependencia->idDependencia = $dependenciaModel->id;
|
|
|
-
|
|
|
- if (!$usuarioDependencia->save()) {
|
|
|
- $this->stdoutln('Ocurrió un error al guardar un usuario-dependencia. ' . Json::encode($usuarioDependencia->getFirstErrors()));
|
|
|
- }
|
|
|
+
|
|
|
+ if (!$dependenciaModel->save()) {
|
|
|
+ $this->stdoutln('Ocurrió un error al guardar una dependencia. ' . Json::encode($dependenciaModel->getFirstErrors()));
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ //UsuarioDependencia
|
|
|
+ $usuarioDependencia = UsuarioDependencia::find()
|
|
|
+ ->andWhere([
|
|
|
+ "idUsuario" => $usuarioModelo->id,
|
|
|
+ "idDependencia" => $dependenciaModel->id
|
|
|
+ ])
|
|
|
+ ->one();
|
|
|
+
|
|
|
+ if ($usuarioDependencia === null) {
|
|
|
+ $usuarioDependencia = new UsuarioDependencia();
|
|
|
+
|
|
|
+ $usuarioDependencia->idUsuario = $usuarioModelo->id;
|
|
|
+ $usuarioDependencia->idDependencia = $dependenciaModel->id;
|
|
|
+
|
|
|
+ if (!$usuarioDependencia->save()) {
|
|
|
+ $this->stdoutln('Ocurrió un error al guardar un usuario-dependencia. ' . Json::encode($usuarioDependencia->getFirstErrors()));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -767,7 +768,8 @@ class EventoController extends Controller {
|
|
|
try {
|
|
|
\Yii::$app->db->createCommand("SET TIMEZONE TO 'America/Hermosillo'")
|
|
|
->execute();
|
|
|
- } catch (\Exception $e) { }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ }
|
|
|
|
|
|
$eventos = (new Query())
|
|
|
->select([
|
|
|
@@ -781,116 +783,184 @@ class EventoController extends Controller {
|
|
|
->column();
|
|
|
|
|
|
$totalEventos = count($eventos);
|
|
|
- if($totalEventos === 0) {
|
|
|
+ if ($totalEventos === 0) {
|
|
|
# ¿Si no hubo eventos en el período de tiempo también hay que avisar?
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- $query2 = (new Query())
|
|
|
- ->select([
|
|
|
- "tag",
|
|
|
- "{{Usuario}}.id",
|
|
|
- "{{Usuario}}.nombre",
|
|
|
- "{{Usuario}}.telefono",
|
|
|
- "case when count({{Resultado}}.accion) > 0 then true else false end as [[Participo]]"
|
|
|
- ])
|
|
|
- ->from("Evento")
|
|
|
- ->innerJoin("EventoGrupo", "{{EventoGrupo}}.[[idEvento]] = {{Evento}}.id")
|
|
|
- ->innerJoin("Grupo", "{{Grupo}}.id = {{EventoGrupo}}.[[idGrupo]]")
|
|
|
- ->innerJoin("UsuarioGrupo", "{{UsuarioGrupo}}.[[idGrupo]] = {{Grupo}}.id")
|
|
|
- ->innerJoin("Usuario", "{{Usuario}}.[[id]] = {{UsuarioGrupo}}.[[idUsuario]]")
|
|
|
- ->innerJoin("UsuarioDependencia", "{{UsuarioDependencia}}.[[idUsuario]] = {{Usuario}}.id")
|
|
|
- ->leftJoin("Resultado", "{{Resultado}}.[[idEvento]] = {{Evento}}.id and {{Resultado}}.[[idUsuario]] = {{Usuario}}.id")
|
|
|
- ->andWhere(["{{Usuario}}.eliminado" => null])
|
|
|
- ->andWhere([">=", "fechaFinal", new Expression("now()-interval '7 days'")])
|
|
|
- ->groupBy([
|
|
|
- "{{Usuario}}.nombre",
|
|
|
- "{{Usuario}}.telefono",
|
|
|
- "{{Usuario}}.id",
|
|
|
- "tag"
|
|
|
- ])
|
|
|
- ->orderBy([
|
|
|
- "{{Usuario}}.id" => SORT_ASC,
|
|
|
- "[[Participo]]" => SORT_DESC,
|
|
|
- ]);
|
|
|
-
|
|
|
- $aux = [];
|
|
|
-
|
|
|
- foreach($query2->each() as $consulta) {
|
|
|
- if (!isset($aux[$consulta['id']])) {
|
|
|
- $aux[$consulta['id']] = [
|
|
|
- "nombreUsuario" => $consulta['nombre'],
|
|
|
- "telefono" => $consulta['telefono'],
|
|
|
- "id" => $consulta['id'],
|
|
|
- "eventosFaltantes" => [],
|
|
|
- "eventosParticipo" => []
|
|
|
- ];
|
|
|
- }
|
|
|
- $nombreEvento = $eventos[$consulta['tag']];
|
|
|
- if ($consulta['Participo']) {
|
|
|
- $aux[$consulta['id']]['eventosParticipo'][] = $nombreEvento;
|
|
|
- } else {
|
|
|
- $aux[$consulta['id']]['eventosFaltantes'][] = $nombreEvento;
|
|
|
- }
|
|
|
- }
|
|
|
+ $query2 = (new Query())
|
|
|
+ ->select([
|
|
|
+ "tag",
|
|
|
+ "{{Usuario}}.id",
|
|
|
+ "{{Usuario}}.nombre",
|
|
|
+ "{{Usuario}}.telefono",
|
|
|
+ "case when count({{Resultado}}.accion) > 0 then true else false end as [[Participo]]",
|
|
|
+ "{{UsuarioDependencia}}.[[idDependencia]]"
|
|
|
+ ])
|
|
|
+ ->from("Evento")
|
|
|
+ ->innerJoin("EventoGrupo", "{{EventoGrupo}}.[[idEvento]] = {{Evento}}.id")
|
|
|
+ ->innerJoin("Grupo", "{{Grupo}}.id = {{EventoGrupo}}.[[idGrupo]]")
|
|
|
+ ->innerJoin("UsuarioGrupo", "{{UsuarioGrupo}}.[[idGrupo]] = {{Grupo}}.id")
|
|
|
+ ->innerJoin("Usuario", "{{Usuario}}.[[id]] = {{UsuarioGrupo}}.[[idUsuario]]")
|
|
|
+ ->innerJoin("UsuarioDependencia", "{{UsuarioDependencia}}.[[idUsuario]] = {{Usuario}}.id")
|
|
|
+ ->leftJoin("Resultado", "{{Resultado}}.[[idEvento]] = {{Evento}}.id and {{Resultado}}.[[idUsuario]] = {{Usuario}}.id")
|
|
|
+ ->andWhere(["{{Usuario}}.eliminado" => null])
|
|
|
+ ->andWhere([">=", "fechaFinal", new Expression("now()-interval '7 days'")])
|
|
|
+ ->groupBy([
|
|
|
+ "{{Usuario}}.nombre",
|
|
|
+ "{{Usuario}}.telefono",
|
|
|
+ "{{Usuario}}.id",
|
|
|
+ "tag",
|
|
|
+ "{{UsuarioDependencia}}.[[idDependencia]]"
|
|
|
+ ])
|
|
|
+ ->orderBy([
|
|
|
+ "{{Usuario}}.id" => SORT_ASC,
|
|
|
+ "[[Participo]]" => SORT_DESC,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $aux = [];
|
|
|
+ $auxDependencia = [];
|
|
|
+ foreach ($query2->each() as $consulta) {
|
|
|
+ if (!isset($aux[$consulta['id']])) {
|
|
|
+ $aux[$consulta['id']] = [
|
|
|
+ "nombreUsuario" => $consulta['nombre'],
|
|
|
+ "telefono" => $consulta['telefono'],
|
|
|
+ "id" => $consulta['id'],
|
|
|
+ "idDependencia" => $consulta['idDependencia'],
|
|
|
+ "eventosFaltantes" => [],
|
|
|
+ "eventosParticipo" => []
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $nombreEvento = $eventos[$consulta['tag']];
|
|
|
+ if ($consulta['Participo']) {
|
|
|
+ $aux[$consulta['id']]['eventosParticipo'][] = $nombreEvento;
|
|
|
+ } else {
|
|
|
+ $aux[$consulta['id']]['eventosFaltantes'][] = $nombreEvento;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- $notificacion = new Notificacion();
|
|
|
- $notificacion->creado = new Expression("now()");
|
|
|
+ foreach ($aux as $consulta) {
|
|
|
+ if (!isset($auxDependencia[$consulta['idDependencia']])) {
|
|
|
+ $auxDependencia[$consulta['idDependencia']] = [
|
|
|
+ "id" => $consulta['idDependencia'],
|
|
|
+ "eventosFaltantes" => 0,
|
|
|
+ "eventosParticipo" => 0
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $eventosFaltantes = count($consulta['eventosFaltantes']);
|
|
|
+ $auxDependencia[$consulta['idDependencia']]['eventosFaltantes'] += $eventosFaltantes;
|
|
|
+ $eventosParticipo = count($consulta['eventosParticipo']);
|
|
|
+ $auxDependencia[$consulta['idDependencia']]['eventosParticipo'] += $eventosParticipo;
|
|
|
+ }
|
|
|
|
|
|
- if (!$notificacion->save()) {
|
|
|
- return (new Respuesta($notificacion))
|
|
|
- ->mensaje("Hubo un problema al generar la notificación");
|
|
|
- }
|
|
|
- # TODO: Revisar si es necesario consultar la información del modelo
|
|
|
- # $notificacion->refresh();
|
|
|
-
|
|
|
- foreach ($aux as $usuario) {
|
|
|
- $notificacionUsuario = new NotificacionUsuario();
|
|
|
-
|
|
|
- $notificacionUsuario->idNotificacion = $notificacion->id;
|
|
|
- $notificacionUsuario->idUsuario = $usuario['id'];
|
|
|
- $notificacionUsuario->nombre = $usuario['nombreUsuario'];
|
|
|
- $notificacionUsuario->telefono = $usuario['telefono'];
|
|
|
-
|
|
|
- # Es mejor guardar el valor del count en lugar de evaluarlo multiples veces
|
|
|
- $totalParticipaciones = count($usuario["eventosParticipo"]);
|
|
|
-
|
|
|
- $parametros = [
|
|
|
- [
|
|
|
- "type" => "text",
|
|
|
- "text" => "{$totalParticipaciones}/{$totalEventos} eventos"
|
|
|
- ],
|
|
|
+ $notificacion = new Notificacion();
|
|
|
+ $notificacion->creado = new Expression("now()");
|
|
|
+
|
|
|
+ if (!$notificacion->save()) {
|
|
|
+ return (new Respuesta($notificacion))
|
|
|
+ ->mensaje("Hubo un problema al generar la notificación");
|
|
|
+ }
|
|
|
+ # TODO: Revisar si es necesario consultar la información del modelo
|
|
|
+ # $notificacion->refresh();
|
|
|
+
|
|
|
+ //POR USUARIO
|
|
|
+ foreach ($aux as $usuario) {
|
|
|
+ $notificacionUsuario = new NotificacionUsuario();
|
|
|
+
|
|
|
+ $notificacionUsuario->idNotificacion = $notificacion->id;
|
|
|
+ $notificacionUsuario->idUsuario = $usuario['id'];
|
|
|
+ $notificacionUsuario->nombre = $usuario['nombreUsuario'];
|
|
|
+ $notificacionUsuario->telefono = $usuario['telefono'];
|
|
|
+
|
|
|
+ # Es mejor guardar el valor del count en lugar de evaluarlo multiples veces
|
|
|
+ $totalParticipaciones = count($usuario["eventosParticipo"]);
|
|
|
+
|
|
|
+ $parametros = [
|
|
|
+ [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => "{$totalParticipaciones}/{$totalEventos} eventos"
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+
|
|
|
+ if ($totalParticipaciones === $totalEventos) {
|
|
|
+ $parametros[] = [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => "Gracias por tu"
|
|
|
+ ];
|
|
|
+ } else if ($totalParticipaciones > 0) {
|
|
|
+ $parametros[] = [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => ", gracias por tu participación. Vamos por el 100% de"
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ $parametros[] = [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => "Vamos por el 100% de"
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $notificacionUsuario->parametros = $parametros;
|
|
|
+
|
|
|
+ if (!$notificacionUsuario->save()) {
|
|
|
+ return (new Respuesta($notificacionUsuario))
|
|
|
+ ->mensaje("Hubo un problema al generar la notificación");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //POR LIDER DEPENDENCIA
|
|
|
+ foreach ($auxDependencia as $dependencia) {
|
|
|
+ $dependenciaLider = DependenciaLider::find()
|
|
|
+ ->andWhere(["idDependencia" => $dependencia["id"]]);
|
|
|
+
|
|
|
+ foreach ($dependenciaLider->each() as $lider) {
|
|
|
+ $usuario = Usuario::findOne($lider["idUsuario"]);
|
|
|
+ $notificacionUsuario = new NotificacionUsuario();
|
|
|
+
|
|
|
+ $notificacionUsuario->idNotificacion = $notificacion->id;
|
|
|
+ $notificacionUsuario->idUsuario = $usuario->id;
|
|
|
+ $notificacionUsuario->nombre = $usuario->nombre;
|
|
|
+ $notificacionUsuario->telefono = $usuario->telefono;
|
|
|
+
|
|
|
+ # Es mejor guardar el valor del count en lugar de evaluarlo multiples veces
|
|
|
+ $totalParticipaciones = $dependencia["eventosParticipo"];
|
|
|
+ $totalEventosDependencia = $dependencia["eventosParticipo"] + $dependencia["eventosFaltantes"];
|
|
|
+
|
|
|
+ $parametros = [
|
|
|
+ [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => "{$totalParticipaciones}/{$totalEventosDependencia} eventos"
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+
|
|
|
+ if ($totalParticipaciones === $totalEventosDependencia) {
|
|
|
+ $parametros[] = [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => "Gracias por tu"
|
|
|
];
|
|
|
-
|
|
|
- if ($totalParticipaciones === $totalEventos){
|
|
|
- $parametros[] = [
|
|
|
- "type" => "text",
|
|
|
- "text" => "Gracias por tu"
|
|
|
- ];
|
|
|
- } else if ($totalParticipaciones > 0) {
|
|
|
- $parametros[] = [
|
|
|
- "type" => "text",
|
|
|
- "text" => ", gracias por tu participación. Vamos por el 100% de"
|
|
|
- ];
|
|
|
- } else {
|
|
|
- $parametros[] = [
|
|
|
- "type" => "text",
|
|
|
- "text" => "Vamos por el 100% de"
|
|
|
- ];
|
|
|
- }
|
|
|
- $notificacionUsuario->parametros = $parametros;
|
|
|
+ } else if ($totalParticipaciones > 0) {
|
|
|
+ $parametros[] = [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => ", gracias por tu participación. Vamos por el 100% de"
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ $parametros[] = [
|
|
|
+ "type" => "text",
|
|
|
+ "text" => "Vamos por el 100% de"
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $notificacionUsuario->parametros = $parametros;
|
|
|
|
|
|
- if (!$notificacionUsuario->save()) {
|
|
|
- return (new Respuesta($notificacionUsuario))
|
|
|
- ->mensaje("Hubo un problema al generar la notificación");
|
|
|
- }
|
|
|
+ if (!$notificacionUsuario->save()) {
|
|
|
+ return (new Respuesta($notificacionUsuario))
|
|
|
+ ->mensaje("Hubo un problema al generar la notificación");
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- $notificacion->estatus = Notificacion::ESTATUS_NUEVO;
|
|
|
+ $notificacion->estatus = Notificacion::ESTATUS_NUEVO;
|
|
|
|
|
|
- $notificacion->save();
|
|
|
+ $notificacion->save();
|
|
|
|
|
|
- $this->stdout("Terminó");
|
|
|
+ $this->stdout("Terminó");
|
|
|
// file_put_contents("archivo.json", json_encode($aux));
|
|
|
}
|
|
|
}
|