Vya - Nuevas observaciones 2024.07.19

This commit is contained in:
rakcsle
2024-07-22 11:10:06 -07:00
parent ec4e5c4072
commit 389344bf8e
10 changed files with 535 additions and 235 deletions

View File

@@ -62,4 +62,8 @@ Public Class CalendarEvent
Public Property NumeroContrato As String Public Property NumeroContrato As String
Public Property Observaciones As String Public Property Observaciones As String
Public Property CveMoneda As Integer
Public Property Moneda As String
End Class End Class

View File

@@ -684,6 +684,48 @@ Public Class ClsContratos
Return Retorno Return Retorno
End Function End Function
Public Function GetContratosValUnidadesAgendadas(CveAF As Integer, FechaInicial As DateTime, FechaFinal As DateTime, CveEmpresa As Integer, CveContrato As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Con_ContratosValUnidadesAgendadasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAF", SqlDbType.Int).Value = CveAF
.Add("@FechaInicial", SqlDbType.DateTime).Value = FechaInicial
.Add("@FechaFinal", SqlDbType.DateTime).Value = FechaFinal
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las unidades agendadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateContratoArchivo(CveContrato As Integer, Archivo As String, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Con_ContratosArchivoUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@Archivo", SqlDbType.VarChar).Value = Archivo
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el archivo adjunto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region #End Region

View File

@@ -107,12 +107,8 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
If context.Request("U").ToEntero > 0 Then If context.Request("U").ToEntero > 0 Then
CveUsuario = context.Request("U").ToEntero CveUsuario = context.Request("U").ToEntero
CveEmpresa = context.Request("E").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 FI = context.Request("start").ToDate
FF = context.Request("end").ToDate FF = context.Request("end").ToDate
@@ -487,168 +483,208 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
Dim tipoVista As String = context.Request("tipoVista") Dim tipoVista As String = context.Request("tipoVista")
DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer)) DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer))
DT_SubProyectos.Columns.Add("backgroundColor") DT_SubProyectos.Columns.Add("backgroundColor")
DT_EstatusOS.Columns.Add("", GetType(Integer)) DT_EstatusOS.Columns.Add("", GetType(Integer))
Dim cveContrato As Integer = -1
If context.Request("cveContrato") IsNot Nothing Then
cveContrato = context.Request("cveContrato").ToEntero() Dim cveContrato As Integer = If(context.Request("cveContrato") IsNot Nothing, context.Request("cveContrato").ToEntero, -1)
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)
Dim CveCliente As Integer = If(context.Request("CveCliente") IsNot Nothing, context.Request("CveCliente").ToEntero, -1)
Dim CveContratoEstatus As Integer = If(context.Request("CveContratoEstatus") IsNot Nothing, context.Request("CveContratoEstatus").ToEntero, -1)
Dim CveTipoActivoFijo As Integer = If(context.Request("CveTipoActivoFijo") IsNot Nothing, context.Request("CveTipoActivoFijo").ToEntero, -1)
Dim CvePersonal As Integer = If(context.Request("CvePersonal") IsNot Nothing, context.Request("CvePersonal").ToEntero, -1)
If Not cveContrato > 0 Then
cveContrato = -1
End If
If Not CveCliente > 0 Then
CveCliente = -1
End If End If
If ObjContratos.GetContratos(cveContrato, usuarioActual_.CveEmpresa, TipoContrato:=34) Then If ObjContratos.GetContratos(cveContrato, usuarioActual_.CveEmpresa, TipoContrato:=34, CveCliente:=CveCliente, CveEstatus:=CveContratoEstatus) Then
If ObjContratos.DtResultados.Rows.Count > 0 Then 'CveTipoAF
'CveChofer, CveChofer2
Try Dim filtro As String = ""
For Each dr As DataRow In ObjContratos.DtResultados.Rows If CveTipoActivoFijo > 0 Then
Dim cevent As CalendarEvent = New CalendarEvent() filtro = $"{filtro} CveTipoAF = {CveTipoActivoFijo}"
End If
cevent.id = dr("CveContrato").ToString.ToEntero
cevent.title = dr("DescripcionContrato").ToString If CvePersonal > 0 Then
cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) If filtro.Length > 0 Then
cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) filtro = $"{filtro} AND "
cevent.FechaFinal = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime) End If
cevent.allDay = False filtro = $"{filtro} CveChofer = {CvePersonal} OR CveChofer2 = {CvePersonal} "
cevent.NombreAcercamiento = dr("Ubicacion").ToString End If
cevent.CveCliente = dr("CveCliente").ToString.ToEntero
cevent.NombreComercial = dr("NombreComercial").ToString
cevent.CvePersonal = dr("CveChofer").ToString.ToEntero If CveSubProyecto > 0 Then
cevent.CvePersonal2 = dr("CveChofer2").ToString.ToEntero If filtro.Length > 0 Then
cevent.CveEventoEstatus = dr("CveContratosEstatus").ToString.ToEntero filtro = $"{filtro} AND "
cevent.Dolares = dr("Importe").ToString.ToDecimal End If
cevent.Pesos = dr("ImporteMax").ToString.ToDecimal filtro = $"{filtro} CveSubProyecto = {CveSubProyecto} "
cevent.Anticipo = dr("ImporteMin").ToString.ToDecimal End If
Dim DTContratos As DataTable = ObjContratos.DtResultados.FiltraParametros(filtro)
If DTContratos.Rows.Count > 0 Then
Try
For Each dr As DataRow In DTContratos.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 = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime))
cevent.FechaFinal = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)
cevent.allDay = False
cevent.NombreAcercamiento = dr("Ubicacion").ToString
cevent.CveCliente = dr("CveCliente").ToString.ToEntero
cevent.NombreComercial = dr("NombreComercial").ToString
cevent.CvePersonal = dr("CveChofer").ToString.ToEntero
cevent.CvePersonal2 = dr("CveChofer2").ToString.ToEntero
cevent.CveEventoEstatus = dr("CveContratosEstatus").ToString.ToEntero
cevent.Dolares = dr("Importe").ToString.ToDecimal
cevent.Pesos = dr("ImporteMax").ToString.ToDecimal
cevent.Anticipo = dr("ImporteMin").ToString.ToDecimal
cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero
cevent.CveTipoAF = dr("CveTipoAF").ToString.ToEntero cevent.CveTipoAF = dr("CveTipoAF").ToString.ToEntero
cevent.backgroundColor = dr("BackgroundColor").ToString cevent.backgroundColor = dr("BackgroundColor").ToString
cevent.CantidadPasajeros = dr("CantidadPasajeros").ToString cevent.CantidadPasajeros = dr("CantidadPasajeros").ToString
cevent.NumeroContrato = dr("NumeroContrato").ToString cevent.NumeroContrato = dr("NumeroContrato").ToString
cevent.Observaciones = dr("Observaciones").ToString cevent.Observaciones = dr("Observaciones").ToString
cevent.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
If Not cevent.recurrenciatipo > 0 Then cevent.CveMoneda = dr("CveMoneda").ToString.ToEntero
cevent.Moneda = dr("Moneda").ToString
'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 Not cevent.recurrenciatipo > 0 Then
If dr("FechaFinal").ToString.ToDateTime > tFecha Or dr("FechaInicial").ToString.ToDateTime > tFecha Then
events.Add(cevent) 'AGREGAMOS CUANDO NO ES RECURRENTE
End If Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS())
Else '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
'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE events.Add(cevent)
End If
Dim FinRecurrencia As Integer = cevent.recurrenciafin.ToEntero Else
Dim FI As DateTime, FF As DateTime, FT As DateTime
Dim DiasSemana As String() = cevent.diassemana.Split(","c) 'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE
FI = cevent.start.ToDateTime
FF = cevent.end.ToDateTime Dim FinRecurrencia As Integer = cevent.recurrenciafin.ToEntero
Dim FI As DateTime, FF As DateTime, FT As DateTime
'OBTENEMOS LA FECHA TERMINO (FT) DE LA RECURRENCIA Dim DiasSemana As String() = cevent.diassemana.Split(","c)
Select Case FinRecurrencia FI = cevent.start.ToDateTime
Case -1 FF = cevent.end.ToDateTime
FT = DateAdd(DateInterval.Year, 2, dr("FechaInicial").ToString.ToDateTime)
Case Is > 0 'OBTENEMOS LA FECHA TERMINO (FT) DE LA RECURRENCIA
FinRecurrencia -= 1 Select Case FinRecurrencia
Select Case cevent.recurrenciatipo Case -1
Case 1 FT = DateAdd(DateInterval.Year, 2, dr("FechaInicial").ToString.ToDateTime)
FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) Case Is > 0
Case 2 FinRecurrencia -= 1
FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) Select Case cevent.recurrenciatipo
Case 3 Case 1
FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime)
FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT) Case 2
Case 4 FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime)
FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) Case 3
Case 5 FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime)
FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime) FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT)
End Select Case 4
End Select FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime)
Case 5
'SI ES TIPO SEMANAL Y DIASSEMANA TIENE VALORES CHECKEA ESTOS VALORES FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicial").ToString.ToDateTime)
Do End Select
If DiasSemana.Length > 0 AndAlso DiasSemana(0) <> "" Then End Select
For Each drDias As String In DiasSemana
Dim FIT As Date = FI, FFT As Date = FF 'SI ES TIPO SEMANAL Y DIASSEMANA TIENE VALORES CHECKEA ESTOS VALORES
Do
FIT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FI)).ToString.ToDouble, FI) If DiasSemana.Length > 0 AndAlso DiasSemana(0) <> "" Then
FFT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FF)).ToString.ToDouble, FF) For Each drDias As String In DiasSemana
Dim FIT As Date = FI, FFT As Date = FF
cevent = New CalendarEvent()
cevent.id = dr("CveContrato").ToString.ToEntero FIT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FI)).ToString.ToDouble, FI)
cevent.description = dr("DescripcionContrato").ToString FFT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FF)).ToString.ToDouble, FF)
cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime)
cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) cevent = New CalendarEvent()
cevent.allDay = False cevent.id = dr("CveContrato").ToString.ToEntero
cevent.CveCliente = dr("CveCliente").ToString.ToEntero cevent.description = dr("DescripcionContrato").ToString
cevent.NombreComercial = dr("NombreComercial").ToString cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime)
cevent.NombreAcercamiento = dr("Ubicacion").ToString cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime))
cevent.allDay = False
cevent.CveCliente = dr("CveCliente").ToString.ToEntero
cevent.NombreComercial = dr("NombreComercial").ToString
cevent.NombreAcercamiento = dr("Ubicacion").ToString
cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero
cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero
cevent.CvePersonal = dr("CveChofer").ToString.ToEntero cevent.CvePersonal = dr("CveChofer").ToString.ToEntero
'11/05/2018 - Evento Gasto Recurrente '11/05/2018 - Evento Gasto Recurrente
cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero
If cevent.CveTipoEvento = 10 Then If cevent.CveTipoEvento = 10 Then
cevent.Importe = dr("Importe").ToString.ToDouble cevent.Importe = dr("Importe").ToString.ToDouble
End If End If
If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then
cevent.backgroundColor = "#1BBC9B" cevent.backgroundColor = "#1BBC9B"
End If 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 '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 If FIT > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) And FIT >= dr("FechaInicial").ToString.ToDateTime Then
events.Add(cevent) events.Add(cevent)
End If End If
Next Next
Else Else
cevent = New CalendarEvent() cevent = New CalendarEvent()
cevent.id = dr("CveContrato").ToString.ToEntero cevent.id = dr("CveContrato").ToString.ToEntero
cevent.description = dr("DescripcionContrato").ToString cevent.description = dr("DescripcionContrato").ToString
cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime)
cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime))
cevent.NombreAcercamiento = dr("Ubicacion").ToString cevent.NombreAcercamiento = dr("Ubicacion").ToString
cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero
cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero cevent.CveActivoFijo = dr("CveAF").ToString.ToEntero
cevent.allDay = False cevent.allDay = False
'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA '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 If FI > DateAdd(DateInterval.Month, -6, ClsPaginas.NowADS()) Then
events.Add(cevent) events.Add(cevent)
End If End If
End If End If
Select Case cevent.recurrenciatipo Select Case cevent.recurrenciatipo
Case 1 Case 1
FI = DateAdd(DateInterval.Hour, cevent.frecuencia, FI) FI = DateAdd(DateInterval.Hour, cevent.frecuencia, FI)
FF = DateAdd(DateInterval.Hour, cevent.frecuencia, FF) FF = DateAdd(DateInterval.Hour, cevent.frecuencia, FF)
Case 2 Case 2
FI = DateAdd(DateInterval.Day, cevent.frecuencia, FI) FI = DateAdd(DateInterval.Day, cevent.frecuencia, FI)
FF = DateAdd(DateInterval.Day, cevent.frecuencia, FF) FF = DateAdd(DateInterval.Day, cevent.frecuencia, FF)
Case 3 Case 3
FI = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FI) FI = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FI)
FF = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FF) FF = DateAdd(DateInterval.WeekOfYear, cevent.frecuencia, FF)
Case 4 Case 4
FI = DateAdd(DateInterval.Month, cevent.frecuencia, FI) FI = DateAdd(DateInterval.Month, cevent.frecuencia, FI)
FF = DateAdd(DateInterval.Month, cevent.frecuencia, FF) FF = DateAdd(DateInterval.Month, cevent.frecuencia, FF)
Case 5 Case 5
FI = DateAdd(DateInterval.Year, cevent.frecuencia, FI) FI = DateAdd(DateInterval.Year, cevent.frecuencia, FI)
FF = DateAdd(DateInterval.Year, cevent.frecuencia, FF) FF = DateAdd(DateInterval.Year, cevent.frecuencia, FF)
End Select End Select
Loop Until FI > FT Loop Until FI > FT
End If End If
Next Next
Catch ex As Exception Catch ex As Exception
GuardaLog(ex.ToString()) GuardaLog(ex.ToString())
End Try End Try
End If End If
End If End If
ObjContratos.Dispose() ObjContratos.Dispose()
Return ErrorEventos Return ErrorEventos
End Function End Function

View File

@@ -2852,7 +2852,7 @@ Partial Class Compras_eFacturas
Protected Sub LnkSolicitarSat_Click(ByVal sender As Object, ByVal e As EventArgs) Protected Sub LnkSolicitarSat_Click(ByVal sender As Object, ByVal e As EventArgs)
Exit Sub
Dim sbResultado As StringBuilder = New StringBuilder() Dim sbResultado As StringBuilder = New StringBuilder()
Dim idSolicitudCFDI As Integer = 0 Dim idSolicitudCFDI As Integer = 0

View File

@@ -117,8 +117,7 @@
<div class="portlet-body rowpadding"> <div class="portlet-body rowpadding">
<div class="row my-1"> <div class="row my-1">
<label class="col-md-4 bold text-primary">Folio</label> <label class="col-md-4 bold text-primary">Folio</label>
<asp:Label class="col-md-8" runat="server" ID="LbFolio" Text=""></asp:Label> <asp:Label class="col-md-8" runat="server" ID="LbFolio" Text=""></asp:Label>
<asp:Label runat="server" ID="LbCveSubProyecto" Visible="false"></asp:Label>
</div> </div>
<div class="row my-1"> <div class="row my-1">
@@ -136,6 +135,21 @@
</div> </div>
</div> </div>
<div class="row my-1">
<label class="col-md-4">
<asp:Label runat="server" ID="LblSubProyectoModal"></asp:Label>
</label>
<div class="col-md-8">
<asp:DropDownList runat="server" ID="DdlSubProyecto" Width="100%" DataValueField="CveSubProyecto" DataTextField="SubProyecto" Class="table-group-action-input form-control input-inline select2me"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlSubProyecto" runat="server" ControlToValidate="DdlSubProyecto" InitialValue="-1" ErrorMessage="Campo sub Proyecto requerido." Display="None"
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERfvDdlSubProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlSubProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="input-group">
</div>
</div>
<div class="row"> <div class="row">
<label class="col-md-4">Servicio</label> <label class="col-md-4">Servicio</label>
<div class="col-md-8"> <div class="col-md-8">

View File

@@ -125,6 +125,15 @@ Partial Class RepContratoDetalle
'Lista de Monedas 'Lista de Monedas
DdlMoneda.DataSource = GlobalDTMonedas DdlMoneda.DataSource = GlobalDTMonedas
DdlMoneda.DataBind() DdlMoneda.DataBind()
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoModal)
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
End Sub End Sub
Private Sub CargaDatos() Private Sub CargaDatos()
'Información General 'Información General
@@ -139,7 +148,7 @@ Partial Class RepContratoDetalle
SubProyecto = Contrato.Rows(0)("SubProyecto").ToString SubProyecto = Contrato.Rows(0)("SubProyecto").ToString
CveMasivo = Contrato.Rows(0)("CveMasivo").ToString.ToEntero CveMasivo = Contrato.Rows(0)("CveMasivo").ToString.ToEntero
LbFolio.Text = Contrato.Rows(0)("NumeroContrato").ToString LbFolio.Text = Contrato.Rows(0)("NumeroContrato").ToString
LbCveSubProyecto.Text = Contrato.Rows(0)("CveSubProyecto").ToString
DdlClientes.SelectedText = Contrato.Rows(0)("NombreComercial").ToString DdlClientes.SelectedText = Contrato.Rows(0)("NombreComercial").ToString
DdlClientes.SelectedValue = Contrato.Rows(0)("CveCliente").ToString DdlClientes.SelectedValue = Contrato.Rows(0)("CveCliente").ToString
DdlMoneda.SelectedValue = Contrato.Rows(0)("CveMoneda").ToString DdlMoneda.SelectedValue = Contrato.Rows(0)("CveMoneda").ToString
@@ -147,13 +156,14 @@ Partial Class RepContratoDetalle
TxtObservaciones.Text = Contrato.Rows(0)("Observaciones").ToString TxtObservaciones.Text = Contrato.Rows(0)("Observaciones").ToString
TelefonoEmpresa = Contrato.Rows(0)("Telefono").ToString TelefonoEmpresa = Contrato.Rows(0)("Telefono").ToString
TxtUbicacion.Text = Contrato.Rows(0)("Ubicacion").ToString TxtUbicacion.Text = Contrato.Rows(0)("Ubicacion").ToString
TxtFechaSalida.Text = Contrato.Rows(0)("FechaInicial").ToString TxtFechaSalida.Text = Contrato.Rows(0)("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm:ss")
TxtFechaRegreso.Text = Contrato.Rows(0)("FechaFinal").ToString TxtFechaRegreso.Text = Contrato.Rows(0)("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm:ss")
TxtCantidadPasajeros.Text = Contrato.Rows(0)("CantidadPasajeros").ToString TxtCantidadPasajeros.Text = Contrato.Rows(0)("CantidadPasajeros").ToString
DdlTipoAF.SelectedValue = If(Contrato.Rows(0)("CveTipoAF") Is Nothing, "", Contrato.Rows(0)("CveTipoAF").ToString) DdlTipoAF.SelectedValue = If(Contrato.Rows(0)("CveTipoAF") Is Nothing, "", Contrato.Rows(0)("CveTipoAF").ToString)
TxtImporte.Text = Math.Round(Importe, 2).ToString TxtImporte.Text = Math.Round(Importe, 2).ToString
TxtAnticipo.Text = Math.Round(Anticipo, 2).ToString TxtAnticipo.Text = Math.Round(Anticipo, 2).ToString
CveContratoEstatus = Contrato.Rows(0)("CveContratosEstatus").ToString.ToEntero CveContratoEstatus = Contrato.Rows(0)("CveContratosEstatus").ToString.ToEntero
DdlSubProyecto.SelectedValueExist(Contrato.Rows(0)("CveSubProyecto").ToString)
If Not IsDBNull(ObjContratos.Archivo) AndAlso ObjContratos.Archivo <> "" AndAlso ObjContratos.Archivo <> "-1" AndAlso ObjContratos.Archivo <> $"{ObjContratos.CveContrato}." Then If Not IsDBNull(ObjContratos.Archivo) AndAlso ObjContratos.Archivo <> "" AndAlso ObjContratos.Archivo <> "-1" AndAlso ObjContratos.Archivo <> $"{ObjContratos.CveContrato}." Then
ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "CONTRATOS", ObjContratos.Archivo) ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "CONTRATOS", ObjContratos.Archivo)
@@ -277,7 +287,7 @@ Partial Class RepContratoDetalle
ObjContratos.IniciaTransacSQL() ObjContratos.IniciaTransacSQL()
Try Try
If ObjContratos.UpdateContratos(CveContrato, LbFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", If ObjContratos.UpdateContratos(CveContrato, LbFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "",
LbCveSubProyecto.Text.ToEntero, -1, -1, -1, -1, ArchivoUpdate, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, ArchivoUpdate, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal,
DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=CveContratoTipo, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveContratosEstatus:=CveContratoEstatus, Observaciones:=TxtObservacion.Text) Then DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=CveContratoTipo, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CveContratosEstatus:=CveContratoEstatus, Observaciones:=TxtObservacion.Text) Then
Alert("Contrato actualizado correctamente") Alert("Contrato actualizado correctamente")
End If End If

View File

@@ -262,7 +262,8 @@
<label class="col-md-4">Cliente</label> <label class="col-md-4">Cliente</label>
<div class="col-md-8"> <div class="col-md-8">
<div class="input-group"> <div class="input-group">
<ADS:Dropdownlost ID="DdlClientes" CssClass="form-control" data-metodo="getcliente"
<ADS:Dropdownlost ID="DdlClientes" CssClass="form-control" data-metodo="getcliente" Width="100%" CssStyle="width: 100%;"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente"
UsaWebService="true" Enabled="false"></ADS:Dropdownlost> UsaWebService="true" Enabled="false"></ADS:Dropdownlost>
<div class="input-group-addon" style="background-color: #428bca"> <div class="input-group-addon" style="background-color: #428bca">
@@ -273,6 +274,28 @@
</div> </div>
</div> </div>
<div class="row my-1">
<label class="col-md-4">
<asp:Label runat="server" ID="LblSubProyectoModal"></asp:Label>
</label>
<div class="col-md-8">
<div class="input-group">
<asp:DropDownList runat="server" ID="DdlSubProyectoModal" Width="100%" DataValueField="CveSubProyecto" DataTextField="SubProyecto" CssClass="select2me"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlSubProyectoModal" runat="server" ControlToValidate="DdlSubProyectoModal" InitialValue="-1" ErrorMessage="Campo sub Proyecto requerido."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERfvDdlSubProyectoModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlSubProyectoModal" Width="300px"></ajax:ValidatorCalloutExtender>
<%-- <div class="input-group-addon" style="background-color: #428bca">
<asp:LinkButton runat="server" ForeColor="White" Text="<i class='fa fa-add'></i>"
PostBackUrl="~/Ventas/Clientes.aspx?CveCliente=-1"></asp:LinkButton>
</div>--%>
</div>
</div>
</div>
<div class="row"> <div class="row">
<label class="col-md-4">Servicio</label> <label class="col-md-4">Servicio</label>
<div class="col-md-8"> <div class="col-md-8">
@@ -323,18 +346,16 @@
<label class="col-md-4">Fecha Salida</label> <label class="col-md-4">Fecha Salida</label>
<div class="col-md-8"> <div class="col-md-8">
<div class="input-group"> <div class="input-group">
<asp:TextBox ID="TxtFechaSalida" runat="server" CssClass="form-control" CausesValidation="True" <asp:TextBox ID="TxtFechaSalida" runat="server" CssClass="form-control" CausesValidation="True" type="datetime-local"
Width="100%" Width="100%"
type="datetime"></asp:TextBox> ></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaSalida" runat="server" ControlToValidate="TxtFechaSalida" <asp:RequiredFieldValidator ID="RFVTxtFechaSalida" runat="server" ControlToValidate="TxtFechaSalida"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Salida''</b> es necesario, por favor ingréselo." Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Salida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtFechaSalida" runat="server" HighlightCssClass="vco" <ajax:ValidatorCalloutExtender ID="VCETxtFechaSalida" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaSalida" Width="100%"> TargetControlID="RFVTxtFechaSalida" Width="100%">
</ajax:ValidatorCalloutExtender> </ajax:ValidatorCalloutExtender>
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -344,18 +365,16 @@
<div class="col-md-8"> <div class="col-md-8">
<div class="input-group"> <div class="input-group">
<asp:TextBox ID="TxtFechaRegreso" runat="server" CssClass="form-control" CausesValidation="True" <asp:TextBox ID="TxtFechaRegreso" runat="server" CssClass="form-control" CausesValidation="True" type="datetime-local"
Width="100%" Width="100%"
type="datetime"></asp:TextBox> ></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaRegreso" runat="server" ControlToValidate="TxtFechaRegreso" <asp:RequiredFieldValidator ID="RFVTxtFechaRegreso" runat="server" ControlToValidate="TxtFechaRegreso"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Regreso''</b> es necesario, por favor ingréselo." Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Regreso''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaRegreso" Width="100%"> TargetControlID="RFVTxtFechaRegreso" Width="100%">
</ajax:ValidatorCalloutExtender> </ajax:ValidatorCalloutExtender>
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -468,10 +487,10 @@
Text="Agregar" Text="Agregar"
ValidationGroup="GrpGuardar"></asp:Button> ValidationGroup="GrpGuardar"></asp:Button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button> <button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
<button type="button" class="btn btn-secondary" runat="server" clientidmode="Static" <%-- <button type="button" class="btn btn-secondary" runat="server" clientidmode="Static"
id="BtnArchivo" data-toggle="modal" data-target="#ModalUpload" visible="true"> id="BtnArchivo" data-toggle="modal" data-target="#ModalUpload" visible="true">
<i class="fa fa-upload" <i class="fa fa-upload"
aria-hidden="true"></i>Subir Archivo</button> aria-hidden="true"></i>Subir Archivo</button>--%>
</div> </div>
</div> </div>
</asp:Panel> </asp:Panel>

View File

@@ -51,6 +51,11 @@ Partial Class ListadoContratos
DdlEstatus.DataBind() DdlEstatus.DataBind()
DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1")) DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1"))
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoModal)
DdlSubProyectoModal.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyectoModal.DataBind()
DdlSubProyectoModal.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
End Sub End Sub
Private Sub CargaDatos() Private Sub CargaDatos()
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
@@ -91,27 +96,102 @@ Partial Class ListadoContratos
End Sub End Sub
Protected Sub AddContrato(sender As Object, e As EventArgs) Protected Sub AddContrato(sender As Object, e As EventArgs)
Dim ErrorProceso As Boolean = False
Dim CveContrato As Integer = -1
Dim FileExtension As String = "-1"
Dim Filesgral As List(Of Extensiones.Archivo) = Anexo.getfiles().Archivos
Dim Filename As String = ""
Dim folderContratosPath As String = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos")
If Not Directory.Exists(folderContratosPath) Then
Directory.CreateDirectory(folderContratosPath)
End If
If DdlClientes.SelectedValue = "" Then If DdlClientes.SelectedValue = "" Then
Alert("Debe seleccionar al cliente", TipoMensaje.MsgAdvertencia) Alert("Debe seleccionar al cliente", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
End If End If
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero 'Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
'Agregamos Contrato 'Agregamos Contrato
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
ObjContratos.IniciaTransacSQL() ObjContratos.IniciaTransacSQL()
If ObjContratos.AddContratos(LbFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDateTime, TxtFechaRegreso.Text.ToDateTime, TxtUbicacion.Text, "", CveSubProyecto, -1, -1, -1, -1, LbArchivo.Text, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal, DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=34, CveContratosEstatus:=50, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CantidadPasajeros:=TxtCantidadPasajeros.Text.ToEntero, Observaciones:=TxtObservaciones.Text, CveVendedor:=UsuarioActual.CveVendedor) > 0 Then
ObjContratos.Commit() CveContrato = ObjContratos.AddContratos(LbFolio.Text, TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDateTime, TxtFechaRegreso.Text.ToDateTime, TxtUbicacion.Text, "",
Alert("Agregado Correctamente.") DdlSubProyectoModal.SelectedValue.ToEntero, -1, -1, -1, -1, LbArchivo.Text, "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, -1, TxtImporte.Text.ToDecimal,
DdlMoneda.SelectedValue.ToEntero, 0, CveContratoTipo:=34, CveContratosEstatus:=50, CveTipoAF:=DdlTipoAF.SelectedValue.ToEntero, CantidadPasajeros:=TxtCantidadPasajeros.Text.ToEntero, Observaciones:=TxtObservaciones.Text,
CveVendedor:=UsuarioActual.CveVendedor)
If CveContrato > 0 Then
If Filesgral.Count > 0 Then
For Each fileItem As Archivo In Filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
Dim tempArray() As String
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
Dim fDestino = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", $"{CveContrato.ToString}.{ FileExtension}")
Try
If File.Exists(fDestino) Then
File.Delete(fDestino)
End If
File.Move(fileItem.FileUrl, fDestino)
If Not File.Exists(fDestino) Then
ErrorProceso = True
End If
If ObjContratos.UpdateContratoArchivo(CveContrato, $"{CveContrato.ToString}.{ FileExtension}", UsuarioActual.CveEmpresa) Then
ErrorProceso = False
End If
Catch ex As Exception
ErrorProceso = True
End Try
Exit For
Next
Else
ErrorProceso = False
End If
Anexo.Text = ""
Else
ErrorProceso = True
End If End If
ObjContratos.Dispose()
'Aumentamos Folio 'Aumentamos Folio
Dim ObjFolios As New ClsGralFolios Dim ObjFolios As New ClsGralFolios(ObjContratos.IniciaTransacSQL())
If ObjFolios.UpdateFolioActual(CveSubProyecto, "Con", True, UsuarioActual.CveEmpresa) Then If Not ObjFolios.UpdateFolioActual(DdlSubProyectoModal.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
ObjFolios.Dispose() ErrorProceso = True
End If End If
If Not ErrorProceso Then
ObjContratos.Commit()
Alert("Agregado Correctamente.")
Else
ObjContratos.RollBack()
Alert("Se presento un error al guardar el contrato.", TipoMensaje.MsgAdvertencia)
End If
ObjContratos.Dispose()
ResetModal()
CargaDatos()
RegistraScript("$('#ModalAgregar').modal('hide')", "hidemodal1")
End Sub
Protected Sub ResetModal()
'Reiniciamos modal 'Reiniciamos modal
TxtDescripcion.Text = "" TxtDescripcion.Text = ""
TxtFechaSalida.Text = "" TxtFechaSalida.Text = ""
@@ -119,6 +199,7 @@ Partial Class ListadoContratos
TxtObservaciones.Text = "" TxtObservaciones.Text = ""
TxtUbicacion.Text = "" TxtUbicacion.Text = ""
DdlClientes.SelectedText = "" DdlClientes.SelectedText = ""
DdlSubProyectoModal.SelectedValueExist(-1)
DdlTipoAF.SelectedValueExist(-1) DdlTipoAF.SelectedValueExist(-1)
TxtImporte.Text = "" TxtImporte.Text = ""
TxtAnticipo.Text = "" TxtAnticipo.Text = ""
@@ -126,8 +207,6 @@ Partial Class ListadoContratos
LbArchivo.Text = "" LbArchivo.Text = ""
UpModal.Update() UpModal.Update()
CargaDatos()
RegistraScript("$('#ModalAgregar').modal('hide')", "hidemodal1")
End Sub End Sub
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString) GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString)

View File

@@ -46,7 +46,7 @@
<%-- Filtros --%> <%-- Filtros --%>
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter"> <div class="portlet solid grey-cascade portlet-filter" id="dvFiltros">
<%-- Filtro Visible - Consulta --%> <%-- Filtro Visible - Consulta --%>
<div class="portlet-title portlet-filterT smalltitle"> <div class="portlet-title portlet-filterT smalltitle">
<div class="tools"> <div class="tools">
@@ -103,7 +103,7 @@
<%-- Estatus --%> <%-- Estatus --%>
<label class="col-md-1 ">Estatus:</label> <label class="col-md-1 ">Estatus:</label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlEstatusConsulta" data-text="Todos" AppendDataBoundItems="true" <asp:DropDownList ID="DdlEstatusConsulta" data-text="Todos" AppendDataBoundItems="true" ClientIDMode="Static"
DataTextField="ContratoEstatus" DataTextField="ContratoEstatus"
DataValueField="CveContratoEstatus" CssClass="form-control ddlFiltros input-sm select2me Widthall" DataValueField="CveContratoEstatus" CssClass="form-control ddlFiltros input-sm select2me Widthall"
Style="width: 100%;" runat="server"> Style="width: 100%;" runat="server">
@@ -118,7 +118,7 @@
<label class="col-md-1 truncate ">Centro de Costos</label> <label class="col-md-1 truncate ">Centro de Costos</label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlSubProyectos" data-text="Todos" AppendDataBoundItems="true" <asp:DropDownList ID="DdlSubProyectos" data-text="Todos" AppendDataBoundItems="true"
DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control ddlFiltros input-sm select2me Widthall" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control ddlFiltros input-sm select2me Widthall" ClientIDMode="Static"
Style="width: 100%;" runat="server"> Style="width: 100%;" runat="server">
</asp:DropDownList> </asp:DropDownList>
</div> </div>
@@ -126,7 +126,7 @@
<label class="col-md-1 ">Tipo de Unidad</label> <label class="col-md-1 ">Tipo de Unidad</label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlTipoUnidad" data-text="Todos" AppendDataBoundItems="true" <asp:DropDownList ID="DdlTipoUnidad" data-text="Todos" AppendDataBoundItems="true"
DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" CssClass="form-control ddlFiltros input-sm select2me Widthall" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" CssClass="form-control ddlFiltros input-sm select2me Widthall" ClientIDMode="Static"
Style="width: 100%;" runat="server"> Style="width: 100%;" runat="server">
</asp:DropDownList> </asp:DropDownList>
</div> </div>
@@ -134,7 +134,7 @@
<label class="col-md-1 ">Chofer:</label> <label class="col-md-1 ">Chofer:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlChoferFiltro" data-text="Todos" AppendDataBoundItems="true" <asp:DropDownList ID="DdlChoferFiltro" data-text="Todos" AppendDataBoundItems="true"
DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control ddlFiltros input-sm select2me Widthall" DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control ddlFiltros input-sm select2me Widthall" ClientIDMode="Static"
Style="width: 100%;" runat="server"> Style="width: 100%;" runat="server">
</asp:DropDownList> </asp:DropDownList>
</div> </div>
@@ -148,7 +148,7 @@
<div class="col-md-12"> <div class="col-md-12">
<ajax:TabContainer ID="Tab" runat="server" Width="100%" ActiveTabIndex="0"> <ajax:TabContainer ID="Tab" runat="server" Width="100%" ActiveTabIndex="0">
<%--Calendario Tab--%> <%--Calendario Tab--%>
<ajax:TabPanel ID="TabAlta" runat="server" HeaderText="Calendario"> <ajax:TabPanel ID="TabAlta" runat="server" HeaderText="Calendario" OnClientClick="TabAltaClicked" >
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria"> <div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
@@ -208,7 +208,7 @@
<asp:GridView ID="GvContratos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado" <asp:GridView ID="GvContratos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se Encontró Contrato Registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn miGrid" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn miGrid"
GridLines="None" GridLines="None"
data-sort="true" DataKeyNames="CveContrato, NumeroContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, NombreComercial, CveTipoAF, Importe, ImporteMin, ImporteMax, Observaciones, CveAF, CveChofer, CveChofer2, CveContratosEstatus, CantidadPasajeros,CveMoneda"> data-sort="true" DataKeyNames="CveContrato, NumeroContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, NombreComercial, CveTipoAF, Importe, ImporteMin, ImporteMax, Observaciones, CveAF, CveChofer, CveChofer2, CveContratosEstatus, CantidadPasajeros,CveMoneda,Moneda,CveSubProyecto">
<Columns> <Columns>
<asp:TemplateField HeaderText="Contrato"> <asp:TemplateField HeaderText="Contrato">
<ItemTemplate> <ItemTemplate>
@@ -358,6 +358,17 @@
</div> </div>
</div> </div>
<div class="row my-1">
<label class="col-md-4">
<asp:Label runat="server" ID="LblSubProyectoModal"></asp:Label>
</label>
<div class="col-md-8">
<asp:DropDownList runat="server" ID="DdlSubProyectoModal" Width="100%" DataValueField="CveSubProyecto" DataTextField="SubProyecto" CssClass="select2me"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlSubProyectoModal" runat="server" ControlToValidate="DdlSubProyectoModal" InitialValue="-1" ErrorMessage="Campo sub Proyecto requerido." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERfvDdlSubProyectoModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlSubProyectoModal" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row"> <div class="row">
<label class="col-md-4">Servicio:</label> <label class="col-md-4">Servicio:</label>
<div class="col-md-8"> <div class="col-md-8">
@@ -401,7 +412,7 @@
<div class="row my-1"> <div class="row my-1">
<label class="col-md-4">Moneda:</label> <label class="col-md-4">Moneda:</label>
<div class="col-md-8"> <div class="col-md-8">
<asp:TextBox ID="TxtMoneda" runat="server" ReadOnly="true" Width="100%"></asp:TextBox> <asp:TextBox ID="TxtMoneda" runat="server" Width="100%" Enabled="false"></asp:TextBox>
</div> </div>
</div> </div>
@@ -601,12 +612,22 @@
yAxis.data.setAll(categorias); yAxis.data.setAll(categorias);
// Obtener valores de las cajas de texto
var fechaI = document.getElementById('<%= txtFechaI.ClientID %>').value;
var fechaF = document.getElementById('<%= txtFechaF.ClientID %>').value;
// Convertir valores a objetos Date
var minDate = new Date(fechaI.split("/").reverse().join("-"));
var maxDate = new Date(fechaF.split("/").reverse().join("-"));
dateAxis = am5xy.DateAxis.new(root, { dateAxis = am5xy.DateAxis.new(root, {
baseInterval: { timeUnit: "minute", count: 1 }, baseInterval: { timeUnit: "day", count: 1 },
renderer: am5xy.AxisRendererX.new(root, { renderer: am5xy.AxisRendererX.new(root, {
minorGridEnabled: true, minorGridEnabled: true,
minGridDistance: 90 minGridDistance: 90
}) }),
min: minDate.getTime(),
max: maxDate.getTime()
//min: new Date(2024, 6, 15).getTime(), //min: new Date(2024, 6, 15).getTime(),
//max: new Date(2024, 6, 31).getTime() //max: new Date(2024, 6, 31).getTime()
}); });
@@ -752,10 +773,17 @@
$('#<%=DdlEstatusContrato.ClientID%>').val(event.CveEventoEstatus); $('#<%=DdlEstatusContrato.ClientID%>').val(event.CveEventoEstatus);
$('#<%=TxtDolares.ClientID%>').val(event.Dolares); $('#<%=TxtDolares.ClientID%>').val(event.Dolares);
$('#<%=TxtPesos.ClientID%>').val(event.Pesos); $('#<%=TxtPesos.ClientID%>').val(event.Pesos);
$('#<%=TxtMoneda.ClientID%>').val(event.Moneda);
//document.getElementById('<%= TxtMoneda.ClientID %>').value = event.Moneda;
$('#<%=TxtAnticipo.ClientID%>').val(event.Anticipo); $('#<%=TxtAnticipo.ClientID%>').val(event.Anticipo);
$('#<%=HdnCveContrato.ClientID%>').val(event.id); $('#<%=HdnCveContrato.ClientID%>').val(event.id);
$('#<%=DdlTipoAF.ClientID%>').val(event.CveTipoAF); $('#<%=DdlTipoAF.ClientID%>').val(event.CveTipoAF);
$('#<%=DdlSubProyectoModal.ClientID%>').val(event.CveSubProyecto);
// alert(event.Moneda);
if (event.NombreComercial !== null) { if (event.NombreComercial !== null) {
@@ -769,29 +797,46 @@
} }
function formatearFechaISO(fechaISO) {
let fecha = new Date(fechaISO);
function formatearFechaISO(fechaISO) { // Formatear la fecha en DD/MM/YYYY
let fecha = new Date(fechaISO); let dia = fecha.getDate().toString().padStart(2, '0');
let mes = (fecha.getMonth() + 1).toString().padStart(2, '0'); // getMonth() devuelve mes de 0-11
let año = fecha.getFullYear();
// Formatear la hora en formato 24 horas
let horas = fecha.getHours().toString().padStart(2, '0');
let minutos = fecha.getMinutes().toString().padStart(2, '0');
let segundos = fecha.getSeconds().toString().padStart(2, '0');
// Combinar la fecha y la hora
return `${dia}/${mes}/${año} ${horas}:${minutos}:${segundos}`;
}
//function formatearFechaISO(fechaISO) {
// let fecha = new Date(fechaISO);
// Formatear la fecha en DD/MM/YYYY // // Formatear la fecha en DD/MM/YYYY
let dia = fecha.getDate().toString().padStart(2, '0'); // let dia = fecha.getDate().toString().padStart(2, '0');
let mes = (fecha.getMonth() + 1).toString().padStart(2, '0'); // getMonth() devuelve mes de 0-11 // let mes = (fecha.getMonth() + 1).toString().padStart(2, '0'); // getMonth() devuelve mes de 0-11
let año = fecha.getFullYear(); // let año = fecha.getFullYear();
// Formatear la hora en formato 12 horas con AM/PM // // Formatear la hora en formato 12 horas con AM/PM
let horas = fecha.getHours(); // let horas = fecha.getHours();
let minutos = fecha.getMinutes().toString().padStart(2, '0'); // let minutos = fecha.getMinutes().toString().padStart(2, '0');
let periodo = 'a. m.'; // let periodo = 'a. m.';
if (horas >= 12) { // if (horas >= 12) {
periodo = 'p. m.'; // periodo = 'p. m.';
horas = horas > 12 ? horas - 12 : horas; // Convertir hora de formato 24 a 12 horas // horas = horas > 12 ? horas - 12 : horas; // Convertir hora de formato 24 a 12 horas
} // }
if (horas === 0) horas = 12; // Medianoche se muestra como 12 a.m. // if (horas === 0) horas = 12; // Medianoche se muestra como 12 a.m.
horas = horas.toString().padStart(2, '0'); // horas = horas.toString().padStart(2, '0');
// Combinar la fecha y la hora // // Combinar la fecha y la hora
return `${dia}/${mes}/${año} ${horas}:${minutos}:00 ${periodo}`; // return `${dia}/${mes}/${año} ${horas}:${minutos}:00 ${periodo}`;
} //}
function RadionButtonSelectedValueSet(name, SelectdValue) { function RadionButtonSelectedValueSet(name, SelectdValue) {
$('input[name="' + name + '"][value="' + SelectdValue + '"]').prop('checked', true); $('input[name="' + name + '"][value="' + SelectdValue + '"]').prop('checked', true);
@@ -905,7 +950,11 @@
tipoVista: '<%= RBTipoVista.Text %>', tipoVista: '<%= RBTipoVista.Text %>',
METODO: 'contrato_transportes', METODO: 'contrato_transportes',
CveUsuarioPara: $('#DdlTecnico').val(), CveUsuarioPara: $('#DdlTecnico').val(),
CveSubProyecto: $('#DdlSubProyecto').val() CveSubProyecto: $('#DdlSubProyecto').val(),
CveCliente: $('#C_DdlCliente_Value').val(),
CveContratoEstatus: $('#DdlEstatusConsulta').val(),
CveTipoActivoFijo: $('#DdlTipoUnidad').val(),
CvePersonal: $('#DdlChoferFiltro').val()
} }
}, },
eventDrop: eventDropped, eventDrop: eventDropped,
@@ -944,6 +993,16 @@
} }
function TabAltaClicked(sender, e) {
setTimeout(function () {
InitCalendar();
}, 10);
}
</script> </script>

View File

@@ -75,6 +75,8 @@ Partial Class RepContratosCalendario
GvContratos.DataBind() GvContratos.DataBind()
UpTitulos.Update() UpTitulos.Update()
RegistraScript("InitCalendar();")
End Sub End Sub
Public Shared Function GetLastDayOfMonth(ByVal dateTime As DateTime) As DateTime Public Shared Function GetLastDayOfMonth(ByVal dateTime As DateTime) As DateTime
@@ -157,7 +159,7 @@ Partial Class RepContratosCalendario
DdlTipoUnidad.DataBind() DdlTipoUnidad.DataBind()
'Lista de Activos fijos 'Lista de Activos fijos
DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa) DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros(" EstadoActivoFijo= 'Activo' ")
DdlAF.DataBind() DdlAF.DataBind()
DdlAF.Items.Insert(0, New ListItem("-", "-1")) DdlAF.Items.Insert(0, New ListItem("-", "-1"))
@@ -187,7 +189,13 @@ Partial Class RepContratosCalendario
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyectos.DataBind() DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoModal)
DdlSubProyectoModal.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyectoModal.DataBind()
DdlSubProyectoModal.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
'CargarCentrosDeCosto(Nothing, DdlSubProyectos, Nothing, LblSubProyecto) 'CargarCentrosDeCosto(Nothing, DdlSubProyectos, Nothing, LblSubProyecto)
UpModal.Update() UpModal.Update()
@@ -196,7 +204,8 @@ Partial Class RepContratosCalendario
Private Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvContratos.RowDataBound Private Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvContratos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
Dim BackgroundColor As String = DataBinder.Eval(e.Row.DataItem, "BackgroundColor").ToString() Dim BackgroundColor As String = DataBinder.Eval(e.Row.DataItem, "BackgroundColor").ToString()
e.Row.BackColor = Drawing.ColorTranslator.FromHtml(BackgroundColor) e.Row.BackColor = Drawing.ColorTranslator.FromHtml(BackgroundColor)
e.Row.Cells(1).Attributes.Add("data-order", e.Row.DBCampo("FechaInicial").ToDate.Ticks.ToString)
End If End If
End Sub End Sub
Protected Sub MostrarModal(sender As Object, e As System.EventArgs) Protected Sub MostrarModal(sender As Object, e As System.EventArgs)
@@ -219,15 +228,40 @@ Partial Class RepContratosCalendario
Protected Sub UpdateContrato(sender As Object, e As EventArgs) Protected Sub UpdateContrato(sender As Object, e As EventArgs)
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
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, Observaciones:=TxtObservaciones.Text.Trim) Then Dim DTAgendadados As New DataTable
RegistraScript("$('#ModalActualizar').modal('hide');") If ObjContratos.GetContratosValUnidadesAgendadas(DdlAF.SelectedValue.ToEntero, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, UsuarioActual.CveEmpresa, CveContrato) Then
DTAgendadados = ObjContratos.DtResultados.Copy
If DTAgendadados.Rows.Count > 0 Then
Dim sb As New StringBuilder
sb.Append($"Se detectaron Contratos con la unidad {DdlAF.SelectedItem.Text} asignada en las fechas especificadas.</br></br>")
For Each dr As DataRow In DTAgendadados.Rows
sb.AppendLine($"Contrato: <b>{dr("NumeroContrato").ToString }</b>, Salida: {dr("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm:ss")}, Regreso: {dr("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm:ss")} </br>")
Next
Alert(sb.ToString, TipoMensaje.MsgAdvertencia)
DTAgendadados.Dispose()
ObjContratos.Dispose()
Exit Sub
End If
End If
If ObjContratos.UpdateContratos(CveContrato, TxtFolio.Text, TxtDescripcion.Text, "", -1, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", DdlSubProyectoModal.SelectedValue.ToEntero,
-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, Observaciones:=TxtObservaciones.Text.Trim) Then
RegistraScript("$('#ModalActualizar').modal('hide');")
Alert("Actualizado Correctamente.") Alert("Actualizado Correctamente.")
End If End If
ObjContratos.Dispose() ObjContratos.Dispose()
UpTitulos.Update()
CargaDatos() UpTitulos.Update()
InicializaCalendar() CargaDatos()
InicializaCalendar()
End Sub End Sub
Protected Sub UpdateModal(sender As Object, e As EventArgs) Protected Sub UpdateModal(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
@@ -238,14 +272,15 @@ Partial Class RepContratosCalendario
TxtDescripcion.Text = GvRow.DataKey("DescripcionContrato") TxtDescripcion.Text = GvRow.DataKey("DescripcionContrato")
TxtObservaciones.Text = GvRow.DataKey("Observaciones") TxtObservaciones.Text = GvRow.DataKey("Observaciones")
TxtUbicacion.Text = GvRow.DataKey("Ubicacion") TxtUbicacion.Text = GvRow.DataKey("Ubicacion")
TxtFechaSalida.Text = Convert.ToDateTime(GvRow.DataKey("FechaInicial")).ToString("dd/MM/yyyy hh:mm tt") TxtFechaSalida.Text = Convert.ToDateTime(GvRow.DataKey("FechaInicial")).ToString("dd/MM/yyyy HH:mm:ss")
TxtFechaRegreso.Text = Convert.ToDateTime(GvRow.DataKey("FechaFinal")).ToString("dd/MM/yyyy hh:mm tt") TxtFechaRegreso.Text = Convert.ToDateTime(GvRow.DataKey("FechaFinal")).ToString("dd/MM/yyyy HH:mm:ss ")
TxtMoneda.Text = GvRow.DataKey("CveMoneda") TxtMoneda.Text = GvRow.DataKey("Moneda")
'Requeridos 'Requeridos
DdlAF.SelectedValue = GvRow.DataKey("CveAF") DdlAF.SelectedValueExist(GvRow.DataKey("CveAF"))
DdlChofer.SelectedValueExist(GvRow.DataKey("CveChofer")) DdlChofer.SelectedValueExist(GvRow.DataKey("CveChofer"))
DdlChofer2.SelectedValueExist(GvRow.DataKey("CveChofer2")) DdlChofer2.SelectedValueExist(GvRow.DataKey("CveChofer2"))
DdlEstatusContrato.SelectedValue = GvRow.DataKey("CveContratosEstatus") DdlEstatusContrato.SelectedValueExist(GvRow.DataKey("CveContratosEstatus"))
DdlSubProyectoModal.SelectedValueExist(GvRow.DataKey("CveSubProyecto"))
CveContrato = GvRow.DataKey("CveContrato").ToEntero CveContrato = GvRow.DataKey("CveContrato").ToEntero
UpCommando.Update() UpCommando.Update()
UpModal.Update() UpModal.Update()
@@ -283,6 +318,8 @@ Partial Class RepContratosCalendario
Protected Sub RBTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub RBTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs)
InicializaCalendar() InicializaCalendar()
CargaCronograma() CargaCronograma()
End Sub End Sub
Protected Sub DdlTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs)