public PropiedadOptionalViewModel(PropiedadOptional propiedad)
 {
     model         = propiedad;
     ListaOptional = propiedad.ListaOpcional;
     lblTitle      = propiedad.lblTitle;
     TipoPefil     = propiedad.TipoPerfil;
 }
예제 #2
0
        /// <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);
        }
예제 #7
0
        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();
        }
예제 #10
0
        /// <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;
        }
예제 #11
0
        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);
        }
예제 #12
0
        /// <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;
        }
예제 #13
0
        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();
        }
예제 #14
0
        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();
        }
예제 #15
0
        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();
        }
예제 #16
0
        /// <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();
        }
예제 #17
0
        /// <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();
        }
예제 #18
0
        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_);
        }
예제 #19
0
        /// <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;
        }
예제 #20
0
        /// <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();
        }
예제 #21
0
        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);
        }