public PropiedadOptionalViewModel(PropiedadOptional propiedad) { model = propiedad; ListaOptional = propiedad.ListaOpcional; lblTitle = propiedad.lblTitle; TipoPefil = propiedad.TipoPerfil; }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo); Propiedad pDiametro = Module.GetPropiedad("D1", PropiedadesRequeridadas); double diametro = Module.ConvertTo("Distance", pDiametro.Unidad, "Inch (in)", pDiametro.Valor); Propiedad pWidth = Module.GetPropiedad("H1", PropiedadesRequeridadas); double width = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), pWidth.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), pWidth.Valor); PropiedadOptional pRecubrimiento = Module.GetPropiedadOpcional("recubrimiento", PropiedadesRequeridasOpcionles); PropiedadOptional pTipoPavonado = Module.GetPropiedadOpcional("tipo_pavonado", PropiedadesRequeridasOpcionles); int rack = 0; double tc, ac; if (pTipoPavonado.ElementSelected.ValorCadena == "Blackening") { rack = diametro <= 4.5 ? 12 : 6; tc = pRecubrimiento.ElementSelected.ValorCadena == "Cromado" ? 510.25 : 471.56; ac = pRecubrimiento.ElementSelected.ValorCadena == "Cromado" ? 510.25 : 471.46; TiempoMachine = Math.Round((((600.5064 + tc + ac) * width) / (432 * rack)) * 100, 3); } else { int rieles = GetRieles(diametro); TiempoMachine = Math.Round(((734.22 * width) / ((36 * (6.33 * rieles)))) * 100, 3); } //Obtenermos el valor específico de las propiedades requeridas. TiempoLabor = TiempoMachine * FactorLabor; }
public PropiedadOptionalViewModel(List <FO_Item> Lista, string title) { model = new PropiedadOptional(); ListaOptional = new ObservableCollection <FO_Item>(); fillList(Lista); lblTitle = title; }
public CentroTrabajo717() { CentroTrabajo = "717"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); ObservableCollection <FO_Item> listaOpcionesTipo = new ObservableCollection <FO_Item>(); listaOpcionesTipo.Add(new FO_Item { Nombre = "BBM", ValorCadena = "BBM" }); listaOpcionesTipo.Add(new FO_Item { Nombre = "MBJ", ValorCadena = "MBJ" }); PropiedadOptional pTipo = new PropiedadOptional { lblTitle = "Tipo Cromo Interior:", ListaOpcional = listaOpcionesTipo, Nombre = "tipo717" }; PropiedadesRequeridasOpcionles.Add(pTipo); _anillo = new Anillo(); }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo); PropiedadOptional pRecubrimiento = Module.GetPropiedadOpcional("recubrimiento", PropiedadesRequeridasOpcionles); bool chaflanInterno = Module.GetValorPropiedadBool("chaflan_interno555", PropiedadesRequeridasBool); bool rebabeo = Module.GetValorPropiedadBool("rebabeoCT555", PropiedadesRequeridasBool); double tcChaflan, tcRebabeo = 0; Propiedad pWidth = Module.GetPropiedad("H1", PropiedadesRequeridadas); double width = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), pWidth.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), pWidth.Valor); if (pRecubrimiento.ElementSelected.ValorCadena == "Nitrurado") { tcChaflan = chaflanInterno ? 4.911818 : 0; tcRebabeo = rebabeo ? 3.17 : 0; TiempoMachine = Math.Round((((211.23 + 43.87 + (tcChaflan + tcRebabeo)) * width) / 226.8) * 100, 3); } else { if (pRecubrimiento.ElementSelected.ValorCadena == "Cromado") { tcChaflan = chaflanInterno ? 4.911818 : 0; tcRebabeo = rebabeo ? 3.172491 : 0; TiempoMachine = Math.Round((((226.6923 + 34.27 + (tcChaflan + tcRebabeo)) * width) / 226.6452) * 100, 3); } } //Obtenermos el valor específico de las propiedades requeridas. TiempoLabor = TiempoMachine * FactorLabor; }
public CentroTrabajo745() { CentroTrabajo = "745"; FactorLabor = 0.259032; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); _anillo = new Anillo(); ObservableCollection <FO_Item> lista = new ObservableCollection <FO_Item>(); lista.Add(new FO_Item { Nombre = "0.0787", Valor = 0.0787 }); lista.Add(new FO_Item { Nombre = "0.0984", Valor = 0.0984 }); lista.Add(new FO_Item { Nombre = "0.1102", Valor = 0.1102 }); lista.Add(new FO_Item { Nombre = "0.1181", Valor = 0.1181 }); lista.Add(new FO_Item { Nombre = "0.125", Valor = 0.125 }); lista.Add(new FO_Item { Nombre = "0.1378", Valor = 0.1378 }); lista.Add(new FO_Item { Nombre = "0.1562", Valor = 0.1562 }); lista.Add(new FO_Item { Nombre = "0.1563", Valor = 0.1563 }); lista.Add(new FO_Item { Nombre = "0.1574", Valor = 0.1574 }); lista.Add(new FO_Item { Nombre = "0.1575", Valor = 0.1575 }); lista.Add(new FO_Item { Nombre = "0.1875", Valor = 0.1875 }); lista.Add(new FO_Item { Nombre = "0.1968", Valor = 0.1968 }); PropiedadOptional widthNominal = new PropiedadOptional { ListaOpcional = lista, lblTitle = "Width Nominal", Nombre = "H1745", Descripcion = "Para el C.T. 745 (Chemical Polish) solo existen estas opciones de Width de anillo. " }; PropiedadesRequeridasOpcionles.Add(widthNominal); }
public CentroTrabajo720() { CentroTrabajo = "720"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); Propiedad diametroAnillo = new Propiedad { Nombre = "D1", TipoDato = "Distance", Unidad = "Inch (in)", DescripcionLarga = "Diámetro nominal del segmento (Plano)", Imagen = null, DescripcionCorta = "Diámetro nominal del segmento:" }; PropiedadesRequeridadas.Add(diametroAnillo); Propiedad widthAnillo = DataManager.GetPropiedadByNombre("H1"); widthAnillo.Unidad = "Inch (in)"; PropiedadesRequeridadas.Add(widthAnillo); ObservableCollection <FO_Item> listaOpcionesReceta = new ObservableCollection <FO_Item>(); listaOpcionesReceta.Add(new FO_Item { Nombre = "Nitrurado", ValorCadena = "Nitrurado" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "Cromado", ValorCadena = "Cromado" }); PropiedadOptional pRecubrimiento = new PropiedadOptional { lblTitle = "Recubrimiento:", ListaOpcional = listaOpcionesReceta, Nombre = "recubrimiento" }; PropiedadesRequeridasOpcionles.Add(pRecubrimiento); ObservableCollection <FO_Item> listaOpcionesPavonado = new ObservableCollection <FO_Item>(); listaOpcionesPavonado.Add(new FO_Item { Nombre = "Blackening", ValorCadena = "Blackening" }); listaOpcionesPavonado.Add(new FO_Item { Nombre = "Línea automática", ValorCadena = "Línea automática" }); PropiedadOptional pPavonado = new PropiedadOptional { lblTitle = "Tipo de Pavonado:", ListaOpcional = listaOpcionesPavonado, Nombre = "tipo_pavonado" }; PropiedadesRequeridasOpcionles.Add(pPavonado); _anillo = new Anillo(); }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo); double _tiempoCiclo = 0; PropiedadOptional pReceta = Module.GetPropiedadOpcional("receta497", PropiedadesRequeridasOpcionles); if (string.IsNullOrEmpty(pReceta.ElementSelected.ValorCadena) || pReceta.ElementSelected.ValorCadena == "OTRO") { Propiedad pTiempoCiclo = Module.GetPropiedad("tCiclo497", PropiedadesRequeridadas); _tiempoCiclo = Module.ConvertTo("Distance", pTiempoCiclo.Unidad, "second ('')", pTiempoCiclo.Valor); } else { string receta = pReceta.ElementSelected.ValorCadena; if (receta == "PRG-36") { _tiempoCiclo = 47160; } else { if (receta == "PRG-45") { _tiempoCiclo = 37800; } else { if (receta == "PRG-5") { _tiempoCiclo = 40980; } else { if (receta == "PRG-10") { _tiempoCiclo = 43440; } } } } } Propiedad pWidth = Module.GetPropiedad("H1", PropiedadesRequeridadas); double width = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), pWidth.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), pWidth.Valor); TiempoMachine = Math.Round((((_tiempoCiclo + 1520) * width) / 56844) * 100, 3); //Obtenermos el valor específico de las propiedades requeridas. TiempoLabor = TiempoMachine * FactorLabor; }
public CentroTrabajo520() { CentroTrabajo = "520"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); Propiedad widthAnillo = DataManager.GetPropiedadByNombre("H1"); widthAnillo.Unidad = "Inch (in)"; PropiedadesRequeridadas.Add(widthAnillo); ObservableCollection <FO_Item> listaOpcionesPrograma = new ObservableCollection <FO_Item>(); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 1", Valor = 1 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 2", Valor = 2 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 3", Valor = 3 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 4", Valor = 4 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 5", Valor = 5 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 6", Valor = 6 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 7", Valor = 7 }); listaOpcionesPrograma.Add(new FO_Item { Nombre = "Programa 8", Valor = 8 }); PropiedadOptional pRecubrimiento = new PropiedadOptional { lblTitle = "Num. Programa Normalizado:", ListaOpcional = listaOpcionesPrograma, Nombre = "NumProgramaNormalizado" }; PropiedadesRequeridasOpcionles.Add(pRecubrimiento); _anillo = new Anillo(); }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo); PropiedadOptional pTipo = Module.GetPropiedadOpcional("tipo717", PropiedadesRequeridasOpcionles); double tCiclo = 0; tCiclo = pTipo.ElementSelected.ValorCadena == "BBM" ? 1505.88 : 4011.0; TiempoMachine = Math.Round(((tCiclo + 1681.54800727789) / (36 * 1536)) * 100, 3); //Obtenermos el valor específico de las propiedades requeridas. TiempoLabor = TiempoMachine * FactorLabor; }
public CentroTrabajo020() { CentroTrabajo = "020"; FactorLabor = 1.0; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); ObservableCollection <FO_Item> lista = new ObservableCollection <FO_Item>(); lista.Add(new FO_Item { Nombre = "Opcion 1", ValorCadena = "Opcion 1" }); lista.Add(new FO_Item { Nombre = "Opcion 2", ValorCadena = "Opcion 2" }); PropiedadOptional b = new PropiedadOptional { lblTitle = "pruebaa", ListaOpcional = lista }; PropiedadesRequeridasOpcionles.Add(b); //Propiedad mounting = new Propiedad { DescripcionCorta = "Mouting", DescripcionLarga = "Mouting", Imagen = null, Nombre = "MoutingCasting", TipoDato = EnumEx.GetEnumDescription(DataManager.TipoDato.Mass), Unidad = EnumEx.GetEnumDescription(DataManager.UnidadMass.Gram) }; //PropiedadesRequeridadas.Add(mounting); //PropiedadCadena espeMaterial = new PropiedadCadena { Nombre = "Material MAHLE", DescripcionCorta = "Material:", DescripcionLarga = "Especificación de materia prima (MF012-S,SPR-128,ETC)" }; //PropiedadesRequeridasCadena.Add(espeMaterial); /** * Ejemplo de carga de una propiedad Opcional. **/ //PropiedadOptional material = new PropiedadOptional(); //material.Source = 1; //material.ListaOpcional.Add(new FO_Item { Nombre = "MF012-S", ValorCadena = "MF012-S" }); //material.ListaOpcional.Add(new FO_Item { Nombre = "SPR-128", ValorCadena = "SPR-128" }); //material.ListaOpcional.Add(new FO_Item { Nombre = "PCR-128", ValorCadena = "PCR-128" }); //material.lblTitle = "Espec Material"; //PropiedadesRequeridasOpcionles.Add(material); }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo); PropiedadOptional pPrograma = Module.GetPropiedadOpcional("NumProgramaNormalizado", PropiedadesRequeridasOpcionles); Propiedad pWidth = Module.GetPropiedad("H1", PropiedadesRequeridadas); double width = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), pWidth.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), pWidth.Valor); int tc = GetTiempo(Convert.ToInt32(pPrograma.ElementSelected.Valor)); TiempoMachine = Math.Round((((5165.6 + tc) * width) / (15798.24)) * 100, 3); //Obtenermos el valor específico de las propiedades requeridas. TiempoLabor = TiempoMachine * FactorLabor; }
public CentroTrabajo497() { CentroTrabajo = "497"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); ObservableCollection <FO_Item> listaOpcionesReceta = new ObservableCollection <FO_Item>(); listaOpcionesReceta.Add(new FO_Item { Nombre = "PRG-36", ValorCadena = "PRG-36" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "PRG-45", ValorCadena = "PRG-45" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "PRG-5", ValorCadena = "PRG-5" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "PRG-10", ValorCadena = "PRG-10" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "OTRO", ValorCadena = "OTRO" }); PropiedadOptional pReceta = new PropiedadOptional { lblTitle = "Receta Nitrurado", ListaOpcional = listaOpcionesReceta, Nombre = "receta497" }; PropiedadesRequeridasOpcionles.Add(pReceta); Propiedad widthAnillo = DataManager.GetPropiedadByNombre("H1"); widthAnillo.Unidad = "Inch (in)"; PropiedadesRequeridadas.Add(widthAnillo); Propiedad pCiclo497 = new Propiedad { Nombre = "tCiclo497", TipoDato = "Tiempo", Unidad = "second ('')", DescripcionLarga = "SI conoce la receta ingrese el digito \"0\"" + System.Environment.NewLine + "Si NO conoce la receta ingrese el tiempo ciclo.", Imagen = null, DescripcionCorta = "Tiempo ciclo Nitrurado:" }; PropiedadesRequeridadas.Add(pCiclo497); _anillo = new Anillo(); }
public CentroTrabajo555() { CentroTrabajo = "555"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); Propiedad widthAnillo = DataManager.GetPropiedadByNombre("H1"); widthAnillo.Unidad = "Inch (in)"; PropiedadesRequeridadas.Add(widthAnillo); ObservableCollection <FO_Item> listaOpcionesReceta = new ObservableCollection <FO_Item>(); listaOpcionesReceta.Add(new FO_Item { Nombre = "Nitrurado", ValorCadena = "Nitrurado" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "Cromado", ValorCadena = "Cromado" }); PropiedadOptional pRecubrimiento = new PropiedadOptional { lblTitle = "Recubrimiento:", ListaOpcional = listaOpcionesReceta, Nombre = "recubrimiento" }; PropiedadesRequeridasOpcionles.Add(pRecubrimiento); PropiedadBool pChafalnInterno = new PropiedadBool { Nombre = "chaflan_interno555", DescripcionCorta = "Chaflan interno", DescripcionLarga = "Activar si lleva chaflan interno.", Valor = false }; PropiedadesRequeridasBool.Add(pChafalnInterno); PropiedadBool pRebabeo = new PropiedadBool { Nombre = "rebabeoCT555", DescripcionCorta = "Rebabeo", DescripcionLarga = "Activar si lleva Rebabeo", Valor = false }; PropiedadesRequeridasBool.Add(pRebabeo); _anillo = new Anillo(); }
public CentroTrabajo716() { CentroTrabajo = "716"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); Propiedad widthAnillo = DataManager.GetPropiedadByNombre("H1"); widthAnillo.Unidad = "Inch (in)"; PropiedadesRequeridadas.Add(widthAnillo); Propiedad capaCromo = new Propiedad { Nombre = "CapaCromo716", TipoDato = "Distance", Unidad = "Inch (in)", DescripcionLarga = "Capa de cromo", Imagen = null, DescripcionCorta = "Capa de cromo" }; PropiedadesRequeridadas.Add(capaCromo); Propiedad tiempoCiclo = new Propiedad { Nombre = "tc716", TipoDato = EnumEx.GetEnumDescription(DataManager.TipoDato.Tiempo), Unidad = EnumEx.GetEnumDescription(DataManager.UnidadTiempo.Second), DescripcionLarga = "Tiempo ciclo en Cromo C.T. 716", DescripcionCorta = "Tiempo Ciclo Cromo", Imagen = null }; PropiedadesRequeridadas.Add(tiempoCiclo); ObservableCollection <FO_Item> listaOpcionesReceta = new ObservableCollection <FO_Item>(); listaOpcionesReceta.Add(new FO_Item { Nombre = "Línea Automática", ValorCadena = "Línea Automática" }); listaOpcionesReceta.Add(new FO_Item { Nombre = "Línea Manual", ValorCadena = "Línea Manual" }); PropiedadOptional pRecubrimiento = new PropiedadOptional { lblTitle = "Línea Cromo:", ListaOpcional = listaOpcionesReceta, Nombre = "linea716" }; PropiedadesRequeridasOpcionles.Add(pRecubrimiento); _anillo = new Anillo(); }
/// <summary> /// Método en el cual se calcula la operación. /// </summary> /// <param name="ElAnilloProcesado">Anillo que presenta el anillo como se recibe de la operación anterior.</param> /// <param name="elPlano">Anillo que representa el plano que ingresó el usuario.</param> public void CrearOperacion(Anillo ElAnilloProcesado, Anillo elPlano) { //Asignamos el valor del anillor procesado al anillo de la operación. anilloProcesado = ElAnilloProcesado; PropiedadOptional propiedadEspec = elPlano.PerfilOD.PropiedadesOpcionales.Where(o => o.lblTitle == "ESPEC_PVD").FirstOrDefault(); DO_DataPVD dataPVD = DataManager.GetDataPVD(propiedadEspec.ElementSelected.ValorCadena); string receta = dataPVD.NoReceta; double minPDV = dataPVD.ThicknessMin + 0.005; double maxPVD = minPDV + 0.020; double d1mm = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), elPlano.D1.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Milimeter), elPlano.D1.Valor); string noMesa = DataManager.GetMesaPVDWash(d1mm); //Agregamos el texto con las instrucciones de la operación. TextoProceso = "RECUBRIMIENTO PVD (KOBELCO)" + Environment.NewLine; TextoProceso += "RECETA: " + receta + Environment.NewLine; TextoProceso += "No: 013" + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "LLENADO DEL CHECK LIST:F-3571-ED_PVD-003" + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "NOTA:" + Environment.NewLine; TextoProceso += "MANEJAR EL MATERIAL CON GUANTES LIMPIOS DE NITRILO O LATEX" + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "MONTAR LOS MANDRILES EN LA MESA DE " + noMesa + " POSICIONES " + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "ESPESOR PVD " + minPDV + " - " + maxPVD + " mm" + Environment.NewLine; TextoProceso += "DUREZA DE " + dataPVD.DurezaMax + " - " + dataPVD.DurezaMax + " " + "HV" + Environment.NewLine; TextoProceso += "ESPECIFICACION " + receta + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "PROCEDIMIENTOS" + Environment.NewLine; TextoProceso += "W-3571-TSPVD-0011" + Environment.NewLine; TextoProceso += "W-3571-TSPVD-0012" + Environment.NewLine; TextoProceso += "W-3571-TSPVD-0013" + Environment.NewLine; //Ejecutamos el método para calculo de Herramentales. BuscarHerramentales(); //Ejecutamos el méotodo para calcular los tiempos estándar. CalcularTiemposEstandar(); }
/// <summary> /// Método en el cual se calcula la operación. /// </summary> /// <param name="ElAnilloProcesado">Anillo que presenta el anillo como se recibe de la operación anterior.</param> /// <param name="elPlano">Anillo que representa el plano que ingresó el usuario.</param> public void CrearOperacion(Anillo ElAnilloProcesado, Anillo elPlano) { //Asignamos el valor del anillor procesado al anillo de la operación. anilloProcesado = ElAnilloProcesado; CriteriosSegmentos Criterio = DataManager.GetCriteriosSegmentos(); double layermin = Criterio.NitruLayerMin; double layermax = Criterio.NitruLayerMax; PropiedadOptional especNitrurado = elPlano.PerfilOD.PropiedadesOpcionales.Where(o => o.lblTitle == "ESPEC_NITRURADO").FirstOrDefault(); DO_DataGasNitridingRails data = DataManager.GetDataGasNitriding(especNitrurado.ElementSelected.ValorCadena); double nitruradoMin = data.ThicknessMin; double nitruradoMax = data.ThicknessMax; double hardnessMin = data.DurezaMin; double hardnessMax = data.DurezaMax; string widthLayer = data.WhiteLayer; double dhp = data.DHP; //Agregamos el texto con las instrucciones de la operación. TextoProceso = "*NITRURADO" + Environment.NewLine; TextoProceso += "DIFUSION LAYER THICKNESS " + nitruradoMin + " - " + nitruradoMax + "" + Environment.NewLine; TextoProceso += "CONSIDERAR DIAMETRO EXT. E INT." + Environment.NewLine; TextoProceso += "HARDNESS " + hardnessMin + " - " + hardnessMax + " DPH HV " + dhp + Environment.NewLine; TextoProceso += widthLayer + Environment.NewLine; TextoProceso += "EL SEGMENTO NO DEBERA ROMPERSE A" + Environment.NewLine; TextoProceso += "180 GRADOS EN LA PRUEBA DE TWIST" + Environment.NewLine; TextoProceso += "PROGRAMA PRG-10" + Environment.NewLine; anilloProcesado.PropiedadesCadenaAdquiridasProceso.Add(new PropiedadCadena { Nombre = "receta497", Valor = "PRG-10" }); //Ejecutamos el método para calculo de Herramentales. BuscarHerramentales(); //Ejecutamos el méotodo para calcular los tiempos estándar. CalcularTiemposEstandar(); }
public CentroTrabajo2030() { CentroTrabajo = "2030"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); _anillo = new Anillo(); ObservableCollection <FO_Item> lista = new ObservableCollection <FO_Item>(); ObservableCollection <Material> lista1 = new ObservableCollection <Material>(); lista1 = DataManager.GetAllMaterial(); foreach (var item in lista1) { FO_Item f = new FO_Item(); f.Nombre = item.id_material; f.ValorCadena = item.descripcion; lista.Add(f); } Propiedad RPM = new Propiedad { DescripcionCorta = "RPM", DescripcionLarga = "Revoluciones por Minuto 2030", Imagen = null, Nombre = "RPM" }; PropiedadesRequeridadas.Add(RPM); PropiedadOptional material_ = new PropiedadOptional { ListaOpcional = lista, lblTitle = "Material" }; PropiedadesRequeridasOpcionles.Add(material_); }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo); Propiedad pWidth = Module.GetPropiedad("H1", PropiedadesRequeridadas); double width = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), pWidth.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), pWidth.Valor); Propiedad pTiempoCiclo = Module.GetPropiedad("tc716", PropiedadesRequeridadas); double tiempoCiclo = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Tiempo), pTiempoCiclo.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadTiempo.Second), pTiempoCiclo.Valor); PropiedadOptional pLinea = Module.GetPropiedadOpcional("linea716", PropiedadesRequeridasOpcionles); if (pLinea.ElementSelected.ValorCadena == "Línea Automática") { TiempoMachine = Math.Round((((948.8039 + tiempoCiclo) * width) / 38320.118) * 100, 3); } else { TiempoMachine = Math.Round((((742.9466 + tiempoCiclo) * width) / 5474.304) * 100, 3); } //Obtenermos el valor específico de las propiedades requeridas. TiempoLabor = TiempoMachine * FactorLabor; }
/// <summary> /// Método en el cual se calcula la operación. /// </summary> /// <param name="ElAnilloProcesado">Anillo que presenta el anillo como se recibe de la operación anterior.</param> /// <param name="elPlano">Anillo que representa el plano que ingresó el usuario.</param> public void CrearOperacion(Anillo ElAnilloProcesado, Anillo elPlano) { //Asignamos el valor del anillor procesado al anillo de la operación. anilloProcesado = ElAnilloProcesado; #region Obtenemos el Width Propiedad widthMin = Module.GetPropiedad("h11 Min", elPlano.PerfilLateral.Propiedades); Propiedad widthMax = Module.GetPropiedad("h11 Max", elPlano.PerfilLateral.Propiedades); widthMin.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), widthMin.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), widthMin.Valor); widthMax.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), widthMax.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), widthMax.Valor); #endregion #region Obtenemos el Thickness Propiedad thicknessMin = Module.GetPropiedad("a1 Min", elPlano.PerfilID.Propiedades); Propiedad thicknessMax = Module.GetPropiedad("a1 Max", elPlano.PerfilID.Propiedades); thicknessMin.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), thicknessMin.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), thicknessMin.Valor); thicknessMax.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), thicknessMax.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), thicknessMax.Valor); #endregion #region Obtenemos el Gap Propiedad gapMin = Module.GetPropiedad("s1 Min", elPlano.PerfilPuntas.Propiedades); Propiedad gapMax = Module.GetPropiedad("s1 Max", elPlano.PerfilPuntas.Propiedades); gapMin.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), gapMin.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), gapMin.Valor); gapMax.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), gapMax.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), gapMax.Valor); #endregion #region Obtenemos el Free Gap Propiedad freeGapMin = Module.GetPropiedad("freeGapMin", elPlano.PerfilPuntas.Propiedades); Propiedad freeGapMax = Module.GetPropiedad("freeGapMax", elPlano.PerfilPuntas.Propiedades); freeGapMin.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), freeGapMin.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), freeGapMin.Valor); freeGapMax.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), freeGapMax.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), freeGapMax.Valor); #endregion #region Obtenemos la capa de nitrurado //Propiedad thicknessNitMin = Module.GetPropiedad("ODCoatingNitrideMin", elPlano.PerfilOD.Propiedades); //Propiedad thicknessNitMax = Module.GetPropiedad("ODCoatingNitrideMax", elPlano.PerfilOD.Propiedades); //thicknessNitMax.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), thicknessNitMax.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), thicknessNitMax.Valor); //thicknessNitMin.Valor = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), thicknessNitMin.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), thicknessNitMin.Valor); PropiedadOptional especNitrurado = elPlano.PerfilOD.PropiedadesOpcionales.Where(o => o.lblTitle == "ESPEC_NITRURADO").FirstOrDefault(); DO_DataGasNitridingRails data = DataManager.GetDataGasNitriding(especNitrurado.ElementSelected.ValorCadena); #endregion double d1 = Module.ConvertTo(elPlano.D1.TipoDato, elPlano.D1.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), elPlano.D1.Valor); double h1 = Module.ConvertTo(elPlano.H1.TipoDato, elPlano.H1.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), elPlano.H1.Valor); PropiedadOptional propiedadEspec = elPlano.PerfilOD.PropiedadesOpcionales.Where(o => o.lblTitle == "ESPEC_PVD").FirstOrDefault(); DO_DataPVD dataPVD = DataManager.GetDataPVD(propiedadEspec.ElementSelected.ValorCadena); string recetaPVD = dataPVD.NoReceta; //Agregamos el texto con las instrucciones de la operación. TextoProceso = "*INSPECCION FINAL" + Environment.NewLine; TextoProceso += "*AUDITORIA DIM." + Environment.NewLine; TextoProceso += "ABERTURA " + gapMin.Valor + " - " + gapMax.Valor + "" + Environment.NewLine; TextoProceso += "ESPESOR RADIAL " + thicknessMin.Valor + " - " + thicknessMax.Valor + "" + Environment.NewLine; TextoProceso += "TH. NITRURADO " + data.ThicknessMin + " - " + data.ThicknessMax + "" + Environment.NewLine; TextoProceso += "ABERTURA LIBRE " + freeGapMin.Valor + " - " + freeGapMin.Valor + "" + Environment.NewLine; TextoProceso += "ESPESOR AXIAL " + widthMin.Valor + " - " + widthMax.Valor + "" + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "ESPECIFICACION PVD " + recetaPVD + Environment.NewLine; TextoProceso += "ESPESOR PVD " + dataPVD.ThicknessMin + " - " + dataPVD.ThicknessMax + Environment.NewLine; TextoProceso += "DIMENSION PARA REGIÓN INTERNA " + "" + " -" + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "ALINEAR E INSPECCIONAR" + Environment.NewLine; #region Pintura bool banPintura = false; TextoProceso += "*PINTURA" + Environment.NewLine; if (elPlano.FranjasPintura.Count > 0) { banPintura = true; TextoProceso += "PINTAR FRANJAS COLOR:" + Environment.NewLine; int c = 1; foreach (var franja in elPlano.FranjasPintura) { TextoProceso += c + ")" + franja.Color + " DE " + franja.AnchoPintura + Environment.NewLine; c++; } TextoProceso += "UBICACION FRANJA:" + Environment.NewLine; c = 1; foreach (var franja in elPlano.FranjasPintura) { TextoProceso += c + ")" + franja.UbicacionFranja.UbicacionFranjaTexto + Environment.NewLine; c++; } TextoProceso += "NOTAS:" + Environment.NewLine; foreach (var franja in elPlano.FranjasPintura) { TextoProceso += "." + franja.Nota + Environment.NewLine; } } else { TextoProceso += "PINTAR FRANJAS COLOR: N O P I N T A R" + Environment.NewLine; } #endregion #region Condiciones de empaque TextoProceso += "*ENVOLTURA" + Environment.NewLine; TextoProceso += "ACEITE :" + Environment.NewLine; TextoProceso += "TIPO: " + elPlano.CondicionesDeEmpaque.AceiteTipo + " CANT: " + elPlano.CondicionesDeEmpaque.CantidadPasos + " PASOS" + Environment.NewLine; TextoProceso += "NOTA:" + Environment.NewLine; TextoProceso += "" + elPlano.CondicionesDeEmpaque.Nota1 + "" + Environment.NewLine; TextoProceso += "" + elPlano.CondicionesDeEmpaque.Nota2 + "" + Environment.NewLine; TextoProceso += "" + elPlano.CondicionesDeEmpaque.PzasXRollo + " PIEZAS POR ROLLO" + Environment.NewLine; TextoProceso += "" + elPlano.CondicionesDeEmpaque.PapelTipo + Environment.NewLine; TextoProceso += "" + elPlano.CondicionesDeEmpaque.RollosXCaja + " ROLLOS POR CAJA, CJA " + elPlano.CondicionesDeEmpaque.CajaNo + "" + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "NOTA:" + Environment.NewLine; TextoProceso += "" + elPlano.CondicionesDeEmpaque.NotaGeneral + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "*IDENTIFICACION" + Environment.NewLine; TextoProceso += "CLIENTE: MAHLE MORRISTOWN" + Environment.NewLine; TextoProceso += "PTE. CLTE. " + "" + " REV. " + Environment.NewLine; TextoProceso += " " + Environment.NewLine; TextoProceso += "MEDIDA " + d1 + " X " + h1 + Environment.NewLine; TextoProceso += " " + Environment.NewLine; bool banAceite = string.IsNullOrEmpty(elPlano.CondicionesDeEmpaque.AceiteTipo) ? false : true; anilloProcesado.PropiedadesBoolAdquiridasProceso.Add(new PropiedadBool { Nombre = "llevaAceite", Valor = banAceite }); anilloProcesado.PropiedadesAdquiridasProceso.Add(new Propiedad { Nombre = "CantidadFranjas", Valor = elPlano.FranjasPintura.Count, TipoDato = "Cantidad", Unidad = "Unidades" }); anilloProcesado.PropiedadesBoolAdquiridasProceso.Add(new PropiedadBool { Nombre = "llevapintura", Valor = banPintura }); #endregion //Ejecutamos el método para calculo de Herramentales. BuscarHerramentales(); //Ejecutamos el méotodo para calcular los tiempos estándar. CalcularTiemposEstandar(); }
public CentroTrabajo832() { CentroTrabajo = "832"; FactorLabor = 1; PropiedadesRequeridadas = new List <Propiedad>(); PropiedadesRequeridasBool = new List <PropiedadBool>(); PropiedadesRequeridasCadena = new List <PropiedadCadena>(); PropiedadesRequeridasOpcionles = new List <PropiedadOptional>(); Alertas = new List <string>(); _anillo = new Anillo(); ObservableCollection <FO_Item> lista = new ObservableCollection <FO_Item>(); lista.Add(new FO_Item { Nombre = "<--ES80-->" }); lista.Add(new FO_Item { Nombre = "0.0590", Valor = 0.0590 }); lista.Add(new FO_Item { Nombre = "0.0772", Valor = 0.0772 }); lista.Add(new FO_Item { Nombre = "0.0787", Valor = 0.0787 }); lista.Add(new FO_Item { Nombre = "0.0984", Valor = 0.0984 }); lista.Add(new FO_Item { Nombre = "0.1102", Valor = 0.1102 }); lista.Add(new FO_Item { Nombre = "0.1181", Valor = 0.1181 }); lista.Add(new FO_Item { Nombre = "0.1378", Valor = 0.1378 }); lista.Add(new FO_Item { Nombre = "0.1575", Valor = 0.1575 }); lista.Add(new FO_Item { Nombre = "0.1577", Valor = 0.1577 }); lista.Add(new FO_Item { Nombre = "0.1840", Valor = 0.1840 }); lista.Add(new FO_Item { Nombre = "0.1875", Valor = 0.1875 }); lista.Add(new FO_Item { Nombre = "0.0590", Valor = 0.0590 }); lista.Add(new FO_Item { Nombre = "<--SS50-->" }); lista.Add(new FO_Item { Nombre = "0.0984", Valor = 0.0984 }); lista.Add(new FO_Item { Nombre = "0.1100", Valor = 0.1100 }); lista.Add(new FO_Item { Nombre = "0.1102", Valor = 0.1102 }); lista.Add(new FO_Item { Nombre = "0.1180", Valor = 0.1180 }); lista.Add(new FO_Item { Nombre = "0.1181", Valor = 0.1181 }); lista.Add(new FO_Item { Nombre = "0.1250", Valor = 0.1250 }); lista.Add(new FO_Item { Nombre = "0.1378", Valor = 0.1378 }); lista.Add(new FO_Item { Nombre = "0.1560", Valor = 0.1560 }); lista.Add(new FO_Item { Nombre = "0.1575", Valor = 0.1575 }); lista.Add(new FO_Item { Nombre = "0.1577", Valor = 0.1577 }); lista.Add(new FO_Item { Nombre = "0.1772", Valor = 0.1772 }); lista.Add(new FO_Item { Nombre = "0.1840", Valor = 0.1840 }); lista.Add(new FO_Item { Nombre = "0.1870", Valor = 0.1870 }); lista.Add(new FO_Item { Nombre = "0.1875", Valor = 0.1875 }); lista.Add(new FO_Item { Nombre = "0.1969", Valor = 0.1969 }); lista.Add(new FO_Item { Nombre = "0.1970", Valor = 0.1970 }); lista.Add(new FO_Item { Nombre = "0.2480", Valor = 0.2480 }); lista.Add(new FO_Item { Nombre = "0.2490", Valor = 0.2490 }); lista.Add(new FO_Item { Nombre = "0.2500", Valor = 0.2500 }); PropiedadOptional widthNominal = new PropiedadOptional { ListaOpcional = lista, lblTitle = "Width Nominal" }; PropiedadesRequeridasOpcionles.Add(widthNominal); Propiedad numeroDeFranjasPintura = new Propiedad { DescripcionCorta = "No. de franjas a pintar", DescripcionLarga = "Numero de franjas de pintura", Imagen = null, Nombre = "CantidadFranjas", TipoDato = EnumEx.GetEnumDescription(DataManager.TipoDato.Cantidad), Unidad = EnumEx.GetEnumDescription(DataManager.UnidadCantidad.Unidades) }; PropiedadesRequeridadas.Add(numeroDeFranjasPintura); PropiedadBool tipoExpansorSS50 = new PropiedadBool { Nombre = "SS50", DescripcionCorta = "SS50", DescripcionLarga = "SS50" }; PropiedadesRequeridasBool.Add(tipoExpansorSS50); PropiedadBool tipoExpansorES80 = new PropiedadBool { Nombre = "ES80", DescripcionCorta = "ES80", DescripcionLarga = "ES80" }; PropiedadesRequeridasBool.Add(tipoExpansorES80); }