public static void UbicarBarquilla(Dictionary <int, int> ordenesOperaciones, string seccion, string codBarquilla, string codUbicacion) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var barquilla = db.Barquillas.FirstOrDefault(x => x.CodigoEtiqueta == codBarquilla); if (barquilla != null) { db.SP_BarquillaUbicar(codBarquilla, codUbicacion); foreach (var contenido in barquilla.BarquillasContenidos) { var parEncontrados = ordenesOperaciones.Where(x => x.Key == contenido.IdOrden); if (parEncontrados.Any()) { db.BarquillasConsumos.Add(new BarquillasConsumos { FechaConsumo = DateTime.Now, IdContenidoBarquilla = contenido.Id, IdOperacionConsumo = parEncontrados.First().Value, CodSeccion = seccion, }); } } } db.SaveChanges(); } }
public static void InsertarStocks(List <StockArticulos> stocks) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.StockArticulos.AddRange(stocks); db.SaveChanges(); } }
public static void InsertarRegistroLabor(OperariosRegistrosLabores registro) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.OperariosRegistrosLabores.Add(registro); db.SaveChanges(); } }
public static void UpdateConfiguracionBancada(bool finPaqueteAudio, bool finTareaAudio, int idBancada) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { BancadasConfiguracionesPins configDb = db.BancadasConfiguracionesPins.FirstOrDefault(x => x.IdBancada == idBancada); configDb.AvisarFinPaquete = finPaqueteAudio; configDb.AvisarFinTarea = finTareaAudio; db.SaveChanges(); } }
public static void Ubicar(string codigoEtiqueta, string codUbicacion) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var utc = db.UtillajesTallasColeccion.FirstOrDefault(x => x.CodigoEtiqueta == codigoEtiqueta); if (utc != null) { utc.CodUbicacion = codUbicacion; } db.SaveChanges(); } }
public static void UpdateContadorPaquetesBancada(Bancadas b, int contador) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { Bancadas bancadaBD = db.Bancadas.Find(b.ID); if (bancadaBD != null) { bancadaBD.BancadasConfiguracionesPins.ContadorPaquetes = contador; db.SaveChanges(); b.BancadasConfiguracionesPins.ContadorPaquetes = contador; } } }
public static void ConsumirOperacionEnvasado(List <StockArticulos> stocks) { DateTime ahora = DateTime.Now; using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var agrupadosPorOrden = stocks.GroupBy(x => x.IdOrdenFabricacion); foreach (var grupo in agrupadosPorOrden) { foreach (var stock in grupo) { var orden = db.OrdenesFabricacion.FirstOrDefault(x => x.ID == stock.IdOrdenFabricacion); if (orden != null) { var operacion = orden.OrdenesFabricacionOperaciones.FirstOrDefault(x => x.CodSeccion == "300"); if (operacion != null) { foreach (var sat in stock.StockArticulosTallas.Where(x => x.Cantidad > 0)) { var ofot = operacion.OrdenesFabricacionOperacionesTallas.FirstOrDefault(x => x.Tallas.Split(',').Contains(sat.Talla)); if (ofot != null) { var tarea = ofot.OrdenesFabricacionOperacionesTallasCantidad.First(); tarea.OrdenesFabricacionProductos.Add(new OrdenesFabricacionProductos { FechaCreacion = ahora, Cantidad = sat.Cantidad ?? 0, IdOperario = stock.IdOperarioCreacion, IdOrdenFabricacionOperacionTallaCantidad = tarea.ID, }); if (tarea.CantidadFabricar <= tarea.OrdenesFabricacionProductos.Sum(x => x.Cantidad)) { // finalizar tarea.Finalizado = true; tarea.IdEstadoAnterior = tarea.IdEstado; tarea.IdEstado = 5; } } } } } } } db.SaveChanges(); } }
public List <MaquinasColasTrabajo> ActualizarColaTrabajo(string codigoBarquilla, List <int> idsTareas, int?agrupacion, int idMaquina, int idOperario, double cantidad) { List <MaquinasColasTrabajo> trabajosInsertar = new List <MaquinasColasTrabajo>(); using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { if (idsTareas.Any()) { // recupero la cola de la maquina var trabajos = db.MaquinasColasTrabajo .Include("OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP") .Include("OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionProductos") .Where(x => x.IdMaquina == idMaquina).ToList(); // elimino todos los trabajos que tengan que ver con la tarea que quiero ejecutar trabajos.RemoveAll(x => idsTareas.Contains(x.IdTarea)); // elimino los trabajos que se encuentren en ejecución actualmente trabajos.RemoveAll(x => x.Ejecucion); // los ordeno por posicion var trabajosOrdenados = trabajos.OrderBy(x => x.Posicion).ToList(); // actualizo sus posiciones en +1 int i = 1; int anterior = 0; foreach (var trabajo in trabajosOrdenados) { if (anterior == 0) { anterior = trabajo.Posicion; trabajo.Posicion = i; } else { if (anterior == trabajo.Posicion) { trabajo.Posicion = i; } else { i++; anterior = trabajo.Posicion; trabajo.Posicion = i; } } } // busco el trabajo en ejecucion actual de la cola MaquinasColasTrabajo trabajoEjecucionActual = db.MaquinasColasTrabajo.FirstOrDefault(x => x.IdMaquina == idMaquina && x.Ejecucion); // si tiene trabajo en ejecución if (trabajoEjecucionActual != null) { // lo desubico var barquilla = db.Barquillas.FirstOrDefault(x => x.CodigoEtiqueta == trabajoEjecucionActual.CodigoEtiquetaFichada); barquilla.CodUbicacion = null; } // elimino toda la cola db.MaquinasColasTrabajo.RemoveRange(db.MaquinasColasTrabajo.Where(x => x.IdMaquina == idMaquina).ToList()); // inserto los trabajos antiguos con las posiciones actualizadas en +1 foreach (var trabajo in trabajosOrdenados) { trabajosInsertar.Add(new MaquinasColasTrabajo { CantidadEtiquetaFichada = trabajo.CantidadEtiquetaFichada, Ejecucion = false, Posicion = trabajo.Posicion + 1, IdTarea = trabajo.IdTarea, Agrupacion = trabajo.Agrupacion, FechaProgramado = trabajo.FechaProgramado, IdMaquina = idMaquina, IdOperarioEjecuta = trabajo.IdOperarioEjecuta, IdOperarioPrograma = trabajo.IdOperarioPrograma, CodigoEtiquetaFichada = trabajo.CodigoEtiquetaFichada, OrdenesFabricacionOperacionesTallasCantidad = trabajo.OrdenesFabricacionOperacionesTallasCantidad }); } // inserto la nueva tarea en ejecución foreach (var id in idsTareas) { var tarea = db.OrdenesFabricacionOperacionesTallasCantidad .Include("OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP") .Include("OrdenesFabricacionProductos") .FirstOrDefault(x => x.ID == id); trabajosInsertar.Add(new MaquinasColasTrabajo { CantidadEtiquetaFichada = cantidad, IdMaquina = idMaquina, IdOperarioEjecuta = idOperario, IdTarea = id, Posicion = 1, Agrupacion = agrupacion ?? 0, FechaProgramado = DateTime.Now, Ejecucion = true, CodigoEtiquetaFichada = codigoBarquilla, OrdenesFabricacionOperacionesTallasCantidad = tarea, }); } db.MaquinasColasTrabajo.AddRange(trabajosInsertar); db.SaveChanges(); } } return(trabajosInsertar); }