diff --git a/Transportes/Boletos.aspx.vb b/Transportes/Boletos.aspx.vb index 8958a0446..62774dc29 100644 --- a/Transportes/Boletos.aspx.vb +++ b/Transportes/Boletos.aspx.vb @@ -157,14 +157,20 @@ Partial Class Boletos Dim retorno As Integer = ObjTransporte.AddViajesPasajeros(CveViaje, DdlPartida.SelectedValue.ToEntero, DdlDestino.SelectedValue.ToEntero, Importe, AsientoSeleccionado.ToEntero, TxtNombre.Text, TxtVisa.Text, TxtCelular.Text, CBool(RblSexo.SelectedValue), TxtObservaciones.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If retorno > 1 Then + Alert("Boleto generado correctamente") ObjTransporte.Commit() + DdlPartida.SelectedValue = "" + DdlDestino.SelectedValue = "" + TxtNombre.Text = "" + TxtVisa.Text = "" + TxtCelular.Text = "" + TxtObservaciones.Text = "" End If Catch ex As Exception ObjTransporte.RollBack() Alert($"No se pudo generar el boleto {ex}", TipoMensaje.MsgError) Finally ObjTransporte.Dispose() - Response.Redirect($"/Transportes/Boletos.aspx?CveViaje={CveViaje}") End Try End Sub diff --git a/Transportes/RepBoletos.aspx b/Transportes/RepBoletos.aspx index 5255ff9a3..27869d3d3 100644 --- a/Transportes/RepBoletos.aspx +++ b/Transportes/RepBoletos.aspx @@ -31,7 +31,7 @@
+ data-sort="true" DataKeyNames="Asiento,Nombre, Visa,Celular,Sexo,Estatus,Partida,Destino, Importe,FechaIng, Agencia, TelefonoAgencia"> @@ -94,7 +94,7 @@ + data-sort="true" DataKeyNames="CveContrato, DescripcionContrato, Ubicacion, FechaInicial, FechaFinal, CveCliente, CveTipoAF, Importe, ImporteMin, ImporteMax "> @@ -261,7 +261,7 @@
- +
diff --git a/Transportes/RepContratos.aspx.vb b/Transportes/RepContratos.aspx.vb index 3877a3cdb..a39ff2de3 100644 --- a/Transportes/RepContratos.aspx.vb +++ b/Transportes/RepContratos.aspx.vb @@ -47,6 +47,10 @@ Partial Class ListadoContratos TxtObservaciones.Text = "" TxtUbicacion.Text = "" DdlTransporte.SelectedValue = "" + DdlClientes.SelectedText = "" + TxtDolares.Text = "" + TxtPesos.Text = "" + TxtAnticipo.Text = "" BtnGuardar.Text = "Guardar" myModalLabel.InnerHtml = "Agregar Contrato" @@ -77,7 +81,7 @@ Partial Class ListadoContratos End If 'Agregar contrato If BtnGuardar.Text = "Guardar" Then - CveContratoHijo = ObjContratos.AddContratos("", TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, -1, -1, -1, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1, CveTipoAF:=DdlTransporte.SelectedValue.ToEntero) + CveContratoHijo = ObjContratos.AddContratos("", TxtDescripcion.Text, "", UsuarioActual.CveProveedor, DdlClientes.SelectedValue.ToEntero, -1, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, TxtUbicacion.Text, "", 10, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, TxtAnticipo.Text.ToDecimal, TxtPesos.Text.ToDecimal, TxtDolares.Text.ToDecimal, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1, CveTipoAF:=DdlTransporte.SelectedValue.ToEntero) End If If CveContratoHijo > 0 Then @@ -87,7 +91,7 @@ Partial Class ListadoContratos 'Actualizar contrato If BtnGuardar.Text = "Editar" Then - retorno = ObjContratos.UpdateContratos(CveContrato, "", 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, -1, -1, -1, -1, 0, CveContratoTipo:=2, CveContratosEstatus:=1) + retorno = ObjContratos.UpdateContratos(CveContrato, "", 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:=2, CveContratosEstatus:=1) End If If retorno Then @@ -100,8 +104,11 @@ Partial Class ListadoContratos TxtFechaRegreso.Text = "" TxtObservaciones.Text = "" TxtUbicacion.Text = "" - DdlClientes.SelectedValue = "" + DdlClientes.SelectedText = "" DdlTransporte.SelectedValue = "" + TxtDolares.Text = "" + TxtPesos.Text = "" + TxtAnticipo.Text = "" BtnGuardar.Text = "Guardar" Catch ex As Exception Alert($"Ocurrió un error {ex}", TipoMensaje.MsgError) @@ -129,6 +136,10 @@ Partial Class ListadoContratos TxtObservaciones.Text = GvRow.DataKey("DescripcionContrato") TxtUbicacion.Text = GvRow.DataKey("Ubicacion") DdlTransporte.SelectedValue = GvRow.DataKey("CveTipoAF") + TxtDolares.Text = GvRow.DataKey("Importe") + TxtPesos.Text = GvRow.DataKey("ImporteMax") + TxtAnticipo.Text = GvRow.DataKey("ImporteMin") + If DateTime.TryParse(GvRow.DataKey("FechaInicial").ToString, fechaInicial) And DateTime.TryParse(GvRow.DataKey("FechaFinal").ToString, fechaFinal) Then TxtFechaSalida.Text = fechaInicial.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T") TxtFechaRegreso.Text = fechaFinal.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "T") diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 60219d322..4b8cb4d48 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -2137,7 +2137,17 @@ Partial Class Clientes Protected Sub BtnSendMail_Click(sender As Object, e As System.EventArgs) Handles BtnSendMail.Click Try - If HdnCveVenta.Value <> "-1" AndAlso HdnFolioVenta.Value <> "-1" Then + If HdnCveVenta.Value <> "-1" AndAlso HdnFolioVenta.Value <> "-1" Then + + Dim ArchivoPDF As String = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, HdnTipoDocto.Value, HdnFolioVenta.Value) + 'REGENERAR EL PDF + If Not File.Exists(ArchivoPDF) Then + Try + GenerarPDFVenta(HdnCveVenta.Value.ToEntero(), AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False) + Catch ex As Exception + OnError("Ocurrió un error al regenerar el PDF", ex) + End Try + End If Dim ObjMail As New ClsSisMail() Dim Ruta As String = UsuarioActual.Empresa.Ruta diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index b348315c9..9282f899e 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -10370,12 +10370,17 @@ Partial Class Ventas If File.Exists(ArchivoXML) Then MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto))) End If + 'MANDA CORREO Try - 'MANDA CORREO - Dim strURLHOST As String = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port) Dim Factura As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False, CargaDTDetalle:=False, CargaDatosCliente:=False, CargaDatosRelacionados:=False, VerificaAlmacen:=False) - Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, strURLHOST)) - Hilo.Start() + 'SE SE VA UTILIZAR LA DESCARGA AUTOMATICA, NO GENERAR PDF A TRAVEZ DE UN THREAD + If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then + GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, "", UsarDescargaDesdePopUpVerFactura:=False) + Else + Dim strURLHOST As String = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port) + Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, strURLHOST)) + Hilo.Start() + End If Catch ex As Exception OnError("Ocurrió un error al enviar el PDF", ex) End Try @@ -10383,11 +10388,8 @@ Partial Class Ventas 'PARA PRUEBAS, GENERAR PDF AUNQUE NO ESTE TIMBRADA If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then Try - 'MANDA CORREO - Dim strURLHOST As String = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port) Dim Factura As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=False, CargaDTDetalle:=False, CargaDatosCliente:=False, CargaDatosRelacionados:=False, VerificaAlmacen:=False) - Dim Hilo As New System.Threading.Thread(Sub() GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, strURLHOST)) - Hilo.Start() + GeneraPDFFactura(ChkEnviarFactura.Checked, Factura, UsuarioActual, "", UsarDescargaDesdePopUpVerFactura:=False) Catch ex As Exception OnError("Ocurrió un error al enviar el PDF", ex) End Try @@ -15549,14 +15551,28 @@ Partial Class Ventas #End Region #Region "¡ P D F R E P O R T V I E W E R !" - Private Sub GeneraPDFFactura(EnviaCorreo As Boolean, Factura As Modelos.Factura, UsuarioActual As Usuario, strURLHOST As String, Optional CorreoCRM As String = "") + ''' + ''' Generación y envío de correo de factura, UsarDescargaDesdePopUpVerFactura si se va realizar a travez de un thread + ''' + ''' + ''' + ''' + ''' + ''' + ''' + Private Sub GeneraPDFFactura(EnviaCorreo As Boolean, Factura As Modelos.Factura, UsuarioActual As Usuario, strURLHOST As String, Optional CorreoCRM As String = "", Optional UsarDescargaDesdePopUpVerFactura As Boolean = True) 'GUARDA PDF Dim LocalSerieFolio As String = String.Empty Dim LocalTipoDocto As String = String.Empty 'TIMBRADO NUEVO Try - GenerarPDFVenta(Factura.CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False) + If UsarDescargaDesdePopUpVerFactura Then + DescargarFactura(Factura.CveVenta, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Regenerar:=True, strURLHOST:=strURLHOST) + Else + GenerarPDFVenta(Factura.CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False) + End If + Catch ex As Exception OnError("Ocurrió un error al generar el PDF", ex) End Try @@ -16783,19 +16799,18 @@ Partial Class Ventas CargaPS(DdlClasificacion.SelectedValue.ToEntero(), Ddl) End If - If UsuarioActual.CveEmpresa.Contiene(186, 189) Then TxtPrecio.Focus() End If - UPPPS.Update() UpPS.Update() - If UsuarioActual.CveEmpresa = 189 Then + If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then AgregarPS() End If + End Sub Private Function CalculaPrecioSugerido(CvePSParametro As Integer, CveClasificacion As Integer, Optional CvePrecioListaSugerido As Integer = -1) As Modelos.MPrecioSugerido @@ -33471,6 +33486,33 @@ Partial Class Ventas End If End Sub + + Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, CveUsuarioCreo As Integer, Optional GetBytes As Boolean = True, Optional Regenerar As Boolean = False, Optional strURLHOST As String = "") As Byte() + + If String.IsNullOrEmpty(strURLHOST) Then + strURLHOST = String.Format("{0}://{1}:{2}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port) + End If + + Dim Url As New Uri(String.Format("{0}/Compras/PopUpVerFactura.aspx?P={1}", strURLHOST, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1®ENERAR={1}", CveVenta, If(Regenerar, "1", "0"))))) + Dim File As Byte() = Nothing + Try + Using httpClient As New HttpClient() + httpClient.Timeout = New TimeSpan(0, 2, 0) + Using request As New HttpRequestMessage(HttpMethod.Get, Url) + request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CveUsuario={2}", CveEmpresa, DateTime.UtcNow.Ticks, CveUsuarioCreo))) + Dim response = httpClient.SendAsync(request).Result + If GetBytes AndAlso response.StatusCode = Net.HttpStatusCode.OK Then + File = response.Content.ReadAsByteArrayAsync().Result + End If + End Using + End Using + Catch ex As Exception + File = Nothing + OnError("Ocurrió un error al descargar la factura", ex) + End Try + + Return File + End Function Protected Sub LnkGenerarOC_Click(sender As Object, e As EventArgs) Response.Redirect($"~/OC/OC.aspx?CveCotizacion={Me.CveVenta}&Tipo=OC") End Sub