151 lines
10 KiB
C#
151 lines
10 KiB
C#
using Exferia_Aplicacion.General;
|
|
using Exferia_KairosPRO.General;
|
|
using Exferia_KairosPRO_EF;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Exferia_KairosPRO._2_Datos
|
|
{
|
|
public class AUX_Datos
|
|
{
|
|
public string Existe_PresenciaAusenciaDiaFestivoJornada_porDia(long _lng_idEmpleado, long _lng_CodigoCliente, DateTime _dtt_Fecha)
|
|
{
|
|
KairosProEntities obj_KairosProEntities = null;
|
|
|
|
string str_PresenciaAusenciaDiaFestivoJornada = "";
|
|
|
|
try
|
|
{
|
|
obj_KairosProEntities = new KairosProEntities();
|
|
obj_KairosProEntities.Configuration.LazyLoadingEnabled = false;
|
|
|
|
//PRESENCIA PROGRAMADA........................................................................
|
|
string str_SQL_PresenciasProgramadas =
|
|
" SELECT " + nameof(KRS_PresenciasProgramadas) + "." + nameof(KRS_PresenciasProgramadas.idJornadaCabecera) +
|
|
" FROM " + nameof(KRS_PresenciasProgramadas) +
|
|
" WHERE " +
|
|
nameof(KRS_PresenciasProgramadas) + "." + nameof(KRS_PresenciasProgramadas.idEmpleado) + "=@idEmpleado AND " +
|
|
nameof(KRS_PresenciasProgramadas) + "." + nameof(KRS_PresenciasProgramadas.codigoCliente) + "=@codigoCliente AND " +
|
|
nameof(KRS_PresenciasProgramadas) + "." + nameof(KRS_PresenciasProgramadas.fechaDesde) + "<=@fecha AND " +
|
|
nameof(KRS_PresenciasProgramadas) + "." + nameof(KRS_PresenciasProgramadas.fechaHasta) + ">=@fecha ";
|
|
//Parametros
|
|
object[] arr_Parametros_PresenciasProgramadas = new object[]
|
|
{
|
|
new SqlParameter("@idEmpleado", _lng_idEmpleado),
|
|
new SqlParameter("@codigoCliente", _lng_CodigoCliente),
|
|
new SqlParameter("@fecha", _dtt_Fecha.Date)
|
|
};
|
|
|
|
long? lng_idJornadaCabecera_PresenciasProgramadas = obj_KairosProEntities.Database.SqlQuery<long>(str_SQL_PresenciasProgramadas, arr_Parametros_PresenciasProgramadas).FirstOrDefault();
|
|
|
|
if (lng_idJornadaCabecera_PresenciasProgramadas != null && lng_idJornadaCabecera_PresenciasProgramadas.Value > 0)
|
|
{
|
|
str_PresenciaAusenciaDiaFestivoJornada = Variables_KairosPRO.G_STR_TIPOJORNADADIA_PRESENCIAPROGRAMADA + "|" + lng_idJornadaCabecera_PresenciasProgramadas.Value;
|
|
}
|
|
//............................................................................................
|
|
|
|
if (str_PresenciaAusenciaDiaFestivoJornada == "")
|
|
{
|
|
//AUSENCIA PROGRAMADA........................................................................
|
|
string str_SQL_AusenciasProgramadas =
|
|
" SELECT " + nameof(KRS_AusenciasProgramadas) + "." + nameof(KRS_AusenciasProgramadas.id) +
|
|
" FROM " + nameof(KRS_AusenciasProgramadas) +
|
|
" WHERE " +
|
|
nameof(KRS_AusenciasProgramadas) + "." + nameof(KRS_AusenciasProgramadas.idEmpleado) + "=@idEmpleado AND " +
|
|
nameof(KRS_AusenciasProgramadas) + "." + nameof(KRS_AusenciasProgramadas.codigoCliente) + "=@codigoCliente AND " +
|
|
nameof(KRS_AusenciasProgramadas) + "." + nameof(KRS_AusenciasProgramadas.fechaDesde) + "<=@fecha AND " +
|
|
nameof(KRS_AusenciasProgramadas) + "." + nameof(KRS_AusenciasProgramadas.fechaHasta) + ">=@fecha ";
|
|
//Parametros
|
|
object[] arr_Parametros_AusenciasProgramadas = new object[]
|
|
{
|
|
new SqlParameter("@idEmpleado", _lng_idEmpleado),
|
|
new SqlParameter("@codigoCliente", _lng_CodigoCliente),
|
|
new SqlParameter("@fecha", _dtt_Fecha.Date)
|
|
};
|
|
|
|
long? lng_idAusenciasProgramadas = obj_KairosProEntities.Database.SqlQuery<long>(str_SQL_AusenciasProgramadas, arr_Parametros_AusenciasProgramadas).FirstOrDefault();
|
|
|
|
if (lng_idAusenciasProgramadas != null && lng_idAusenciasProgramadas.Value > 0)
|
|
{
|
|
str_PresenciaAusenciaDiaFestivoJornada = Variables_KairosPRO.G_STR_TIPOJORNADADIA_AUSENCIAPROGRAMADA + "|-1";
|
|
}
|
|
//............................................................................................
|
|
|
|
if (str_PresenciaAusenciaDiaFestivoJornada == "")
|
|
{
|
|
//DIAS FESTIVOS........................................................................
|
|
string str_SQL_DiasFestivos =
|
|
" SELECT " + nameof(KRS_DiasFestivos) + "." + nameof(KRS_DiasFestivos.id) +
|
|
" FROM " + nameof(KRS_DiasFestivos) +
|
|
" WHERE " +
|
|
nameof(KRS_DiasFestivos) + "." + nameof(KRS_DiasFestivos.codigoCliente) + "=@codigoCliente AND " +
|
|
nameof(KRS_DiasFestivos) + "." + nameof(KRS_DiasFestivos.fechaDesde) + "<=@fecha AND " +
|
|
nameof(KRS_DiasFestivos) + "." + nameof(KRS_DiasFestivos.fechaHasta) + ">=@fecha ";
|
|
//Parametros
|
|
object[] arr_Parametros_DiasFestivos = new object[]
|
|
{
|
|
new SqlParameter("@idEmpleado", _lng_idEmpleado),
|
|
new SqlParameter("@codigoCliente", _lng_CodigoCliente),
|
|
new SqlParameter("@fecha", _dtt_Fecha.Date)
|
|
};
|
|
|
|
long? lng_idDiasFestivos = obj_KairosProEntities.Database.SqlQuery<long>(str_SQL_DiasFestivos, arr_Parametros_DiasFestivos).FirstOrDefault();
|
|
|
|
if (lng_idDiasFestivos != null && lng_idDiasFestivos.Value > 0)
|
|
{
|
|
str_PresenciaAusenciaDiaFestivoJornada = Variables_KairosPRO.G_STR_TIPOJORNADADIA_DIAFESTIVO + "|-1";
|
|
}
|
|
//............................................................................................
|
|
|
|
if (str_PresenciaAusenciaDiaFestivoJornada == "")
|
|
{
|
|
//JORNADA LABORAL ........................................................................
|
|
string str_SQL_JornadaLaboral = " SELECT " + nameof(KRS_PerfilesLinea) + "." + nameof(KRS_PerfilesLinea.idJornadaCabecera) +
|
|
" FROM " + nameof(KRS_Ejercicios_PerfilesCabecera) + " " +
|
|
" INNER JOIN " + nameof(KRS_PerfilesCabecera) + " On " + nameof(KRS_PerfilesCabecera) + "." + nameof(KRS_PerfilesCabecera.id) + " = " + nameof(KRS_Ejercicios_PerfilesCabecera) + "." + nameof(KRS_Ejercicios_PerfilesCabecera.idPerfilCabecera) + " and " + nameof(KRS_PerfilesCabecera) + "." + nameof(KRS_PerfilesCabecera.codigoCliente) + " = " + nameof(KRS_Ejercicios_PerfilesCabecera) + "." + nameof(KRS_Ejercicios_PerfilesCabecera.codigoCliente) +
|
|
" INNER JOIN " + nameof(KRS_PerfilesLinea) + " On " + nameof(KRS_PerfilesCabecera) + "." + nameof(KRS_PerfilesCabecera.id) + " = " + nameof(KRS_PerfilesLinea) + "." + nameof(KRS_PerfilesLinea.idPerfilCabecera) + " and " + nameof(KRS_PerfilesCabecera) + "." + nameof(KRS_PerfilesCabecera.codigoCliente) + " = " + nameof(KRS_PerfilesLinea) + "." + nameof(KRS_PerfilesLinea.codigoCliente) + " " +
|
|
" WHERE " +
|
|
nameof(KRS_Ejercicios_PerfilesCabecera) + "." + nameof(KRS_Ejercicios_PerfilesCabecera.idEmpleado) + "=@idEmpleado AND " +
|
|
nameof(KRS_Ejercicios_PerfilesCabecera) + "." + nameof(KRS_Ejercicios_PerfilesCabecera.codigoCliente) + "=@codigoCliente AND " +
|
|
nameof(KRS_PerfilesLinea) + "." + nameof(KRS_PerfilesLinea.fechaDesde) + "<=@fecha AND " +
|
|
nameof(KRS_PerfilesLinea) + "." + nameof(KRS_PerfilesLinea.fechaHasta) + ">=@fecha ";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros_JornadaLaboral = new object[]
|
|
{
|
|
new SqlParameter("@idEmpleado", _lng_idEmpleado),
|
|
new SqlParameter("@codigoCliente", _lng_CodigoCliente),
|
|
new SqlParameter("@fecha", _dtt_Fecha.Date)
|
|
};
|
|
|
|
long? lng_idJornadaCabecera = obj_KairosProEntities.Database.SqlQuery<long>(str_SQL_JornadaLaboral, arr_Parametros_JornadaLaboral).FirstOrDefault();
|
|
|
|
if (lng_idJornadaCabecera != null && lng_idJornadaCabecera.Value>0)
|
|
{
|
|
str_PresenciaAusenciaDiaFestivoJornada = Variables_KairosPRO.G_STR_TIPOJORNADADIA_JORNADALABORAL + "|" + lng_idJornadaCabecera.Value;
|
|
}
|
|
//............................................................................................
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(AUX_Datos) + "/" + nameof(Existe_PresenciaAusenciaDiaFestivoJornada_porDia), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_KairosProEntities.Database.Connection.Close();
|
|
obj_KairosProEntities.Dispose();
|
|
}
|
|
|
|
return str_PresenciaAusenciaDiaFestivoJornada;
|
|
}
|
|
}
|
|
}
|