/// <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(); }
/// <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(); }