private void LoginExterno(string msg, string topicRecibido, Topic topic) { try { Operarios o = JsonConvert.DeserializeObject <Operarios>(msg); if (o == null) { Log.Write(new Exception("Operario recibido nulo " + msg)); } else { Store.Operarios.Clear(); Store.Operarios.Add(o); BusEventos.OperarioEntra(o); Application.Current.Dispatcher.Invoke((Action) delegate { new Aviso(string.Format("¡{0}!", Horario.CalcularSaludoActual()), hablar: true).Show(); NavegacionEventos.CargarNuevaPagina(NavegacionEventos.PaginaTarea); }); } } catch (Exception ex) { Log.Write(ex); } }
private void Fichajes_OnBarquillaFichada(object sender, BarquillaFichadaEventArgs e) { try { foreach (var maquina in Store.Bancada.Maquinas) { var infoBarquillaSeccion = Select.BuscarTareasPorCodigoBarquilla(e.CodigoEtiqueta, maquina.CodSeccion); this.AsignarTareaEjecucion(infoBarquillaSeccion, maquina, e.CodigoEtiqueta); } } catch (Exception ex) { Log.Write(ex); BusEventos.TareasCargadas(); } }
private void LogoutExterno(string msg, string topicRecibido, Topic topic) { try { Operarios o = Store.OperarioEjecucion; Store.Operarios.Clear(); BusEventos.OperarioSale(o); Application.Current.Dispatcher.Invoke((Action) delegate { NavegacionEventos.CargarNuevaPagina(NavegacionEventos.PaginaOperarios); new Aviso(string.Format("¡Hasta pronto!"), hablar: true).Show(); }); } catch (Exception ex) { Log.Write(ex); } }
private void AsignarTareaEjecucion(List <SP_BarquillaBuscarInformacionEnSeccion_Result> infoBarquillaSeccion, Maquinas maquina, string codigoEtiqueta) { if (infoBarquillaSeccion.Any()) { BusEventos.TareasCargando(); var idsOrden = infoBarquillaSeccion.Select(x => x.IdOrden); var idsOrdenDistinto = idsOrden.Distinct(); if (idsOrden.Count() != idsOrdenDistinto.Count()) { // multiOperacion BusEventos.TareasCargadas(); } else { var idsTareas = infoBarquillaSeccion.Select(x => x.IdTarea.Value).Distinct().ToList(); var control = BuscarControl(infoBarquillaSeccion.First().IdOperacion, maquina); // bd BackgroundWorker bwActualizarCola = new BackgroundWorker(); List <MaquinasColasTrabajo> cola = new List <MaquinasColasTrabajo>(); bwActualizarCola.DoWork += (se, ev) => { cola = Insert.ActualizarColaTrabajo(codigoEtiqueta, idsTareas, infoBarquillaSeccion.First().Agrupacion ?? 0, maquina.ID, Store.OperarioEjecucion.Id, infoBarquillaSeccion.Sum(x => x.Cantidad), infoBarquillaSeccion.First().Talla); }; bwActualizarCola.RunWorkerCompleted += (se, ev) => { maquina.AsignarColaTrabajo(cola); BusEventos.TareasCargadas(); }; bwActualizarCola.RunWorkerAsync(); // mqtt MqttAsociarBarquilla(infoBarquillaSeccion, maquina); } } }
private void Fichajes_OnContenedorFichado(object sender, BarquillaFichadaEventArgs e) { try { foreach (var stock in Store.Stocks) { stock.IdContenedor = e.CodigoEtiqueta; } // insertar BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (se, ev) => { Insert.ConsumirOperacionEnvasado(Store.Stocks); Insert.InsertarStocks(Store.Stocks); }; bw.RunWorkerCompleted += (se, ev) => { Store.Stocks.Clear(); BusEventos.ParesActualizados(); }; // } catch (Exception ex) { Log.Write(ex); } }
private void ConsumirTareaNormal(PulsoGeneradoEventArgs e) { bool stockInsertado = false; foreach (var maquina in Store.Bancada.Maquinas) { if (maquina.TrabajoEjecucion != null) { var ahora = DateTime.Now.ToUniversalTime(); if (maquina.MaquinasConfiguracionesPins.DescontarAutomaticamente) { ClienteMQTT.Publicar(string.Format("/puesto/{0}/pulso", Store.Bancada.ID), JsonConvert.SerializeObject(new MensajePulsoNormalMQTT { IpAutomata = maquina.IpAutomata, CodigoArticulo = maquina.CodigoArticulo, CodigoBarras = maquina.TrabajoEjecucion.CodigoEtiquetaFichada, CodigoOF = maquina.CodigoOrden, IdObrero = Store.OperarioEjecucion.Id, IdOF = maquina.IdOrden, IdOperacion = maquina.IdOperacion, IdTarea = maquina.TrabajoEjecucion.IdTarea, NombreCliente = maquina.Cliente, NumUtillajes = 1, Posicion = maquina.Posicion, ParesTarea = Convert.ToInt32(maquina.TrabajoEjecucion.ParesFabricar), PiezaIntroducida = 1, ParesUtillaje = 1, TallaArticulo = maquina.TallaArticulo, TallaUtillaje = maquina.TallaUtillaje, Tipo = 1, Utillaje = maquina.Utillaje, Hora = string.Format("{0}-{1}-{2} {3}:{4}:{5}", ahora.Year, ahora.Month, ahora.Day, ahora.Hour, ahora.Minute, ahora.Second) }), 2);; Store.Monton++; if (Store.Monton == Store.Bancada.BancadasConfiguracionesPins.ContadorPaquetes + 1) { Store.Monton = 1; } } if (!stockInsertado) { Store.InsertarPulsoStock(maquina, 1); stockInsertado = true; } maquina.Pulsos.Add(new PulsoMaquina { IdTarea = maquina.IdTarea, CodigoEtiqueta = maquina.TrabajoEjecucion.CodigoEtiquetaFichada, Fecha = ahora, IdOperario = Store.OperarioEjecucion.Id, Pares = 1, IdPuesto = Store.Bancada.ID, CodigoOrden = maquina.CodigoOrden, Talla = maquina.TallaArticulo, }); ClienteMQTT.Publicar(string.Format("/ordenFabricacion/{0}/{1}/consumo", maquina.IdOrden, maquina.CodSeccion), JsonConvert.SerializeObject(new MensajeConsumoOrden { CodigoOrden = maquina.CodigoOrden, IdMaquina = maquina.ID, CodSeccion = maquina.CodSeccion, CantidadPaquete = (int)maquina.TrabajoEjecucion.CantidadEtiquetaFichada }), 2); ClienteMQTT.Publicar(string.Format("/puesto/{0}/normal", Store.Bancada.ID), JsonConvert.SerializeObject(new MensajeConsumoTarea { IdPuesto = Store.Bancada.ID, IdTarea = maquina.IdTarea, ParesConsumidos = (int)maquina.MaquinasConfiguracionesPins.ProductoPorPulso, PiezaIntroducida = true, }), 2); BusEventos.ParesActualizados(); } } }