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 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 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;
        }
示例#5
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);
        }