protected void ibExcel_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         List <Bobina_ConsumoLinea> lista = new List <Bobina_ConsumoLinea>();
         for (int i = 0; i < RadGrid1.Items.Count; i++)
         {
             Bobina_ConsumoLinea p = new Bobina_ConsumoLinea();
             p.Maquina            = RadGrid1.Items[i]["Maquina"].Text;
             p.Codigo_Bobina      = RadGrid1.Items[i]["Codigo_Bobina"].Text;
             p.TipoPapel          = RadGrid1.Items[i]["TipoPapel"].Text;
             p.Gramaje            = RadGrid1.Items[i]["Gramaje"].Text;
             p.Ancho              = RadGrid1.Items[i]["Ancho"].Text;
             p.PesoInicial        = RadGrid1.Items[i]["PesoInicial"].Text;
             p.ConsumoBobina      = RadGrid1.Items[i]["ConsumoBobina"].Text;
             p.OrigenPerdida      = RadGrid1.Items[i]["OrigenPerdida"].Text;
             p.MotivoPerdida      = RadGrid1.Items[i]["MotivoPerdida"].Text;
             p.Escarpe            = RadGrid1.Items[i]["Escarpe"].Text;
             p.PorcentajePerdidas = RadGrid1.Items[i]["PorcentajePerdidas"].Text;
             p.OT          = RadGrid1.Items[i]["OT"].Text;
             p.Cantidad    = "";
             p.Saldo       = "";
             p.TipoPerdida = "";
             lista.Add(p);
         }
         ExportToExcel("Informe War-Rom " + txtFechaInicio.Text, lista, txtFechaInicio.Text);
     }
     catch (Exception ex)
     {
         string popupScript = "<script language='JavaScript'>alert('A ocurrido un error inesperado. Vuelva a intentarlo mas tarde\\n" + ex.Message + "');</script>";
         Page.RegisterStartupScript("PopupScript", popupScript);
     }
 }
        protected void ibExcel_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                double TotEscarpeAlmacen = 0; double TotEscarpeRollero = 0; double TotEscarpeProveedor = 0; double TotEscarpeRotativa = 0;
                List <Bobina_ConsumoLinea> lista = new List <Bobina_ConsumoLinea>();
                for (int i = 0; i < RadGrid1.Items.Count; i++)
                {
                    Bobina_ConsumoLinea p = new Bobina_ConsumoLinea();
                    p.Maquina            = RadGrid1.Items[i]["Maquina"].Text;
                    p.Codigo_Bobina      = RadGrid1.Items[i]["Codigo_Bobina"].Text;
                    p.TipoPapel          = RadGrid1.Items[i]["TipoPapel"].Text;
                    p.Gramaje            = RadGrid1.Items[i]["Gramaje"].Text;
                    p.Ancho              = RadGrid1.Items[i]["Ancho"].Text;
                    p.PesoInicial        = RadGrid1.Items[i]["PesoInicial"].Text;
                    p.ConsumoBobina      = RadGrid1.Items[i]["ConsumoBobina"].Text;
                    p.OrigenPerdida      = RadGrid1.Items[i]["OrigenPerdida"].Text;
                    p.MotivoPerdida      = RadGrid1.Items[i]["MotivoPerdida"].Text;
                    p.Escarpe            = RadGrid1.Items[i]["Escarpe"].Text;
                    p.PorcentajePerdidas = RadGrid1.Items[i]["PorcentajePerdidas"].Text;
                    p.OT          = RadGrid1.Items[i]["OT"].Text;
                    p.Cantidad    = "";
                    p.Saldo       = "";
                    p.TipoPerdida = "";
                    if (p.OrigenPerdida == "ROLLERO")
                    {
                        TotEscarpeRollero += Convert.ToDouble(RadGrid1.Items[i]["Escarpe"].Text);
                    }
                    else if (p.OrigenPerdida == "ALMACÉN")
                    {
                        TotEscarpeAlmacen += Convert.ToDouble(RadGrid1.Items[i]["Escarpe"].Text);
                    }
                    else if (p.OrigenPerdida == "PROVEEDOR" || p.OrigenPerdida == "TRANSPORTE")
                    {
                        TotEscarpeProveedor += Convert.ToDouble(RadGrid1.Items[i]["Escarpe"].Text);
                    }
                    else
                    {
                        TotEscarpeRotativa += Convert.ToDouble(RadGrid1.Items[i]["Escarpe"].Text);
                    }

                    lista.Add(p);
                }
                ExportToExcel("Informe War-Rom " + txtFechaInicio.Text, lista, txtFechaInicio.Text, TotEscarpeAlmacen, TotEscarpeRollero, TotEscarpeProveedor, TotEscarpeRotativa);
            }
            catch (Exception ex)
            {
                string popupScript = "<script language='JavaScript'>alert('A ocurrido un error inesperado. Vuelva a intentarlo mas tarde\\n" + ex.Message + "');</script>";
                Page.RegisterStartupScript("PopupScript", popupScript);
            }
        }
        public List <Bobina_ConsumoLinea> List_BobinasWarRom_V2(string Fecha)
        {
            List <Bobina_ConsumoLinea> lista      = new List <Bobina_ConsumoLinea>();
            List <Bobina_ConsumoLinea> queryTotal = new List <Bobina_ConsumoLinea>();
            Conexion   con = new Conexion();
            SqlCommand cmd = con.AbrirConexionIntranet();

            if (cmd != null)
            {
                try
                {
                    cmd.CommandText = "Bobina_ConsumoLineaMetrics_WarRom_V2";
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Fecha", Fecha);
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Bobina_ConsumoLinea b = new Bobina_ConsumoLinea();
                        b.Codigo_Bobina = reader["IdBobina"].ToString();
                        b.Maquina       = reader["Maquina"].ToString();
                        b.Ancho         = Convert.ToDouble(reader["Width"].ToString()).ToString();
                        b.Gramaje       = Convert.ToDouble(reader["Gramaje"].ToString()).ToString();
                        b.TipoPapel     = reader["DescPapel"].ToString().ToLower();
                        b.PesoInicial   = Convert.ToDouble(reader["PesoInicial"].ToString()).ToString();
                        b.OT            = reader["NumOrdem"].ToString();


                        b.ConsumoBobina = ((reader["NumOrdem"].ToString() == "112") ? Convert.ToDouble(reader["PesoInicial2"].ToString()).ToString() : Convert.ToDouble(reader["Consumo"].ToString()).ToString());
                        //b.ConsumoBobina= Convert.ToDouble(reader["Consumo"].ToString()).ToString();
                        b.Escarpe            = Convert.ToDouble(reader["Escalpe"].ToString()).ToString();
                        b.PorcentajePerdidas = Convert.ToDouble(reader["PorcPerdida"].ToString()).ToString("N2") + "%";
                        b.OrigenPerdida      = reader["Origen"].ToString();
                        b.MotivoPerdida      = reader["Motivo"].ToString();
                        lista.Add(b);
                    }
                }
                catch
                {
                }
            }
            con.CerrarConexion();
            return(lista);
        }
        public List <Bobina_ConsumoLinea> List_BobinasInformeMensual(string FechaInicio, string FechaTermino)
        {
            List <Bobina_ConsumoLinea> lista      = new List <Bobina_ConsumoLinea>();
            List <Bobina_ConsumoLinea> queryTotal = new List <Bobina_ConsumoLinea>();
            Conexion   con = new Conexion();
            SqlCommand cmd = con.AbrirConexionIntranet();

            if (cmd != null)
            {
                try
                {
                    cmd.CommandText = "Bobina_ConsumoLineaMetrics_Mensual";
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@FechaInicio", FechaInicio);
                    cmd.Parameters.AddWithValue("@FechaTermino", FechaTermino);
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Bobina_ConsumoLinea bobina = new Bobina_ConsumoLinea();
                        bobina.Codigo_Bobina   = reader["IdVolume"].ToString();
                        bobina.Maquina         = reader["Maquina"].ToString();
                        bobina.PesoInicial     = Convert.ToDouble(reader["AvailableBeforeQtd"].ToString()).ToString();
                        bobina.Saldo           = Convert.ToDouble(reader["AvailableAfterQtd"].ToString()).ToString();
                        bobina.TipoPerdida     = reader["TipoPerdida"].ToString();
                        bobina.Cantidad        = Convert.ToDouble(reader["Cantidad"].ToString()).ToString();
                        bobina.OrigenPerdida   = reader["ORIGEN"].ToString();
                        bobina.MotivoPerdida   = reader["MOTIVO"].ToString();
                        bobina.TipoTransaccion = reader["TipoTrans"].ToString();
                        bobina.OT = reader["NumOrdem"].ToString();
                        queryTotal.Add(bobina);
                    }
                    if (queryTotal.Count > 0)
                    {
                        foreach (string maquina in queryTotal.Select(o => o.Maquina).Distinct())
                        {
                            foreach (string CodigoBobina in queryTotal.Where(o => o.Maquina == maquina).Select(o => o.Codigo_Bobina).Distinct())
                            {
                                int PesoInicial            = 0;
                                int PesoPerdidas           = 0;
                                int Escarpe                = 0;
                                int Consumo                = 0;
                                Bobina_ConsumoLinea bobina = new Bobina_ConsumoLinea();

                                foreach (Bobina_ConsumoLinea bob in queryTotal.Where(o => o.Maquina == maquina).Where(o => o.Codigo_Bobina == CodigoBobina))
                                {
                                    bobina.Codigo_Bobina = bob.Codigo_Bobina;
                                    bobina.Maquina       = bob.Maquina;
                                    bobina.Gramaje       = bob.Gramaje;
                                    bobina.Ancho         = bob.Ancho;
                                    bobina.TipoPapel     = bob.TipoPapel;
                                    bobina.OT            = bob.OT;
                                    if (PesoInicial == 0)
                                    {
                                        PesoInicial        = Convert.ToInt32(bob.PesoInicial);
                                        bobina.PesoInicial = PesoInicial.ToString();
                                    }
                                    if (bob.TipoPerdida != "")
                                    {
                                        PesoPerdidas += Convert.ToInt32(bob.Cantidad);
                                        if (bob.TipoPerdida == "ESCALPE")
                                        {
                                            Escarpe += Convert.ToInt32(bob.Cantidad);
                                        }
                                    }
                                    else
                                    {
                                        if (bob.TipoTransaccion == "DEVOLUCIÓN DE BOBINAS (VOL)")
                                        {
                                            Consumo -= Convert.ToInt32(bob.Cantidad);
                                        }
                                        else
                                        {
                                            Consumo += Convert.ToInt32(bob.Cantidad);
                                        }
                                    }
                                    if (bob.OrigenPerdida != "")
                                    {
                                        bobina.OrigenPerdida = bob.OrigenPerdida;
                                        bobina.MotivoPerdida = bob.MotivoPerdida;
                                    }
                                    bobina.Escarpe            = Escarpe.ToString();
                                    bobina.ConsumoBobina      = (Consumo + PesoPerdidas).ToString();
                                    bobina.PorcentajePerdidas = Convert.ToDouble(Convert.ToDouble(Escarpe * 100) / PesoInicial).ToString("N2") + " %";
                                }
                                lista.Add(bobina);
                            }
                        }
                    }
                }
                catch
                {
                }
            }
            con.CerrarConexion();
            return(lista);
        }