public string FuncionCalcula(string item, DashboardProd lo) { int countDias = 1; double TotalMermasPreparacionPA = 0; double TotalMermasTiraje = 0; double HorasDirectas = 0; double ImprodIndirectos = 0; double OtrasIndirectas = 0; double HorasIndirectas = 0; string ValorFormula = ""; int ValorMaquina = dc.ListarRecursos().Where(x => x.CodMaquina == DropDownList1.SelectedValue.ToString()).Select(p => p.Valor).FirstOrDefault(); TotalMermasPreparacionPA = (lo.Buenos > 0) ? (((double)lo.MalosPreparacion) / (double)lo.Buenos) * 100 : 0; TotalMermasTiraje = (lo.Buenos > 0) ? (((double)lo.MalosTiraje) / (double)lo.Buenos) * 100 : 0; HorasDirectas = lo.HorasTiraje + lo.HorasPreparacion + lo.HorasDelay + lo.HorasImprod_Prep;//[20190619_horas imp.Preperacion agregadas] OtrasIndirectas = lo.TotalHoras - lo.HorasPreparacion - lo.HorasTiraje - lo.HorasDelay - (lo.HorasSinPersonal + lo.HorasColacion + lo.HorasAseo + lo.HorasSinTrabajo + lo.HorasMantencion); ImprodIndirectos = lo.HorasColacion + lo.HorasAseo + OtrasIndirectas; HorasIndirectas = lo.HorasSinPersonal + lo.HorasColacion + lo.HorasAseo + lo.HorasSinTrabajo + lo.HorasMantencion + OtrasIndirectas; switch (item) { case "Disponibilidad": ValorFormula = (lo.TotalHoras - lo.HorasColacion - lo.HorasSinPersonal) > 0 ? (((lo.HorasTiraje + lo.HorasPreparacion) / (lo.TotalHoras - lo.HorasColacion - lo.HorasSinPersonal)) * 100).ToString("N2") + "%" : "0"; //; ((lo.HorasTiraje + lo.HorasPreparacion) / (lo.TotalHoras - lo.HorasColacion - lo.HorasSinPersonal)).ToString(); break; case "Rendimiento": ValorFormula = ((lo.HorasTiraje + lo.HorasPreparacion) * (int)ValorMaquina) > 0 ? ((lo.Buenos / ((lo.HorasTiraje + lo.HorasPreparacion) * (int)ValorMaquina)) * 100).ToString("N2") + "%" : "0"; break; case "Calidad": ValorFormula = (TotalMermasPreparacionPA + TotalMermasTiraje) > 0 ? (100 - (TotalMermasPreparacionPA + TotalMermasTiraje)).ToString("N2") + "%" : "100%"; break; case "Uptime": ValorFormula = (lo.HorasTiraje + lo.HorasDelay) > 0 ? ((lo.HorasTiraje / (lo.HorasTiraje + lo.HorasDelay)) * 100).ToString("N2") + "%" : "0%"; break; case "R": ValorFormula = (lo.HorasTiraje > 0) ? Convert.ToInt32(((double)lo.Buenos / lo.HorasTiraje)).ToString("N0").Replace(",", ".") : "0"; break; case "RD": ValorFormula = ((lo.HorasTiraje + lo.HorasDelay) > 0) ? Convert.ToInt32(((double)lo.Buenos / (lo.HorasTiraje + lo.HorasDelay))).ToString("N0").Replace(",", ".") : "0"; break; case "MRD": ValorFormula = ((HorasDirectas) > 0) ? Convert.ToInt32(((double)lo.Buenos / HorasDirectas)).ToString("N0").Replace(",", ".") : "0"; break; case "LOR": ValorFormula = ((lo.Preparaciones2 + lo.Arranques2) > 0) ? Convert.ToInt32(((double)lo.Buenos / (lo.Preparaciones2 + lo.Arranques2))).ToString("N0").Replace(",", ".") : "0"; break; case "Tasa Falla Area Logistica": ValorFormula = ((HorasDirectas) > 0) ? (((lo.Logistica) / HorasDirectas) * 100).ToString("N2") + "%" : "0"; break; case "Tasa Falla Area Mantencion": ValorFormula = ((HorasDirectas) > 0) ? (((lo.Mantencion) / HorasDirectas) * 100).ToString("N2") + "%" : "0"; break; case "Mantencion Mecanica": ValorFormula = ((HorasDirectas) > 0) ? (((lo.Mecanico) / HorasDirectas) * 100).ToString("N2") + "%" : "0"; break; case "Mantencion Electrica": ValorFormula = ((HorasDirectas) > 0) ? (((lo.Electrico) / HorasDirectas) * 100).ToString("N2") + "%" : "0"; break; case "Gestion": ValorFormula = ((HorasDirectas) > 0) ? (((lo.Gestion) / HorasDirectas) * 100).ToString("N2") + "%" : "0"; break; case "Horas Totales": ValorFormula = lo.TotalHoras.ToString("N0"); break; case "Horas Directas": ValorFormula = HorasDirectas.ToString("N2"); break; case "Horas Tripuladas (Hrs Directas + Indirectas)": ValorFormula = (HorasDirectas + ImprodIndirectos + lo.HorasMantencion + lo.HorasSinTrabajo).ToString("N0").Replace(",", "."); break; case "Preparación": ValorFormula = lo.HorasPreparacion.ToString("N2"); break; case "Tiraje": ValorFormula = lo.HorasTiraje.ToString("N2"); break; case "Delay": ValorFormula = lo.HorasDelay.ToString("N2"); break; //"Horas Indirectas","Improd. Indirectos" ,"Mantencion Planificada","Sin Trabajo","Sin Personal" case "Horas Indirectas": ValorFormula = HorasIndirectas.ToString("N2"); break; case "Improd. Indirectos": ValorFormula = ImprodIndirectos.ToString("N2"); break; //"Sin Personal","Colacion","Aseo / Limpieza de Equipos","Sin OT","Mantencion Planificada","Otras Indirectas" case "Sin Personal": ValorFormula = lo.HorasSinPersonal.ToString("N2"); break; case "Aseo / Limpieza de Equipos": ValorFormula = lo.HorasAseo.ToString("N2"); break; case "Mantencion Planificada": ValorFormula = lo.HorasMantencion.ToString("N2"); break; case "Colacion": ValorFormula = lo.HorasColacion.ToString("N2"); break; case "Sin Trabajo": ValorFormula = lo.HorasSinTrabajo.ToString("N2"); break; case "Otras Indirectas": ValorFormula = OtrasIndirectas.ToString("N2"); break; //"Impresiones Totales","Impresiones Netas","Merma Total" case "Impresiones Totales": ValorFormula = (lo.Buenos + lo.MalosPreparacion + lo.MalosTiraje).ToString("N0").Replace(",", "."); break; case "Impresiones Netas": ValorFormula = lo.Buenos.ToString("N0").Replace(",", "."); break; case "Merma Total": ValorFormula = (lo.MalosPreparacion + lo.MalosTiraje).ToString("N0").Replace(",", "."); break; // case "Malos Preparacion": ValorFormula = lo.MalosPreparacion.ToString("N0").Replace(",", "."); break; case "Malos Tiraje": ValorFormula = lo.MalosTiraje.ToString("N0").Replace(",", "."); break; //"N° Preparaciones","N° Arranques" case "N° Preparaciones": ValorFormula = lo.Preparaciones.ToString("N0").Replace(",", "."); break; case "N° Arranques": ValorFormula = lo.Arranques.ToString("N0").Replace(",", "."); break; //,"PREPARACIONES","Minutos x Preparacion","Minutos x Arranque","Minutos Promedio Preparacion o Arranque" case "Minutos x Preparacion": ValorFormula = (lo.Preparaciones2 > 0) ? (lo.Preparaciones / lo.Preparaciones2).ToString() : "0"; break; case "Minutos x Arranque": ValorFormula = (lo.Arranques2 > 0) ? (lo.Arranques / lo.Arranques2).ToString() : "0"; break; case "Minutos Promedio Preparacion o Arranque": ValorFormula = ((lo.Preparaciones2 + lo.Arranques2) > 0) ? ((lo.Preparaciones + lo.Arranques) / (lo.Preparaciones2 + lo.Arranques2)).ToString() : "0"; break; //,"MERMAS PROMEDIO","Preparacion.","Arranques.","Tiraje." case "Preparacion.": ValorFormula = ((lo.Preparaciones2) > 0) ? (lo.MalosPreparacion / (lo.Preparaciones2)).ToString() : "0"; break; case "Arranques.": ValorFormula = "0"; break; case "Tiraje.": ValorFormula = ((lo.Preparaciones2 + lo.Arranques2) > 0) ? (lo.MalosTiraje / (lo.Preparaciones2 + lo.Arranques2)).ToString() : "0"; break; // case "(%) Total Mermas Preparacion (P+A)": ValorFormula = TotalMermasPreparacionPA.ToString("N2") + "%"; break; case "(%) Mermas Tiraje": ValorFormula = TotalMermasTiraje.ToString("N2") + "%"; break; //"(%) Mermas Preparacion","(%) Total Mermas" case "(%) Mermas Preparacion": ValorFormula = (lo.Buenos > 0) ? (((double)lo.MalosPreparacion / (double)lo.Buenos) * 100).ToString("N2") + "%" : "0%"; break; case "(%) Total Mermas": ValorFormula = (lo.Buenos > 0) ? ((((double)lo.MalosPreparacion + (double)lo.MalosTiraje) / (double)lo.Buenos) * 100).ToString("N2") + "%" : "0%"; break; //,"Logistica","Encuadernacion","Impresion","Mantencion","Mecanica" ,"Electrica","Gestión","Material","Atascos","Espera Cambio de Turno","Espera o Parada por Jefatura" //,"Operacional","Planchas","Planificacion","Servicio al Cliente","Limpieza - Regulacion y Lavados" case "Logistica": ValorFormula = lo.Logistica.ToString("N2"); break; case "Encuadernacion": ValorFormula = lo.Encuadernacion.ToString("N2"); break; case "Impresion": ValorFormula = lo.Impresion.ToString("N2"); break; case "Mantencion": ValorFormula = lo.Mantencion.ToString("N2"); break; case "Mecanica": ValorFormula = lo.Mecanico.ToString("N2"); break; case "Electrica": ValorFormula = lo.Electrico.ToString("N2"); break; case "Gestión": ValorFormula = lo.Gestion.ToString("N2"); break; case "Material": ValorFormula = lo.Material.ToString("N2"); break; case "Atascos": ValorFormula = lo.Atascos.ToString("N2"); break; case "Espera Cambio de Turno": ValorFormula = lo.EsperaCambioTurno.ToString("N2"); break; case "Espera o Parada por Jefatura": ValorFormula = lo.ParadaPorJefatura.ToString("N2"); break; case "Operacional": ValorFormula = lo.Operacional.ToString("N2"); break; case "Planchas": ValorFormula = lo.Planchas.ToString("N2"); break; case "Planificacion": ValorFormula = lo.Planificacion.ToString("N2"); break; case "Servicio al Cliente": ValorFormula = lo.ServicioCliente.ToString("N2"); break; case "Limpieza - Regulacion y Lavados": ValorFormula = lo.RegulacionyLavados.ToString("N2"); break; } return(ValorFormula); }
public List <DashboardProd> ListarRegistros(DateTime Fecha, string Maquina, int Procedimiento) { List <DashboardProd> lista = new List <DashboardProd>(); Conexion con = new Conexion(); SqlCommand cmd = con.AbrirConexionIntranet(); if (cmd != null) { try { cmd.CommandText = "DashboardProduccion"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Fecha", Fecha); cmd.Parameters.AddWithValue("@Maquina", Maquina); cmd.Parameters.AddWithValue("@Procedimiento", Procedimiento); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { DashboardProd d = new DashboardProd(); d.Maquina = reader["CodRecurso"].ToString(); d.FechaProduccion = reader["DtProducao"].ToString(); d.TotalHoras = Convert.ToDouble(reader["HorasTotales"].ToString()); d.HorasTiraje = Convert.ToDouble(reader["HorasTiraje"].ToString()); d.HorasPreparacion = Convert.ToDouble(reader["HorasPreparacion"].ToString()); d.HorasDelay = Convert.ToDouble(reader["HorasDelay"].ToString()); d.HorasColacion = Convert.ToDouble(reader["HorasColacion"].ToString()); d.HorasAseo = Convert.ToDouble(reader["HorasAseos"].ToString()); d.HorasSinTrabajo = Convert.ToDouble(reader["HorasSinTrabajo"].ToString()); d.HorasMantencion = Convert.ToDouble(reader["HorasMantencion"].ToString()); d.Buenos = Convert.ToInt32(reader["Buenos"].ToString()); d.MalosPreparacion = Convert.ToInt32(reader["MalosPreparacion"].ToString()); d.MalosTiraje = Convert.ToInt32(reader["MalosTiraje"].ToString()); d.Preparaciones = Convert.ToInt32(reader["Preparaciones"].ToString()); d.Arranques = Convert.ToInt32(reader["Arranques"].ToString()); d.Preparaciones2 = Convert.ToInt32(reader["Preparaciones2"].ToString()); d.Arranques2 = Convert.ToInt32(reader["Arranques2"].ToString()); d.LogisticaMaterial = Convert.ToDouble(reader["LogisticaMaterial"].ToString()); d.Encuadernacion = Convert.ToDouble(reader["Encuadernacion"].ToString()); d.Impresion = Convert.ToDouble(reader["Impresion"].ToString()); d.Logistica = Convert.ToDouble(reader["Logistica"].ToString()); d.Mantencion = Convert.ToDouble(reader["Mantencion"].ToString()); d.Mecanico = Convert.ToDouble(reader["Mecanico"].ToString()); d.Electrico = Convert.ToDouble(reader["Electrico"].ToString()); d.Gestion = Convert.ToDouble(reader["Gestion"].ToString()); d.Material = Convert.ToDouble(reader["Material"].ToString()); d.Atascos = Convert.ToDouble(reader["Atascos"].ToString()); d.EsperaCambioTurno = Convert.ToDouble(reader["EsperaCambioTurno"].ToString()); d.ParadaPorJefatura = Convert.ToDouble(reader["ParadaPorJefatura"].ToString()); d.SinInformacion = Convert.ToDouble(reader["SinInformacion"].ToString()); d.Operacional = Convert.ToDouble(reader["Operacional"].ToString()); d.Planchas = Convert.ToDouble(reader["Planchas"].ToString()); d.Planificacion = Convert.ToDouble(reader["Planificacion"].ToString()); d.ServicioCliente = Convert.ToDouble(reader["ServicioCliente"].ToString()); d.RegulacionyLavados = Convert.ToDouble(reader["RegulacionyLavados"].ToString()); d.HorasSinPersonal = Convert.ToDouble(reader["HorasSinPersonal"].ToString()); d.HorasImprod_Prep = Convert.ToDouble(reader["Improd_Prep"].ToString()); lista.Add(d); } } catch (Exception ex) { } } con.CerrarConexion(); return(lista); }