Files
SIG/Transportes/RepContratos.aspx.vb
2024-02-14 19:59:36 -07:00

209 lines
9.7 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Imports Extensiones
Imports Extensiones.ModExtensiones
Imports Microsoft.Reporting.WebForms
Partial Class ListadoContratos
Inherits ClsPaginas
#Region "Propiedad"
Private Property DtAvanceDocumento As DataTable
Get
Return CType(ViewState("DtAvanceDocumento"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtAvanceDocumento") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
txtFechaI.Text = DateTime.Now.AddMonths(-1).ToString("MM/dd/yyyy").Replace(" ", "T")
txtFechaF.Text = DateTime.Now.AddDays(7).ToString("MM/dd/yyyy").Replace(" ", "T")
If Not IsPostBack Then
InicializaCombos()
CargaDatos()
End If
End Sub
Private Sub InicializaCombos()
'Lista Tipo AF
DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlTipoAF.DataBind()
DdlTipoAF.Items.Insert(0, New ListItem("-", ""))
DdlTIpoUnidad.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlTIpoUnidad.DataBind()
DdlTIpoUnidad.Items.Insert(0, New ListItem("-", ""))
'Lista Chofer'
DdlChofer.DataSource = GlobalDTRHPersonal(188)
DdlChofer.DataBind()
DdlChofer.Items.Insert(0, New ListItem("-", ""))
End Sub
Private Sub CargaDatos()
Dim ObjContratos As New ClsContratos
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=34) Then
GvContratos.DataSource = ObjContratos.DtResultados
GvContratos.DataBind()
End If
If ObjContratos.GetContratosEstatus(UsuarioActual.CveEmpresa) Then
DdlEstatusConsulta.DataSource = ObjContratos.DtResultados
DdlEstatusConsulta.DataBind()
DdlEstatusConsulta.Items.Insert(0, New ListItem("-", ""))
End If
'Generamos Folio - NumeroContrato
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
Dim ObjFolio As New ClsGralFolios
If ObjFolio.GetFolios("Con", UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto) Then
If ObjFolio.DtResultados.Rows.Count > 0 Then
Dim drr As DataRow = ObjFolio.DtResultados.FiltroPrimero("")
LbFolio.Text = $"{drr("Serie").ToString}-{drr("FActual").ToString}"
End If
End If
UpTitulos.Update()
End Sub
Protected Sub MostrarModal()
RegistraScript(String.Format("$('#{0}').modal('show');", "ModalAgregar"))
End Sub
Private Sub LBAgregarContrato_Click(sender As Object, e As EventArgs) Handles LBAgregarContrato.Click
MostrarModal()
End Sub
Protected Sub AddContrato(sender As Object, e As EventArgs)
If DdlClientes.SelectedValue = "" Then
Alert("Debe seleccionar al cliente", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'Aumentamos Folio
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
Dim ObjFolios As New ClsGralFolios
If ObjFolios.UpdateFolioActual(CveSubProyecto, "Con", True, UsuarioActual.CveEmpresa) Then
ObjFolios.Dispose()
End If
'Agregamos Contrato
Dim ObjContratos As New ClsContratos
ObjContratos.IniciaTransacSQL()
If ObjContratos.AddContratos(LbFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, TxtPesos.Text.ToDecimal, TxtDolares.Text.ToDecimal, -1, 0, CveContratoTipo:=34, CveContratosEstatus:=50, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CantidadPasajeros:=TxtCantidadPasajeros.Text.ToEntero, Observaciones:=TxtObservaciones.Text) > 0 Then
ObjContratos.Commit()
Alert("Agregado Correctamente.")
End If
ObjContratos.Dispose()
'Reiniciamos modal
TxtDescripcion.Text = ""
TxtFechaSalida.Text = ""
TxtFechaRegreso.Text = ""
TxtObservaciones.Text = ""
TxtUbicacion.Text = ""
DdlClientes.SelectedText = ""
DdlTipoAF.SelectedValue = ""
TxtDolares.Text = ""
TxtPesos.Text = ""
TxtAnticipo.Text = ""
TxtCantidadPasajeros.Text = ""
UpModal.Update()
CargaDatos()
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
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 GoContratoDetalle(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Response.Redirect($"~/Transportes/RepContratoDetalle.aspx?CveContrato={GvRow.DataKey("CveContrato")}")
End Sub
End Class