public CIDEMViewModel() { _Customers = new ObservableCollection <FO_Item>(); _CustomerSelected = new FO_Item(); loadCustomers(); loadRanuras(); }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { FO_Item Espesor = PropiedadesRequeridasOpcionles[0].ElementSelected; TiempoSetup = double.Parse(DataManager.GetTiempo(CentroTrabajo)); if (Espesor.Valor == 0.0787) { carga = 25.184; } else if (Espesor.Valor == 0.0984) { carga = 22.632; } else if (Espesor.Valor == 0.1102) { carga = 24.244; } else if (Espesor.Valor == 0.1181) { carga = 24.801; } else if (Espesor.Valor == 0.125) { carga = 21.250; } else if (Espesor.Valor == 0.1378) { carga = 22.048; } else if (Espesor.Valor == 0.1562) { carga = 24.992; } else if (Espesor.Valor == 0.1563) { carga = 25.008; } else if (Espesor.Valor == 0.1574) { carga = 23.610; } else if (Espesor.Valor == 0.1575) { carga = 22.050; } else if (Espesor.Valor == 0.1875) { carga = 20.625; } else if (Espesor.Valor == 0.1968) { carga = 21.648; } TiempoMachine = Math.Round((((399.04) * (Espesor.Valor)) / (carga * 36)) * 100, 3, MidpointRounding.AwayFromZero); TiempoLabor = TiempoMachine; }
/// <summary> /// Método que abre una ventana con las posibles propiedades numéricas a seleccionar. /// </summary> private void editarPropiedades() { //Identificamos si ya consultamos por primera vez todas las propiedades. Si ya lo consultamos, no volvemos a consultar. if (allPropiedades == null || allPropiedades.Count == 0) { allPropiedades = DataManager.GetAllPropiedades(); } ObservableCollection <FO_Item> listadoPropiedades = new ObservableCollection <FO_Item>(); foreach (Propiedad propiedad in allPropiedades) { FO_Item item = new FO_Item(); item.Nombre = propiedad.Nombre; item.id = propiedad.idPropiedad; item.Descripcion = propiedad.DescripcionCorta; if (ListaPropiedades.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0) { item.IsSelected = true; } else { item.IsSelected = false; } listadoPropiedades.Add(item); } FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedades, "Lista de propiedades numéricas"); WSelectedOption ventana = new WSelectedOption(); ventana.DataContext = vm; ventana.ShowDialog(); if (ventana.DialogResult.HasValue && ventana.DialogResult.Value) { ListaPropiedades.Clear(); foreach (FO_Item item in vm.ListaAllOptions) { if (item.IsSelected) { ListaPropiedades.Add(DataManager.GetPropiedadById(item.id)); } } setTitulos(); } }
/// <summary> /// Métodos que abre una ventana con las posibles propiedades cadena a seleccionar. /// </summary> private void editarPropiedadesCadena() { if (allPropiedadesCadena == null || allPropiedadesCadena.Count == 0) { allPropiedadesCadena = DataManager.GetAllPropiedadCadena(); } ObservableCollection <FO_Item> listadoPropiedadesCadena = new ObservableCollection <FO_Item>(); foreach (PropiedadCadena propiedad in allPropiedadesCadena) { FO_Item item = new FO_Item(); item.Nombre = propiedad.Nombre; item.id = propiedad.idPropiedad; item.Descripcion = propiedad.DescripcionCorta; if (ListaPropiedadesCadena.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0) { item.IsSelected = true; } else { item.IsSelected = false; } listadoPropiedadesCadena.Add(item); } FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedadesCadena, "Lista de propiedades cadena"); WSelectedOption ventana = new WSelectedOption(); ventana.DataContext = vm; ventana.ShowDialog(); if (ventana.DialogResult.HasValue && ventana.DialogResult.Value) { ListaPropiedadesCadena.Clear(); foreach (FO_Item item in vm.ListaAllOptions) { if (item.IsSelected) { ListaPropiedadesCadena.Add(DataManager.GetPropiedadCadenaByID(item.id)); } } setTitulos(); } }
/// <summary> /// Constructor de la clase /// </summary> public ConversionFTFDViewModel() { ListaMaterial = new ObservableCollection <FO_Item>(); ListaMaterial.Add(new FO_Item { id = 0, Nombre = "PEARLITIC", IsSelected = true }); ListaMaterial.Add(new FO_Item { id = 1, Nombre = "MARTENSITIC" }); ListaMaterial.Add(new FO_Item { id = 2, Nombre = "NODULAR" }); ListaMaterial.Add(new FO_Item { id = 3, Nombre = "STEEL" }); SelectedMaterial = ListaMaterial[0]; FactorTension = 2.25; }
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_); }
public FO_ItemViewModel(ObservableCollection <FO_Item> Listado, string nombreLista) { model = new FO_Item(); ListaAllOptions = Listado; NombreLista = nombreLista; }
public FO_ItemViewModel() { model = new FO_Item(); }
public ActionResult BajarArchivo(int idSemana) { DO_Persona personaConectada = ((DO_Persona)Session["UsuarioConectado"]); DO_Compania compania = DataManager.GetCompania(personaConectada.idCompania); List <DO_Almacen> almacens = DataManager.GetAllAlmacen(compania.IdCompania); string path = Server.MapPath("~/assets/files/formatoreportesemanal.xlsx"); SLDocument sLDocument = new SLDocument(path, "Reporte"); List <DO_Deposito> depositos = new List <DO_Deposito>(); depositos = DataManager.GetDepositosPorWeek(personaConectada.idUsuario, idSemana); List <DO_Movimiento> entradas = new List <DO_Movimiento>(); entradas = DataManager.GetMovimientoEntradasPorWeek(personaConectada.idCompania, idSemana); List <DO_Movimiento> salidas = new List <DO_Movimiento>(); salidas = DataManager.GetMovimientoSalidasPorWeek(personaConectada.idCompania, idSemana); List <DO_Ventas> ventas = new List <DO_Ventas>(); ventas = DataManager.GetListVentaPorSemana(personaConectada.idUsuario, idSemana); DO_Semana dO_Semana = DataManager.GetSemana(idSemana); string rangoFecha = dO_Semana.SFechaInicial + " a " + dO_Semana.SFechaFinal; List <DO_ReporteSemanal> dO_Reportes = new List <DO_ReporteSemanal>(); List <DO_Movimiento> movimientosEntradas = new List <DO_Movimiento>(); movimientosEntradas = DataManager.GetAllEntradas(almacens[0].idAlmacen, idSemana); //Entradas foreach (DO_Movimiento entrada in entradas) { if (dO_Reportes.Where(x => x.IdArticulo == entrada.IdArticulo).ToList().Count > 0) { DO_ReporteSemanal reporteSemanal = dO_Reportes.Where(x => x.IdArticulo == entrada.IdArticulo).FirstOrDefault(); int index = dO_Reportes.IndexOf(reporteSemanal); dO_Reportes[index].Entradas += entrada.Cantidad; dO_Reportes[index].Origen += entrada.BodegaDestino + "(" + entrada.Cantidad + ") "; } else { DO_ReporteSemanal reporteSemanal = new DO_ReporteSemanal(); reporteSemanal.NombreArticulo = entrada.Nombre; reporteSemanal.Entradas = entrada.Cantidad; reporteSemanal.Origen = entrada.BodegaDestino + "(" + entrada.Cantidad + ") "; reporteSemanal.IdArticulo = entrada.IdArticulo; dO_Reportes.Add(reporteSemanal); } } //Salidas foreach (DO_Movimiento salida in salidas) { if (dO_Reportes.Where(x => x.IdArticulo == salida.IdArticulo).ToList().Count > 0) { DO_ReporteSemanal reporteSemanal = dO_Reportes.Where(x => x.IdArticulo == salida.IdArticulo).FirstOrDefault(); int index = dO_Reportes.IndexOf(reporteSemanal); dO_Reportes[index].Salidas += salida.Cantidad; dO_Reportes[index].Destino += salida.BodegaDestino + "(" + salida.Cantidad + ") "; } else { DO_ReporteSemanal reporteSemanal = new DO_ReporteSemanal(); reporteSemanal.NombreArticulo = salida.Nombre; reporteSemanal.Salidas = salida.Cantidad; reporteSemanal.Destino = salida.BodegaDestino + "(" + salida.Cantidad + ") "; reporteSemanal.IdArticulo = salida.IdArticulo; dO_Reportes.Add(reporteSemanal); } } //Ventas foreach (var venta in ventas) { if (dO_Reportes.Where(x => x.IdArticulo == venta.IdArticulo).ToList().Count > 0) { DO_ReporteSemanal reporteSemanal = dO_Reportes.Where(x => x.IdArticulo == venta.IdArticulo).FirstOrDefault(); int index = dO_Reportes.IndexOf(reporteSemanal); dO_Reportes[index].ArticulosVendidos += venta.Cantidad; } else { DO_ReporteSemanal reporteSemanal = new DO_ReporteSemanal(); reporteSemanal.NombreArticulo = venta.Nombre; reporteSemanal.IdArticulo = venta.IdArticulo; reporteSemanal.ArticulosVendidos = venta.Cantidad; dO_Reportes.Add(reporteSemanal); } } //PRECIO foreach (DO_ReporteSemanal item in dO_Reportes) { double costo = DataManager.GetArticulo(item.IdArticulo).PRECIO_MASTER; item.CostoUnitario = costo; } //Inventario inicial List <FO_Item> existencias = DataManager.GetCorteExistencia(idSemana, almacens[0].idAlmacen); foreach (var item in dO_Reportes) { int i = existencias.Where(x => x.NombreInt == item.IdArticulo).ToList().Count; if (i == 0) { item.InventarioInicial = 0; } else { FO_Item temp = existencias.Where(x => x.NombreInt == item.IdArticulo).FirstOrDefault(); int existencia = temp.ValueInt; item.InventarioInicial = existencia; } } #region Llenado de información sLDocument.SetCellValue("F4", personaConectada.NombreCompleto); sLDocument.SetCellValue("I5", compania.Direccion); sLDocument.SetCellValue("F7", compania.Telefono); sLDocument.SetCellValue("F10", dO_Semana.NoSemana); sLDocument.SetCellValue("H10", rangoFecha); sLDocument.SetCellValue("K7", personaConectada.Usuario); //Llenado de depositos. int c = 32; foreach (var deposito in depositos) { sLDocument.SetCellValue("A" + c, deposito.FechaIngreso); sLDocument.SetCellValue("B" + c, deposito.Banco); sLDocument.SetCellValue("C" + c, deposito.Importe); sLDocument.SetCellValue("D" + c, deposito.Descripcion); sLDocument.SetCellValue("F" + c, deposito.Importe); c++; } //Llenado de costo de guia foreach (var item in movimientosEntradas) { sLDocument.SetCellValue("D" + c, item.NoFactura); sLDocument.SetCellValue("F" + c, item.CostoGuia); c++; } c = 17; //Llenado de articulos foreach (var reporteSemanal in dO_Reportes) { sLDocument.SetCellValue("B" + c, reporteSemanal.NombreArticulo); sLDocument.SetCellValue("C" + c, reporteSemanal.InventarioInicial); sLDocument.SetCellValue("D" + c, reporteSemanal.Entradas); sLDocument.SetCellValue("E" + c, reporteSemanal.Origen); sLDocument.SetCellValue("F" + c, reporteSemanal.Salidas); sLDocument.SetCellValue("G" + c, reporteSemanal.Destino); sLDocument.SetCellValue("I" + c, reporteSemanal.ArticulosVendidos); sLDocument.SetCellValue("K" + c, reporteSemanal.CostoUnitario); c++; } #endregion sLDocument.AutoFitRow(18); if (!Directory.Exists(Server.MapPath("~/files/reportesemanal/" + personaConectada.Nombre))) { Directory.CreateDirectory(Server.MapPath("~/files/reportesemanal/" + personaConectada.Nombre)); } string newPath = Server.MapPath("~/files/reportesemanal/" + personaConectada.Nombre + "/reporte_" + dO_Semana.NoSemana + ".xlsx"); sLDocument.SaveAs(newPath); byte[] fileBytes = System.IO.File.ReadAllBytes(newPath); string fileName = "Reporte_" + dO_Semana.NoSemana + "_" + personaConectada.Nombre + ".xlsx"; DataManager.InsertBitacora(personaConectada.Nombre + " " + personaConectada.Usuario, "Se bajo el archivo de excel se la semana id: " + idSemana); return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName)); }
public DashboardViewModel(Usuario modelUsuario) { ModelUsuario = modelUsuario; #region Información Lecciones Aprendidas #region Gráfica Motivo Lección aprendida Series = new SeriesCollection(); List <FO_Item> listaMotivoCambio = new List <FO_Item>(); listaMotivoCambio = DataManagerControlDocumentos.GetMotivoCambioGrafica(); foreach (var item7 in listaMotivoCambio) { PieSeries pieSeries = new PieSeries(); pieSeries.Title = item7.Nombre; pieSeries.Values = new ChartValues <ObservableValue> { new ObservableValue(item7.Valor) }; pieSeries.DataLabels = true; Series.Add(pieSeries); } #endregion #endregion #region Gráfica de cantidad de lecciones aprendidas últimos 5 meses. List <FO_Item> listaLeccionesMensual = DataManagerControlDocumentos.GetTotalLeccionesPorMes(); ColumnSeries columnaSerie = new ColumnSeries(); columnaSerie.Title = "Cantidad de Lecciones Aprendidas"; columnaSerie.Values = new ChartValues <double>(); listaLeccionesMensual.Reverse(); foreach (FO_Item item1 in listaLeccionesMensual) { columnaSerie.Values.Add(item1.Valor); } Labels = new string[listaLeccionesMensual.Count]; int j = 0; foreach (var item2 in listaLeccionesMensual) { Labels[j] = item2.Nombre; j++; } SerieLeccionesMensual = new SeriesCollection(); SerieLeccionesMensual.Add(columnaSerie); #endregion //Obtenermos el total de lecciones aprendidas. TotalLeccionesAprendidas = DataManagerControlDocumentos.GetTotalLecciones(); //Obtenemos el total de lecciones aprendidas en el mes actual. TotalLeccionesMesActual = DataManagerControlDocumentos.GetTotalLeccionesMesActual(); #region Lecciones aprendidas por usuario SeriesLeccionesUsuario = new SeriesCollection(); List <FO_Item> listaLeccionesUsuario = new List <FO_Item>(); listaLeccionesUsuario = DataManagerControlDocumentos.GetCantidadLeccionesAprendidasByUsuario(); foreach (var item7 in listaLeccionesUsuario) { PieSeries pieSeries = new PieSeries(); pieSeries.Title = item7.Nombre; pieSeries.Values = new ChartValues <ObservableValue> { new ObservableValue(item7.Valor) }; pieSeries.DataLabels = true; SeriesLeccionesUsuario.Add(pieSeries); } #endregion #endregion #region Información Control de Documentos TotalDocumentos = DataManagerControlDocumentos.GetGridDocumentos(string.Empty).Count; TotalDocumentosPorLiberar = DataManagerControlDocumentos.GetDocumentos_PendientesLiberar("").Count; TotalDocumentosVencidos = DataManagerControlDocumentos.GetDocumentosAprobadosNoRecibidos(true).Count; TotalDocumentosPorRevisar = DataManagerControlDocumentos.GetDocumentosValidar("", "").Count; if (TotalDocumentosVencidos == 0 && TotalDocumentosPorLiberar == 0) { ValueAngularDoc = 100; } else { ValueAngularDoc = 100 - ((Convert.ToDouble(TotalDocumentosVencidos) / Convert.ToDouble(TotalDocumentosPorLiberar)) * 100); } SerieDocumentosLiberados = new SeriesCollection(); StackedColumnSeries columnaManual = new StackedColumnSeries(); columnaManual.StackMode = StackMode.Values; columnaManual.DataLabels = true; columnaManual.Title = "MANUAL"; StackedColumnSeries columnaAutomatico = new StackedColumnSeries(); columnaAutomatico.StackMode = StackMode.Values; columnaAutomatico.DataLabels = true; columnaAutomatico.Title = "AUTOMÁTICO"; int[] valores = new int[] { 3, 2, 1, 0, -1 }; int[] valoresManual = new int[5]; int[] valoresAutomatico = new int[5]; LabelsDocumentoLiberados = new string[valoresAutomatico.Length]; j = 0; foreach (var item2 in valores) { FO_Item foItem = DataManagerControlDocumentos.GetCantidadDocumentoLiberado("MANUAL", item2); valoresManual[j] = Convert.ToInt32(foItem.Valor); LabelsDocumentoLiberados[j] = foItem.Nombre; j++; } j = 0; foreach (var item2 in valores) { FO_Item foItem = DataManagerControlDocumentos.GetCantidadDocumentoLiberado("AUTOMATICO", item2); valoresAutomatico[j] = Convert.ToInt32(foItem.Valor); j++; } columnaManual.Values = new ChartValues <int>(valoresManual); columnaAutomatico.Values = new ChartValues <int>(valoresAutomatico); SerieDocumentosLiberados.Add(columnaManual); SerieDocumentosLiberados.Add(columnaAutomatico); #endregion }
/// <summary> /// Método que calcula los tiempos estándar. /// </summary> public void Calcular() { TiempoSetup = double.Parse(DataManager.GetTiempo(CentroTrabajo)); Propiedad pCantidadFranjas = Module.GetPropiedad("CantidadFranjas", PropiedadesRequeridadas); double _noFranjas = Module.ConvertTo("Cantidad", pCantidadFranjas.Unidad, "Unidades", pCantidadFranjas.Valor); FO_Item espesor = PropiedadesRequeridasOpcionles[0].ElementSelected; if (_noFranjas > 0) { AcP = 2.4410206; } //-----------------------------EXPANSOR ES80------------------------------ if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.0590) { pzsXrollo = 380; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.0772) { pzsXrollo = 330; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.0787) { pzsXrollo = 320; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.0984) { pzsXrollo = 230; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1102) { pzsXrollo = 220; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1181) { pzsXrollo = 210; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1378) { pzsXrollo = 160; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1575) { pzsXrollo = 140; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1577) { pzsXrollo = 140; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1840) { pzsXrollo = 110; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.1875) { pzsXrollo = 380; } else if (PropiedadesRequeridasBool[1].Valor == true && espesor.Valor == 0.0590) { pzsXrollo = 380; } ////-----------------------------EXPANSOR SS50------------------------------ else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.0984) { pzsXrollo = 140; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1100) { pzsXrollo = 125; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1102) { pzsXrollo = 125; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1180) { pzsXrollo = 120; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1181) { pzsXrollo = 120; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1250) { pzsXrollo = 110; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1378) { pzsXrollo = 110; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1560) { pzsXrollo = 90; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1575) { pzsXrollo = 90; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1577) { pzsXrollo = 90; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1772) { pzsXrollo = 80; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1840) { pzsXrollo = 70; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1870) { pzsXrollo = 75; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1875) { pzsXrollo = 75; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1969) { pzsXrollo = 70; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.1970) { pzsXrollo = 70; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.2480) { pzsXrollo = 55; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.2490) { pzsXrollo = 55; } else if (PropiedadesRequeridasBool[0].Valor == true && espesor.Valor == 0.2500) { pzsXrollo = 55; } TiempoMachine = Math.Round(((98.855494 + (17.43625 * _noFranjas) + (AcP)) / (36 * pzsXrollo)) * 100, 3, MidpointRounding.AwayFromZero); TiempoLabor = TiempoMachine; TiempoMachine = 0; }