diff --git a/App_Code/ClsOIEventos.vb b/App_Code/ClsOIEventos.vb index 8d262bcc5..6d9a760da 100644 --- a/App_Code/ClsOIEventos.vb +++ b/App_Code/ClsOIEventos.vb @@ -221,9 +221,15 @@ Public Class ClsOIEventos End Sub #End Region - Public Sub IniciaTransacSQL() - SqlTransacc = SqlConexion.BeginTransaction() - End Sub + 'Public Sub IniciaTransacSQL() + ' SqlTransacc = SqlConexion.BeginTransaction() + + 'End Sub + + Public Function IniciaTransacSQL() As SqlTransaction + If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction() + Return SqlTransacc + End Function Public Sub RollBack() SqlTransacc.Rollback() End Sub diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 98aa0cbe1..e03b353a1 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -2151,7 +2151,7 @@ Public Class ClsVentas End Function Public Function AddPromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean, CveMoneda As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, TipoAplicacion As String, - Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1) As Integer + Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1, Optional CvePromocionPadre As Integer = -1) As Integer Dim Retorno = -1 DataAdapter("PA_Vta_PromocionesAdd") @@ -2169,6 +2169,7 @@ Public Class ClsVentas .Add("@TipoAplicacion", SqlDbType.VarChar).Value = TipoAplicacion .Add("@CveMarca", SqlDbType.Int).Value = CveMarca .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor + .Add("@CvePromocionPadre", SqlDbType.Int).Value = CvePromocionPadre .Add("@CvePromocion", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -2181,6 +2182,30 @@ Public Class ClsVentas Return Retorno End Function + + + Public Function AddPromociones(CvePromocion As Integer, CveUsuario As Integer, CveEmpresa As Integer, Actualizar As Boolean) As Integer + Dim Retorno = -1 + DataAdapter("PA_Vta_PromocionesAddClonar") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Actualizar", SqlDbType.Bit).Value = Actualizar + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = SqlAdapter.SelectCommand.Parameters("@CvePromocion").Value.ToString.ToEntero + Catch ex As Exception + OnError("Ocurrió un error al agregar la Promoción.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function UpdatePromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean, CveMoneda As Integer, CveUsuario As Integer, CvePromocion As Integer, CveSubProyecto As Integer, TipoAplicacion As Integer, CveEmpresa As Integer, Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -2278,7 +2303,7 @@ Public Class ClsVentas Public Function AddPromocionesDetalle(CvePromocion As Integer, CvePS As Integer, TipoPromocion As Integer, Promocion As Double, PUAnterior As Double, PUPromocion As Double, AplicaRestriccion As Boolean, AplicaLunes As Boolean, AplicaMartes As Boolean, AplicaMiercoles As Boolean, AplicaJueves As Boolean, AplicaViernes As Boolean, AplicaSabado As Boolean, AplicaDomingo As Boolean, HoraInicio As DateTime, HoraFin As DateTime, Optional CantidadMinima As Integer = 1, - Optional CveClasificacion As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional IncluyeImpuestos As Boolean = False) As Boolean + Optional CveClasificacion As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional IncluyeImpuestos As Boolean = False, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_PromocionesDetalleAdd") @@ -2304,6 +2329,7 @@ Public Class ClsVentas .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CveRinTamaño", SqlDbType.Int).Value = CveRinTamaño .Add("@IncluyeImpuestos", SqlDbType.Bit).Value = IncluyeImpuestos + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try @@ -2357,12 +2383,39 @@ Public Class ClsVentas Return Retorno End Function - Public Function RemovePromocionesDetalle(CvePromocionDetalle As Integer) As Boolean + Public Function SincronizarPromocionesClonar(CvePromocion As Integer, CveUsuario As Integer, CveEmpresa As Integer, Opcion As Integer) As Boolean + 'Opcion 1 replicar insert + 'Opcion 2 replicar actualización + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PromocionesClonar") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Opcion", SqlDbType.Int).Value = Opcion + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError($"Ocurrió un error al actualizar las franquicias.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + + + Public Function RemovePromocionesDetalle(CvePromocionDetalle As Integer, Optional Opcion As Integer = 1, Optional CvePromocion As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_PromocionesDetalleRemove") With SqlAdapter.SelectCommand.Parameters .Add("@CvePromocionDetalle", SqlDbType.Int).Value = CvePromocionDetalle + .Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try @@ -2374,6 +2427,7 @@ Public Class ClsVentas Return Retorno End Function + #End Region #Region "Pruebas" diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx index 2f5a0ee5d..79411b565 100644 --- a/Ashx/CargaEventos.ashx +++ b/Ashx/CargaEventos.ashx @@ -101,98 +101,138 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState Try For Each dr As DataRow In ObjEventos.DtResultados.Rows - Dim cevent As CalendarEvent = New CalendarEvent() - cevent.id = dr("CveEvento").ToString.ToEntero - cevent.title = dr("Asunto").ToString - cevent.description = dr("Descripcion").ToString - cevent.start = String.Format("{0:s}", dr("FechaInicio").ToString.ToDateTime) - cevent.end = String.Format("{0:s}", dr("FechaFin").ToString.ToDateTime) - cevent.allDay = False - 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 - cevent.CveTipoEvento = dr("Prospecto").ToString.ToEntero - cevent.EmpresaCRM = dr("EmpresaCRM").ToString - cevent.SubProyecto = dr("SubProyecto").ToString - cevent.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero - cevent.Direccion = dr("Direccion").ToString - '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 dr("CveEventoEstatus").ToString.ToEntero <> 5 Then - If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then - cevent.backgroundColor = "#1BBC9B" - End If + Dim cevent As CalendarEvent = New CalendarEvent() + cevent.id = dr("CveEvento").ToString.ToEntero + cevent.title = dr("Asunto").ToString + cevent.description = dr("Descripcion").ToString + cevent.start = String.Format("{0:s}", dr("FechaInicio").ToString.ToDateTime) + cevent.end = String.Format("{0:s}", dr("FechaFin").ToString.ToDateTime) + cevent.allDay = False + 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 + cevent.CveTipoEvento = dr("Prospecto").ToString.ToEntero + cevent.EmpresaCRM = dr("EmpresaCRM").ToString + cevent.SubProyecto = dr("SubProyecto").ToString + cevent.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + cevent.Direccion = dr("Direccion").ToString - 'VERIFICAMOS SI TIENE O NO RECURRENCIA - If Not cevent.recurrenciatipo > 0 Then - - 'AGREGAMOS CUANDO NO ES RECURRENTE - Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, Date.Now) - '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 - events.Add(cevent) + '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 - Else - 'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE + If cevent.CveEventoEstatus.ToString.ToEntero = 3 Then + cevent.backgroundColor = "#1BBC9B" + End If - Dim FinRecurrencia = cevent.recurrenciafin.ToEntero - Dim FI As DateTime, FF As DateTime, FT As DateTime - Dim DiasSemana = cevent.diassemana.Split(","c) - FI = cevent.start.ToDateTime - FF = cevent.end.ToDateTime + 'VERIFICAMOS SI TIENE O NO RECURRENCIA + If Not cevent.recurrenciatipo > 0 Then - 'OBTENEMOS LA FECHA TERMINO (FT) DE LA RECURRENCIA - Select Case FinRecurrencia - Case -1 - FT = DateAdd(DateInterval.Year, 2, dr("FechaInicio").ToString.ToDateTime) - Case 0 - FT = dr("RecurrenciaFin").ToString.ToDate - Case Is > 0 - FinRecurrencia -= 1 - Select Case cevent.recurrenciatipo - Case 1 - FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) - Case 2 - FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) - Case 3 - FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) - FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT) - Case 4 - FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) - Case 5 - FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) - End Select - End Select + 'AGREGAMOS CUANDO NO ES RECURRENTE + Dim tFecha As DateTime = DateAdd(DateInterval.Month, -6, Date.Now) + '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 + events.Add(cevent) + End If + Else - '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 = FI, FFT = FF + 'EMPIEZA METODO PARA AGREGAR CUANDO SI ES RECURRENTE - FIT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FI)).ToString.ToDouble, FI) - FFT = DateAdd(DateInterval.Day, (drDias.ToEntero - Weekday(FF)).ToString.ToDouble, FF) + Dim FinRecurrencia = cevent.recurrenciafin.ToEntero + Dim FI As DateTime, FF As DateTime, FT As DateTime + Dim DiasSemana = 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("FechaInicio").ToString.ToDateTime) + Case 0 + FT = dr("RecurrenciaFin").ToString.ToDate + Case Is > 0 + FinRecurrencia -= 1 + Select Case cevent.recurrenciatipo + Case 1 + FT = DateAdd(DateInterval.Hour, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + Case 2 + FT = DateAdd(DateInterval.Day, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + Case 3 + FT = DateAdd(DateInterval.WeekOfYear, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + FT = DateAdd(DateInterval.Day, (7 - Weekday(FT)).ToString.ToDouble, FT) + Case 4 + FT = DateAdd(DateInterval.Month, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").ToString.ToDateTime) + Case 5 + FT = DateAdd(DateInterval.Year, FinRecurrencia * cevent.frecuencia, dr("FechaInicio").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 = FI, FFT = 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("CveEvento").ToString.ToEntero + cevent.title = dr("Asunto").ToString + cevent.description = dr("Descripcion").ToString + cevent.start = String.Format("{0:s}", FIT) + cevent.end = String.Format("{0:s}", FFT) + cevent.allDay = False + 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 + 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, Date.Now) And FIT >= dr("FechaInicio").ToString.ToDateTime Then + events.Add(cevent) + End If + Next + Else cevent = New CalendarEvent() cevent.id = dr("CveEvento").ToString.ToEntero cevent.title = dr("Asunto").ToString cevent.description = dr("Descripcion").ToString - cevent.start = String.Format("{0:s}", FIT) - cevent.end = String.Format("{0:s}", FFT) + cevent.start = String.Format("{0:s}", FI) + cevent.end = String.Format("{0:s}", FF) cevent.allDay = False cevent.CveEventoEstatus = dr("CveEventoEstatus").ToString.ToEntero cevent.cveagendatipo = dr("CveAgendaTipo").ToString @@ -218,69 +258,37 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState 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, Date.Now) And FIT >= dr("FechaInicio").ToString.ToDateTime Then + 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA + If FI > DateAdd(DateInterval.Month, -6, Date.Now) Then events.Add(cevent) End If - Next - Else - cevent = New CalendarEvent() - cevent.id = dr("CveEvento").ToString.ToEntero - cevent.title = dr("Asunto").ToString - cevent.description = dr("Descripcion").ToString - cevent.start = String.Format("{0:s}", FI) - cevent.end = String.Format("{0:s}", FF) - cevent.allDay = False - 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 - 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 + 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 - 'SI LA FECHA DEL EVENTO ES MENOR DE 6 MESES DE LA FECHA ACTUAL NO LO AGREGA - If FI > DateAdd(DateInterval.Month, -6, Date.Now) Then - events.Add(cevent) - End If - End If + Loop Until FI > FT + 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()) diff --git a/OC/RepSolicitudesAnticipo.aspx b/OC/RepSolicitudesAnticipo.aspx index ccd5adc92..911133519 100644 --- a/OC/RepSolicitudesAnticipo.aspx +++ b/OC/RepSolicitudesAnticipo.aspx @@ -86,6 +86,7 @@ + @@ -120,10 +121,12 @@ " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> - + <%--0--%> @@ -132,40 +135,53 @@ + <%--1--%> + <%--2--%> + <%--3--%> + <%--4--%> + <%--5--%> - + <%--6--%> - + <%--7--%> - + <%--8--%> - + <%--9--%> + <%--10--%> + <%--11--%> + + + + + diff --git a/OC/RepSolicitudesAnticipo.aspx.cs b/OC/RepSolicitudesAnticipo.aspx.cs index 104bc2e02..3a8715a01 100644 --- a/OC/RepSolicitudesAnticipo.aspx.cs +++ b/OC/RepSolicitudesAnticipo.aspx.cs @@ -14,6 +14,10 @@ using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; using Ionic.Zip; +using StackExchange.Redis; +using static Stimulsoft.Report.Export.DeflaterHuffman; + + public partial class OC_RepSolicitudesAnticipo : ClsPaginas { #region "Propiedades" @@ -286,4 +290,64 @@ public partial class OC_RepSolicitudesAnticipo : ClsPaginas } + + protected void LnkCancelar_Click(object sender, EventArgs e) + { + + bool errorProceso = false; + GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; + int CveEvento = GvRow.DataKey("CveEvento").ToEntero(); + int CveOrdenCompra = GvRow.DataKey("CveOrdenCompra").ToEntero(); + + string ImporteSol = GvRow.DataKey("ImporteSol") ; + + ClsOIEventos objGenral = new ClsOIEventos(); + ClsOIEventos objEventos = new ClsOIEventos(objGenral.IniciaTransacSQL()); + + + if (objEventos.UpdateEstatusEvento(5,-1, CveEvento,UsuarioActual.CveUsuario)) + { + if (!objGenral.AddEventoBitacora($"Se cancela solicitud de anticipo con importe {ImporteSol}","",UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,CveOC:CveOrdenCompra)){ + errorProceso = true; + } + } + else + { + errorProceso = true; + } + + + if (!errorProceso) + { + objGenral.Commit(); + Alert("Solicitud de anticipo cancelado correctamente."); + } + else + { + objGenral.RollBack(); + } + + objGenral.Dispose(); + + if (!errorProceso) + { + CargaDatos(); + } + + } + + protected void GvSolicitudes_RowDataBound(object sender, GridViewRowEventArgs e) + { + if(e.Row.RowType == DataControlRowType.DataRow) + { + if(e.Row.DataKey("CveEventoEstatus").ToEntero() == 1) + { + e.Row.FCLinkButton("LnkCancelar").Visible = true; + }else if (e.Row.DataKey("CveEventoEstatus").ToEntero() == 5) + { + e.Row.FCHyperLink("HplNum").Visible = false; + } + } + + } } \ No newline at end of file diff --git a/Ventas/Promociones.aspx b/Ventas/Promociones.aspx index 87bdea538..28d829339 100644 --- a/Ventas/Promociones.aspx +++ b/Ventas/Promociones.aspx @@ -187,7 +187,11 @@
- + <%----%> @@ -201,12 +205,12 @@ - + - + @@ -265,6 +269,11 @@ + + + diff --git a/Ventas/Promociones.aspx.vb b/Ventas/Promociones.aspx.vb index 5d55ae37c..1ed054fee 100644 --- a/Ventas/Promociones.aspx.vb +++ b/Ventas/Promociones.aspx.vb @@ -53,6 +53,21 @@ Partial Class Ventas_Promociones End Set End Property + + + Private Property CvePromocionPadre As Integer + Get + + If ViewState("CvePromocionPadre") Is Nothing Then + ViewState("CvePromocionPadre") = -1 + End If + Return ViewState("CvePromocionPadre").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CvePromocionPadre") = value + End Set + End Property + #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load @@ -64,9 +79,6 @@ Partial Class Ventas_Promociones If Request("CvePromocion") IsNot Nothing AndAlso Request("CvePromocion").ToString.ToEntero > 0 Then CvePromocion = Request("CvePromocion").ToString.ToEntero CargaDatos() - - - Else ChkEstatus.Enabled = True ChkEstatus.Checked = True @@ -287,6 +299,8 @@ Partial Class Ventas_Promociones DdlMarca.SelectedValueExist(Dr("CveMarca").ToString) DdlTipoAplicacion.SelectedValueExist(Dr("TipoAplicacion").ToString) + CvePromocionPadre = If(Dr("CvePromocionPadre").ToString.ToEntero > 0, Dr("CvePromocionPadre").ToString.ToEntero, -1) + If ObjVentas.GetPromocionesDetalle(CvePromocion, UsuarioActual.CveEmpresa) Then TempDT = ObjVentas.DtResultados.Copy TempDTOrigial = ObjVentas.DtResultados.Copy @@ -299,6 +313,13 @@ Partial Class Ventas_Promociones Alert("Ocurrió un error al consultar la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If + ButBtnEliminar.Visible = True + + If CvePromocionPadre > 0 Then + BtnGuardar.Enabled = False + ButBtnEliminar.Enabled = False + End If + ObjVentas.Dispose() End Sub Private Sub CargaGrid() @@ -537,6 +558,11 @@ Partial Class Ventas_Promociones TieneError = True End If + If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then + TieneError = ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1) + End If + + If Not TieneError Then ObjVentas.Commit() Alert("La promoción se guardo correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/CatPromociones.aspx"";") @@ -547,6 +573,8 @@ Partial Class Ventas_Promociones ObjVentas.Dispose() End Sub + + Private Sub ActualizaPromocion() Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) @@ -559,12 +587,17 @@ Partial Class Ventas_Promociones If ObjVentas.UpdatePromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha), DdlVendedor.SelectedValue.ToEntero, CveCliente, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, - CvePromocion, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoAplicacion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveMarca:=DdlMarca.SelectedValue.ToEntero, DdlDistribuidor.SelectedValue.ToEntero) Then + CvePromocion, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoAplicacion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveMarca:=DdlMarca.SelectedValue.ToEntero, EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero) Then For Each Dr As DataRow In TempDT.FiltraParametros("Estatus = 0").Rows + + + Dim OpReplicarDetalleFranquicias As Integer = If(UsuarioActual.Empresa.Funcionalidad(563) <> "", 2, 1) ' op 2 Elimina detalles de franquicias + If Not ObjVentas.AddPromocionesDetalle(CvePromocion, Dr("CvePS").ToString.ToEntero, Dr("CveTipoPromocion").ToString.ToEntero, Dr("Promocion").ToString.ToDouble, Dr("PUAnterior").ToString.ToDouble, Dr("PUPromocion").ToString.ToDouble, CBool(Dr("AplicaRestriccion")), CBool(Dr("AplicaLunes")), CBool(Dr("AplicaMartes")), CBool(Dr("AplicaMiercoles")), CBool(Dr("AplicaJueves")), CBool(Dr("AplicaViernes")), CBool(Dr("AplicaSabado")), CBool(Dr("AplicaDomingo")), - Dr("HoraInicio").ToString.ToDateTime, Dr("HoraFin").ToString.ToDateTime, Dr("CantidadMinima").ToString.ToEntero, CveClasificacion:=If(Dr("CvePS").ToString = "-1", Dr("CveClasificacion").ToString.ToEntero, -1), CveRinTamaño:=Dr("CveRinTamaño").ToString.ToEntero, IncluyeImpuestos:=ChkIncluyeImpuesto.Checked) Then + Dr("HoraInicio").ToString.ToDateTime, Dr("HoraFin").ToString.ToDateTime, Dr("CantidadMinima").ToString.ToEntero, CveClasificacion:=If(Dr("CvePS").ToString = "-1", Dr("CveClasificacion").ToString.ToEntero, -1), + CveRinTamaño:=Dr("CveRinTamaño").ToString.ToEntero, IncluyeImpuestos:=ChkIncluyeImpuesto.Checked, Opcion:=OpReplicarDetalleFranquicias) Then TieneError = True Exit For End If @@ -759,8 +792,14 @@ Partial Class Ventas_Promociones End If If Not TieneError Then + For Each Dr As DataRow In TempDT.FiltraParametros("Estatus = 2").Rows - If Not ObjVentas.RemovePromocionesDetalle(Dr("CvePromocionDetalle").ToString.ToEntero) Then + + 'RunPromocionesClonar + + Dim OpEliminacionDetalle As Integer = If(UsuarioActual.Empresa.Funcionalidad(563) <> "", 2, 1) ' op 2 Elimina detalles de franquicias + + If Not ObjVentas.RemovePromocionesDetalle(Dr("CvePromocionDetalle").ToString.ToEntero, OpEliminacionDetalle) Then TieneError = True Exit For End If @@ -781,6 +820,14 @@ Partial Class Ventas_Promociones TieneError = True End If + If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then + + If Not ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 2) Then + TieneError = True + End If + + End If + If Not TieneError Then ObjVentas.Commit() Alert("La promoción se guardo correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/CatPromociones.aspx"";") @@ -801,12 +848,21 @@ Partial Class Ventas_Promociones ObjVentas.IniciaTransacSQL() Dim TieneError = False - If ObjVentas.RemovePromocionesDetalle(CvePromocion) Then - If Not ObjVentas.RemovePromociones(CvePromocion, UsuarioActual.CveEmpresa) Then + + If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then + If Not ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 3) Then + TieneError = True + End If + End If + + If Not TieneError Then + If ObjVentas.RemovePromocionesDetalle(-1, 3, CvePromocion) Then + If Not ObjVentas.RemovePromociones(CvePromocion, UsuarioActual.CveEmpresa) Then + TieneError = True + End If + Else TieneError = True End If - Else - TieneError = True End If If Not TieneError Then @@ -816,6 +872,15 @@ Partial Class Ventas_Promociones ObjVentas.RollBack() Alert("Ocurrió un error al registrar la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If + + + If UsuarioActual.Empresa.Funcionalidad(563) <> "" AndAlso TieneError Then + If ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 4) Then + Alert("Se presento un error al eliminar, se desactivo kla promoción actual y promociones relacionadas", TipoMensaje.MsgAdvertencia, $"document.location.href=""/Ventas/Promociones.aspx?CvePromocion={CvePromocion}"";") + End If + End If + + ObjVentas.Dispose() End Sub #End Region @@ -836,4 +901,17 @@ Partial Class Ventas_Promociones + + Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) + + If e.Row.RowType = DataControlRowType.DataRow Then + + If CvePromocionPadre > 0 Then + e.Row.FCLinkButton("LnkGvDetalleEditar").Visible = False + e.Row.FCLinkButton("LnkGvDetalleEliminar").Visible = False + End If + + End If + + End Sub End Class \ No newline at end of file