/// <summary> /// a partir de una id de operacion, encuentra las ofot /// </summary> /// <param name="idOperacion"></param> /// <returns></returns> public static List<OrdenesFabricacionOperacionesTallas> ObtenerOperacionesTallasOperacion(int idOperacion) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return db.OrdenesFabricacionOperacionesTallas.Where(x => x.IdOrdenFabricacionOperacion == idOperacion).ToList(); } }
public List <SP_BarquillaBuscarInformacionEnSeccion_Result> BuscarInformacionBarquilla(string codEtiqueta, string codSeccion) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.SP_BarquillaBuscarInformacionEnSeccion(codEtiqueta, codSeccion).ToList()); } }
/// <summary> /// busca la lista de tareas en formato SP_BarquillaBuscarInformacionEnSeccion a partir de una ofot /// </summary> /// <param name="idOfot"></param> /// <param name="maquinas"></param> /// <returns></returns> public static List<SP_BarquillaBuscarInformacionEnSeccion_Result> BuscarTareasPorOfot(int idOfot, List<Maquinas> maquinas) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var tarea = db.OrdenesFabricacionOperacionesTallasCantidad.FirstOrDefault(x => x.IdOrdenFabricacionOperacionesTallas == idOfot); List<SP_BarquillaBuscarInformacionEnSeccion_Result> info = new List<SP_BarquillaBuscarInformacionEnSeccion_Result>(); var orden = tarea.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion; info.Add(new SP_BarquillaBuscarInformacionEnSeccion_Result { Codigo = orden.Codigo, IdOrden = orden.ID, CodigoArticulo = orden.CodigoArticulo, DESCRIPCIONARTICULO = orden.Campos_ERP.DESCRIPCIONARTICULO, NOMBRECLI = orden.Campos_ERP.NOMBRECLI, CodigoAgrupacion = orden.Agrupacion, CodigoEtiqueta = tarea.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.ID.ToString().PadLeft(13, '0'), Talla = tarea.OrdenesFabricacionOperacionesTallas.Tallas, Cantidad = tarea.CantidadFabricar.Value + tarea.CantidadSaldos.Value, CodUtillaje = tarea.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.CodUtillaje, Descripcion = tarea.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.Descripcion, IdUtillajeTalla = tarea.OrdenesFabricacionOperacionesTallas.IdUtillajeTalla, Tallas = tarea.OrdenesFabricacionOperacionesTallas.Tallas, CantidadFabricar = tarea.CantidadFabricar.Value + tarea.CantidadSaldos.Value, CantidadFabricada = tarea.OrdenesFabricacionProductos.Sum(x => x.Cantidad), PedidoLinea = orden.Campos_ERP.PEDIDO + "/" + orden.Campos_ERP.LINEAPEDIDO, IdOperacion = tarea.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.ID, IdTarea = tarea.ID, Productividad = 1, Agrupacion = orden.Agrupacion, MaquinasEjecucion = maquinas, }); return info; } }
public static List <Bancadas> ObtenerListaBancadas() { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.Bancadas.ToList()); } }
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 List <MaquinasRegistrosDatos> ObtenerHistoricoParesOperario(int idOperario, string ipAutomata, int posicion, DateTime fechaInicio, DateTime fechaFin) { fechaInicio = fechaInicio.ToUniversalTime(); fechaFin = fechaFin.ToUniversalTime(); using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var registros = db.MaquinasRegistrosDatos .Where(x => x.IdOperario == idOperario && x.IpAutomata == ipAutomata && x.PosicionMaquina == posicion && (fechaInicio <= x.Fecha && x.Fecha <= fechaFin)).ToList(); foreach (var registro in registros) { if (registro.IdTarea != 0) { registro.OrdenesFabricacionOperacionesTallasCantidad = db.OrdenesFabricacionOperacionesTallasCantidad .Include("OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion") .FirstOrDefault(x => x.ID == registro.IdTarea); } } return(registros); } }
public static List <OperacionesControles> ObtenerOperacionesControles() { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.OperacionesControles.Include("MaquinasTipos.Maquinas").Include("Operaciones").ToList()); } }
public async static Task <int> InsertarConsumo(int idTarea, int pares, int idOperario, int idMaquina, bool finalizar) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.OrdenesFabricacionProductos.Add(new OrdenesFabricacionProductos { Cantidad = (double)pares, FechaCreacion = DateTime.Now, IdMaquina = idMaquina, IdOperario = idOperario, Tipo = "PUESTO", IdOrdenFabricacionOperacionTallaCantidad = idTarea, }); if (finalizar) { var tareadb = db.OrdenesFabricacionOperacionesTallasCantidad.Find(idTarea); bool finalizado = tareadb.Finalizado ?? false; if (!finalizado) { tareadb.Finalizado = true; tareadb.IdEstado = 5; } } return(await db.SaveChangesAsync()); } }
public static List<OperariosRegistrosLabores> ObtenerLaboresOperario(int idOperario, DateTime fechaInicio, DateTime fechaFin) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return db.OperariosRegistrosLabores.Where(x => x.IdOperario == idOperario && fechaInicio <= x.FechaInicioLabor && x.FechaInicioLabor <= fechaFin).ToList(); } }
public static List <Maquinas> ObtenerMaquinasEnSecciones(List <string> secciones) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.Maquinas.Where(x => secciones.Contains(x.CodSeccion)).ToList()); } }
public Operarios BuscarPorCodigo(string codigo) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.Operarios.FirstOrDefault(x => x.CodigoObrero.Contains(codigo))); } }
public static List<SP_BarquillaBuscarInformacionEnSeccion_Result> BuscarTareasPorOfot(int idOfot,string talla) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var ofot = db.OrdenesFabricacionOperacionesTallas.FirstOrDefault(x => x.ID == idOfot); var ofotc = ofot.OrdenesFabricacionOperacionesTallasCantidad.First(); var campos =ofot.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP; return new List<SP_BarquillaBuscarInformacionEnSeccion_Result>() { new SP_BarquillaBuscarInformacionEnSeccion_Result { CantidadFabricar = ofotc.CantidadFabricar.Value + ofotc.CantidadSaldos.Value, Cantidad = ofotc.CantidadFabricar.Value + ofotc.CantidadSaldos.Value, Agrupacion = 0, CantidadFabricada = ofotc.OrdenesFabricacionProductos.Sum(x=>x.Cantidad), Codigo = ofot.OrdenesFabricacionOperaciones.OrdenesFabricacion.Codigo, CodigoAgrupacion = ofot.OrdenesFabricacionOperaciones.OrdenesFabricacion.Agrupacion, CodigoArticulo = ofot.OrdenesFabricacionOperaciones.OrdenesFabricacion.CodigoArticulo, CodigoEtiqueta = "", CodUtillaje = ofot.OrdenesFabricacionOperaciones.CodUtillaje, Descripcion = ofot.OrdenesFabricacionOperaciones.Descripcion, DESCRIPCIONARTICULO = campos==null?"SIN DESC":campos.DESCRIPCIONARTICULO, NOMBRECLI=campos==null?"ARNEPLANT S.L.":campos.NOMBRECLI, IdOperacion = ofot.IdOrdenFabricacionOperacion, IdOrden = ofot.OrdenesFabricacionOperaciones.IdOrdenFabricacion, IdTarea = ofotc.ID, IdUtillajeTalla = ofot.IdUtillajeTalla, PedidoLinea = (campos==null?"0":campos.PEDIDO.ToString())+ "/"+(campos==null?"0":campos.LINEAPEDIDO.ToString()), Talla = talla, Tallas = ofot.Tallas, Productividad = 1, } }; } }
public static void InsertarStocks(List <StockArticulos> stocks) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.StockArticulos.AddRange(stocks); db.SaveChanges(); } }
public static void InsertarCorreccion(Tarea tarea, int idOperario, int idPuesto, int pares) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.MaquinasRegistrosDatos.Add(TranformarTareaAMaquinaRegistroDato(tarea, idOperario, idPuesto, pares, false, 1)); db.SaveChangesAsync(); } }
public static void InsertarRegistroLabor(OperariosRegistrosLabores registro) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.OperariosRegistrosLabores.Add(registro); db.SaveChanges(); } }
public static Bancadas ObtenerBancadaConMaquinas(int idBancada) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var bancada = db.Bancadas .Include("Maquinas") .FirstOrDefault(x => x.ID == idBancada); return(bancada); } }
public List <OrdenesFabricacionProductos> PaquetesFabricadosOperario(int idOperario, DateTime fechaInicio, DateTime fechaFin) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.OrdenesFabricacionProductos .Include("OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion") .Where(x => x.IdOperario == idOperario && (fechaInicio <= x.FechaCreacion && x.FechaCreacion <= fechaFin)).ToList()); } }
public Bancadas BuscarPorId(int id) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return(db.Bancadas .Include("Maquinas") .Include("Maquinas.MaquinasColasTrabajo.OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP") .Include("Maquinas.MaquinasColasTrabajo.OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionProductos") .FirstOrDefault(x => x.ID == id)); } }
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 Maquinas ObtenerMaquinaConColaTrabajo(int idMAquina) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var cola = db.Maquinas .Include("MaquinasColasTrabajo.OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP") .Include("MaquinasColasTrabajo.OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionProductos") .Where(m => m.ID == idMAquina).FirstOrDefault(); return(cola); } }
public static Bancadas ObtenerBancadaPorId(int id) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { return db.Bancadas .Include("BancadasConfiguracionesIncidencias") .Include("BancadasConfiguracionesPins") .Include("Maquinas.MaquinasConfiguracionesPins") .Include("Maquinas.MaquinasColasTrabajo.OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP") .Include("Maquinas.MaquinasColasTrabajo.OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionProductos") .FirstOrDefault(x => x.ID == id); } }
public static List <MaquinasColasTrabajo> ObtenerColaTrabajoMaquinaPorId(int idMaquina) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var cola = db.MaquinasColasTrabajo .Include("OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion.Campos_ERP") .Include("OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionProductos") .Where(m => m.IdMaquina == idMaquina).ToList(); return(cola); } }
public static List<MaquinasRegistrosDatos> ObtenerResumenOperario(int idOperario , string ipautomata,DateTime fechaInicio, DateTime fechaFin) { fechaInicio = fechaInicio.ToUniversalTime(); fechaFin = fechaFin.ToUniversalTime(); using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var registros= db.MaquinasRegistrosDatos .Include("OrdenesFabricacionOperacionesTallasCantidad.OrdenesFabricacionOperacionesTallas.OrdenesFabricacionOperaciones.OrdenesFabricacion") .Where(x => x.IdOperario == idOperario && x.IpAutomata == ipautomata && (fechaInicio <= x.Fecha && x.Fecha <= fechaFin)).ToList(); return registros; } }
public static List<SP_BarquillaBuscarInformacionEnSeccion_Result> BuscarTareasPorCodigoBarquilla(string codigo, List<Maquinas> maquinas) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { List<SP_BarquillaBuscarInformacionEnSeccion_Result> info = new List<SP_BarquillaBuscarInformacionEnSeccion_Result>(); foreach (var maquina in maquinas) { var _infos = db.SP_BarquillaBuscarInformacionEnSeccion(codigo, maquina.CodSeccion).ToList(); foreach (var _info in _infos) { _info.MaquinasEjecucion.Add(maquina); } info.AddRange(_infos); } return info; } }
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 static Maquinas ObtenerMaquinaCompleta(int idMaquina) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var maquina = db.Maquinas .Include("MaquinasColasTrabajo" + ".OrdenesFabricacionOperacionesTallasCantidad" + ".OrdenesFabricacionOperacionesProductos") .Include("MaquinasColasTrabajo" + ".OrdenesFabricacionOperacionesTallasCantidad" + ".OrdenesFabricacionOperacionesTallas" + ".OrdenesFabricacionOperaciones" + ".OrdenesFabricacion" + ".Campos_ERP") .FirstOrDefault(x => x.ID == idMaquina); return(maquina); } }
public static OperacionesControles BuscarControlOperacion(int idOfo, int idTipoMaquina) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { var ofo = db.OrdenesFabricacionOperaciones.Find(idOfo); if (ofo.IdOperacionMaestra == null) { return(OperacionesControles.Default); } var control = db.OperacionesControles.FirstOrDefault(x => x.IdOperacion == ofo.IdOperacionMaestra && x.IdTipoMaquina == idTipoMaquina); if (control == null) { return(OperacionesControles.Default); } else { return(control); } } }
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); }