public Tarifa_Papel TarifaCostoPapel(int Gramaje, string Componente, string Maquina, string TipoPapel, string Empresa, string Formato) { Tarifa_Papel papel = new Tarifa_Papel(); Conexion con = new Conexion(); SqlCommand cmd = con.AbrirConexionPPTO(); if (cmd != null) { try { cmd.CommandText = "Carga_CostoPapel"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Gramaje", Gramaje); cmd.Parameters.AddWithValue("@Componente", Componente); cmd.Parameters.AddWithValue("@Maquina", Maquina); cmd.Parameters.AddWithValue("@NombreTipoPapel", TipoPapel); cmd.Parameters.AddWithValue("@Empresa", Empresa); cmd.Parameters.AddWithValue("@Formato", Formato); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { papel.PrecioPapel = Convert.ToDouble(reader["PrecioPapel"].ToString()); papel.TarifaMermaFija = Convert.ToInt32(reader["CostoFijoPapel"].ToString()); papel.TarifaMermaVariable = Convert.ToDouble(reader["CostoVariablePapel"].ToString()); } } catch { } } con.CerrarConexion(); return(papel); }
public List <Tarifa_Papel> Listar_QuintoColor() { List <Tarifa_Papel> lista = new List <Tarifa_Papel>(); Conexion con = new Conexion(); SqlCommand cmd = con.AbrirConexionPPTO(); if (cmd != null) { cmd.CommandText = "PPTO_ListarQuintoColor"; cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Tarifa_Papel papel = new Tarifa_Papel(); papel.NombrePapel = reader["Paginas"].ToString(); lista.Add(papel); } } con.CerrarConexion(); return(lista); }
public static string[] CalcularPreciosPrensa(int PagInterior, int Pagtapa, int EntradasxFormato, string Formato, string GramajeInt1, string GramajeTapa1, string Papelinterior, string PapelTapa, string Encuadernacion, string Tiraje) { Controller_Tarifas controlTarifa = new Controller_Tarifas(); string MaquinaInterior = "Plana"; string MaquinaTapa = "Plana"; if (Tiraje != "") { Tiraje = Tiraje.Replace(".", ""); if (Convert.ToInt32(Tiraje) > 15000) { MaquinaInterior = "Rotativa"; } } else { Tiraje = "0"; } int GramajeInt = 0; if ("Seleccione Gramaje Papel..." != GramajeInt1) { GramajeInt = Convert.ToInt32(GramajeInt1.Replace(" grs", "")); if (GramajeInt > 169) { MaquinaInterior = "Plana"; } } int GramajeTapa = 0; if ("Seleccione Gramaje Papel..." != GramajeTapa1) { GramajeTapa = Convert.ToInt32(GramajeTapa1.Replace(" grs", "")); } #region EntradasxFormato int EntradasPag32 = 0; int EntradasPag24 = 0; int EntradasPag16 = 0; int EntradasPag12 = 0; int EntradasPag8 = 0; int EntradasPag4 = 0; int cantidadfaltante = 0; switch (EntradasxFormato) { case 32: EntradasPag32 = (PagInterior / 32); cantidadfaltante = PagInterior - (EntradasPag32 * 32); if (cantidadfaltante >= 16) { EntradasPag16 = 1; cantidadfaltante -= 16; if (cantidadfaltante >= 8) { EntradasPag8 = 1; cantidadfaltante -= 8; if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } } else if (cantidadfaltante != 0) { EntradasPag4 = 1; cantidadfaltante = 0; } } else { if (cantidadfaltante >= 8) { EntradasPag8 = 1; cantidadfaltante -= 8; if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } } else if (cantidadfaltante != 0) { EntradasPag4 = 1; cantidadfaltante = 0; } } break; case 24: EntradasPag24 = (PagInterior / 24); cantidadfaltante = PagInterior - (EntradasPag24 * 24); if (cantidadfaltante >= 12) { EntradasPag12 = 1; cantidadfaltante -= 12; if (cantidadfaltante >= 8) { EntradasPag8 = 1; cantidadfaltante -= 8; if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } } else if (cantidadfaltante != 0) { EntradasPag4 = 1; cantidadfaltante = 0; } } else { if (cantidadfaltante >= 8) { EntradasPag8 = 1; cantidadfaltante -= 8; if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } } else if (cantidadfaltante != 0) { EntradasPag4 = 1; cantidadfaltante = 0; } } break; case 16: EntradasPag16 = (PagInterior / 16); cantidadfaltante = PagInterior - (EntradasPag16 * 16); if (cantidadfaltante >= 8) { EntradasPag8 = 1; cantidadfaltante -= 8; if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } } else if (cantidadfaltante != 0) { EntradasPag4 = 1; cantidadfaltante = 0; } break; case 12: EntradasPag12 = (PagInterior / 12); cantidadfaltante = PagInterior - (EntradasPag12 * 12); if (cantidadfaltante >= 8) { EntradasPag8 = 1; cantidadfaltante -= 8; if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } } else if (cantidadfaltante != 0) { EntradasPag4 = 1; cantidadfaltante = 0; } break; case 8: EntradasPag8 = (PagInterior / 8); cantidadfaltante = PagInterior - (EntradasPag8 * 8); if (cantidadfaltante == 4) { EntradasPag4 = 1; cantidadfaltante = 0; } break; default: break; } #endregion #region Interior Tarifa_Papel tarifapapelInterior = controlTarifa.TarifaCostoPapel(GramajeInt, "interior", MaquinaInterior, Papelinterior, "Cencosud", Formato); int CostoFijoInterior = Convert.ToInt32(controlTarifa.TarifaCostoImpresion("Impresion Interior 4/4", "", MaquinaInterior, "Fijo")); int CostoPapelInteriorFijo = Convert.ToInt32(Convert.ToDouble(tarifapapelInterior.TarifaMermaFija)); double CostoFijoPag32 = (Math.Ceiling((Convert.ToDouble(CostoFijoInterior) + Convert.ToDouble(CostoPapelInteriorFijo)) / 100) * 100) * Convert.ToDouble(EntradasPag32); double CostoFijoPag24 = (Math.Ceiling((Convert.ToDouble(CostoFijoInterior) + Convert.ToDouble(CostoPapelInteriorFijo)) / 100) * 100) * Convert.ToDouble(EntradasPag24); double CostoFijoPag16 = (Math.Ceiling((Convert.ToDouble(CostoFijoInterior) + Convert.ToDouble(CostoPapelInteriorFijo)) / 100) * 100) * Convert.ToDouble(EntradasPag16); double CostoFijoPag12 = (Math.Ceiling((Convert.ToDouble(CostoFijoInterior) + Convert.ToDouble(CostoPapelInteriorFijo)) / 100) * 100) * Convert.ToDouble(EntradasPag12); double CostoFijoPag8 = (Math.Ceiling((Convert.ToDouble(CostoFijoInterior) + Convert.ToDouble(CostoPapelInteriorFijo)) / 100) * 100) * Convert.ToDouble(EntradasPag8); double CostoFijoPag4 = (Math.Ceiling((Convert.ToDouble(CostoFijoInterior) + Convert.ToDouble(CostoPapelInteriorFijo)) / 100) * 100) * Convert.ToDouble(EntradasPag4); double CostoFijoPrecioVentaInterior = CostoFijoPag32 + CostoFijoPag24 + CostoFijoPag16 + CostoFijoPag12 + CostoFijoPag8 + CostoFijoPag4; #region CostoVariablexEntradas double TarifaCostoVariableImpresionInterior = Convert.ToDouble(controlTarifa.TarifaCostoImpresion("Impresion Interior 4/4", "", MaquinaInterior, "Variable")); double DesintercalarRotativa = 1.5; if (MaquinaInterior == "Plana") { DesintercalarRotativa = 0; } double CostoVariablePag32 = 0; double CostoVariablePag24 = 0; double CostoVariablePag16 = 0; double CostoVariablePag12 = 0; double CostoVariablePag8 = 0; double CostoVariablePag4 = 0; switch (EntradasxFormato) { case 32: CostoVariablePag32 = (Math.Ceiling((TarifaCostoVariableImpresionInterior + tarifapapelInterior.TarifaMermaVariable) * 10) / 10) * Convert.ToDouble(EntradasPag32); if (EntradasPag16 > 0) { CostoVariablePag16 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(16) / Convert.ToDouble(32))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(16) / Convert.ToDouble(32)))) * 10)) / 10) * Convert.ToDouble(EntradasPag16); } if (EntradasPag8 > 0) { CostoVariablePag8 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(8) / Convert.ToDouble(32))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(8) / Convert.ToDouble(32)))) * 10)) / 10) * Convert.ToDouble(EntradasPag8); } if (EntradasPag4 > 0) { CostoVariablePag4 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(4) / Convert.ToDouble(32))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(4) / Convert.ToDouble(32)))) * 10)) / 10) * Convert.ToDouble(EntradasPag4); } break; case 24: CostoVariablePag24 = (Math.Ceiling((TarifaCostoVariableImpresionInterior + tarifapapelInterior.TarifaMermaVariable) * 10) / 10) * Convert.ToDouble(EntradasPag24); if (EntradasPag12 > 0) { CostoVariablePag12 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(12) / Convert.ToDouble(24))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(12) / Convert.ToDouble(24)))) * 10)) / 10) * Convert.ToDouble(EntradasPag12); } if (EntradasPag8 > 0) { CostoVariablePag8 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(8) / Convert.ToDouble(24))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(8) / Convert.ToDouble(24)))) * 10)) / 10) * Convert.ToDouble(EntradasPag8); } if (EntradasPag4 > 0) { CostoVariablePag4 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(4) / Convert.ToDouble(24))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(4) / Convert.ToDouble(24)))) * 10)) / 10) * Convert.ToDouble(EntradasPag4); } break; case 16: CostoVariablePag16 = (Math.Ceiling((TarifaCostoVariableImpresionInterior + tarifapapelInterior.TarifaMermaVariable) * 10) / 10) * Convert.ToDouble(EntradasPag16); if (EntradasPag8 > 0) { CostoVariablePag8 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(8) / Convert.ToDouble(16))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(8) / Convert.ToDouble(16)))) * 10)) / 10) * Convert.ToDouble(EntradasPag8); } if (EntradasPag4 > 0) { CostoVariablePag4 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(4) / Convert.ToDouble(16))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(4) / Convert.ToDouble(16)))) * 10)) / 10) * Convert.ToDouble(EntradasPag4); } break; case 12: CostoVariablePag12 = (Math.Ceiling((TarifaCostoVariableImpresionInterior + tarifapapelInterior.TarifaMermaVariable) * 10) / 10) * Convert.ToDouble(EntradasPag12); if (EntradasPag8 > 0) { CostoVariablePag8 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(8) / Convert.ToDouble(12))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(8) / Convert.ToDouble(12)))) * 10)) / 10) * Convert.ToDouble(EntradasPag8); } if (EntradasPag4 > 0) { CostoVariablePag4 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(4) / Convert.ToDouble(12))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(4) / Convert.ToDouble(12)))) * 10)) / 10) * Convert.ToDouble(EntradasPag4); } break; case 8: CostoVariablePag8 = (Math.Ceiling((TarifaCostoVariableImpresionInterior + tarifapapelInterior.TarifaMermaVariable) * 10) / 10) * Convert.ToDouble(EntradasPag8); if (EntradasPag4 > 0) { CostoVariablePag4 = ((Math.Ceiling(((((TarifaCostoVariableImpresionInterior) * (Convert.ToDouble(4) / Convert.ToDouble(8))) + DesintercalarRotativa) + ((tarifapapelInterior.TarifaMermaVariable) * (Convert.ToDouble(4) / Convert.ToDouble(8)))) * 10)) / 10) * Convert.ToDouble(EntradasPag4); } break; default: break; } double CostoVariablePrecioVentaInterior = (CostoVariablePag32 + CostoVariablePag24 + CostoVariablePag16 + CostoVariablePag12 + CostoVariablePag8 + CostoVariablePag4) * Convert.ToDouble(Tiraje); #endregion #endregion #region Tapas int CostoFijoTapa = 0; int CostoPapelTapaFijo = 0; double CostoImpresionTapaPlisadoFijo = 0; double CostoImpresionTapaAcuosoFijo = 0; double CostoFijoPrecioVentaInteriorTapa = 0; Tarifa_Papel tarifapapelTapa = controlTarifa.TarifaCostoPapel(GramajeTapa, "tapa", MaquinaTapa, PapelTapa, "Cencosud", Formato); if (Pagtapa > 0) { CostoFijoTapa = Convert.ToInt32(controlTarifa.TarifaCostoImpresion("Impresion Tapa 4/4", "", MaquinaTapa, "Fijo")); CostoPapelTapaFijo = tarifapapelTapa.TarifaMermaFija; if (GramajeTapa >= 140) { CostoImpresionTapaPlisadoFijo = Convert.ToDouble(controlTarifa.TarifaCostoImpresion("Plizado Tapa", "", MaquinaTapa, "Fijo")); CostoImpresionTapaAcuosoFijo = Convert.ToDouble(controlTarifa.TarifaCostoImpresion("Barniz Tapa", "", MaquinaTapa, "Fijo")); } CostoFijoPrecioVentaInteriorTapa = (Math.Ceiling((Convert.ToDouble(CostoFijoTapa) + CostoPapelTapaFijo + CostoImpresionTapaPlisadoFijo) / 100) * 100); } double TarifaCostoVariableImpresionTapa = 0; #region CostoVariablexEntradas double CostoVariableTapaImp = 0; double CostoVarableTapaPap = 0; double CostovariableTapaDoblez = 0; double CostoImpresionTapaPlisadoVariable = 0; double CostoImpresionTapaBarnizVariable = 0; if (Pagtapa > 0) { TarifaCostoVariableImpresionTapa = Convert.ToDouble(controlTarifa.TarifaCostoImpresion("Impresion Tapa 4/4", "", MaquinaTapa, "Variable")); double CostoPapelTapaVariable = tarifapapelTapa.TarifaMermaVariable; switch (EntradasxFormato) { case 8: CostoVariableTapaImp = ((TarifaCostoVariableImpresionTapa * Convert.ToDouble(4)) / Convert.ToDouble(2)); CostoVarableTapaPap = ((CostoPapelTapaVariable * Convert.ToDouble(4)) / Convert.ToDouble(2)); break; case 12: CostoVariableTapaImp = ((TarifaCostoVariableImpresionTapa * Convert.ToDouble(4)) / Convert.ToDouble(3)); CostoVarableTapaPap = ((CostoPapelTapaVariable * Convert.ToDouble(4)) / Convert.ToDouble(3)); break; default: CostoVariableTapaImp = ((TarifaCostoVariableImpresionTapa * Convert.ToDouble(4)) / Convert.ToDouble(4)); CostoVarableTapaPap = ((CostoPapelTapaVariable * Convert.ToDouble(4)) / Convert.ToDouble(4)); break; } if (GramajeTapa < 130) { CostovariableTapaDoblez = Convert.ToDouble(controlTarifa.TarifaCostoImpresion("Doblez Tapa", "", MaquinaTapa, "Variable")); } else { if (GramajeTapa >= 140) { CostoImpresionTapaPlisadoVariable = Convert.ToDouble(controlTarifa.TarifaCostoImpresion("Plizado Tapa", "", MaquinaTapa, "Variable")); } if (GramajeTapa >= 170) { double CostoBarnizVariable = controlTarifa.TarifaCostoImpresionTapaBarniz(GramajeTapa, Formato); switch (EntradasxFormato) { case 8: CostoImpresionTapaBarnizVariable = ((Math.Ceiling((CostoBarnizVariable / Convert.ToDouble(2)) * 100)) / 100) * Convert.ToDouble(Tiraje); break; case 12: CostoImpresionTapaBarnizVariable = ((Math.Ceiling((CostoBarnizVariable / Convert.ToDouble(3)) * 100)) / 100) * Convert.ToDouble(Tiraje); break; default: CostoImpresionTapaBarnizVariable = ((Math.Ceiling((CostoBarnizVariable / Convert.ToDouble(4)) * 100)) / 100) * Convert.ToDouble(Tiraje); break; } } } } double CostoVariablePrecioVentaTapa = (Math.Ceiling((Convert.ToDouble(CostoVariableTapaImp) + CostoVarableTapaPap + CostovariableTapaDoblez) * 10) / 10) * Convert.ToDouble(Tiraje); #endregion #endregion #region Encuadernacion int valorEncuaFijo = 0; double valorEncuaVari = 0; double valorEncuadernacion = 0; if (Encuadernacion != "No") { valorEncuaFijo = controlTarifa.TarifaEncuadernacion(Encuadernacion, "Fijo"); valorEncuaVari = (controlTarifa.TarifaEncuadernacion(Encuadernacion, "Variable") * Convert.ToDouble(Tiraje)); valorEncuadernacion = (valorEncuaFijo + valorEncuaVari); } #endregion #region Totales double CostoCatalogoFijo = (CostoFijoPrecioVentaInterior + CostoFijoPrecioVentaInteriorTapa + valorEncuaFijo + CostoImpresionTapaAcuosoFijo);//CostoTotalManufacturaFijo + CostototalFijoPapel); double CostoCatalogoVariable = (CostoVariablePrecioVentaInterior + CostoVariablePrecioVentaTapa + valorEncuaVari + CostoImpresionTapaBarnizVariable); double CostoCatalogoFinal = (CostoCatalogoFijo + CostoCatalogoVariable); double CostoUnitario = Math.Ceiling(CostoCatalogoFinal / Convert.ToDouble(Tiraje)); double CostoMillar = (CostoCatalogoVariable / Convert.ToDouble(Tiraje)) * 1000; #endregion return(new[] { CostoFijoPrecioVentaInterior.ToString(), CostoVariablePrecioVentaInterior.ToString(), (CostoFijoPrecioVentaInterior + CostoVariablePrecioVentaInterior).ToString() , tarifapapelInterior.PrecioPapel.ToString(), valorEncuaFijo.ToString(), valorEncuaVari.ToString(), valorEncuadernacion.ToString() , CostoFijoPrecioVentaInteriorTapa.ToString(), CostoVariablePrecioVentaTapa.ToString(), (CostoFijoPrecioVentaInteriorTapa + CostoVariablePrecioVentaTapa).ToString() , tarifapapelTapa.PrecioPapel.ToString(), CostoCatalogoFijo.ToString(), CostoCatalogoVariable.ToString(), CostoCatalogoFinal.ToString(), CostoUnitario.ToString(), CostoMillar.ToString() , MaquinaInterior, MaquinaTapa, CostoImpresionTapaAcuosoFijo.ToString(), CostoImpresionTapaBarnizVariable.ToString() }); }