public List <EstProduccion> Produccion_InformeProduccion(string OT, string NombreOT, string Area, string Maquina, string Operador, DateTime Fechainicio, DateTime FechaTermino, int Procedimiento) { List <EstProduccion> lista = new List <EstProduccion>(); Conexion conexion = new Conexion(); SqlCommand cmd = conexion.AbrirConexionIntranet(); string ceros = "00"; if (cmd != null) { cmd.CommandText = "[Produccion_InformeProduccion_V2]"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@OT", OT); cmd.Parameters.AddWithValue("@NombreOT", NombreOT); cmd.Parameters.AddWithValue("@Area", Area); cmd.Parameters.AddWithValue("@Maquina", Maquina); cmd.Parameters.AddWithValue("@Operador", Operador); cmd.Parameters.AddWithValue("@FechaInicio", Fechainicio); cmd.Parameters.AddWithValue("@FechaTermino", FechaTermino); cmd.Parameters.AddWithValue("@Procedimiento", Procedimiento); cmd.CommandTimeout = 9000000; SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { EstProduccion p = new EstProduccion(); p.Maquina = reader["Maquina"].ToString().Replace("Rapida 106", "").Replace("C150", "").Replace("C-18", "").ToLower(); p.OT = reader["OT"].ToString(); p.NombreOT = reader["NombreOT"].ToString().ToLower(); p.Pliego = Regex.Replace(reader["Pliego"].ToString(), @"[^0-9]", string.Empty); double Plani = Convert.ToDouble(reader["Planificado"].ToString()); p.Planificado = Convert.ToInt32(reader["Planificado"].ToString()).ToString("N0").Replace(",", "."); double Buenos = Convert.ToDouble(reader["Buenos"].ToString()); p.Producido = Convert.ToInt32(reader["Buenos"].ToString()).ToString("N0").Replace(",", "."); TimeSpan t0 = TimeSpan.FromSeconds(Convert.ToDouble(reader["HorasTiraje"].ToString())); int Dias0 = t0.Days * 24; p.HorasTiraje = (t0.Hours + Dias0).ToString() + ":" + ceros.Substring(0, ceros.Length - t0.Minutes.ToString().Length) + t0.Minutes.ToString() + ":" + ceros.Substring(0, ceros.Length - t0.Seconds.ToString().Length) + t0.Seconds.ToString(); TimeSpan t1 = TimeSpan.FromSeconds(Convert.ToDouble(reader["HorasPreparacion"].ToString())); int Dias1 = t1.Days * 24; p.HorasPreparacion = (t1.Hours + Dias1).ToString() + ":" + ceros.Substring(0, ceros.Length - t1.Minutes.ToString().Length) + t1.Minutes.ToString() + ":" + ceros.Substring(0, ceros.Length - t1.Seconds.ToString().Length) + t1.Seconds.ToString(); p.MermaTiraje = Convert.ToInt32(reader["MermaTiraje"].ToString()).ToString("N0").Replace(",", "."); p.MermaPreparacion = Convert.ToInt32(reader["MermaPreparacion"].ToString()).ToString("N0").Replace(",", "."); p.FechaInicio = Convert.ToDateTime(reader["FechaInicio"].ToString()).ToString("dd/MM/yyyy HH:mm"); if (Convert.ToDateTime(reader["FechaTermino"].ToString()).ToString("dd/MM/yyyy HH:mm") == "30/12/1899 00:00") { p.FechaTermino = "En Proceso"; } else { p.FechaTermino = Convert.ToDateTime(reader["FechaTermino"].ToString()).ToString("dd/MM/yyyy HH:mm"); } double horastir = Convert.ToDouble(reader["HorasTiraje"].ToString()) / 3600; if (Buenos > 0) { p.Velocidad = Convert.ToInt32(Buenos / horastir).ToString("N0").Replace(",", ".") + "/Hr"; } else { p.Velocidad = "0/Hr"; } double HorasImp = Convert.ToDouble(reader["HorasImproductivas"].ToString()) / 3600; if (horastir > 0) { p.Uptime = ((horastir / (horastir + HorasImp)) * 100).ToString("N2") + "%"; } else { p.Uptime = "0,00%"; } if (p.Maquina.ToLower().Contains("kba")) { p.VerMas = ""; } else { p.VerMas = "<a style='Color:Blue;text-decoration:none;' href='javascript:openDetalle(\"" + reader["OT"].ToString() + "\",\"" + reader["Processo"].ToString() + "\",\"" + reader["NombreOT"].ToString() + "\",\"" + p.Pliego + "\")'>Ver Más</a>"; } if (Procedimiento == 3) { p.Operador = reader["Operador"].ToString(); } else { p.Operador = ""; } p.CodRecurso = reader["CodRecurso"].ToString(); lista.Add(p); } } conexion.CerrarConexion(); return(lista); }
protected void ibExcel_Click(object sender, ImageClickEventArgs e) { try { if (RadGrid1.Items.Count > 0) { List <EstProduccion> lista = new List <EstProduccion>(); for (int i = 0; i < RadGrid1.Items.Count; i++) { EstProduccion p = new EstProduccion(); p.Maquina = RadGrid1.Items[i]["Maquina"].Text; p.OT = RadGrid1.Items[i]["OT"].Text.ToUpper(); p.NombreOT = RadGrid1.Items[i]["NombreOT"].Text; p.Pliego = RadGrid1.Items[i]["Pliego"].Text; p.Planificado = RadGrid1.Items[i]["Planificado"].Text.Replace(".", ""); p.Producido = RadGrid1.Items[i]["Producido"].Text.Replace(".", ""); p.HorasTiraje = RadGrid1.Items[i]["HorasTiraje"].Text; p.MermaTiraje = RadGrid1.Items[i]["MermaTiraje"].Text.Replace(".", ""); p.MermaPreparacion = RadGrid1.Items[i]["MermaPreparacion"].Text.Replace(".", ""); p.HorasPreparacion = RadGrid1.Items[i]["HorasPreparacion"].Text; p.Velocidad = RadGrid1.Items[i]["Velocidad"].Text.Replace(".", "").Replace("/Hr", ""); p.Uptime = RadGrid1.Items[i]["Uptime"].Text; p.FechaInicio = RadGrid1.Items[i]["FechaInicio"].Text; p.FechaTermino = RadGrid1.Items[i]["FechaTermino"].Text; p.Operador = RadGrid1.Items[i]["Operador"].Text; lista.Add(p); } GridView GridView1 = new GridView(); GridView1.DataSource = lista; GridView1.DataBind(); GridView1.HeaderStyle.BackColor = System.Drawing.Color.Blue; GridView1.HeaderStyle.ForeColor = System.Drawing.Color.White; if (RadGrid1.Columns[14].Visible == false) { GridView1.HeaderRow.Cells[14].Visible = false; } GridView1.HeaderRow.Cells[15].Visible = false; GridView1.HeaderRow.Cells[16].Visible = false; for (int contador = 0; contador < GridView1.Rows.Count; contador++) { GridViewRow row = GridView1.Rows[contador]; if (RadGrid1.Columns[14].Visible == false) { row.Cells[14].Visible = false; } row.Cells[15].Visible = false; row.Cells[16].Visible = false; } string NombreInforme = ""; if (txtOT.Text != "") { NombreInforme = "OT: " + txtOT.Text; } else { if (ddlMaquina.SelectedValue.ToString() != "Seleccione...") { NombreInforme = "Máquina " + ddlMaquina.SelectedItem.ToString() + " Desde " + txtFechaInicio.Text + " Hasta " + txtFechaTermino.Text; } else { NombreInforme = "Área " + ddlArea.SelectedItem.ToString() + " Desde " + txtFechaInicio.Text + " Hasta " + txtFechaTermino.Text; } } ExportToExcel(NombreInforme, GridView1); } } catch (Exception ex) { string popupScript = "<script language='JavaScript'> alert('Ha ocurrido un error al generar el archivo excel! \\n Error: " + ex.Message + "'); </script>"; Page.RegisterStartupScript("PopupScript", popupScript); } }