290 lines
13 KiB
VB.net
290 lines
13 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
Imports System.Data
|
|
Imports ADSNetLibrary.SIGAPI.Helpers
|
|
Imports Extensiones.ModExtensiones
|
|
Imports GemBox.Spreadsheet
|
|
Imports Microsoft.Reporting.WebForms
|
|
Imports Newtonsoft.Json.Linq
|
|
|
|
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
|
|
|
|
Public Property Contrato As String
|
|
Get
|
|
Return IfNull(ViewState("Contrato"), "").ToString()
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Contrato") = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property CveContrato As Integer
|
|
Get
|
|
Return HdnCveContrato.Value.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
HdnCveContrato.Value = value.ToString
|
|
End Set
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString()
|
|
txtFechaF.Text = GetLastDayOfMonth(NowADS()).ToShortDateString()
|
|
InicializaCombos()
|
|
InicializaCalendar()
|
|
CargaDatos()
|
|
End If
|
|
'InicializaCalendar()
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
Dim ObjContratos As New ClsContratos
|
|
'EL fondo de las líneas es blanco, por eso cambio el color a negro de la cabecera
|
|
GvContratos.HeaderStyle.ForeColor = Drawing.Color.Black
|
|
Dim CveCliente As Integer = DdlCliente.SelectedValue.ToEntero
|
|
If CveCliente = 0 Then CveCliente = -1
|
|
|
|
If ObjContratos.GetContratosReporte(UsuarioActual.CveEmpresa, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlCliente.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, CveEstatus:=DdlEstatusConsulta.SelectedValue.ToEntero, CveTipoContrato:=34) Then
|
|
DtAvance = ObjContratos.DtResultados.Copy()
|
|
CargaCronograma(DdlTipoVista.SelectedValue.ToEntero)
|
|
End If
|
|
GvContratos.DataSource = DtAvance
|
|
|
|
DdlEstatusContrato.Enabled = UsuarioActual.TienePermisoProceso(173)
|
|
|
|
ObjContratos.Dispose()
|
|
GvContratos.DataBind()
|
|
UpTitulos.Update()
|
|
|
|
End Sub
|
|
|
|
Public Shared Function GetLastDayOfMonth(ByVal dateTime As DateTime) As DateTime
|
|
Return New DateTime(dateTime.Year, dateTime.Month, DateTime.DaysInMonth(dateTime.Year, dateTime.Month))
|
|
End Function
|
|
Private Sub CargaCronograma(Optional TipoVista As Integer = -1)
|
|
If DtAvance IsNot Nothing Then
|
|
|
|
Dim DtUnidades As DataTable = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros("Codigo <> '' AND MedidaVehicular IN (2,3)", Orderby:=" TipoActivoFijo ASC, CodigoNumeroOrden ASC", DistinctColumns:={"Codigo", "CveActivoFijo"})
|
|
|
|
'For Each Row As DataRow In DtAvance.Rows
|
|
' If String.IsNullOrEmpty(Row("CodigoAF").ToString()) Then
|
|
' Row("CodigoAF") = "Unidad no asignada"
|
|
' End If
|
|
'Next
|
|
|
|
Dim jsonData As New JArray()
|
|
Dim jsonCategorias As New JArray()
|
|
|
|
Dim random = New Random()
|
|
|
|
'DATOS
|
|
Dim strAF As New StringBuilder
|
|
'se quitan los estatus cancelados
|
|
For Each Row As DataRow In DtAvance.FiltraParametros("CodigoAF <> '' AND TipoEstatus <> 3").Rows
|
|
Dim obj As New JObject(
|
|
New JProperty("category", Row("CodigoAF")),
|
|
New JProperty("fromDate", Row("FechaInicial").ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm").ToDateTime()),
|
|
New JProperty("toDate", Row("FechaFinal").ToString().ToDateTime.ToString("dd/MM/yyyy HH:mm").ToDateTime()),
|
|
New JProperty("columnSettings", New JObject(
|
|
New JProperty("fill", String.Format("#{0:X6}", random.Next(16777216)))
|
|
)),
|
|
New JProperty("unidad", Row("NombreAF")),
|
|
New JProperty("cveContrato", Row("CveContrato")),
|
|
New JProperty("contrato", Row("NumeroContrato")),
|
|
New JProperty("fechaFinalViaje", Row("FechaFinal").ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm"))
|
|
)
|
|
jsonData.Add(obj)
|
|
strAF.AppendFormat("{0},", Row("CveAF"))
|
|
Next
|
|
|
|
If TipoVista = 1 Then 'solo con viajes
|
|
DtUnidades = DtUnidades.FiltraParametros($"CveActivoFijo IN ({strAF.ToString})")
|
|
End If
|
|
|
|
'CATEGORIAS 'AGREGAR TODAS LAS UNIDADES
|
|
For Each Row As DataRow In DtUnidades.Rows
|
|
Dim obj As New JObject(
|
|
New JProperty("category", Row("Codigo"))
|
|
)
|
|
jsonCategorias.Add(obj)
|
|
Next
|
|
Dim FechaI = txtFechaI.Text.ToDateTime()
|
|
Dim FechaF = txtFechaF.Text.ToDateTime()
|
|
|
|
Dim ScriptZoom = $"zoomAxis({FechaI.Year},{FechaI.Month - 1},{FechaI.Day},{FechaF.Year},{FechaF.Month - 1},{FechaF.Day});"
|
|
|
|
RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()},{TipoVista});{ScriptZoom}", "A1")
|
|
UPPGantt.Update()
|
|
End If
|
|
End Sub
|
|
Private Sub InicializaCalendar()
|
|
|
|
RegistraScript("InitCalendar();")
|
|
DirectCast(Master.FindControl("TSM"), ScriptManager).EnablePageMethods = True
|
|
End Sub
|
|
|
|
Private Sub InicializaCombos()
|
|
'Lista de Tipos de activo fijos
|
|
DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
|
|
DdlTipoAF.Items.Insert(0, New ListItem("-", ""))
|
|
DdlTipoAF.DataBind()
|
|
|
|
DdlTipoUnidad.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
|
|
DdlTipoUnidad.DataBind()
|
|
DdlTipoUnidad.Items.Insert(0, New ListItem("-", ""))
|
|
'Lista de Activos fijos
|
|
DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
|
|
DdlAF.DataBind()
|
|
DdlAF.Items.Insert(0, New ListItem("-", ""))
|
|
|
|
'Lista Chofer'
|
|
DdlChofer.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
|
|
DdlChofer.DataBind()
|
|
DdlChofer.Items.Insert(0, New ListItem("Seleccione", ""))
|
|
DdlChofer.SelectedValueExist(-1)
|
|
|
|
DdlChofer2.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
|
|
DdlChofer2.DataBind()
|
|
DdlChofer2.Items.Insert(0, New ListItem("Seleccione", ""))
|
|
DdlChofer2.SelectedValueExist(-1)
|
|
|
|
|
|
DdlChoferFiltro.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto")
|
|
DdlChoferFiltro.DataBind()
|
|
DdlChoferFiltro.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlTipoUnidad.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("MedidaVehicularClave IN (2,3)")
|
|
DdlTipoUnidad.DataBind()
|
|
DdlTipoUnidad.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlEstatusConsulta.DataSource = GlobalDTContratosEstatus(UsuarioActual.CveEmpresa)
|
|
DdlEstatusConsulta.DataBind()
|
|
DdlEstatusConsulta.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlEstatusContrato.DataSource = GlobalDTContratosEstatus(UsuarioActual.CveEmpresa)
|
|
DdlEstatusContrato.DataBind()
|
|
DdlEstatusContrato.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
DdlSubProyectos.DataBind()
|
|
DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
'CargarCentrosDeCosto(Nothing, DdlSubProyectos, Nothing, LblSubProyecto)
|
|
UpModal.Update()
|
|
End Sub
|
|
|
|
Private Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvContratos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim BackgroundColor As String = DataBinder.Eval(e.Row.DataItem, "BackgroundColor").ToString()
|
|
e.Row.BackColor = Drawing.ColorTranslator.FromHtml(BackgroundColor)
|
|
End If
|
|
End Sub
|
|
Protected Sub MostrarModal(sender As Object, e As System.EventArgs)
|
|
|
|
If HidModClienteNombre.Value = "" Then
|
|
HidModClienteNombre.Value = GlobalDTCliente(UsuarioActual.CveEmpresa, -1, HidModCveCliente.Value.ToEntero).FiltroPrimeroValor("NombreComercial")
|
|
End If
|
|
|
|
DdlClientes.SelectedText = HidModClienteNombre.Value
|
|
DdlClientes.SelectedValue = HidModCveCliente.Value
|
|
|
|
DdlClientes.txtText.Value = HidModClienteNombre.Value
|
|
DdlClientes.txtValue.Value = HidModCveCliente.Value
|
|
|
|
UpModal.Update()
|
|
|
|
RegistraScript("$('#ModalActualizar').modal('show');")
|
|
End Sub
|
|
|
|
|
|
Protected Sub UpdateContrato(sender As Object, e As EventArgs)
|
|
Dim ObjContratos As New ClsContratos
|
|
ObjContratos.IniciaTransacSQL()
|
|
|
|
If ObjContratos.UpdateContratos(CveContrato, TxtFolio.Text, TxtDescripcion.Text, "", -1, 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:=DdlEstatusContrato.SelectedValue.ToEntero, CveChofer:=DdlChofer.SelectedValue.ToEntero, CveChofer2:=DdlChofer2.SelectedValue.ToEntero, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveAF:=DdlAF.SelectedValue.ToEntero, CantidadPasajeros:=TxtCantidadPasajeros.Text.ToEntero) Then
|
|
ObjContratos.Commit()
|
|
Alert("Actualizado Correctamente.")
|
|
Else
|
|
ObjContratos.RollBack()
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
UpTitulos.Update()
|
|
CargaDatos()
|
|
InicializaCalendar()
|
|
End Sub
|
|
Protected Sub UpdateModal(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
TxtFolio.Text = GvRow.DataKey("NumeroContrato")
|
|
TxtCantidadPasajeros.Text = GvRow.DataKey("CantidadPasajeros")
|
|
DdlClientes.SelectedValue = GvRow.DataKey("CveCliente")
|
|
DdlClientes.SelectedText = GvRow.DataKey("NombreComercial")
|
|
TxtDescripcion.Text = GvRow.DataKey("DescripcionContrato")
|
|
TxtObservaciones.Text = GvRow.DataKey("Observaciones")
|
|
TxtUbicacion.Text = GvRow.DataKey("Ubicacion")
|
|
TxtFechaSalida.Text = Convert.ToDateTime(GvRow.DataKey("FechaInicial")).ToString("dd/MM/yyyy hh:mm tt")
|
|
TxtFechaRegreso.Text = Convert.ToDateTime(GvRow.DataKey("FechaFinal")).ToString("dd/MM/yyyy hh:mm tt")
|
|
TxtMoneda.Text = GvRow.DataKey("CveMoneda")
|
|
'Requeridos
|
|
ViewState("CveContrato") = GvRow.DataKey("CveContrato")
|
|
DdlAF.SelectedValue = GvRow.DataKey("CveAF")
|
|
DdlChofer.SelectedValueExist(GvRow.DataKey("CveChofer"))
|
|
DdlChofer2.SelectedValueExist(GvRow.DataKey("CveChofer2"))
|
|
DdlEstatusContrato.SelectedValue = GvRow.DataKey("CveContratosEstatus")
|
|
CveContrato = GvRow.DataKey("CveContrato").ToEntero
|
|
|
|
UpModal.Update()
|
|
RegistraScript("$('#ModalActualizar').modal('show');")
|
|
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", "", $" <b>Cliente:</b> {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
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
|
CargaDatos()
|
|
End Sub
|
|
Protected Sub RBTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
InicializaCalendar()
|
|
CargaCronograma()
|
|
End Sub
|
|
|
|
Protected Sub DdlTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaCronograma(DdlTipoVista.SelectedValue.ToEntero)
|
|
End Sub
|
|
End Class
|