377 lines
16 KiB
C#
377 lines
16 KiB
C#
using Exferia_Aplicacion.General;
|
|
using Exferia_Aplicacion.Visualizacion;
|
|
using Exferia_Controles;
|
|
using Exferia_EntityFramework;
|
|
using Exferia_General;
|
|
using Exferia_KairosPRO._4_Vistas.Controladoras;
|
|
using Exferia_KairosPRO.General;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
using static Exferia_Aplicacion.General.Enumerados;
|
|
|
|
namespace Exferia_KairosPRO._4_Vistas
|
|
{
|
|
public partial class P_Incidencias : Exferia_Formularios.P_Base_Mantenimientos
|
|
{
|
|
#region Variables Generales
|
|
private P_Incidencias_Controladora g_obj_Controladora;
|
|
|
|
public bool g_bol_ConstructorPantalla_Terminado_Correctamente = true;
|
|
public PRV_OpcionesDetalle g_mdl_PRV_Opciones_Detalle = null;
|
|
|
|
internal List<INTERNO_Permisos_Modelo> g_lst_INTERNO_Permisos_Modelo = null;
|
|
|
|
//Timer Buscar
|
|
private System.Windows.Forms.Timer g_timer_Buscar_Empleados = new System.Windows.Forms.Timer();
|
|
#endregion
|
|
|
|
#region Objetos en Pantalla
|
|
//Exferia_CheckBox
|
|
internal Exferia_CheckBox Exferia_CheckBox_PalabraCompleta { get { return ex_chk_P_Incidencias_PalabraCompleta; } }
|
|
internal Exferia_CheckBox Exferia_CheckBox_MayusculasMinusculas { get { return ex_chk_P_Incidencias_MayusculasMinusculas; } }
|
|
|
|
//Exferia_DataGriView
|
|
internal Exferia_DataGridView Exferia_DataGridView_Empleados { get { return ex_dgv_P_Incidencias_Empleados; } }
|
|
|
|
//Exferia_DateTimePicker
|
|
internal Exferia_DateTimePicker Exferia_DateTimePicker_Meses { get { return ex_dtp_P_Incidencias_Meses; } }
|
|
|
|
//Exferia_NumericUpDown
|
|
internal Exferia_NumericUpDown Exferia_NumericUpDown_Anyo { get { return ex_nud_P_Incidencias_Anyo; } }
|
|
|
|
//Exferia_Panel_Degradado
|
|
internal Exferia_Panel_Degradado Exferia_Panel_Degradado_Calendario { get { return ex_pnl_P_Incidencias_Calendario; } }
|
|
|
|
//Exferia_TextBox
|
|
internal Exferia_TextBox Exferia_TextBox_Buscar { get { return ex_txt_P_Incidencias_Buscar; } }
|
|
|
|
#endregion
|
|
|
|
#region Constructor
|
|
public P_Incidencias(INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo, DateTime _dtt_FechaTrabajo, PRV_OpcionesDetalle _mdl_PRV_OpcionesDetalle)
|
|
{
|
|
InitializeComponent();
|
|
|
|
Repintar.Empezar(this);
|
|
|
|
//Comrpobamos que el codigo cliente exista y este bien
|
|
if (Variables.G_LNG_IDCLIENTE_LICENCIAVALIDADO.Equals(-1))
|
|
{
|
|
//Tendriamos que avisar y no dejar abrir la pantalla
|
|
Mensajes.MostrarMensaje(Mensajes.G_STR_LICENCIA_VALIDACIONES_LICENCIANOESTAACTIVA);
|
|
}
|
|
|
|
//Empresa Seleccionada y fecha de trabajo
|
|
P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo;
|
|
P_Base_FechaTrabajo = _dtt_FechaTrabajo;
|
|
|
|
ex_nud_P_Incidencias_Anyo.Exferia_NumericUpDown_Value = P_Base_FechaTrabajo.Year;
|
|
ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Value = P_Base_FechaTrabajo;
|
|
|
|
|
|
//Instanciar Controladora
|
|
g_obj_Controladora = new P_Incidencias_Controladora(this);
|
|
|
|
//Deseleccionar la row de DataGrid para cargar calendario
|
|
ex_dgv_P_Incidencias_Empleados.ClearSelection();
|
|
|
|
//Datos de Opciones detalle
|
|
g_mdl_PRV_Opciones_Detalle = _mdl_PRV_OpcionesDetalle;
|
|
|
|
//Buscar los Permisos
|
|
g_lst_INTERNO_Permisos_Modelo = Datos_Generales.Permisos_Buscar(g_mdl_PRV_Opciones_Detalle.opcion);
|
|
|
|
//Mirrar si hay que bloquear los controles, si solo puede ver los datos
|
|
if ((P_Base_TipoAperturaPantalla != 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_Opciones_Detalle.opcion,g_lst_INTERNO_Permisos_Modelo,(int)G_ENUM_PERMISOS.Modificar,false)) == false)
|
|
{
|
|
//Bloquear los controles
|
|
SoloLectura.Empezar(this,true);
|
|
}
|
|
|
|
ex_dtp_P_Incidencias_Meses.Enabled = true;
|
|
//No bloqeuar el año
|
|
ex_nud_P_Incidencias_Anyo.Exferia_NumericUpDown_ReadOnly = false;
|
|
|
|
//Rellenar la leyenda de colores
|
|
Rellenar_Leyenda();
|
|
|
|
//Titulo de la Pantalla
|
|
P_Base_TituloPantalla = g_mdl_PRV_Opciones_Detalle.descripcion_TituloMantenimiento;
|
|
|
|
try
|
|
{
|
|
//Label con Empresa Seleccionada
|
|
if (P_Base_ValoresGenerales != null)
|
|
{
|
|
try
|
|
{
|
|
P_Base_Mantenimientos_InformacionEmpresaSeleccionada = P_Base_ValoresGenerales.str_Empresa_Descripcion + " - " +
|
|
"(" + P_Base_FechaTrabajo.ToString("dd/MM/yyyy") + ")";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//No se muestra mensaje pero se guarda en el log
|
|
Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(P_Incidencias));
|
|
}
|
|
}
|
|
//..................................................................................................................................
|
|
|
|
//Bloquear pantalla hasta que termine la carga por defecto.....
|
|
Enabled = false;
|
|
//.............................................................
|
|
|
|
}
|
|
|
|
catch (Control_Errores)
|
|
{
|
|
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
|
|
|
|
Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(P_Incidencias));
|
|
}
|
|
finally
|
|
{
|
|
//Bloquear pantalla hasta que termine la carga por defecto .............
|
|
Enabled = true;
|
|
//......................................................................
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Inicio de pantalla
|
|
private void P_Incidencias_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
//Configurar el Timer para Busqueda en el Listado #####################################################
|
|
g_timer_Buscar_Empleados.Interval = 1000;
|
|
g_timer_Buscar_Empleados.Tick += delegate (object s, EventArgs ee)
|
|
{
|
|
g_timer_Buscar_Empleados.Stop();
|
|
g_obj_Controladora.Rellenar_DataGrid_Empleados(ex_txt_P_Incidencias_Buscar.Text);
|
|
};
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//No se muestra mensaje pero se guarda en el log
|
|
Control_Errores.Errores_Log(ex.Message, ex, nameof(P_Incidencias) + "/" + nameof(P_Incidencias_Load));
|
|
|
|
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
|
|
}
|
|
}
|
|
private void P_Incidencias_Shown(object sendern, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
g_obj_Controladora.CargaInicial(-1);
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
|
|
Salir_P_Base();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//No se muestra mensaje pero se guarda en el log
|
|
Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(P_Incidencias_Shown));
|
|
|
|
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
|
|
Salir_P_Base();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Empleado
|
|
private void ex_txt_P_Incidencias_Buscar_Exferia_TextBox_Evento_TextChanged(object sender, EventArgs e)
|
|
{
|
|
if (g_obj_Controladora != null)
|
|
{
|
|
g_timer_Buscar_Empleados.Stop();
|
|
g_timer_Buscar_Empleados.Start();
|
|
}
|
|
}
|
|
|
|
private void ex_chk_P_Incidencias_PalabraCompleta_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (g_obj_Controladora != null)
|
|
{
|
|
g_timer_Buscar_Empleados.Stop();
|
|
g_timer_Buscar_Empleados.Start();
|
|
}
|
|
}
|
|
|
|
private void ex_chk_P_Incidencias_MayusculasMinusculas_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (g_obj_Controladora != null)
|
|
{
|
|
g_timer_Buscar_Empleados.Stop();
|
|
g_timer_Buscar_Empleados.Start();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Procedimientos heredados de la clase P_Base
|
|
public override void P_Base_ActualizarRegistro_ConObjeto(object _obj, G_ENUM_TIPOACCION _enum_TipoAccion)
|
|
{
|
|
try
|
|
{
|
|
g_obj_Controladora.CargaInicial(g_obj_Controladora.g_lng_idEmpleado_Seleccionado);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Mensajes.MostrarMensaje(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Eventos
|
|
private void ex_dtp_P_Incidencias_Meses_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (ex_dgv_P_Incidencias_Empleados.SelectedRows.Count > 0)
|
|
{
|
|
if (g_obj_Controladora != null)
|
|
{
|
|
g_obj_Controladora.g_int_Mes = ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes;
|
|
|
|
g_obj_Controladora.CargaInicial(g_obj_Controladora.g_lng_idEmpleado_Seleccionado);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (g_obj_Controladora != null)
|
|
{
|
|
g_obj_Controladora.Cargar_Calendario(ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes);
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(ex_dtp_P_Incidencias_Meses_ValueChanged));
|
|
}
|
|
}
|
|
|
|
private void ex_nud_P_Incidencias_Anyo_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (e != null)
|
|
{
|
|
if (ex_dgv_P_Incidencias_Empleados.SelectedRows.Count > 0)
|
|
{
|
|
Exferia_NumericUpDown Exferia_NumericUpDown_Anyo = (Exferia_NumericUpDown)sender;
|
|
if (Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value.ToString().Trim().Length == 4)
|
|
{
|
|
int int_Anyo = Convert.ToInt32(Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value);
|
|
|
|
if (int_Anyo > 1990 && int_Anyo < 3000)
|
|
{
|
|
g_obj_Controladora.CargaInicial(g_obj_Controladora.g_lng_idEmpleado_Seleccionado);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (g_obj_Controladora != null)
|
|
{
|
|
if (g_obj_Controladora.g_bol_Termino_CargaInicial)
|
|
{
|
|
Exferia_NumericUpDown Exferia_NumericUpDown_Anyo = (Exferia_NumericUpDown)sender;
|
|
if (Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value.ToString().Trim().Length == 4)
|
|
{
|
|
int int_Anyo = Convert.ToInt32(Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value);
|
|
if (int_Anyo > 1990 && int_Anyo < 3000)
|
|
{
|
|
g_obj_Controladora.CargaInicial(ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Control_Errores.Errores_Log(ex.Message,ex,nameof(P_Incidencias)+"/"+nameof(ex_nud_P_Incidencias_Anyo_ValueChanged));
|
|
}
|
|
}
|
|
|
|
private void ex_dgv_P_Incidencias_Empleados_SelectionChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (g_obj_Controladora!=null &&
|
|
g_obj_Controladora.g_bol_Termino_CargaInicial &&
|
|
g_obj_Controladora.g_bol_Cargando_Empleados==false)
|
|
{
|
|
if (ex_dgv_P_Incidencias_Empleados.SelectedRows.Count > 0)
|
|
{
|
|
g_obj_Controladora.g_int_Mes = ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes;
|
|
|
|
|
|
g_obj_Controladora.ActualizarDatos(long.Parse(ex_dgv_P_Incidencias_Empleados.SelectedRows[0].Cells[0].Value.ToString()));
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(ex_dgv_P_Incidencias_Empleados_SelectionChanged));
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Abrir Fichajes
|
|
private void Abrir_Fichajes(object sender, INTERNO_EventArgs e)
|
|
{
|
|
if (g_obj_Controladora!=null)
|
|
{
|
|
g_obj_Controladora.Abrir_Fichajes(e.NumeroObjeto);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Rellenar Leyenda
|
|
private void Rellenar_Leyenda()
|
|
{
|
|
//Dia Fichajes Sin Validar
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_SinValidar.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINVALIDAR;
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_SinValidar.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINVALIDAR;
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_SinValidar.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA;
|
|
|
|
//Dia Fichajes Validado Sin Incidencias
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosSinIncidencias.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_SININCIDENCIAS;
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosSinIncidencias.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_SININCIDENCIAS;
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosSinIncidencias.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA;
|
|
|
|
//Dia Fichajes Validado Con Incidencias
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosConIncidencias.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_CONINCIDENCIAS;
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosConIncidencias.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_CONINCIDENCIAS;
|
|
ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosConIncidencias.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA;
|
|
|
|
|
|
//Dia sin Fichajes
|
|
ex_pnl_P_Incidencias_Dia_Sin_Fichajes.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINFICHAJES;
|
|
ex_pnl_P_Incidencias_Dia_Sin_Fichajes.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINFICHAJES;
|
|
ex_pnl_P_Incidencias_Dia_Sin_Fichajes.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA;
|
|
|
|
//Dia Vacio
|
|
ex_pnl_P_Incidencias_Dia_Vacio.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VACIO;
|
|
ex_pnl_P_Incidencias_Dia_Vacio.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VACIO;
|
|
ex_pnl_P_Incidencias_Dia_Vacio.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA;
|
|
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|