-Se agregaron las propiedades de viajes a contratos y se alteraron los métodos Add, Get y Update de Contratos. Se agrega el folio a RepContratos. Se le agrega la funcionalidad para imprimir PDF y se aumentan el número de campos para las consultas.

This commit is contained in:
AbrahamCastilloV
2024-02-13 03:56:57 -07:00
parent bd6248a5a4
commit 389c32a7ae
7 changed files with 641 additions and 438 deletions

View File

@@ -1,13 +1,23 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports ADSNetLibrary.SIGAPI.Helpers
Imports Extensiones.ModExtensiones
Imports GemBox.Spreadsheet
Imports Microsoft.Reporting.WebForms
Partial Class RepContratosCalendario
Inherits ClsPaginas
#Region "PROPIEDADES"
Public Property DtAvance() As DataTable
Get
Return CType(ViewState("DtAvance"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtAvance") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
@@ -24,12 +34,12 @@ Partial Class RepContratosCalendario
End Sub
Private Sub CargaDatos()
Dim ObjContratos As New ClsContratos
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=2) Then
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=34) Then
GvContratos.DataSource = ObjContratos.DtResultados
DtAvance = ObjContratos.DtResultados
GvContratos.DataBind()
GvContratos.HeaderStyle.ForeColor = Drawing.Color.Black
End If
If ObjContratos.GetContratosEstatus(UsuarioActual.CveEmpresa) Then
@@ -60,15 +70,15 @@ Partial Class RepContratosCalendario
'Lista de Activos fijos
DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlAF.DataBind()
DdlAF.Items.Insert(0, New ListItem("-", ""))
DdlAF.Items.Insert(0, New ListItem("-", "0"))
'Lista Chofer'
DdlChofer.DataSource = GlobalDTRHPersonal(185)
DdlChofer.DataBind()
DdlChofer.Items.Insert(0, New ListItem("-", ""))
DdlChofer.Items.Insert(0, New ListItem("-", "0"))
DdlChofer1.DataSource = GlobalDTRHPersonal(185)
DdlChofer1.DataBind()
DdlChofer1.Items.Insert(0, New ListItem("-", ""))
DdlChofer1.Items.Insert(0, New ListItem("-", "0"))
End Sub
@@ -82,36 +92,7 @@ Partial Class RepContratosCalendario
RegistraScript("$('#ModalActualizar').modal('show');")
End Sub
Protected Sub Consultar(sender As Object, e As EventArgs)
Dim fechaInicial As String = txtFechaI.Text
Dim fechaFinal As String = txtFechaF.Text
Dim cliente As String = If(DdlClientesConsulta.SelectedValue = "", "", $"C.CveCliente = {DdlClientesConsulta.SelectedValue} AND")
Dim estatus As String = ""
Dim nombreEstatus As String = ""
Dim innerEstatus As String = ""
If (DdlEstatusConsulta.SelectedValue <> "") Then
estatus = $"C.CveContratosEstatus = {DdlEstatusConsulta.SelectedValue} AND"
nombreEstatus = ", CE.ContratoEstatus As ContratoEstatus1"
innerEstatus = "INNER JOIN Con_ContratosEstatus CE with(nolock) ON CE.CveContratoEstatus = C.CveContratosEstatus
"
End If
Dim intervalo As String = If(DdlEstatusConsulta.SelectedValue = "" And DdlClientesConsulta.SelectedValue = "", $"FechaInicial BETWEEN '{fechaInicial}' AND '{fechaFinal}'", $"FechaInicial BETWEEN '{fechaInicial}' AND '{fechaFinal}'")
Dim query As String = $"SELECT *, ISNULL(Cli.NombreComercial,'') AS NombreCompleto {nombreEstatus} FROM Con_Contratos C LEFT JOIN Clientes Cli with(nolock) ON Cli.CveCliente = C.CveCliente {innerEstatus} WHERE {cliente} {estatus} {intervalo}"
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("Conexion").ConnectionString)
Using command As New SqlCommand(query, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
GvContratos.DataSource = reader
GvContratos.DataBind()
End Using
End Using
UpTitulos.Update()
End Sub
Protected Sub UpdateContrato(sender As Object, e As EventArgs)
Dim fechaS As Date = TxtFechaSalida.Text.ToDate
Dim fechaR As Date = TxtFechaRegreso.Text.ToDate
@@ -134,13 +115,102 @@ Partial Class RepContratosCalendario
TxtObservaciones.Text = GvRow.DataKey("Observaciones")
TxtDescripcion.Text = GvRow.DataKey("DescripcionContrato")
TxtUbicacion.Text = GvRow.DataKey("Ubicacion")
TxtFechaSalida.Text = GvRow.DataKey("FechaInicial").ToDateTime.ToString("MM/dd/yyyy")
TxtFechaRegreso.Text = GvRow.DataKey("FechaFinal").ToDateTime.ToString("MM/dd/yyyy")
TxtFechaSalida.Text = Convert.ToDateTime(GvRow.DataKey("FechaInicial")).ToString("dd/MM/yyyy hh:mm:ss tt")
TxtFechaRegreso.Text = Convert.ToDateTime(GvRow.DataKey("FechaFinal")).ToString("dd/MM/yyyy hh:mm:ss tt")
DdlClientes.SelectedValue = GvRow.DataKey("CveCliente")
DdlClientes.SelectedText = GvRow.DataKey("NombreComercial")
DdlAF.SelectedValue = GvRow.DataKey("CveAF")
DdlChofer.SelectedValue = GvRow.DataKey("CveChofer")
DdlChofer.SelectedValue = GvRow.DataKey("CveChofer2")
DdlEstatusContrato.SelectedValue = GvRow.DataKey("CveContratosEstatus")
UpModal.Update()
RegistraScript("$('#ModalActualizar').modal('show');")
End Sub
Protected Sub Consultar(sender As Object, e As EventArgs)
Dim fechaInicial As String = txtFechaI.Text
Dim fechaFinal As String = txtFechaF.Text
Dim cliente As String = If(DdlClientesConsulta.SelectedValue = "", "", $"C.CveCliente = {DdlClientesConsulta.SelectedValue} AND")
Dim estatus As String = ""
Dim nombreEstatus As String = ""
Dim innerEstatus As String = ""
Dim tipoUnidad As String = ""
Dim nombreTipoUnidad As String = ""
Dim innerTipoUnidad As String = ""
Dim chofer As String = ""
Dim nombreChofer As String = ""
Dim innerChofer As String = ""
If (DdlEstatusConsulta.SelectedValue <> "") Then
estatus = $"C.CveContratosEstatus = {DdlEstatusConsulta.SelectedValue} AND"
nombreEstatus = ", CE.ContratoEstatus As ContratoEstatus1"
innerEstatus = " INNER JOIN Con_ContratosEstatus CE with(nolock) ON CE.CveContratoEstatus = C.CveContratosEstatus "
End If
If (DdlTIpoUnidad.SelectedValue <> "") Then
'tipoUnidad = $"C.CveContratosEstatus = {DdlTIpoUnidad.SelectedValue} AND"
'nombreTipoUnidad = ", CE.ContratoTipoUnidad As ContratoTipoUnidad1"
'innerTipoUnidad = " INNER JOIN Con_ContratosTipoUnidad CE with(nolock) ON CE.CveContratoTipoUnidad = C.CveContratosEstatus "
End If
If (DdlChofer.SelectedValue <> "") Then
'tipoUnidad = $"C.CveContratosEstatus = {DdlTIpoUnidad.SelectedValue} AND"
'nombreTipoUnidad = ", CE.ContratoTipoUnidad As ContratoTipoUnidad1"
'innerTipoUnidad = " INNER JOIN Con_ContratosTipoUnidad CE with(nolock) ON CE.CveContratoTipoUnidad = C.CveContratosEstatus "
End If
Dim intervalo As String = If(DdlEstatusConsulta.SelectedValue = "" And DdlClientesConsulta.SelectedValue = "", $"FechaInicial BETWEEN '{fechaInicial}' AND '{fechaFinal}'", $"FechaInicial BETWEEN '{fechaInicial}' AND '{fechaFinal}'")
Dim query As String = $"SELECT *, ISNULL(Cli.NombreComercial,'') AS NombreComercial {nombreEstatus} FROM Con_Contratos C LEFT JOIN Clientes Cli with(nolock) ON Cli.CveCliente = C.CveCliente {innerEstatus} WHERE {cliente} {estatus} {intervalo}"
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("Conexion").ConnectionString)
Using command As New SqlCommand(query, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
GvContratos.DataSource = reader
GvContratos.DataBind()
End Using
End Using
UpTitulos.Update()
End Sub
Protected Sub Expandir(sender As Object, e As EventArgs)
If PnExpandirConsulta.Visible Then
PnExpandirConsulta.Visible = False
BtnExpandir.Text = "↑"
Else
PnExpandirConsulta.Visible = True
BtnExpandir.Text = "↓"
End If
End Sub
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString)
End Sub
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
Dim ObjContratos As New ClsContratos
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=2) Then
Dim Imagen As New IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
Dim logouri As String = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim Cliente As String = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b>&nbsp;{DdlClientes.SelectedText}")
Dim dt As DataTable = ObjContratos.DtResultados
Dim params As New List(Of ReportParameter) From {
New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa),
New ReportParameter("FechaInicio", "-1"),
New ReportParameter("FechaFin", "-1"),
New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa),
New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre),
New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString),
New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))
}
ImprimirPDF("Empresas/Grales/Formatos/RepContratos.rdlc", dt, params, NombreArchivo:="Reporte Contratos")
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
End Class