public JsonResult GuardarAsignaciones(AsignarOrdenVentaModel model) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.GuardarAsignacionesOrdeneVenta( model.OrdenesVenta.Select(p => p.Id).ToList(), model.AsistentePlaneamiento.Select(p => new Usuario { Id = p.Id, CantidadOV = p.CantidadOV }).ToList()); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult ValidarHorarioMaquina(int idMaquina, string fechaInicio, string fechaFin) { var response = new JsonResponse(); try { var f1 = Utils.ConvertDate(fechaInicio, "dd/MM/yyyy HH:mm").Value; var f2 = Utils.ConvertDate(fechaFin, "dd/MM/yyyy HH:mm").Value; var cantidad = 0; using (var service = new ProduccionServiceClient()) { cantidad = service.ValidarHorarioOrdenProduccionSecuencia(idMaquina, f1, f2); } response.Data = cantidad; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public ActionResult EjecutarOrdenProduccion() { var model = new List <OrdenProduccionModel>(); try { IList <OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccionParaEjecucion(); } foreach (var item in ordenesProduccion) { model.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, Estado = item.Estado, NombreOperador = item.Operador == null ? string.Empty : item.Operador.NombreCompleto }); } } catch (Exception ex) { LogError(ex); } return(View(model)); }
private OrdenProduccionModel OrdenProduccionPorNumero(string numero) { var model = new OrdenProduccionModel(); OrdenProduccion ordenProduccion; using (var service = new ProduccionServiceClient()) { ordenProduccion = service.ObetenerOrdenProduccionPorNumero(numero); } if (ordenProduccion == null) { throw new Exception("El número (" + numero + ") de Orden de Producción no existe."); } model.Id = ordenProduccion.Id; model.Numero = ordenProduccion.Numero; model.CantidadOrdenVenta = ordenProduccion.OrdenVenta.Cantidad; model.DescripcionProducto = ordenProduccion.OrdenVenta.Producto.Descripcion; model.FechaEntrega = ordenProduccion.OrdenVenta.FechaEntrega; model.NumeroOrdenVenta = ordenProduccion.Numero; model.StockMinimoProducto = ordenProduccion.OrdenVenta.Producto.StockMinimo; model.StockProducto = ordenProduccion.OrdenVenta.Producto.Stock; model.CantidadProducto = ordenProduccion.OrdenVenta.Cantidad + ordenProduccion.OrdenVenta.Producto.StockMinimo - ordenProduccion.OrdenVenta.Producto.Stock; foreach (var item in ordenProduccion.Materiales) { model.Materiales.Add(new OrdenProduccionMaterialModel { IdMaterial = item.Material.Id, DescripcionMaterial = item.Material.Descripcion, Stock = item.Material.Stock, StockMinimo = item.Material.StockMinimo, Requerido = item.Requerido, Reservado = item.Material.Reservado, Comprar = item.Comprar }); } foreach (var item in ordenProduccion.Secuencia) { model.Secuencia.Add(new OrdenProduccionSecuenciaModel { IdMaquina = item.Maquina.Id, Secuencia = item.Secuencia, DescripcionMaquina = item.Maquina.Descripcion, PorcentajeFalla = item.Maquina.PorcentajeFalla, Tiempo = item.Maquina.Tiempo, FechaInicio = item.FechaInicio, FechaFin = item.FechaFin }); } return(model); }
public ActionResult CrearOrdenProduccion(string numero) { var model = new OrdenProduccionModel(); try { OrdenVenta ordenVenta; using (var service = new ProduccionServiceClient()) { ordenVenta = service.ObtenerOrdenVentaPorNumero(numero); } if (ordenVenta == null) { throw new Exception("El número (" + numero + ") de Orden de Venta no existe."); } model.IdOrdenVenta = ordenVenta.Id; model.CantidadOrdenVenta = ordenVenta.Cantidad; model.IdProducto = ordenVenta.Producto.Id; model.DescripcionProducto = ordenVenta.Producto.Descripcion; model.FechaEntrega = ordenVenta.FechaEntrega; model.NumeroOrdenVenta = ordenVenta.Numero; model.StockMinimoProducto = ordenVenta.Producto.StockMinimo; model.StockProducto = ordenVenta.Producto.Stock; model.CantidadProducto = model.CantidadOrdenVenta + model.StockMinimoProducto - model.StockProducto; List <Material> materiales = null; using (var service = new ProduccionServiceClient()) { materiales = service.ListarMaterialesPorProducto(ordenVenta.Producto.Id); } foreach (var material in materiales) { var materialRequerido = new OrdenProduccionMaterialModel { DescripcionMaterial = material.Descripcion, IdMaterial = material.Id, Stock = material.Stock, StockMinimo = material.StockMinimo, Requerido = material.Cantidad, //Cantidad necesaria para un Producto Reservado = material.Reservado }; model.Materiales.Add(materialRequerido); } } catch (Exception ex) { LogError(ex); } return(View("OrdenProduccion", model)); }
public ActionResult CrearOrdenProduccion(string numero) { var model = new OrdenProduccionModel(); try { OrdenVenta ordenVenta; using (var service = new ProduccionServiceClient()) { ordenVenta = service.ObtenerOrdenVentaPorNumero(numero); } if (ordenVenta == null) { throw new Exception("El número (" + numero + ") de Orden de Venta no existe."); } model.IdOrdenVenta = ordenVenta.Id; model.CantidadOrdenVenta = ordenVenta.Cantidad; model.IdProducto = ordenVenta.Producto.Id; model.DescripcionProducto = ordenVenta.Producto.Descripcion; model.FechaEntrega = ordenVenta.FechaEntrega; model.NumeroOrdenVenta = ordenVenta.Numero; model.StockMinimoProducto = ordenVenta.Producto.StockMinimo; model.StockProducto = ordenVenta.Producto.Stock; model.CantidadProducto = model.CantidadOrdenVenta + model.StockMinimoProducto - model.StockProducto; List<Material> materiales = null; using (var service = new ProduccionServiceClient()) { materiales = service.ListarMaterialesPorProducto(ordenVenta.Producto.Id); } foreach (var material in materiales) { var materialRequerido = new OrdenProduccionMaterialModel { DescripcionMaterial = material.Descripcion, IdMaterial = material.Id, Stock = material.Stock, StockMinimo = material.StockMinimo, Requerido = material.Cantidad, //Cantidad necesaria para un Producto Reservado = material.Reservado }; model.Materiales.Add(materialRequerido); } } catch (Exception ex) { LogError(ex); } return View("OrdenProduccion", model); }
public JsonResult IniciarProceso(int idMaquina) { var response = new JsonResponse(); try { var maquinaActual = OrdenProduccionActual.Secuencia.FirstOrDefault(p => p.IdMaquina == idMaquina); var archivo = string.Format(@"C:\MetalForming\{0}\{1}\plc.txt", OrdenProduccionActual.Numero, maquinaActual.PLC); using (var stream = new FileStream(archivo, FileMode.Open, FileAccess.Write)) { using (var writer = new StreamWriter(stream)) { writer.WriteLine("#Maquina:" + maquinaActual.DescripcionMaquina); writer.WriteLine("#FechaInicioProduccion:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); writer.WriteLine("#FechaFinProduccion:"); writer.WriteLine("#Longitud:" + maquinaActual.Longitud); writer.WriteLine("#Espesor:" + maquinaActual.Espesor); writer.WriteLine("#Ciclo:" + maquinaActual.Ciclo); writer.WriteLine("#NoCiclos:"); writer.WriteLine("#MotivosDeParada:"); writer.WriteLine("#TiempoParada:"); writer.WriteLine("#TiempoProduccion:"); writer.WriteLine("#UnidadesAProducir:" + OrdenProduccionActual.CantidadProducto); writer.WriteLine("#UnidadesProducidas:"); writer.WriteLine("#UnidadesDefectuosas:"); } } using (var service = new ProduccionServiceClient()) { service.ActualizarEstadoOrdenProduccionSecuencia(OrdenProduccionActual.Id, idMaquina, Constantes.EstadoProcesoMaquina.EnProceso); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult FinalizarPrograma(int idPrograma, string motivo) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.FinalizarPrograma(idPrograma, motivo); } response.Success = true; } catch (Exception ex) { LogError(ex); response.Message = ex.Message; } return(Json(response)); }
public JsonResult AprobarOrdenProduccionMasivo(List<int> ordenesProduccion) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.AprobarMasivoOrdenesProduccion(ordenesProduccion); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public JsonResult ActualizarEstadoSecuencia(int idMaquina, string estado) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.ActualizarEstadoOrdenProduccionSecuencia(OrdenProduccionActual.Id, idMaquina, estado); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public JsonResult AprobarOrdenProduccionIndividual(int id) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.AprobarIndividualOrdenProduccion(id); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public JsonResult CrearCarpetasArcivosPLC() { var response = new JsonResponse(); try { foreach (var secuencia in OrdenProduccionActual.Secuencia) { var directorio = string.Format(@"C:\MetalForming\{0}\{1}", OrdenProduccionActual.Numero, secuencia.PLC); Directory.CreateDirectory(directorio); var archivo = Path.Combine(directorio, "plc.txt"); if (System.IO.File.Exists(archivo)) { System.IO.File.Delete(archivo); } var file = System.IO.File.Create(archivo); file.Close(); file.Dispose(); } using (var service = new ProduccionServiceClient()) { service.ActualizarEstadoOrdenProduccion(OrdenProduccionActual.Id, Constantes.EstadoOrdenPoduccion.Conformado); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult GuardarPrograma(ProgramaModel model) { var response = new JsonResponse(); try { var fechaInicio = Utils.ConvertDate(model.FechaInicioStr, "dd/MM/yyyy"); var fechaFin = Utils.ConvertDate(model.FechaFinStr, "dd/MM/yyyy"); var programa = new Programa { Id = model.Id, Numero = model.Numero, FechaInicio = fechaInicio.Value, FechaFin = fechaFin.Value, CantidadOV = model.CantidadOV, Estado = model.Estado, IdPlan = model.IdPlan, OrdenesVenta = new List <OrdenVenta>() }; foreach (var ordenVenta in model.OrdenesVenta) { programa.OrdenesVenta.Add(ordenVenta); } using (var service = new ProduccionServiceClient()) { response.Data = service.GuardarPrograma(programa); } response.Success = true; } catch (Exception ex) { LogError(ex); response.Message = ex.Message; } return(Json(response)); }
public JsonResult AprobarOrdenProduccionMasivo(List <int> ordenesProduccion) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.AprobarMasivoOrdenesProduccion(ordenesProduccion); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult AprobarOrdenProduccionIndividual(int id) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.AprobarIndividualOrdenProduccion(id); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult RechazarOrdenProduccion(int id, string motivo) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.RechazarOrdenProduccion(id, motivo); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult ActualizarEstadoSecuencia(int idMaquina, string estado) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.ActualizarEstadoOrdenProduccionSecuencia(OrdenProduccionActual.Id, idMaquina, estado); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult BuscarMaquina(string descripcion, string tipo, string pld, string configuracion) { var response = new JsonResponse(); try { IList<Maquina> maquinas; using (var service = new ProduccionServiceClient()) { maquinas = service.ListarMaquinaPorBusqueda(descripcion, tipo, pld, configuracion); } response.Data = maquinas; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public JsonResult BuscarMaquina(string descripcion, string tipo, string pld, string configuracion) { var response = new JsonResponse(); try { IList <Maquina> maquinas; using (var service = new ProduccionServiceClient()) { maquinas = service.ListarMaquinaPorBusqueda(descripcion, tipo, pld, configuracion); } response.Data = maquinas; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult ObtenerMaquina(int idMaquina) { var response = new JsonResponse(); try { Maquina maquina; using (var service = new ProduccionServiceClient()) { maquina = service.ObtenerMaquinaPorID(idMaquina); } response.Data = maquina; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public ActionResult EjecucionOrdenProduccion(string numero) { var model = new OrdenProduccionModel(); try { OrdenProduccion ordenProduccion; using (var service = new ProduccionServiceClient()) { ordenProduccion = service.ObetenerOrdenProduccionPorNumero(numero); } if (ordenProduccion == null) { throw new Exception("El número (" + numero + ") de Orden de Producción no existe."); } model.Id = ordenProduccion.Id; model.Numero = ordenProduccion.Numero; model.FechaEntrega = ordenProduccion.OrdenVenta.FechaEntrega; model.NumeroOrdenVenta = ordenProduccion.Numero; model.Estado = ordenProduccion.Estado; model.CantidadProducto = ordenProduccion.CantidadProducto; foreach (var item in ordenProduccion.Materiales) { model.Materiales.Add(new OrdenProduccionMaterialModel { IdMaterial = item.Material.Id, DescripcionMaterial = item.Material.Descripcion, Stock = item.Material.Stock, StockMinimo = item.Material.StockMinimo, Requerido = item.Requerido, Reservado = item.Material.Reservado, Comprar = item.Comprar }); } foreach (var item in ordenProduccion.Secuencia) { model.Secuencia.Add(new OrdenProduccionSecuenciaModel { IdMaquina = item.Maquina.Id, Secuencia = item.Secuencia, DescripcionMaquina = item.Maquina.Descripcion, PorcentajeFalla = item.Maquina.PorcentajeFalla, Tiempo = item.Maquina.Tiempo, FechaInicio = item.FechaInicio, FechaFin = item.FechaFin, Estado = item.Estado, PLC = item.Maquina.PLD, Ciclo = item.Maquina.Ciclo, Longitud = item.Maquina.Longitud, Espesor = item.Maquina.Espesor }); } OrdenProduccionActual = model; } catch (Exception ex) { LogError(ex); } return(View(model)); }
public ActionResult AsignarOrdenVenta() { var model = new AsignarOrdenVentaModel(); try { Programa programaVigente; using (var service = new ProduccionServiceClient()) { programaVigente = service.ObtenerProgramaVigente(); } if (programaVigente != null) { model.ProgramaVigente = new ProgramaModel { Id = programaVigente.Id, Numero = programaVigente.Numero, FechaInicio = programaVigente.FechaInicio, FechaFin = programaVigente.FechaFin }; IList <OrdenVenta> ordenesVenta; using (var service = new ProduccionServiceClient()) { ordenesVenta = service.ListarOrdenesVentaParaAsignar(model.ProgramaVigente.Id); } foreach (var item in ordenesVenta) { model.OrdenesVenta.Add(new OrdenVentaModel { Id = item.Id, Numero = item.Numero, Cliente = item.Cliente, FechaEntrega = item.FechaEntrega, Estado = item.Estado, IdPrograma = item.IdPrograma, NombreAsistentePlaneamiento = item.AsistentePlaneamiento == null ? string.Empty : item.AsistentePlaneamiento.NombreCompleto }); } } IList <Usuario> asistentesPlaneamiento; using (var service = new ProduccionServiceClient()) { asistentesPlaneamiento = service.ListarAsistentePlaneamiento(); } foreach (var asistentePlaneamiento in asistentesPlaneamiento) { model.AsistentePlaneamiento.Add(new UsuarioModel { Id = asistentePlaneamiento.Id, NombreCompleto = asistentePlaneamiento.NombreCompleto, Username = asistentePlaneamiento.Username, CantidadOV = asistentePlaneamiento.CantidadOV }); } } catch (Exception ex) { LogError(ex); } return(View(model)); }
public JsonResult CrearCarpetasArcivosPLC() { var response = new JsonResponse(); try { foreach (var secuencia in OrdenProduccionActual.Secuencia) { var directorio = string.Format(@"C:\MetalForming\{0}\{1}", OrdenProduccionActual.Numero, secuencia.PLC); Directory.CreateDirectory(directorio); var archivo = Path.Combine(directorio, "plc.txt"); if (System.IO.File.Exists(archivo)) System.IO.File.Delete(archivo); var file = System.IO.File.Create(archivo); file.Close(); file.Dispose(); } using (var service = new ProduccionServiceClient()) { service.ActualizarEstadoOrdenProduccion(OrdenProduccionActual.Id, Constantes.EstadoOrdenPoduccion.Conformado); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public ActionResult MantenerOrdenProduccion() { var model = new ProgramacionModel(); try { Programa programaVigente; using (var service = new ProduccionServiceClient()) { programaVigente = service.ObtenerProgramaVigente(); } if (programaVigente != null) { model.ProgramaVigente = new ProgramaModel { Id = programaVigente.Id, Numero = programaVigente.Numero, FechaInicio = programaVigente.FechaInicio, FechaFin = programaVigente.FechaFin }; IList<OrdenVenta> ordenesVenta; using (var service = new ProduccionServiceClient()) { ordenesVenta = service.ListarOrdenesVentaPorPrograma(model.ProgramaVigente.Id); } foreach (var item in ordenesVenta) { model.OrdenesVenta.Add(new OrdenVentaModel { Id = item.Id, Numero = item.Numero, Cliente = item.Cliente, FechaEntrega = item.FechaEntrega, Estado = item.Estado, IdPrograma = item.IdPrograma }); } IList<OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccionPorPrograma(model.ProgramaVigente.Id); } foreach (var item in ordenesProduccion) { model.OrdenesProduccion.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, DescripcionProducto = item.OrdenVenta.Producto.Descripcion, Estado = item.Estado }); } } } catch (Exception ex) { LogError(ex); } return View(model); }
public ActionResult AsignarOrdenProduccion() { var model = new AsignarOrdenProduccionModel(); try { Programa programaVigente; using (var service = new ProduccionServiceClient()) { programaVigente = service.ObtenerProgramaVigente(); } if (programaVigente != null) { model.ProgramaVigente = new ProgramaModel { Id = programaVigente.Id, Numero = programaVigente.Numero, FechaInicio = programaVigente.FechaInicio, FechaFin = programaVigente.FechaFin }; IList<OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccionParaAsignar(model.ProgramaVigente.Id); } foreach (var item in ordenesProduccion) { model.OrdenesProduccion.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, Estado = item.Estado, DescripcionProducto = item.OrdenVenta.Producto.Descripcion, NombreOperador = item.Operador == null ? string.Empty : item.Operador.NombreCompleto }); } } IList<Usuario> operadores; using (var service = new ProduccionServiceClient()) { operadores = service.ListarOperadores(); } foreach (var operador in operadores) { model.Operadores.Add(new UsuarioModel { Id = operador.Id, NombreCompleto = operador.NombreCompleto, Username = operador.Username, CantidadOP = operador.CantidadOP }); } } catch (Exception ex) { LogError(ex); } return View(model); }
public ActionResult AsignarOrdenVenta() { var model = new AsignarOrdenVentaModel(); try { Programa programaVigente; using (var service = new ProduccionServiceClient()) { programaVigente = service.ObtenerProgramaVigente(); } if (programaVigente != null) { model.ProgramaVigente = new ProgramaModel { Id = programaVigente.Id, Numero = programaVigente.Numero, FechaInicio = programaVigente.FechaInicio, FechaFin = programaVigente.FechaFin }; IList<OrdenVenta> ordenesVenta; using (var service = new ProduccionServiceClient()) { ordenesVenta = service.ListarOrdenesVentaParaAsignar(model.ProgramaVigente.Id); } foreach (var item in ordenesVenta) { model.OrdenesVenta.Add(new OrdenVentaModel { Id = item.Id, Numero = item.Numero, Cliente = item.Cliente, FechaEntrega = item.FechaEntrega, Estado = item.Estado, IdPrograma = item.IdPrograma, NombreAsistentePlaneamiento = item.AsistentePlaneamiento == null ? string.Empty : item.AsistentePlaneamiento.NombreCompleto }); } } IList<Usuario> asistentesPlaneamiento; using (var service = new ProduccionServiceClient()) { asistentesPlaneamiento = service.ListarAsistentePlaneamiento(); } foreach (var asistentePlaneamiento in asistentesPlaneamiento) { model.AsistentePlaneamiento.Add(new UsuarioModel { Id = asistentePlaneamiento.Id, NombreCompleto = asistentePlaneamiento.NombreCompleto, Username = asistentePlaneamiento.Username, CantidadOV = asistentePlaneamiento.CantidadOV }); } } catch (Exception ex) { LogError(ex); } return View(model); }
public ActionResult Index() { var model = new ProgramacionModel(); try { IList<OrdenVenta> ordenesVenta; using (var service = new ProduccionServiceClient()) { ordenesVenta = service.ListarOrdenesVenta(); } foreach (var item in ordenesVenta) { model.OrdenesVenta.Add(new OrdenVentaModel { Id = item.Id, Numero = item.Numero, Cliente = item.Cliente, FechaEntrega = item.FechaEntrega, Estado = item.Estado }); } IList<OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccion(); } foreach (var item in ordenesProduccion) { model.OrdenesProduccion.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, DescripcionProducto = item.OrdenVenta.Producto.Descripcion, Estado = item.Estado }); } } catch (Exception ex) { LogError(ex); } return View(model); }
public JsonResult RechazarOrdenProduccion(int id, string motivo) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.RechazarOrdenProduccion(id, motivo); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public JsonResult ObtenerMaquina(int idMaquina) { var response = new JsonResponse(); try { Maquina maquina; using (var service = new ProduccionServiceClient()) { maquina = service.ObtenerMaquinaPorID(idMaquina); } response.Data = maquina; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public ActionResult EjecutarOrdenProduccion() { var model = new List<OrdenProduccionModel>(); try { IList<OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccionParaEjecucion(); } foreach (var item in ordenesProduccion) { model.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, Estado = item.Estado, NombreOperador = item.Operador == null ? string.Empty : item.Operador.NombreCompleto }); } } catch (Exception ex) { LogError(ex); } return View(model); }
public ActionResult MantenerPrograma() { var model = new ProgramaModel(); try { using (var service = new ProduccionServiceClient()) { model.PlanVigente = service.ObtenerPlanVigente(); } if (model.PlanVigente != null && model.PlanVigente.Estado == Constantes.EstadoPlan.Pendiente) { using (var service = new ProduccionServiceClient()) { model.ProgramasAnteriores = service.ListrarProgramasPorPlan(model.PlanVigente.Id); } if (model.ProgramasAnteriores.Any(p => p.Estado == Constantes.EstadoPrograma.Programado)) { var programaVigente = model.ProgramasAnteriores.LastOrDefault( p => p.Estado == Constantes.EstadoOrdenPoduccion.Programado); if (programaVigente != null) { model.Id = programaVigente.Id; model.Numero = programaVigente.Numero; model.FechaInicio = programaVigente.FechaInicio; model.FechaFin = programaVigente.FechaFin; model.CantidadOV = programaVigente.CantidadOV; model.Estado = programaVigente.Estado; model.ProgramasAnteriores.Remove(programaVigente); IList <OrdenVenta> ordenesVentaPorPrograma; using (var service = new ProduccionServiceClient()) { ordenesVentaPorPrograma = service.ListarOrdenesVentaPorPrograma(model.Id); } if (ordenesVentaPorPrograma.Count > 0) { foreach (var ordenVenta in ordenesVentaPorPrograma) { model.OrdenesVenta.Add(ordenVenta); } } } } else { using (var service = new ProduccionServiceClient()) { model.OrdenesVenta = service.ListarOrdenesVentaPendiente(); } } } } catch (Exception ex) { LogError(ex); } return(View(model)); }
public ActionResult MantenerOrdenProduccion() { var model = new ProgramacionModel(); try { Programa programaVigente; using (var service = new ProduccionServiceClient()) { programaVigente = service.ObtenerProgramaVigente(); } if (programaVigente != null) { model.ProgramaVigente = new ProgramaModel { Id = programaVigente.Id, Numero = programaVigente.Numero, FechaInicio = programaVigente.FechaInicio, FechaFin = programaVigente.FechaFin }; IList <OrdenVenta> ordenesVenta; using (var service = new ProduccionServiceClient()) { ordenesVenta = service.ListarOrdenesVentaPorPrograma(model.ProgramaVigente.Id); } foreach (var item in ordenesVenta) { model.OrdenesVenta.Add(new OrdenVentaModel { Id = item.Id, Numero = item.Numero, Cliente = item.Cliente, FechaEntrega = item.FechaEntrega, Estado = item.Estado, IdPrograma = item.IdPrograma }); } IList <OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccionPorPrograma(model.ProgramaVigente.Id); } foreach (var item in ordenesProduccion) { model.OrdenesProduccion.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, DescripcionProducto = item.OrdenVenta.Producto.Descripcion, Estado = item.Estado }); } } } catch (Exception ex) { LogError(ex); } return(View(model)); }
public JsonResult IniciarProceso(int idMaquina) { var response = new JsonResponse(); try { var maquinaActual = OrdenProduccionActual.Secuencia.FirstOrDefault(p => p.IdMaquina == idMaquina); var archivo = string.Format(@"C:\MetalForming\{0}\{1}\plc.txt", OrdenProduccionActual.Numero, maquinaActual.PLC); using (var stream = new FileStream(archivo, FileMode.Open, FileAccess.Write)) { using (var writer = new StreamWriter(stream)) { writer.WriteLine("#Maquina:" + maquinaActual.DescripcionMaquina); writer.WriteLine("#FechaInicioProduccion:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); writer.WriteLine("#FechaFinProduccion:"); writer.WriteLine("#Longitud:" + maquinaActual.Longitud); writer.WriteLine("#Espesor:" + maquinaActual.Espesor); writer.WriteLine("#Ciclo:" + maquinaActual.Ciclo); writer.WriteLine("#NoCiclos:"); writer.WriteLine("#MotivosDeParada:"); writer.WriteLine("#TiempoParada:"); writer.WriteLine("#TiempoProduccion:"); writer.WriteLine("#UnidadesAProducir:" + OrdenProduccionActual.CantidadProducto); writer.WriteLine("#UnidadesProducidas:"); writer.WriteLine("#UnidadesDefectuosas:"); } } using (var service = new ProduccionServiceClient()) { service.ActualizarEstadoOrdenProduccionSecuencia(OrdenProduccionActual.Id, idMaquina, Constantes.EstadoProcesoMaquina.EnProceso); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public ActionResult AsignarOrdenProduccion() { var model = new AsignarOrdenProduccionModel(); try { Programa programaVigente; using (var service = new ProduccionServiceClient()) { programaVigente = service.ObtenerProgramaVigente(); } if (programaVigente != null) { model.ProgramaVigente = new ProgramaModel { Id = programaVigente.Id, Numero = programaVigente.Numero, FechaInicio = programaVigente.FechaInicio, FechaFin = programaVigente.FechaFin }; IList <OrdenProduccion> ordenesProduccion; using (var service = new ProduccionServiceClient()) { ordenesProduccion = service.ListarOrdenesProduccionParaAsignar(model.ProgramaVigente.Id); } foreach (var item in ordenesProduccion) { model.OrdenesProduccion.Add(new OrdenProduccionModel { Id = item.Id, Numero = item.Numero, NumeroOrdenVenta = item.OrdenVenta.Numero, FechaEntrega = item.OrdenVenta.FechaEntrega, Estado = item.Estado, DescripcionProducto = item.OrdenVenta.Producto.Descripcion, NombreOperador = item.Operador == null ? string.Empty : item.Operador.NombreCompleto }); } } IList <Usuario> operadores; using (var service = new ProduccionServiceClient()) { operadores = service.ListarOperadores(); } foreach (var operador in operadores) { model.Operadores.Add(new UsuarioModel { Id = operador.Id, NombreCompleto = operador.NombreCompleto, Username = operador.Username, CantidadOP = operador.CantidadOP }); } } catch (Exception ex) { LogError(ex); } return(View(model)); }
public JsonResult GuardarPrograma(ProgramaModel model) { var response = new JsonResponse(); try { var fechaInicio = Utils.ConvertDate(model.FechaInicioStr, "dd/MM/yyyy"); var fechaFin = Utils.ConvertDate(model.FechaFinStr, "dd/MM/yyyy"); var programa = new Programa { Id = model.Id, Numero = model.Numero, FechaInicio = fechaInicio.Value, FechaFin = fechaFin.Value, CantidadOV = model.CantidadOV, Estado = model.Estado, IdPlan = model.IdPlan, OrdenesVenta = new List<OrdenVenta>() }; foreach (var ordenVenta in model.OrdenesVenta) { programa.OrdenesVenta.Add(ordenVenta); } using (var service = new ProduccionServiceClient()) { response.Data = service.GuardarPrograma(programa); } response.Success = true; } catch (Exception ex) { LogError(ex); response.Message = ex.Message; } return Json(response); }
public JsonResult GuardarAsignaciones(AsignarOrdenVentaModel model) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.GuardarAsignacionesOrdeneVenta( model.OrdenesVenta.Select(p => p.Id).ToList(), model.AsistentePlaneamiento.Select(p => new Usuario { Id = p.Id, CantidadOV = p.CantidadOV }).ToList()); } response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public ActionResult MantenerPrograma() { var model = new ProgramaModel(); try { using (var service = new ProduccionServiceClient()) { model.PlanVigente = service.ObtenerPlanVigente(); } if (model.PlanVigente != null && model.PlanVigente.Estado == Constantes.EstadoPlan.Pendiente) { using (var service = new ProduccionServiceClient()) { model.ProgramasAnteriores = service.ListrarProgramasPorPlan(model.PlanVigente.Id); } if (model.ProgramasAnteriores.Any(p => p.Estado == Constantes.EstadoPrograma.Programado)) { var programaVigente = model.ProgramasAnteriores.LastOrDefault( p => p.Estado == Constantes.EstadoOrdenPoduccion.Programado); if (programaVigente != null) { model.Id = programaVigente.Id; model.Numero = programaVigente.Numero; model.FechaInicio = programaVigente.FechaInicio; model.FechaFin = programaVigente.FechaFin; model.CantidadOV = programaVigente.CantidadOV; model.Estado = programaVigente.Estado; model.ProgramasAnteriores.Remove(programaVigente); IList<OrdenVenta> ordenesVentaPorPrograma; using (var service = new ProduccionServiceClient()) { ordenesVentaPorPrograma = service.ListarOrdenesVentaPorPrograma(model.Id); } if (ordenesVentaPorPrograma.Count > 0) { foreach (var ordenVenta in ordenesVentaPorPrograma) { model.OrdenesVenta.Add(ordenVenta); } } } } else { using (var service = new ProduccionServiceClient()) { model.OrdenesVenta = service.ListarOrdenesVentaPendiente(); } } } } catch (Exception ex) { LogError(ex); } return View(model); }
public JsonResult ValidarHorarioMaquina(int idMaquina, string fechaInicio, string fechaFin) { var response = new JsonResponse(); try { var f1 = Utils.ConvertDate(fechaInicio, "dd/MM/yyyy HH:mm").Value; var f2 = Utils.ConvertDate(fechaFin, "dd/MM/yyyy HH:mm").Value; var cantidad = 0; using (var service = new ProduccionServiceClient()) { cantidad = service.ValidarHorarioOrdenProduccionSecuencia(idMaquina, f1, f2); } response.Data = cantidad; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public ActionResult VerOrdenProduccion(string numero) { var model = new OrdenProduccionModel(); try { OrdenProduccion ordenProduccion; using (var service = new ProduccionServiceClient()) { ordenProduccion = service.ObetenerOrdenProduccionPorNumero(numero); } if (ordenProduccion == null) { throw new Exception("El número (" + numero + ") de Orden de Producción no existe."); } model.Id = ordenProduccion.Id; model.Numero = ordenProduccion.Numero; model.CantidadOrdenVenta = ordenProduccion.OrdenVenta.Cantidad; model.DescripcionProducto = ordenProduccion.OrdenVenta.Producto.Descripcion; model.FechaEntrega = ordenProduccion.OrdenVenta.FechaEntrega; model.NumeroOrdenVenta = ordenProduccion.Numero; model.StockMinimoProducto = ordenProduccion.OrdenVenta.Producto.StockMinimo; model.StockProducto = ordenProduccion.OrdenVenta.Producto.Stock; model.CantidadProducto = ordenProduccion.CantidadProducto; foreach (var item in ordenProduccion.Materiales) { model.Materiales.Add(new OrdenProduccionMaterialModel { IdMaterial = item.Material.Id, DescripcionMaterial = item.Material.Descripcion, Stock = item.Material.Stock, StockMinimo = item.Material.StockMinimo, Requerido = item.Requerido, Reservado = item.Material.Reservado, Comprar = item.Comprar }); } foreach (var item in ordenProduccion.Secuencia) { model.Secuencia.Add(new OrdenProduccionSecuenciaModel { IdMaquina = item.Maquina.Id, Secuencia = item.Secuencia, DescripcionMaquina = item.Maquina.Descripcion, PorcentajeFalla = item.Maquina.PorcentajeFalla, Tiempo = item.Maquina.Tiempo, FechaInicio = item.FechaInicio, FechaFin = item.FechaFin }); } } catch (Exception ex) { LogError(ex); } return View("OrdenProduccion", model); }
public JsonResult GuardarOrdenProduccion(OrdenProduccionModel model) { var response = new JsonResponse(); try { var ordenProduccion = new OrdenProduccion { TomarStock = model.TomarStock, CantidadProducto = model.CantidadProducto, CantidadProductoDigitado = model.CantidadProductoDigitado, Estado = Constantes.EstadoOrdenPoduccion.PendienteAprobar, OrdenVenta = new OrdenVenta { Id = model.IdOrdenVenta, Producto = new Producto { Id = model.IdProducto, Stock = model.StockProducto, StockMinimo = model.StockMinimoProducto }, Cantidad = model.CantidadOrdenVenta }, Materiales = new List <OrdenProduccionMaterial>(), Secuencia = new List <OrdenProduccionSecuencia>() }; foreach (var material in model.Materiales) { ordenProduccion.Materiales.Add(new OrdenProduccionMaterial { Comprar = material.Comprar, Requerido = material.Requerido, Material = new Material { Id = material.IdMaterial, Stock = material.Stock, StockMinimo = material.StockMinimo } }); } foreach (var secuencia in model.Secuencia) { var fechaInicio = Utils.ConvertDate(secuencia.FechaInicioStr, "dd/MM/yyyy HH:mm"); var fechaFin = Utils.ConvertDate(secuencia.FechaFinStr, "dd/MM/yyyy HH:mm"); ordenProduccion.Secuencia.Add(new OrdenProduccionSecuencia { Secuencia = secuencia.Secuencia, Maquina = new Maquina { Id = secuencia.IdMaquina }, FechaInicio = fechaInicio.Value, FechaFin = fechaFin.Value }); } var idOrdenProduccion = 0; using (var service = new ProduccionServiceClient()) { idOrdenProduccion = service.RegistrarOrdenProduccion(ordenProduccion); } response.Data = idOrdenProduccion; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return(Json(response)); }
public JsonResult Guardar(OrdenProduccionModel model) { var response = new JsonResponse(); try { var ordenProduccion = new OrdenProduccion { CantidadProducto = model.CantidadProducto, TomarStock = model.TomarStock, Estado = "Pendiente", OrdenVenta = new OrdenVenta { Id = model.IdOrdenVenta, Producto = new Producto { Id = model.IdProducto } }, Materiales = new List<OrdenProduccionMaterial>(), Secuencia = new List<OrdenProduccionSecuencia>() }; foreach (var material in model.Materiales) { ordenProduccion.Materiales.Add(new OrdenProduccionMaterial { Comprar = material.Comprar, Requerido = material.Requerido, Material = new Material {Id = material.IdMaterial} }); } foreach (var secuencia in model.Secuencia) { var fechaInicio = Utils.ConvertDate(secuencia.FechaInicioStr, "dd/MM/yyyy HH:mm"); var fechaFin = Utils.ConvertDate(secuencia.FechaFinStr, "dd/MM/yyyy HH:mm"); ordenProduccion.Secuencia.Add(new OrdenProduccionSecuencia { Secuencia = secuencia.Secuencia, Maquina = new Maquina {Id = secuencia.IdMaquina}, FechaInicio = fechaInicio.Value, FechaFin = fechaFin.Value }); } var idOrdenProduccion = 0; using (var service = new ProduccionServiceClient()) { idOrdenProduccion = service.RegistrarOrdenProduccion(ordenProduccion); } response.Data = idOrdenProduccion; response.Success = true; response.Message = "Ok"; } catch (Exception ex) { response.Message = ex.Message; LogError(ex); } return Json(response); }
public JsonResult FinalizarPrograma(int idPrograma, string motivo) { var response = new JsonResponse(); try { using (var service = new ProduccionServiceClient()) { service.FinalizarPrograma(idPrograma, motivo); } response.Success = true; } catch (Exception ex) { LogError(ex); response.Message = ex.Message; } return Json(response); }