// GET: ordenDeTrabajoGeneral/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ordenDeTrabajoGeneral ordenDeTrabajoGeneral = db.ordenDeTrabajoGenerals.Find(id); if (ordenDeTrabajoGeneral == null) { return(HttpNotFound()); } int idOT = Convert.ToInt32(id); List <ejecutanteTrabajoOT> ejecutantesTrabajoOT = db.ejecutanteTrabajoOTs.Where(s => s.ordenDeTrabajoGeneralID == idOT).ToList(); List <materialesRequeridosOT> materialesRequeridosOT = db.materialesRequeridosOTs.Where(s => s.ordenDeTrabajoGeneralID == idOT).ToList(); List <materialesUtilizadosOT> materialesUtilizadosOT = db.materialesUtilizadosOTs.Where(s => s.ordenDeTrabajoGeneralID == idOT).ToList(); foreach (RentaMaq.Models.materialesRequeridosOT matReq in materialesRequeridosOT) { Producto product = db.Productos.Find(matReq.materialID); matReq.numeroParte = product.numeroDeParte; } foreach (RentaMaq.Models.materialesUtilizadosOT matUt in materialesUtilizadosOT) { Producto product = db.Productos.Find(matUt.materialID); matUt.numeroParte = product.numeroDeParte; } ViewData["ejecutantesTrabajoOT"] = ejecutantesTrabajoOT; ViewData["materialesRequeridosOT"] = materialesRequeridosOT; ViewData["materialesUtilizadosOT"] = materialesUtilizadosOT; return(View(ordenDeTrabajoGeneral)); }
// GET: ordenDeTrabajoGeneral/Delete/5 public ActionResult Delete(int?id) { if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString()))) { return(RedirectToAction("Index", "Home")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ordenDeTrabajoGeneral ordenDeTrabajoGeneral = db.ordenDeTrabajoGenerals.Find(id); if (ordenDeTrabajoGeneral == null) { return(HttpNotFound()); } int idOT = Convert.ToInt32(id); List <ejecutanteTrabajoOT> ejecutantesTrabajoOT = db.ejecutanteTrabajoOTs.Where(s => s.ordenDeTrabajoGeneralID == idOT).ToList(); List <materialesRequeridosOT> materialesRequeridosOT = db.materialesRequeridosOTs.Where(s => s.ordenDeTrabajoGeneralID == idOT).ToList(); List <materialesUtilizadosOT> materialesUtilizadosOT = db.materialesUtilizadosOTs.Where(s => s.ordenDeTrabajoGeneralID == idOT).ToList(); ViewData["ejecutantesTrabajoOT"] = ejecutantesTrabajoOT; ViewData["materialesRequeridosOT"] = materialesRequeridosOT; ViewData["materialesUtilizadosOT"] = materialesUtilizadosOT; return(View(ordenDeTrabajoGeneral)); }
public ActionResult marcarComoRealizado(FormCollection form) { if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString()))) { return(RedirectToAction("Index", "Home")); } int id = Convert.ToInt32((string)form["ordenDeTrabajoGeneralID"]); ordenDeTrabajoGeneral ordenDeTrabajoGeneral = db.ordenDeTrabajoGenerals.Find(id); ordenDeTrabajoGeneral.verificarTrabajoPendiente = "TRUE"; db.Entry(ordenDeTrabajoGeneral).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("trabajosPendientes")); }
public ActionResult marcarComoRealizado(int id) { if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString()))) { return(RedirectToAction("Index", "Home")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ordenDeTrabajoGeneral ordenDeTrabajoGeneral = db.ordenDeTrabajoGenerals.Find(id); if (ordenDeTrabajoGeneral == null) { return(HttpNotFound()); } equipos equipo = equipos.ObtenerConTipo(Convert.ToInt32(ordenDeTrabajoGeneral.idEquipo)); ViewBag.Equipo = equipo.patenteEquipo + "/" + equipo.tipoEquipo + "/" + equipo.numeroAFI; return(View(ordenDeTrabajoGeneral)); }
public ActionResult DeleteConfirmed(int id) { if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString()))) { return(RedirectToAction("Index", "Home")); } ordenDeTrabajoGeneral ordenDeTrabajoGeneral = db.ordenDeTrabajoGenerals.Find(id); db.ordenDeTrabajoGenerals.Remove(ordenDeTrabajoGeneral); var ejecutantesTrabajo = db.ejecutanteTrabajoOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList(); var materialesRequeridos = db.materialesRequeridosOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList(); var materialesUtilizados = db.materialesUtilizadosOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList(); foreach (var ejecutante in ejecutantesTrabajo) { db.ejecutanteTrabajoOTs.Remove(ejecutante); } foreach (var matReq in materialesRequeridos) { db.materialesRequeridosOTs.Remove(matReq); } foreach (var matUT in materialesUtilizados) { db.materialesUtilizadosOTs.Remove(matUT); } if (!Object.ReferenceEquals(ordenDeTrabajoGeneral.rutaImagen, null)) { string rutaImagen = Server.MapPath("~/") + ordenDeTrabajoGeneral.rutaImagen; System.IO.File.Delete(rutaImagen); } db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult generarOTTrabajoPendiente(int id) { if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString()))) { return(RedirectToAction("Index", "Home")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ordenDeTrabajoGeneral ordenDeTrabajoGeneral = db.ordenDeTrabajoGenerals.Find(id); if (ordenDeTrabajoGeneral == null) { return(HttpNotFound()); } ViewData["equipos"] = equipos.todosConTipo(); ViewData["materiales"] = db.Productos.ToList(); ViewData["OTAnterior"] = ordenDeTrabajoGeneral; return(View(new ordenDeTrabajoGeneral())); }
public ActionResult generarOTTrabajoPendiente([Bind(Include = "ordenDeTrabajoGeneralID,fechaOTAbierta,fechaOTCerrada,operador,faena,turno,idEquipo,horometro,kilometraje,tipoMantenimientoARealizar,horasMantenimientoNivelCombustible,horasMantenimientoFecha,horasMantenimientoHRInicio,horasMantenimientoHRTermino,horasMantenimientoHRSDetenido,trabajoRealizar,conclusionesTrabajoRealizado,estadoEquipo,trabajosPendientesPorRealizar,fechaTrabajosPendientesPorRealizar,numeroFolio,area,nombreMantenedor,nombreOperador,nombreSupervisor,tipoOTSegunMantenimiento, IDOTAnterior")] ordenDeTrabajoGeneral ordenDeTrabajoGeneral, FormCollection form, HttpPostedFileBase file) { if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString()))) { return(RedirectToAction("Index", "Home")); } ordenDeTrabajoGeneral.fechaOTAbierta = Formateador.fechaFormatoGuardar((string)form["fechaOTAbierta"]); ordenDeTrabajoGeneral.fechaOTCerrada = Formateador.fechaFormatoGuardar((string)form["fechaOTCerrada"]); ordenDeTrabajoGeneral.horasMantenimientoFecha = Formateador.fechaFormatoGuardar((string)form["horasMantenimientoFecha"]); ordenDeTrabajoGeneral.fechaTrabajosPendientesPorRealizar = Formateador.fechaFormatoGuardar((string)form["fechaTrabajosPendientesPorRealizar"]); equipos equipo = equipos.ObtenerConTipo(Convert.ToInt32(ordenDeTrabajoGeneral.idEquipo)); ordenDeTrabajoGeneral.patenteEquipo = equipo.patenteEquipo; ordenDeTrabajoGeneral.tipoEquipo = equipo.tipoEquipo; ordenDeTrabajoGeneral.verificarTrabajoPendiente = "FALSE"; ordenDeTrabajoGeneral anterior = db.ordenDeTrabajoGenerals.Find(ordenDeTrabajoGeneral.IDOTAnterior); anterior.verificarTrabajoPendiente = "TRUE"; db.Entry(anterior).State = EntityState.Modified; db.ordenDeTrabajoGenerals.Add(ordenDeTrabajoGeneral); db.SaveChanges(); int idOT = ordenDeTrabajoGeneral.ordenDeTrabajoGeneralID; string[] ejecutantesDelTrabajo = Request.Form.GetValues("ejecutanteDelTrabajo"); string[] cargo = Request.Form.GetValues("cargo"); string[] HH = Request.Form.GetValues("HH"); for (int i = 0; i < ejecutantesDelTrabajo.Length; i++) { ejecutanteTrabajoOT ejecutanteTrabajoOT = new ejecutanteTrabajoOT(); ejecutanteTrabajoOT.ordenDeTrabajoGeneralID = idOT; ejecutanteTrabajoOT.nombreTrabajador = ejecutantesDelTrabajo[i]; ejecutanteTrabajoOT.cargo = cargo[i]; if (HH[i].Equals("")) { ejecutanteTrabajoOT.HH = 0; } else { ejecutanteTrabajoOT.HH = Convert.ToInt32(HH[i]); } db.ejecutanteTrabajoOTs.Add(ejecutanteTrabajoOT); } string[] materialUtilizado = Request.Form.GetValues("materialUtilizado"); string[] matUtcantidad = Request.Form.GetValues("matUtcantidad"); string[] matUtNumeroParte = Request.Form.GetValues("matUtNumeroParte"); if (!materialUtilizado[0].Equals("")) { for (int i = 0; i < materialUtilizado.Length; i++) { materialesUtilizadosOT materialesUtilizadosOT = new materialesUtilizadosOT(); materialesUtilizadosOT.ordenDeTrabajoGeneralID = idOT; materialesUtilizadosOT.nombreMaterial = materialUtilizado[i]; materialesUtilizadosOT.cantidad = Convert.ToDouble(matUtcantidad[i]); materialesUtilizadosOT.materialID = Convert.ToInt32(matUtNumeroParte[i]); materialesUtilizadosOT.precioActual = db.Productos.Find(Convert.ToInt32(matUtNumeroParte[i])).precioUnitario; db.materialesUtilizadosOTs.Add(materialesUtilizadosOT); Maestro maestro = new Maestro(); maestro.afiEquipo = equipo.numeroAFI; maestro.fecha = ordenDeTrabajoGeneral.horasMantenimientoFecha; maestro.descripcionProducto = materialUtilizado[i]; maestro.cantidadEntrante = 0; maestro.cantidadSaliente = Convert.ToDouble(matUtcantidad[i]); maestro.idOT = idOT; maestro.ProductoID = matUtNumeroParte[i]; maestro.observaciones = "Agregada Automaticamente de OT:" + ordenDeTrabajoGeneral.numeroFolio; Producto producto = db.Productos.Find(int.Parse(maestro.ProductoID)); producto.stockActual = producto.stockActual - maestro.cantidadSaliente; db.Entry(producto).State = EntityState.Modified; db.Maestros.Add(maestro); } } //save string[] materialRequerido = Request.Form.GetValues("materialRequerido"); string[] matReqCantidad = Request.Form.GetValues("matReqCantidad"); string[] matReqNumeroParte = Request.Form.GetValues("matReqNumeroParte"); if (!materialRequerido[0].Equals("")) { pedidos pedido = new pedidos(); pedido.fecha = Formateador.formatearFechaCompleta(DateTime.Now); pedido.estado = "NUEVA"; pedido.nota = "Agregado Automaticamente desde OT:" + ordenDeTrabajoGeneral.numeroFolio; pedido.idOT = idOT; db.pedidos.Add(pedido); db.SaveChanges(); for (int i = 0; i < materialRequerido.Length; i++) { materialesRequeridosOT materialesRequeridosOT = new materialesRequeridosOT(); materialesRequeridosOT.ordenDeTrabajoGeneralID = idOT; materialesRequeridosOT.nombreMaterial = materialRequerido[i]; materialesRequeridosOT.cantidad = Convert.ToDouble(matReqCantidad[i]); materialesRequeridosOT.materialID = Convert.ToInt32(matReqNumeroParte[i]); materialesRequeridosOT.precioActual = db.Productos.Find(Convert.ToInt32(matReqNumeroParte[i])).precioUnitario; db.materialesRequeridosOTs.Add(materialesRequeridosOT); detallePedido detallePedido = new detallePedido(); detallePedido.cantidad = Convert.ToInt32(materialesRequeridosOT.cantidad); detallePedido.descripcion = materialesRequeridosOT.nombreMaterial; detallePedido.numeroParte = db.Productos.Find(materialesRequeridosOT.materialID).numeroDeParte; detallePedido.pedidosID = pedido.pedidosID; detallePedido.tipoPedido = "DIRECTA"; detallePedido.detalleTipoPedido = db.Equipos.Find(Convert.ToInt32(ordenDeTrabajoGeneral.idEquipo)).numeroAFI.ToString(); db.detallePedidos.Add(detallePedido); } } crearCarpetaSiNoExiste(); string extImage = Convert.ToString(Request.Files["file"].ContentType); string[] infoImage = extImage.Split('/'); string fileExtension = System.IO.Path.GetExtension(Request.Files["file"].FileName); string fileLocation = Server.MapPath("~/Images/OrdenTrabajo/") + ordenDeTrabajoGeneral.numeroFolio + "." + infoImage[1]; if (!fileExtension.Equals("")) { Request.Files["file"].SaveAs(fileLocation); ordenDeTrabajoGeneral.rutaImagen = "Images/OrdenTrabajo/" + ordenDeTrabajoGeneral.numeroFolio + "." + infoImage[1]; } registrokmhm registro = new registrokmhm(); registro.equipoID = Convert.ToInt32(ordenDeTrabajoGeneral.idEquipo); registro.fecha = Formateador.fechaFormatoGuardar((string)form["fechaOTAbierta"]); registro.horometro = ordenDeTrabajoGeneral.horometro; registro.kilometraje = ordenDeTrabajoGeneral.kilometraje; //db.registrokmhms.Add(registro); registrokmhm.actualizarRegistroKmHm(registro); mantencionPreventiva mantecionPreventiva = new mantencionPreventiva(); mantecionPreventiva.equipoID = Convert.ToInt32(ordenDeTrabajoGeneral.idEquipo); mantecionPreventiva.fecha = ordenDeTrabajoGeneral.horasMantenimientoFecha; mantecionPreventiva.horometroActual = ordenDeTrabajoGeneral.horometro; mantecionPreventiva.kilometrajeActual = ordenDeTrabajoGeneral.kilometraje; if (ordenDeTrabajoGeneral.horometro == 0) { mantecionPreventiva.horometroProximaMantencion = 0; } else { mantecionPreventiva.horometroProximaMantencion = ordenDeTrabajoGeneral.horometro + 400; } if (ordenDeTrabajoGeneral.kilometraje == 0) { mantecionPreventiva.kilometrajeProximaMantencion = 0; } else { mantecionPreventiva.kilometrajeProximaMantencion = ordenDeTrabajoGeneral.kilometraje + 10000; } mantecionPreventiva.nota = "Agregado Automaticamente desde OT N°:" + ordenDeTrabajoGeneral.numeroFolio; RentaMaq.Models.mantencionPreventiva.reemplazar(mantecionPreventiva); db.SaveChanges(); return(RedirectToAction("Index")); }