Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Partial Class Acarreos_RepContratosAcarreos Inherits ClsPaginas #Region " PROPIEDADES" Private Property DTCont As DataTable Get Return If(IsNothing(ViewState("DTCont")), Nothing, CType(ViewState("DTCont"), DataTable)) End Get Set(value As DataTable) ViewState("DTCont") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then CargaDdlNumContrato() CargaDdlMaterial() CargaDdlSubProyectoDestino() CargaDdlSubProyectoOrigen() CargaDdlTransportista() CargaDdlProveedor() txtFechaF.Text = Now.AddDays(0).ToShortDateString txtFechaI.Text = Now.AddYears(-1).ToShortDateString End If End Sub Private Sub CargaDdlNumContrato() Dim ObjAcar As New ClsAcarreos If ObjAcar.GetAcarreosProyectos(-1, UsuarioActual.CveEmpresa, -1, "-1") Then DdlNumContrato.Items.Insert(0, New ListItem("Todos", "-1")) DdlNumContrato.DataSource = ObjAcar.DtResultados DdlNumContrato.DataBind() End If ObjAcar.Dispose() UPDatos.Update() End Sub Private Sub CargaDdlMaterial() Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetMaterial(-1, 1, UsuarioActual.CveEmpresa) Then DdlMaterial.Items.Insert(0, New ListItem("Todos", "-1")) DdlMaterial.DataSource = ObjAcar.DtResultados DdlMaterial.DataBind() End If ObjAcar.Dispose() UPDatos.Update() End Sub Private Sub CargaDdlSubProyectoOrigen() DdlSubProyectoOrigen.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyectoOrigen.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1) DdlSubProyectoOrigen.DataBind() UPDatos.Update() End Sub Private Sub CargaDdlSubProyectoDestino() DdlSubProyectoDestino.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyectoDestino.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1) DdlSubProyectoDestino.DataBind() UPDatos.Update() End Sub Private Sub CargaDdlTransportista() Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetTransportista(-1, UsuarioActual.CveEmpresa, 1) Then DdlTransportista.Items.Insert(0, New ListItem("Todos", "-1")) DdlTransportista.DataSource = ObjAcar.DtResultados DdlTransportista.DataBind() End If ObjAcar.Dispose() UPDatos.Update() End Sub Private Sub CargaDdlProveedor() DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1")) DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) DdlProveedor.DataBind() End Sub Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.FCLiteral("LtlVolContratado").Text = FormatNumber(e.Row.FCLiteral("LtlVolContratado").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlPresContratado").Text = "$" + FormatNumber(e.Row.FCLiteral("LtlPresContratado").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlVolXEstimar").Text = FormatNumber(e.Row.FCLiteral("LtlVolXEstimar").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlPresXEstimar").Text = "$" + FormatNumber(e.Row.FCLiteral("LtlPresXEstimar").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlVolEstimado").Text = FormatNumber(e.Row.FCLiteral("LtlVolEstimado").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlPresEstimado").Text = "$" + FormatNumber(e.Row.FCLiteral("LtlPresEstimado").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlVolFaltante").Text = FormatNumber(e.Row.FCLiteral("LtlVolFaltante").Text.ToDouble, 2, , , TriState.True) e.Row.FCLiteral("LtlPresFaltante").Text = "$" + FormatNumber(e.Row.FCLiteral("LtlPresFaltante").Text.ToDouble, 2, , , TriState.True) If e.Row.FCLiteral("LtlContrato").Text = "" Then e.Row.FCLiteral("LtlContrato").Text = e.Row.DBCampo("Gpo") e.Row.FCLiteral("LtlVolXEstimar").Text = "" e.Row.FCLiteral("LtlPresXEstimar").Text = "" e.Row.FCLiteral("LtlVolEstimado").Text = "" e.Row.FCLiteral("LtlPresEstimado").Text = "" e.Row.FCLiteral("LtlVolContratado").Text = "" e.Row.FCLiteral("LtlPresContratado").Text = "" e.Row.FCLiteral("LtlVolFaltante").Text = "" e.Row.FCLiteral("LtlPresFaltante").Text = "" e.Row.CssClass = "Totales" End If Dim Css As String = "Texto" Dim Liga As String = $"/Acarreos/RepContratosAcarreosDetalle.aspx?&CveAcarreoProyecto={e.Row.DBCampo("CveAcarreoProyecto")}&CveMaterial={e.Row.DBCampo("CveMaterial")}" e.Row.FCLiteral("LtlContrato").Text = "" & e.Row.FCLiteral("LtlContrato").Text & "" End If End Sub Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetRepContratosAcarreos(UsuarioActual.CveEmpresa, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlNumContrato.SelectedValue, DdlTransportista.SelectedValue, DdlSubProyectoOrigen.SelectedValue, DdlSubProyectoDestino.SelectedValue, DdlProveedor.SelectedValue, DdlMaterial.SelectedValue, DdlAgrupador.SelectedValue) Then GvDatos.DataSource = ObjAcar.DtResultados GvDatos.DataBind() DTCont = ObjAcar.DtResultados End If ObjAcar.Dispose() UPDatos.Update() End Sub #Region "PDF" Private Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click If DTCont IsNot Nothing Then Dim StrFiltro As New StringBuilder If DdlNumContrato.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Contrato: {0}", DdlNumContrato.SelectedItem.Text) If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", txtFechaI.Text.ToDate.ToShortDateString) If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", txtFechaF.Text.ToDate.ToShortDateString) If DdlTransportista.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Transportista: {0}", DdlTransportista.SelectedItem.Text) If DdlSubProyectoOrigen.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proyecto Origen: {0}", DdlSubProyectoOrigen.SelectedItem.Text) If DdlSubProyectoDestino.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proyecto Destino: {0}", DdlSubProyectoDestino.SelectedItem.Text) If DdlProveedor.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proveedor: {0}", DdlProveedor.SelectedItem.Text) If DdlMaterial.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Material: {0}", DdlMaterial.SelectedItem.Text) If DdlAgrupador.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Agrupador: {0}", DdlAgrupador.SelectedItem.Text) Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", $"file://{Imagen}")) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas/Grales/Formatos/RepContratosAcarreos.rdlc", DTCont, params, String.Format("RepContratosAcarreos-{0}", Now.ToDateTime.ToShortDateString)) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub #End Region #Region "EXCEL" Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click If DTCont IsNot Nothing Then Dim StrFiltro As New StringBuilder If DdlNumContrato.SelectedValue <> "-1" Then StrFiltro.AppendFormat("Contrato: {0}", DdlNumContrato.SelectedItem.Text) If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", txtFechaI.Text.ToDate.ToShortDateString) If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", txtFechaF.Text.ToDate.ToShortDateString) Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas/Grales/Formatos/RepContratosAcarreos.rdlc", DTCont, params, String.Format("RepContratosAcarreos-{0}", Now.ToDateTime.ToShortDateString), "Excel") Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub #End Region End Class