From 6d18d1b394adcce865a5eebc808f433c43c21818 Mon Sep 17 00:00:00 2001 From: AbrahamCastilloV Date: Fri, 26 Jan 2024 04:03:49 -0700 Subject: [PATCH] =?UTF-8?q?--Se=20agregaron=20el=20m=C3=B3dulo=20603=20Rep?= =?UTF-8?q?ContratosCalendario=20a=20ClsPaginas.=20Se=20agrega=20el=20case?= =?UTF-8?q?=20a=20ProcessRequest=20"contratos=5Ftransportes"=20=20y=20la?= =?UTF-8?q?=20funci=C3=B3n=20GetContratos=20para=20mostrarlos=20en=20calen?= =?UTF-8?q?dario(faltan=20ajustes=20espec=C3=ADficos).=20=20Se=20agrega=20?= =?UTF-8?q?el=20apartado=20de=20chofer=20al=20modal=20al=20agregar=20contr?= =?UTF-8?q?atos(falta=20ver=20a=20d=C3=B3nde=20se=20asignar=C3=A1=20esa=20?= =?UTF-8?q?variable,=20si=20se=20crea=20otra=20o=20se=20asignada=20a=20alg?= =?UTF-8?q?una=20de=20las=20variables=20ya=20existentes).=20Se=20crea=20y?= =?UTF-8?q?=20alimenta=20RepContratosCalendarios=20para=20mostrar=20el=20c?= =?UTF-8?q?alendario=20de=20contratos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsPaginas.vb | 1 + Ashx/CargaEventos.ashx | 205 +++++++++++++++++++-- Transportes/RepContratos.aspx | 24 ++- Transportes/RepContratos.aspx.vb | 11 +- Transportes/RepContratosCalendario.aspx | 170 +++++++++++++++++ Transportes/RepContratosCalendario.aspx.vb | 21 +++ 6 files changed, 416 insertions(+), 16 deletions(-) create mode 100644 Transportes/RepContratosCalendario.aspx create mode 100644 Transportes/RepContratosCalendario.aspx.vb diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index ff9a10c2a..d4f433f47 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -10717,6 +10717,7 @@ Public Class ClsPaginas PaginaDict.Add("/Transportes/RepViajes.aspx".ToUpper(), 599) PaginaDict.Add("/Transportes/RepBoletos.aspx".ToUpper(), 600) PaginaDict.Add("/Transportes/Boletos.aspx".ToUpper(), 601) + PaginaDict.Add("/Transportes/RepContratosCalendario.aspx".ToUpper(), 603) #End Region 'Antes de aquí. diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx index e46aabf4d..0378716e1 100644 --- a/Ashx/CargaEventos.ashx +++ b/Ashx/CargaEventos.ashx @@ -45,6 +45,32 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState End If + Exit Select + Case "contrato_transportes" + + If context.Request("U").ToEntero > 0 Then + + CveUsuario = context.Request("U").ToEntero + CveEmpresa = context.Request("E").ToEntero + + Dim CveSubProyecto As Integer = If(context.Request("CveSubProyecto") IsNot Nothing, context.Request("CveSubProyecto").ToEntero, -1) + Dim CveUsuarioPara As Integer = If(context.Request("CveUsuarioPara") IsNot Nothing, context.Request("CveUsuarioPara").ToEntero, -1) + + + FI = context.Request("start").ToDate + FF = context.Request("end").ToDate + + If Not GetContratos(context:=context) Then + 'Convierte el objeto de Eventos en JSON + 'Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer + Dim sJSON As String = Newtonsoft.Json.JsonConvert.SerializeObject(events) + + context.Response.Write(sJSON) + End If + + End If + + Exit Select Case Else Exit Select @@ -69,13 +95,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState End If End If - - - - - - - End Sub Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable @@ -137,11 +156,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState End If - - - Dim EsCoordinador As Boolean = False - Dim usuarioActual_ As Usuario = UsuarioActual(context) If context IsNot Nothing AndAlso CveOS = -2 Then If usuarioActual_.TienePermisoProceso(348) Then @@ -265,7 +280,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState 'AGREGAMOS CUANDO NO ES RECURRENTE Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA - If dr("FechaFin").ToString.ToDateTime > tFecha Or dr("FechaInicio").ToString.ToDateTime > tFecha Then + If dr("FechaFinal").ToString.ToDateTime > tFecha Or dr("FechaInicio").ToString.ToDateTime > tFecha Then events.Add(cevent) End If Else @@ -418,6 +433,172 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState Return ErrorEventos End Function + Private Function GetContratos(Optional context As HttpContext = Nothing) As Boolean + Dim ObjContratos As New ClsContratos + + events = New List(Of CalendarEvent) + + Dim DT_SubProyectos As New DataTable + Dim DT_EstatusOS As New DataTable + Dim usuarioActual_ As Usuario = UsuarioActual(context) + Dim ErrorEventos As Boolean = False + Dim Colores() As String = {"#006699", "#0099cc", "#0066cc", "#0033cc", "#0000ff", "#3333ff", "#3333ff", "#6600ff", "#9933ff", "#cc00ff", "#cc00cc", "#cc0099", "#cc3399", "#cc6699", "#cc0066", "#009933", "#00cc00", "#00cc66", "#009999", "#669900", "#99cc00", "#cccc00", "#cc9900", "#ff9900", "#006666", "#669999"} + + DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer)) + DT_SubProyectos.Columns.Add("backgroundColor") + DT_EstatusOS.Columns.Add("", GetType(Integer)) + + If ObjContratos.GetContratos(-1, usuarioActual_.CveEmpresa, TipoContrato:=2) Then + + If ObjContratos.DtResultados.Rows.Count > 0 Then + + Try + For Each dr As DataRow In ObjContratos.DtResultados.Rows + Dim cevent As CalendarEvent = New CalendarEvent() + + + cevent.id = dr("CveContrato").ToString.ToEntero + cevent.title = dr("DescripcionContrato").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime) + cevent.allDay = False + cevent.CveEventoEstatus = dr("NumeroContrato").ToString.ToEntero + + If Not cevent.recurrenciatipo > 0 Then + + 'AGREGAMOS CUANDO NO ES RECURRENTE + Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If dr("FechaFinal").ToString.ToDateTime > tFecha Or dr("FechaInicial").ToString.ToDateTime > tFecha Then + events.Add(cevent) + End If + Else + + 'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE + + Dim FinRecurrencia As Integer = cevent.recurrenciafin.ToEntero + Dim FI As DateTime, FF As DateTime, FT As DateTime + Dim DiasSemana As String() = cevent.diassemana.Split(","c) + FI = cevent.start.ToDateTime + FF = cevent.end.ToDateTime + + 'OBTENEMOS LA FECHA TERMINO (FT) DE LA RECURRENCIA + Select Case FinRecurrencia + Case -1 + FT = DateAdd(DateInterval.Year, 2, dr("FechaInicial").ToString.ToDateTime) + Case Is > 0 + FinRecurrencia -= 1 + Select Case cevent.recurrenciatipo + Case 1 + FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + Case 2 + FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + Case 3 + FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT) + Case 4 + FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + Case 5 + FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) + End Select + End Select + + 'SI ES TIPO SEMANAL Y DIASSEMANA TIENE VALORES CHECKEA ESTOS VALORES + Do + If DiasSemana.Length > 0 AndAlso DiasSemana(0) <> "" Then + For Each drDias As String In DiasSemana + Dim FIT As Date = FI, FFT As Date = FF + + FIT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FI)).ToString.ToDouble, FI) + FFT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FF)).ToString.ToDouble, FF) + + cevent = New CalendarEvent() + cevent.id = dr("CveContrato").ToString.ToEntero + cevent.description = dr("DescripcionContrato").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime) + cevent.allDay = False + cevent.CveEventoEstatus = dr("NumeroContrato").ToString.ToEntero + + + + '11/05/2018 - Evento Gasto Recurrente + cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero + If cevent.CveTipoEvento = 10 Then + cevent.Importe = dr("Importe").ToString.ToDouble + End If + + If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then + cevent.backgroundColor = "#1BBC9B" + End If + + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL Y/0 SI LA FECHA INICIAL DE LA RECURRENCIA ES MENOR A LA FECHA QUE SE CREO EL EVENTO NO LO AGREGA + If FIT > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) And FIT >= dr("FechaInicial").ToString.ToDateTime Then + events.Add(cevent) + End If + Next + Else + cevent = New CalendarEvent() + cevent.id = dr("CveContrato").ToString.ToEntero + cevent.description = dr("DescripcionContrato").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime) + cevent.allDay = False + 'cevent.CveEventoEstatus = dr("NumeroContrato").ToString.ToEntero + 'cevent.CveEventoEstatus = dr("CveEventoEstatus").ToString.ToEntero + 'cevent.cveagendatipo = dr("CveAgendaTipo").ToString + 'cevent.prioridad = dr("CvePrioridad").ToString.ToEntero + 'cevent.backgroundColor = dr("BackGroundColor").ToString + + 'cevent.recurrenciatipo = dr("RecurrenciaTipo").ToString.ToEntero + 'cevent.frecuencia = dr("Frecuencia").ToString.ToEntero + 'cevent.diassemana = dr("DiasSemana").ToString + 'cevent.dia = dr("Dia").ToString.ToEntero + 'cevent.mes = dr("Mes").ToString.ToEntero + 'cevent.recurrenciafin = dr("RecurrenciaFin").ToString + 'cevent.CveProspecto = dr("CveProspecto").ToString.ToEntero + 'cevent.Prospecto = dr("Prospecto").ToString + + '11/05/2018 - Evento Gasto Recurrente + + + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If FI > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) Then + events.Add(cevent) + End If + End If + + Select Case cevent.recurrenciatipo + Case 1 + FI = DateAdd(DateInterval.Hour, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Hour, cevent.frecuencia, FF) + Case 2 + FI = DateAdd(DateInterval.Day, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Day, cevent.frecuencia, FF) + Case 3 + FI = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FF) + Case 4 + FI = DateAdd(DateInterval.Month, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Month, cevent.frecuencia, FF) + Case 5 + FI = DateAdd(DateInterval.Year, cevent.frecuencia, FI) + FF = DateAdd(DateInterval.Year, cevent.frecuencia, FF) + End Select + + Loop Until FI > FT + End If + Next + Catch ex As Exception + GuardaLog(ex.ToString()) + End Try + End If + + End If + ObjContratos.Dispose() + Return ErrorEventos + End Function + ReadOnly Property UsuarioActual(ByVal context As HttpContext) As Usuario Get UsuarioActual = DirectCast(If(context IsNot Nothing, context.Session("UsuarioSIG"), Nothing), Usuario) diff --git a/Transportes/RepContratos.aspx b/Transportes/RepContratos.aspx index 409f5b386..f74baa4a8 100644 --- a/Transportes/RepContratos.aspx +++ b/Transportes/RepContratos.aspx @@ -1,4 +1,4 @@ -<%@ Page Language="VB" AutoEventWireup="false" Title="Transportes V&A - Contratos" +<%@ Page Language="VB" AutoEventWireup="true" Title="Transportes V&A - Contratos" MasterPageFile="~/Site.master" CodeFile="RepContratos.aspx.vb" Inherits="ListadoContratos" %> @@ -118,7 +118,7 @@ - +