minpppst / rsc

Registro, Seguimiento y Control
Other
1 stars 3 forks source link

Variables Comportamiento Relaciones #42

Open wwjimenez opened 8 years ago

wwjimenez commented 8 years ago

Tareas

Las variables son los objetos de estudio de las unidades ejecutoras, se crean una vez ya se tenga creado los proyectos/acciones-centralizadas con sus respectivas asignaciones de usuarios.

Tablas

accion_centralizada_variables

Campo Tipo Nulo
id int no
nombre_variable text no
unidad_medida int no
localizacion int no
definicion text no
base_calculo text no
fuente_informacion text no
meta_programada_variable text no
unidad_ejecutora int no
acc_accion_especifica int no
base_calculo text no

resposable_acc_variable relacion 1:1

Campo Tipo Nulo
id int no
nombre varchar no
cedula varchar no
correo varchar no
telefono varchar si
oficina varchar si
id_variable int no

localizacion_acc_variable relacion 1:n

Campo Tipo Nulo
id int no
id_variable int no
id_pais int no
id_estado int si
id_municipio int si
id_parroquia int si

accion_centralizada_variable_programacion

relacion 1:n con localizacion

Campo Tipo Nulo
id int no
id_localizacion int no
enero int si
febrero int si
marzo int si
abril int si
mayo int si
junio int si
julio int si
agosto int si
septiembre int si
octubre int si
noviembre int si
diciembre int si

accion_centralizada_variables_usuarios relacion n:n variables-usuarios

Campo Tipo Nulo
id int no
id_variable int no
id_usuario int no
estatus int no

accion_centralizada_variable_ejecucion relacion 1:1 con programacion

Campo Tipo Nulo
id int no
id_programacion int no
id_usuario int no
fecha date no
enero int si
febrero int si
marzo int si
abril int si
mayo int si
junio int si
julio int si
agosto int si
septiembre int si
octubre int si
noviembre int si
diciembre int si

accion_centralizada_desbloqueo_mes relacion n:1 con ejecucion

Campo Tipo Nulo
id int no
id_ejecucion int no
mes int no

Proceso para crear variable (backend)

  1. Usuario del Backend crea los datos básicos de la variable (datos básicos, unidad ejecutora, acciones específicas y usuarios que ejecutarán esa variable).
  2. Crear al responsable.
  3. Crear la localización con su respectiva programación .

    Proceso para ejecutar variable (frontend)

  4. Seleccionar variables asignadas.
  5. Seleccionar regionalización de la variable (de poseerla).
  6. Ejecutar variable del mes correspondiente.

    Consideraciones

  7. Solo se ejecutará la variable si le corresponde el mes actual más día sea mayor a 5 y no tenga mes pendiente por ejecutar.
  8. Puede habilitarse uno o más meses de la ejecución en cualquier momento, si el usuario backend decide usar la opción desbloqueo-mes.
  9. Para la selección de usuarios que ejecutarán la variable solo estarán activos los usuarios que pertenezcan a la unidad ejecutora(Esto se hace en la opción asignaciones de proyectos/acc).
  10. Para el desbloqueo se utilizó un pjax en la vista de la variable, parte localización, que solo saldrá si la programación ya se ejecutó.
  11. para el desbloqueo se consulta los meses cargados de mayor a menor solo quedando habilitado el que le corresponda a la fecha actual. Esto genera una bandera y se guarda en un array que se pasa a la vista. En este mismo array pero en un index distinto se almacena si existen meses desbloqueo. 6.en la vista se consulta el array con la bandera y se habilita el mes correspondiente. Ejemplo caso 5 y 6: Controlador Caso fecha correspondiente
if($model_inicial['febrero']==NULL && ($hoy['mon']>=2 && $hoy['mday']>=5))
{
   $desbloqueo[0]=2;
}

Caso desbloqueo por el backend

$permisos_espe = AccionCentralizadaDesbloqueoMes::find()->where([
   'id_ejecucion'=> $model_inicial['id']
])->asArray()->All();

Se almacena el mes correspondiente en el index del array (1-12)

foreach ($permisos_espe as $key) 
{
   $desbloqueo[$key['mes']]='1';
}

Vista en los input del formulario

$form->field($model,'atributo')->textInput([
   'readonly'=>($desbloqueo['0']==1 || isset($desbloqueo['1']) ) ? false : true
]);
catu52 commented 8 years ago

En la BD aparece una tabla ac_variable que no está documentada aquí @wwjimenez

ac_variable

Campo Tipo Nulo Otro
id int no llave primaria
id_u_ej int no
nombre_variable varchar(60) no
wwjimenez commented 8 years ago

Es correcto, ya que esa tabla a la final jamas se utilizó, estaba en el modelo al principio, pero cuando se vio mejor que eran las variables no se utilizó, por lo que hay que borrarla.

catu52 commented 8 years ago

Importante

Las variables de proyecto pueden sumar a la ejecución, impacto o ambas.