public static List<detallePartidas> obtenerDetallePartidasSolicitud(solicitud_materiales solicitud)
        {
            List<detallePartidas> retorno = new List<detallePartidas>();

            List<itemSolicitudMateriales> detalle=solicitud.ObtenerItemsDeSolicitudMateriales();

            for (int i = 0; i < detalle.Count; i++)
            {
                detallePartidas nueva = new detallePartidas();

                nueva.codigo = detalle[i].id_partida + " - " + detalle[i].numero_item_partida;
                nueva.nombre = detalle[i].nombre_item_partida;

                if(!retorno.Contains(nueva))retorno.Add(nueva);
            }

            return retorno;
        }
        public ActionResult Guardar(FormCollection form)
        {
            if (Session["nombre"] != null && (Session["rol"].ToString().Equals("adquisiciones") || Session["rol"].ToString().Equals("admin") || Session["rol"].ToString().Equals("supervisorObra")))
            {
                DateTime fecha_actual = DateTime.Today;
                //string id_faenaForm = (string)form["id_faenaForm"];
                //string numero_solicitudForm = (string)form["numero_solicitudForm"];
                //string nombre_solicitante="usuario";

                solicitud_materiales NuevaSolicitudMateriales = new solicitud_materiales();
                NuevaSolicitudMateriales.id_faena = (string)form["id_faenaForm"];
                NuevaSolicitudMateriales.id_solicitud = (string)form["numero_solicitudForm"];
                NuevaSolicitudMateriales.nombre_solicitante = Convert.ToString(Session["nombre"]);
                NuevaSolicitudMateriales.fecha = fecha_actual;
                NuevaSolicitudMateriales.numero_folio=(string)form["numero_folio"];

                NuevaSolicitudMateriales.agregarNuevaSolicitud();

                string[] nuevoItem = Request.Form.GetValues("nuevo_item");
                string[] cantidad = Request.Form.GetValues("cantidad");
                string[] unidad = Request.Form.GetValues("unidad");
                string[] nombre_numero_item = Request.Form.GetValues("item");
                string[] dimensiones = Request.Form.GetValues("dimensiones");
                string[] partida = Request.Form.GetValues("partida");

                NuevaSolicitudMateriales.insertarItemSolicitud(cantidad, unidad, nombre_numero_item, dimensiones, partida,nuevoItem);

                //string[] amounts = Request.Form.GetValues("cantidad");
                //string v = (string)form["v"];
                //string a = amounts[0];

                return RedirectToAction("todos", "SolicitudMateriales");
            }
            else {
                return RedirectToAction("Index", "Home");
            }
               // return View("enviado");
        }
        public solicitud_materiales obtenerSolicitud()
        {
            solicitud_materiales Solicitud = new solicitud_materiales();

            DateTime fecha_vacia = new DateTime();

            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * from solicitudes_materiales,faenas  WHERE  ( id_solicitud = '" + id_solicitud + "')";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {

                Solicitud.id_solicitud = (string)dr["id_solicitud"];
                Solicitud.nombre_solicitante = (string)dr["nombre_solicitante"];
                Solicitud.fecha = (DateTime)dr["fecha"];
                Solicitud.id_faena = (string)dr["id_faena"];
                Solicitud.presupuesto_faena = Convert.ToString((double)dr["partida_presupuesto"]);

                try
                {
                    Solicitud.nombre_recepcion = (string)dr["nombre_recepcion"];
                }
                catch (Exception)
                {
                    Solicitud.nombre_recepcion = "";
                }

                try
                {
                    Solicitud.nombre_revision_oficina = (string)dr["nombre_revision_oficina"];
                }
                catch (Exception)
                {
                    Solicitud.nombre_revision_oficina = "";
                }

                try
                {
                    Solicitud.nombre_gerencia = (string)dr["nombre_gerencia"];
                }
                catch (Exception)
                {
                    Solicitud.nombre_gerencia = "";
                }

                try
                {
                    Solicitud.fecha_revision_oficina = (DateTime)dr["fecha_revision_oficina"];
                }
                catch (Exception)
                {
                    Solicitud.fecha_revision_oficina = fecha_vacia;
                }

                try
                {
                    Solicitud.fecha_gerencia = (DateTime)dr["fecha_gerencia"];
                }
                catch (Exception)
                {
                    Solicitud.fecha_gerencia = fecha_vacia;
                }

                try
                {
                    Solicitud.fecha_recepcion = (DateTime)dr["fecha_recepcion"];
                }
                catch (Exception)
                {
                    Solicitud.fecha_recepcion = fecha_vacia;
                }
                try
                {
                    Solicitud.numero_folio = (string)dr["numero_folio"];
                }
                catch (Exception)
                {
                    Solicitud.numero_folio = "";
                }
                //Solicitud.fecha_revision_oficina=(DateTime)dr["fecha_revision_oficina"];

                //Solicitud.fecha_gerencia = (DateTime)dr["fecha_gerencia"];
                //Solicitud.fecha_recepcion = (DateTime)dr["fecha_recepcion"];
            }
            cnx.Close();
            return Solicitud;
        }
        public static string[] obtener_items_pendientes(string id)
        {
            solicitud_materiales sol = new solicitud_materiales();
            sol.id_solicitud = id;
            sol=sol.obtenerSolicitud();

            List<itemSolicitudMateriales> listaItems = sol.ObtenerItemsDeSolicitudMateriales();

            string texto_item = "";

            for(int i=0;i<listaItems.Count;i++)
            {
                if (!listaItems[i].fuePedido(id))
                {
                    texto_item += listaItems[i].id_partida + "|" + listaItems[i].nombre_item + "|" + listaItems[i].unidad + "|" + listaItems[i].cantidad + "|" + listaItems[i].id_faena + "|" + listaItems[i].nombre_item_partida + "|" + listaItems[i].numero_item_partida + ";";
                }
            }
            texto_item = texto_item.TrimEnd(';');
            string[] items = texto_item.Split(';');
            if(items.Length==1 && items[0].Equals(""))items = new string[0];
            return items;
        }
        public static List<solicitud_materiales> obtenerTodasSolicitudesRevisadasNoProcesadas()
        {
            List<solicitud_materiales> Solicitudes = new List<solicitud_materiales>();
            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * FROM solicitudes_materiales WHERE nombre_revision_oficina IS NOT NULL ORDER BY fecha ASC";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                solicitud_materiales Solicitud = new solicitud_materiales();

                Solicitud.id_solicitud = (string)dr["id_solicitud"];
                Solicitud = Solicitud.obtenerSolicitud();
                List<itemSolicitudMateriales> detalleSol = Solicitud.ObtenerItemsDeSolicitudMateriales();
                bool agregar = false;

                for (int i = 0; i < detalleSol.Count; i++)
                {
                    if (!detalleSol[i].fuePedido(Solicitud.id_solicitud))
                        agregar = true;
                }

                if (agregar)
                {
                    Solicitudes.Add(Solicitud);
                }
            }
            cnx.Close();

            return Solicitudes;
        }
        public static List<solicitud_materiales> obtenerTodasSolicitudesRevisadas()
        {
            List<solicitud_materiales> Solicitudes = new List<solicitud_materiales>();
            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * FROM solicitudes_materiales WHERE nombre_revision_oficina IS NOT NULL ORDER BY fecha ASC";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                solicitud_materiales Solicitud = new solicitud_materiales();

                Solicitud.id_solicitud = (string)dr["id_solicitud"];

                Solicitudes.Add(Solicitud);
            }
            cnx.Close();

            return Solicitudes;
        }
        public static List<solicitud_materiales> obtenerTodasSolicitudesPendientes()
        {
            List<solicitud_materiales> Solicitudes = new List<solicitud_materiales>();
            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * FROM solicitudes_materiales WHERE revisado is null ORDER BY fecha ASC";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                solicitud_materiales Solicitud = new solicitud_materiales();

                Solicitud.id_solicitud = (string)dr["id_solicitud"];
                Solicitud.nombre_solicitante = (string)dr["nombre_solicitante"];
                Solicitud.fecha = (DateTime)dr["fecha"];

                try
                {
                    Solicitud.nombre_recepcion = (string)dr["nombre_recepcion"];
                }
                catch (Exception)
                {
                    Solicitud.nombre_recepcion = "";
                }

                try
                {
                    Solicitud.nombre_revision_oficina = (string)dr["nombre_revision_oficina"];
                }
                catch (Exception)
                {
                    Solicitud.nombre_revision_oficina = "";
                }

                try
                {
                    Solicitud.nombre_gerencia = (string)dr["nombre_gerencia"];
                }
                catch (Exception)
                {
                    Solicitud.nombre_gerencia = "";
                }

                //Solicitud.fecha_revision_oficina=(DateTime)dr["fecha_revision_oficina"];

                //Solicitud.fecha_gerencia = (DateTime)dr["fecha_gerencia"];
                //Solicitud.fecha_recepcion = (DateTime)dr["fecha_recepcion"];

                Solicitudes.Add(Solicitud);
            }
            cnx.Close();

            return Solicitudes;
        }
        public static string[] obtenerTodasSolicitudesFaenas(string faena)
        {
            string solicitudes = "";
            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "select * from solicitudes_materiales where id_faena='" + faena + "' and nombre_revision_oficina IS NOT NULL ORDER BY fecha ASC";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                solicitud_materiales Solicitud = new solicitud_materiales();

                Solicitud.id_solicitud = (string)dr["id_solicitud"];
                Solicitud = Solicitud.obtenerSolicitud();
                List<itemSolicitudMateriales> detalleSol = Solicitud.ObtenerItemsDeSolicitudMateriales();
                bool agregar = false;

                for (int i = 0; i < detalleSol.Count; i++)
                {
                    if (!detalleSol[i].fuePedido(Solicitud.id_solicitud))
                        agregar = true;
                }

                if (agregar)
                {
                 //   Solicitudes.Add(Solicitud);
                    solicitudes += Solicitud.id_solicitud + ";";
                }

                // solicitudes += (string)dr["id_solicitud"] + ";";
            }
            cnx.Close();
            solicitudes = solicitudes.TrimEnd(';');
            string[] items = solicitudes.Split(';');
            return items;
        }
        public ActionResult todos()
        {
            if (Session["nombre"] != null)
            {

                solicitud_materiales Solicitudes = new solicitud_materiales();
                //ViewData["solicitudes"]=todasSolicitudes.obtenerTodasSolicitudes();
                List<solicitud_materiales> listaSolicitudes = new List<solicitud_materiales>();
                listaSolicitudes = solicitud_materiales.obtenerTodasSolicitudes();
                return View(listaSolicitudes);
            }
            else {
                return RedirectToAction("Index", "Home");
            }
        }
        public ActionResult revisarSolicitud(FormCollection form)
        {
            if (Session["nombre"] != null && (Session["rol"].ToString().Equals("oficinaTecnica") || Session["rol"].ToString().Equals("admin")))
            {
                solicitud_materiales SolicitudMaterialesActualizada = new solicitud_materiales();

                SolicitudMaterialesActualizada.id_solicitud = (string)form["numero_solicitudForm"];
                SolicitudMaterialesActualizada.id_faena = (string)form["idFaena"];
                string[] cantidad = Request.Form.GetValues("cantidad");
                string[] item = Request.Form.GetValues("itemSolicitud");
                string[] partida = Request.Form.GetValues("partida");
                string[] unidad = Request.Form.GetValues("unidad");
                string[] item_partida = Request.Form.GetValues("item");
                string[] dimensiones = Request.Form.GetValues("dimensiones");

                string[] nueva_cantidad = Request.Form.GetValues("nueva_cantidad");
                string[] nuevo_item = Request.Form.GetValues("nuevo_itemSolicitud");
                string[] nueva_partida = Request.Form.GetValues("nueva_partida");
                string[] nueva_unidad = Request.Form.GetValues("nueva_unidad");
                string[] nueva_item_partida = Request.Form.GetValues("nuevo_item");
                string[] nueva_dimensiones = Request.Form.GetValues("nueva_dimensiones");

                SolicitudMaterialesActualizada.revisarSolicitud(Convert.ToString(Session["nombre"]), cantidad, item, unidad, partida,dimensiones, item_partida, nueva_cantidad, nuevo_item, nueva_partida, nueva_unidad, nueva_item_partida, nueva_dimensiones);

                //string[] amounts = Request.Form.GetValues("cantidad");
                //string v = (string)form["v"];
                //string a = amounts[0];

                return RedirectToAction("todos", "SolicitudMateriales");
            }
            else {
                return RedirectToAction("Index", "Home");
            }
            //return View("todos");
        }
        public ActionResult revisar(string id_solicitud)
        {
            if (Session["nombre"] != null)
            {
                solicitud_materiales Solicitud = new solicitud_materiales();
                solicitud_materiales TempSolicitud = new solicitud_materiales();
                faena laFaena = new faena();

                Solicitud.id_solicitud = id_solicitud;
                TempSolicitud = Solicitud.obtenerSolicitud();
                ViewData["unidad"] = items.obtenerTodasUnidades();
                ViewData["solicitud"] = TempSolicitud;//Solicitud.obtenerSolicitud();
                ViewData["itemSolicitud"] = Solicitud.ObtenerItemsDeSolicitudMateriales();
                //ViewData["items"] = items.obtenerTodos();

                ViewBag.rolSession=Session["rol"].ToString();
                ViewBag.IDFAENA = TempSolicitud.id_faena;
                ViewBag.fecha_solicitud = TempSolicitud.fecha.ToString("d");
                ViewBag.solicitante = TempSolicitud.nombre_solicitante;
                ViewBag.nombre_revision_oficina = TempSolicitud.nombre_revision_oficina;
                ViewBag.fecha_revision_oficina = TempSolicitud.fecha_revision_oficina.ToString("d");
                laFaena.nombre = TempSolicitud.id_faena;

                ViewData["partidasFaena"] = new faena().obtenerPartidas(TempSolicitud.id_faena);
                ViewBag.Presupuesto = Solicitud.obtenerPresupuestoPartidaFaenaSolicitud();
                return View();
            }
            else {
                return RedirectToAction("Index", "Home");
            }
        }
 public bool eliminarItemDeSolicitud(string item, string solicitud, string id_partida, string numero_item_partida)
 {
     solicitud_materiales Solicitud = new solicitud_materiales();
     bool retorno=Solicitud.eliminarItemdeSolicitud(item, solicitud,id_partida,numero_item_partida);
     return retorno;
 }
        public static List<solicitudMaterialesInforme> convertirSolicitudEnSolicitudInforme(solicitud_materiales sol)
        {
            List<solicitudMaterialesInforme> retorno = new List<solicitudMaterialesInforme>();
            List<itemSolicitudMateriales> listaItems = sol.ObtenerItemsDeSolicitudMateriales();

            for (int i = 0; i < listaItems.Count; i++)
            {
                solicitudMaterialesInforme temp = new solicitudMaterialesInforme();
                temp.numeroSolicitud = sol.id_solicitud;
                temp.fechaSolicitud = sol.fecha;
                temp.nombreSolicitante = usuarios.obtenerUsuario(sol.nombre_solicitante).nombreCompleto;
                temp.faena = sol.id_faena;
                temp.partidasPresupuesto = sol.obtenerPresupuestoPartidaFaenaSolicitud();

                char[] caracteres = temp.partidasPresupuesto.ToCharArray();
                temp.partidasPresupuesto = "";
                for (int j = caracteres.Length - 1; j >= 0; j--)
                {
                    temp.partidasPresupuesto = caracteres[j] + temp.partidasPresupuesto;
                    if (j % 3 == 0 && j != 0) temp.partidasPresupuesto = '.' + temp.partidasPresupuesto;
                }

                temp.cantidad = listaItems[i].cantidad;
                temp.unidad = listaItems[i].unidad;
                temp.item = listaItems[i].nombre_item;
                temp.dimensiones = listaItems[i].dimensiones;
                temp.partida = listaItems[i].id_partida;

                if (sol.nombre_revision_oficina.Equals(""))
                {
                    temp.nombreRevision = "Aún no ha sido revisado";
                    temp.fechaRevision = "";
                }
                else
                {
                    temp.nombreRevision = usuarios.obtenerUsuario(sol.nombre_revision_oficina).nombreCompleto;
                    temp.fechaRevision = sol.fecha_revision_oficina.ToString("d");
                }

                retorno.Add(temp);
            }

            return retorno;
        }
Example #14
0
        public FileContentResult VistaReporte_Solicitud(string idSolicitudMateriales)
        {
            // Nota los datos creados en el dataset deben ser con el mismo nombre que tengan los Datos del Modelo

            // Nota los datos creados en el dataset deben ser con el mismo nombre que tengan los Datos del Modelo
            LocalReport reporte_local = new LocalReport();
            // pasa la ruta donde se encuentra el reporte
            reporte_local.ReportPath = Server.MapPath("~/Report/solicitudMateriales.rdlc");
            // creamos un recurso de datos del tipo report
            ReportDataSource conjunto_datos = new ReportDataSource();
            ReportDataSource conjunto_datos2 = new ReportDataSource();
            // le asginamos al conjuto de datos el nombre del datasource del reporte
            conjunto_datos.Name = "DataSet1";
            conjunto_datos2.Name = "DataSet2";
            List<solicitudMaterialesInforme> solicitudesMateriales = new List<solicitudMaterialesInforme>();
            List<detallePartidas> detalle = new List<detallePartidas>();
            if (Session["rol"] != null)
            {
                solicitud_materiales solicitud = new solicitud_materiales();
                solicitud.id_solicitud = idSolicitudMateriales;
                solicitud = solicitud.obtenerSolicitud();
                solicitudesMateriales = solicitudMaterialesInforme.convertirSolicitudEnSolicitudInforme(solicitud);

                detalle = detallePartidas.obtenerDetallePartidasSolicitud(solicitud);
            }
            // se le asigna el datasource el conjunto de datos desde el modelo
            conjunto_datos.Value = solicitudesMateriales;
            conjunto_datos2.Value = detalle;
            // se agrega el conjunto de datos del tipo report al reporte local
            reporte_local.DataSources.Add(conjunto_datos);
            reporte_local.DataSources.Add(conjunto_datos2);
            // datos para renderizar como se mostrara el reporte
            string reportType = "PDF";
            string mimeType;
            string encoding;
            string fileNameExtension;
            string deviceInfo = "<DeviceInfo>" +
                 "  <OutputFormat>jpeg</OutputFormat>" +
                 "  <PageWidth>10in</PageWidth>" +
                 "  <PageHeight>12in</PageHeight>" +
                 "  <MarginTop>0.5in</MarginTop>" +
                 "  <MarginLeft>1in</MarginLeft>" +
                 "  <MarginRight>1in</MarginRight>" +
                 "  <MarginBottom>0.5in</MarginBottom>" +
                 "</DeviceInfo>";
            Warning[] warnings;
            string[] streams;
            byte[] renderedBytes;
            //Se renderiza el reporte
            renderedBytes = reporte_local.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
            // el reporte es mostrado como una imagen
            return File(renderedBytes, mimeType);
        }