Exemplo n.º 1
0
        //================================================================================
        // GET GRAFICO
        //================================================================================
        public static GraficoBase GetGrafico(int numero, DateTime validez)
        {
            GraficoBase     grafico = null;
            OleDbDataReader lector  = null;

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion)) {
                try {
                    conexion.Open();
                    OleDbCommand comando = new OleDbCommand(comandoGetGrafico, conexion);
                    comando.Parameters.AddWithValue("@Validez", validez.ToString("yyyy-MM-dd"));
                    comando.Parameters.AddWithValue("@Numero", numero);
                    // Ejecutamos el comando y extraemos el gráfico.
                    lector = comando.ExecuteReader();
                    if (lector.Read())
                    {
                        grafico = new GraficoBase(lector);
                    }
                } catch (Exception ex) {
                    Utils.VerError("BdPijamas.GetGrafico", ex);
                } finally {
                    lector?.Close();
                }
            }
            return(grafico);
        }
Exemplo n.º 2
0
        /*================================================================================
         * GET GRÁFICO
         *================================================================================*/
        public static GraficoBase GetGrafico(int numero, DateTime fecha)
        {
            GraficoBase resultado = null;

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion))
            {
                string comandoSQL = "SELECT * " +
                                    "FROM (SELECT * " +
                                    "      FROM Graficos" +
                                    "      WHERE IdGrupo = (SELECT Id " +
                                    "                       FROM GruposGraficos " +
                                    "                       WHERE Validez = (SELECT Max(Validez) " +
                                    "                                        FROM GruposGraficos " +
                                    "                                        WHERE Validez <= ?)))" +
                                    "WHERE Numero = ?";

                // Elementos para la consulta de calendarios y días de calendario.
                OleDbCommand comando = new OleDbCommand(comandoSQL, conexion);
                comando.Parameters.AddWithValue("@Validez", fecha.ToString("yyyy-MM-dd"));
                comando.Parameters.AddWithValue("@IdConductor", numero);
                OleDbDataReader lector = null;
                try {
                    conexion.Open();
                    lector = comando.ExecuteReader();
                    if (lector.Read())
                    {
                        resultado = new GraficoBase(lector);
                    }
                } catch (OleDbException ex) {
                    Utils.VerError("BdGraficos.GetGrafico", ex);
                } finally {
                    lector.Close();
                }
            }
            return(resultado);
        }
Exemplo n.º 3
0
        //================================================================================
        // GET RESUMEN HASTA MES
        //================================================================================
        public static ResumenPijama GetResumenHastaMes(int año, int mes, int idconductor)
        {
            // Inicializamos las horas acumuladas.
            ResumenPijama resultado = new ResumenPijama();

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion))
            {
                // Establecemos la fecha del día 1 del siguiente mes al indicado.
                DateTime fecha = new DateTime(año, mes, 1).AddMonths(1);
                // Establecemos un objeto a usar para los resultados.
                object objeto = null;

                try {
                    conexion.Open();

                    //----------------------------------------------------------------------------------------------------
                    // HORAS ACUMULADAS
                    //----------------------------------------------------------------------------------------------------
                    OleDbCommand comando = new OleDbCommand(comandoDiasCalendario, conexion);
                    comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    OleDbDataReader lector = comando.ExecuteReader();

                    // Por cada día, sumamos las horas acumuladas.
                    while (lector.Read())
                    {
                        int      d             = (lector["Dia"] is DBNull) ? 0 : (Int16)lector["Dia"];
                        int      g             = (lector["Grafico"] is DBNull) ? 0 : (Int16)lector["Grafico"];
                        int      v             = (lector["GraficoVinculado"] is DBNull) ? 0 : (Int16)lector["GraficoVinculado"];
                        TimeSpan?acumuladasAlt = lector.ToTimeSpanNulable("AcumuladasAlt");
                        TimeSpan ej            = lector.ToTimeSpan("ExcesoJornada");
                        if (v != 0 && g == App.Global.PorCentro.Comodin)
                        {
                            g = v;
                        }
                        DateTime f = (lector["Fecha"] is DBNull) ? new DateTime(0) : (DateTime)lector["Fecha"];
                        if (d > DateTime.DaysInMonth(f.Year, f.Month))
                        {
                            continue;
                        }
                        DateTime     fechadia = new DateTime(f.Year, f.Month, d);
                        OleDbCommand comando2 = new OleDbCommand(comandoAcumuladas, conexion);
                        comando2.Parameters.AddWithValue("validez", fechadia.ToString("yyyy-MM-dd"));
                        comando2.Parameters.AddWithValue("numero", g);
                        OleDbDataReader lector2 = comando2.ExecuteReader();

                        GraficoBase grafico = null;
                        if (lector2.Read())
                        {
                            grafico = new GraficoBase(lector2);
                            if (ej != TimeSpan.Zero)
                            {
                                if (grafico != null)
                                {
                                    grafico.Final += ej;
                                }
                            }
                            if (acumuladasAlt.HasValue)
                            {
                                grafico.Acumuladas = acumuladasAlt.Value;
                            }
                            resultado.HorasAcumuladas += grafico.Acumuladas;
                        }
                        lector2.Close();
                    }
                    lector.Close();
                    //----------------------------------------------------------------------------------------------------
                    // HORAS REGULADAS
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoReguladas, conexion);
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.HorasReguladas = new TimeSpan(Convert.ToInt64(objeto));
                    //----------------------------------------------------------------------------------------------------
                    // HORAS COBRADAS
                    //----------------------------------------------------------------------------------------------------
                    //comando = new OleDbCommand(comandoCobradas, conexion);
                    //comando.Parameters.AddWithValue("idconductor", idconductor);
                    //comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    //objeto = comando.ExecuteScalar();
                    //if (objeto == DBNull.Value) {
                    //	objeto = 0d;
                    //}
                    //resultado.HorasCobradas = new TimeSpan(Convert.ToInt64(objeto));
                    //----------------------------------------------------------------------------------------------------
                    // DIAS F6
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDiasF6, conexion);
                    comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DiasLibreDisposicionF6 = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // DIAS F6DC
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDiasF6DC, conexion);
                    comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DiasF6DC = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // DCS REGULADOS
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDCsRegulados, conexion);
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DCsRegulados = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // DCS DISFRUTADOS
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDCsDisfrutados, conexion);
                    comando.Parameters.AddWithValue("fecha", fecha.ToString("yyyy-MM-dd"));
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DCsDisfrutados = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // DNDS DISFRUTADOS
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDNDsDisfrutados, conexion);
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    comando.Parameters.AddWithValue("fecha", fecha);
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DNDsDisfrutados = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // DÍAS COMITÉ EN DESCANSO
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDiasComiteEnJD, conexion);
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    comando.Parameters.AddWithValue("fecha", fecha);
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DiasComiteEnDescanso = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // DÍAS TRABAJO EN DESCANSO
                    //----------------------------------------------------------------------------------------------------
                    comando = new OleDbCommand(comandoDiasTrabajoEnJD, conexion);
                    comando.Parameters.AddWithValue("idconductor", idconductor);
                    comando.Parameters.AddWithValue("fecha", fecha);
                    objeto = comando.ExecuteScalar();
                    if (objeto == DBNull.Value)
                    {
                        objeto = 0d;
                    }
                    resultado.DiasTrabajoEnDescanso = Convert.ToInt32(objeto);
                    //----------------------------------------------------------------------------------------------------
                    // FINAL
                    //----------------------------------------------------------------------------------------------------
                } catch (Exception ex) {
                    Utils.VerError("BdPijamas.GetResumenHastaMes", ex);
                }
            }

            // Devolvemos el resultado
            return(resultado);
        }