private void Carpintero4_Tick(object sender, EventArgs e) { Cuadros cuadroaux4 = new Cuadros(); segundoc4++; Carpinteros c4 = CarpinteroBLL.Buscar(4); if (segundoc4 == 60) { minutoc4++; segundoc4 = 0; } if (minutoc4 == 5) { if (c4.CuadrosATrabajar.Count != 0) { Cuadros item = c4.CuadrosATrabajar.First(); item.TiempoEnsamblaje--; if (item.TiempoEnsamblaje == 0) { item.TiempoEnAlmacen = 24; SalieronEnsamblaje.Add(item); EsperaAlmacen.Add(item); EntraronAlmacen.Add(item); c4.CuadrosATrabajar.Remove(item); Almacen.Start(); } } TerminadosNUD.Value = SalieronEnsamblaje.Count; Horac4++; minutoc4 = 0; } C4CNUD.Value = CarpinteroBLL.Buscar(4).CuadrosATrabajar.Count; }
//Metodo de empaquetar private void Empaquetar_Tick(object sender, EventArgs e) { EntraronEmpNUD.Value = EntraronEmpaque.Count; SegundosEmp++; Cuadros c = new Cuadros(); if (SegundosEmp == 60) { SegundosEmp = 0; minutosEmp++; foreach (var item in EsperaEmpaque) { item.TiempoEmpaque--; if (item.TiempoEmpaque == 0) { SalieronEmpaque.Add(item); Terminados.Add(item); } } EsperaEmpaque.RemoveAll(r => r.TiempoEmpaque == 0); } if (minutosEmp == 5) { horasEmp++; minutosEmp = 0; } AbandonaronNUD.Value = SalieronEmpaque.Count; }
public void GruposEntrantes() { i++; int n = RPaquetes.Next(1, 11); int vueltas = 0; int aux = 0; if (n == 1 || n == 2 || n == 3 || n == 4 || n == 5 || n == 6) { vueltas = 4; } else { vueltas = 6; } Paquetes p = new Paquetes(); for (aux = 0; aux < vueltas; aux++) { Cuadros c = new Cuadros(); c.ID = aux; p.Cuadros.Add(c); p.ID = i + 1; } PaquetesEntrantes.Add(p); MarcosTb.Value = p.Cuadros.Count; TotalPaquetesNUD.Value = PaquetesEntrantes.Count; TotalMarcosNUD.Value += p.Cuadros.Count; foreach (var item in p.Cuadros) { EsperaEnsamblaje.Add(item); } ProcesoEnsamblaje(); }
//Metodos del proceso de pintura private void timer1_Tick(object sender, EventArgs e) { EntraronPinturaNUD.Value = EntraronPintura.Count; SegundosPin++; Cuadros c = new Cuadros(); if (SegundosPin == 60) { SegundosPin = 0; minutosPin++; Cuadros item = EsperaPintura.First(); item.TiempoPintura--; if (item.TiempoPintura == 0) { SalieronPintura.Add(item); ContadorMaquina++; EsperaInspeccion.Add(item); EntraronInspeccion.Add(item); EsperaPintura.Remove(item); Inspeccion.Start(); } } if (minutosPin == 5) { horasPin++; minutosPin = 0; } TerminadosPinNUD.Value = SalieronPintura.Count; if (ContadorMaquina == 20) { ContadorMaquina = 0; MaquinaPintura.Start(); int d = MaquinaDamage.Next(1, 4); if (d == 1) { MinutosMaquinaDañada = 30; } if (d == 2) { MinutosMaquinaDañada = 45; } if (d == 3) { MinutosMaquinaDañada = 60; } } }
//Metodos del proceso de inspeccion private void Inspeccion_Tick(object sender, EventArgs e) { SegundosIns++; EntraronInspeccionNUD.Value = EntraronInspeccion.Count; Cuadros c = new Cuadros(); if (EsperaInspeccion.Count != 0) { foreach (var item in EsperaInspeccion) { int p = paso.Next(1, 10); int em = Empac.Next(10, 16); if (p == 1) { Retrabajar.Add(item); TotalATrabajar.Add(item); } else { TotalPasaron.Add(item); EntraronEmpaque.Add(item); SalieronInspeccion.Add(item); item.TiempoEmpaque = em; EsperaEmpaque.Add(item); } Empaquetar.Start(); } EsperaInspeccion.RemoveAll(r => r.TiempoPintura == 0); } if (SegundosIns == 60) { SegundosIns = 0; minutosIns++; } if (minutosIns == 5) { horasIns++; minutosIns = 0; } PasaronNUD.Value = TotalPasaron.Count; RetrabajarNUD.Value = TotalATrabajar.Count; }
//Fin de Metodos del proceso de ensamblaje //Metodos del proceso de almacen public void MetodoProcesoAlmacen() { EntraronAlmacenNUD.Value = EntraronAlmacen.Count; SegundosAl++; Cuadros c = new Cuadros(); if (SegundosAl == 60) { SegundosAl = 0; minutosAl++; } if (minutosAl == 5) { foreach (var item in EsperaAlmacen) { item.TiempoEnAlmacen--; if (item.TiempoEnAlmacen == 0) { int t = Rpintura.Next(10, 21); item.TiempoPintura = t; SalieronAlmacen.Add(item); EntraronPintura.Add(item); EsperaPintura.Add(item); Pintura.Start(); } } EsperaAlmacen.RemoveAll(r => r.TiempoEnAlmacen == 0); horasAl++; minutosAl = 0; } TerminadosAlNUD.Value = SalieronAlmacen.Count; }
//{ // new CuadroInicio{ Titulo="Obras en proceso",Cantidad="10", Icono=MaterialDesignThemes.Wpf.PackIconKind.AccountBalance}, // new CuadroInicio{ Titulo="Dinero Caja",Cantidad="1000", Icono=MaterialDesignThemes.Wpf.PackIconKind.AccountBalance}, // new CuadroInicio{ Titulo="Obras en proceso",Cantidad="10", Icono=MaterialDesignThemes.Wpf.PackIconKind.AccountBalance} //};] public async Task Inicializar() { try { var totalIngreso = 0d; var totalEgreso = 0d; var cashflow = new ChartValues <DateModel>(); var egresos = new ChartValues <DateModel>(); CuentaCorrientes = new ObservableCollection <CuentaCorrienteDto>(await Servicios.ApiProcessor.GetApi <CuentaCorrienteDto[]>("CuentaCorriente/GetAll")); ComprobanteCompras = new ObservableCollection <ComprobanteCompraDto>(await ApiProcessor.GetApi <ComprobanteCompraDto[]>("ComprobanteCompra/GetAll")); var comprobanteSalida = await ApiProcessor.GetApi <decimal[]>("ComprobanteSalida/GetPorcentaje"); var comprobanteEntrada = await ApiProcessor.GetApi <decimal[]>("ComprobanteEntrada/GetPorcentaje"); DetalleCaja = new ObservableCollection <DetalleCajaDto>(await Servicios.ApiProcessor.GetApi <DetalleCajaDto[]>("DetalleCaja/GetAll")); Oficina = await ApiProcessor.GetApi <decimal>("ComprobanteCompra/GetOficina"); Jornales = new ObservableCollection <JornalDto>(await ApiProcessor.GetApi <JornalDto[]>("Jornal/GetAll")); Jornales.Sum(x => x.Repuestos); Jornales.Sum(x => x.Gasolina); Obras = await ApiProcessor.GetApi <int[]>("Obra/NumeroPendientes"); Presupuestos = new ObservableCollection <PresupuestoDto>(await ApiProcessor.GetApi <PresupuestoDto[]>("Presupuesto/GetAprobado")); if (CuentaCorrientes != null) { foreach (var i in CuentaCorrientes) { Operaciones = new List <OperacionDto>(await ApiProcessor.GetApi <OperacionDto[]>($"Operacion/GetByBanco/{i.BancoId}")); var values = new ChartValues <DateModel>(); var total = 0d; foreach (var item in Operaciones.Where(x => x.FechaEmision.Value.Year == DateTime.Now.Year).OrderBy(x => x.FechaEmision)) { if (item.Haber != 0) { total -= (double)item.Haber; totalEgreso += (double)item.Haber; Graficas.Add(new ClaseGrafico { Fecha = item.FechaEmision.Value, TipoMovimiento = TipoMovimiento.Egreso, Monto = (decimal)item.Haber }); } else { total += (double)item.Debe; totalIngreso += (double)item.Debe; Graficas.Add(new ClaseGrafico { Fecha = item.FechaEmision.Value, TipoMovimiento = TipoMovimiento.Ingreso, Monto = (decimal)item.Debe }); } values.Add(new DateModel { DateTime = item.FechaEmision.Value, Value = total }); } SeriesCollection.Add(new LineSeries { Values = values, Title = $"{i.Banco.RazonSocial}" }); Descontado = (decimal)Operaciones.Where(x => x.Descontado != null).Sum(x => x.Descontado); Debe = (decimal)Operaciones.Where(x => x.Debe != null).Sum(x => x.Debe); Haber = (decimal)Operaciones.Where(x => x.Haber != null).Sum(x => x.Haber); Diferencia += Debe - Haber - Descontado; } Cuadros.Add(new CuadroInicio { Titulo = $"Saldo de bancos", Cantidad = $"{Diferencia.ToString("C")}", Icono = MaterialDesignThemes.Wpf.PackIconKind.AccountBalance }); } if (DetalleCaja != null) { var values = new ChartValues <DateModel>(); foreach (var i in DetalleCaja.GroupBy(x => x.CajaId)) { var total = 0d; foreach (var item in i) { if (item.TipoMovimiento == Constantes.TipoMovimiento.Egreso) { total -= (double)item.Monto; Graficas.Add(new ClaseGrafico { Fecha = item.Caja.FechaApertura, TipoMovimiento = TipoMovimiento.Egreso, Monto = (decimal)item.Monto }); } else { total += (double)item.Monto; Graficas.Add(new ClaseGrafico { Fecha = item.Caja.FechaApertura, TipoMovimiento = TipoMovimiento.Ingreso, Monto = (decimal)item.Monto }); } values.Add(new DateModel { DateTime = item.Caja.FechaApertura, Value = total }); } } SeriesCollection.Add(new LineSeries { Values = values, Title = $"Caja" }); } var suma = 0d; var egreso = 0d; foreach (var item in Graficas.OrderBy(x => x.Fecha)) { if (item.TipoMovimiento == Constantes.TipoMovimiento.Egreso) { egreso += (double)item.Monto; egresos.Add(new DateModel { DateTime = item.Fecha.Date, Value = egreso }); } else { suma += (double)item.Monto; cashflow.Add(new DateModel { DateTime = item.Fecha.Date, Value = suma }); } } SeriesCashFlow.Add(new LineSeries { Values = cashflow, Title = $"Ingresos" }); SeriesCashFlow.Add(new LineSeries { Values = egresos, Title = $"Egresos" }); YCashFlow = value => value.ToString("C"); XCashFlow = value => { try { return(new DateTime((long)(value * TimeSpan.FromDays(1).Ticks * 30.44)).ToString("M")); } catch (Exception) { return(DateTime.Now.ToString("M")); } }; YFormatter = value => value.ToString("C"); XFormatter = value => { try { return(new DateTime((long)(value * TimeSpan.FromDays(1).Ticks * 30.44)).ToString("M")); } catch (Exception) { return(DateTime.Now.ToString("M")); } }; if (await ApiProcessor.GetApi <bool>("Caja/CajasEstado")) { var caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta"); var detallesCaja = new ObservableCollection <DetalleCajaDto>(await Servicios.ApiProcessor.GetApi <DetalleCajaDto[]>($"DetalleCaja/GetByCaja/{caja.Id}")); decimal MontoSistema = 0; if (detallesCaja.Count > 0) { MontoSistema = detallesCaja.Where(x => x.TipoMovimiento == Constantes.TipoMovimiento.Ingreso).Sum(x => x.Monto) - detallesCaja.Where(x => x.TipoMovimiento == Constantes.TipoMovimiento.Egreso).Sum(x => x.Monto); } Cuadros.Add(new CuadroInicio { Titulo = $"Saldo de la caja", Cantidad = $"{MontoSistema.ToString("C")}", Icono = MaterialDesignThemes.Wpf.PackIconKind.CashRegister, Color = "#74D774" }); } else { Cuadros.Add(new CuadroInicio { Titulo = $"La caja esta cerrada", Cantidad = "", Icono = MaterialDesignThemes.Wpf.PackIconKind.CashRegister, Color = "#74D774 " }); } Cuadros.Add(new CuadroInicio { Titulo = $"Gastos de oficina", Cantidad = $"{Oficina.ToString("C")}", Icono = MaterialDesignThemes.Wpf.PackIconKind.Shredder, Color = "#F3E5A1" }); Cuadros.Add(new CuadroInicio { Titulo = $"Cantidad de obras finalizadas", Cantidad = $"{Obras[0]} de {Obras[1]}", Icono = MaterialDesignThemes.Wpf.PackIconKind.TransmissionTower, Color = "#D3B8DD " }); var Gasolina = Jornales.Sum(x => x.Gasolina); var Repuesto = Jornales.Sum(x => x.Repuestos); var Compras = ComprobanteCompras.Where(x => NoObras.Obras.Contains(x.Id)).Sum(x => x.Pagando); Total = Gasolina + Repuesto + Compras; Series.Add(new PieSeries { Title = "Gasolina", Values = new ChartValues <decimal>(new decimal[] { Gasolina }), DataLabels = true, LabelPoint = PointLabel }); Series.Add(new PieSeries { Title = "Repuesto", Values = new ChartValues <decimal>(new decimal[] { Repuesto }), DataLabels = true, LabelPoint = PointLabel }); Series.Add(new PieSeries { Title = "Compras", Values = new ChartValues <decimal>(new decimal[] { Compras }), DataLabels = true, LabelPoint = PointLabel }); SeriesSalida.Add(new PieSeries { Title = "Blanco", Values = new ChartValues <decimal>(new decimal[] { comprobanteSalida[0] }), DataLabels = true, LabelPoint = PointLabel }); SeriesSalida.Add(new PieSeries { Title = "Negro", Values = new ChartValues <decimal>(new decimal[] { comprobanteSalida[1] }), DataLabels = true, LabelPoint = PointLabel }); SeriesEntrada.Add(new PieSeries { Title = "Blanco", Values = new ChartValues <decimal>(new decimal[] { comprobanteEntrada[0] }), DataLabels = true, LabelPoint = PointLabel }); SeriesEntrada.Add(new PieSeries { Title = "Negro", Values = new ChartValues <decimal>(new decimal[] { comprobanteEntrada[1] }), DataLabels = true, LabelPoint = PointLabel }); var Cobrado = Presupuestos.Sum(x => x.CobradoSinImpuestos); TotalPresupuesto = Presupuestos.Sum(x => x.TotalSinImpuestos); var DiferenciaPresupuesto = TotalPresupuesto - Cobrado; SeriesPresupuesto.Add(new PieSeries { Title = "Cobrado", Values = new ChartValues <decimal>(new decimal[] { Cobrado }), DataLabels = true, LabelPoint = PointLabelPresupuesto }); SeriesPresupuesto.Add(new PieSeries { Title = "Faltante", Values = new ChartValues <decimal>(new decimal[] { DiferenciaPresupuesto }), DataLabels = true, LabelPoint = PointLabelPresupuesto }); } catch (Exception) { MessageBox.Show("No se pudo cargar por problemas de conexion."); } }