From c8fe379ab493d1e7fb2c6565f30119116925ec5d Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 12 Jun 2020 20:08:46 -0700 Subject: [PATCH 1/2] =?UTF-8?q?Cancelaci=C3=B3n=20de=20movimientos=20sin?= =?UTF-8?q?=20costo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/Modelos.vb | 27 +++++---- Inventarios/EntregaAlmacen.aspx.vb | 89 +++++++++++++++++++++++++++--- Ventas/Ventas.aspx.vb | 17 +++++- 3 files changed, 112 insertions(+), 21 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 07f8fecbf..9fdf3e692 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -4571,7 +4571,7 @@ Namespace Modelos Next - 'SI EXISTEN HAY EXISTENCIA EN (ENTREGA POR ADELANTADO) SE TIENE QUE REGRESAR AL ALMACEN GENERAL + 'SI EXISTEN HAY EXISTENCIA EN (ENTREGA POR ADELANTADO) SE TIENE QUE REGRESAR AL ALMACEN ORGINAL (GENERAL,SIN COSTO) If Not ErrorCancelar AndAlso ListaRemisionesCancelar IsNot Nothing AndAlso ListaRemisionesCancelar.Count > 0 Then 'VERIFICA LOS MOVIMIENTOS DE DEVOLUCION YA GENERADOS QUE TENGAN EXISTENCIA EN (ENTREGA POR ADELANTADO) @@ -4584,21 +4584,24 @@ Namespace Modelos End If End If - 'DEBE REGRESAR LA EXISTENCIA DE (ENTREGA POR ADELANTADO) AL ALMACEN GENERAL + 'DEBE REGRESAR LA EXISTENCIA DE (ENTREGA POR ADELANTADO) AL ALMACEN ORGINAL (GENERAL,SIN COSTO) If Not ErrorCancelar AndAlso DtDevoluciones IsNot Nothing Then For Each CveRemision As Integer In ListaRemisionesCancelar Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}") - Dim RowDevolucion As DataRow = DtDevRemision.FiltraParametros("", DistinctColumns:={"CveRemision", "CveAlmacen", "CveAlmacenDestino"}).Rows(0) + Dim DtDevMovs = DtDevRemision.FiltraParametros("", DistinctColumns:={"CveMovimiento", "CveRemision", "CveAlmacen", "CveAlmacenDestino"}) - CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero() - CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero() + For Each RowDevolucion As DataRow In DtDevMovs.Rows + CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero() + CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero() + + If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." + Exit For + End If + Next - If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision, ObjVentas, ObjInventario) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." - Exit For - End If Next Else ErrorCancelar = True @@ -5028,7 +5031,7 @@ Namespace Modelos 'SALIDA DE (ENTREGA POR ADELANTADO) If Not ErrorCancelar Then - For Each DrRem As DataRow In DtMovDetalle.FiltraParametros($"CveRemision = {CveRemision}").Rows + For Each DrRem As DataRow In DtMovDetalle.Rows Dim CveVentaDetalleRem = DrRem("CveVentaDetalleRemision").ToString.ToEntero Dim CantidadRem = DrRem("Cantidad").ToString.ToDecimal @@ -5037,7 +5040,7 @@ Namespace Modelos Exit For End If - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, DrRem("Cantidad").ToString.ToDecimal, DrRem("CveUM").ToString.ToEntero, DrRem("CvePS").ToString.ToEntero, DrRem("PU").ToString.ToDecimal, CveAF:=DrRem("CveActivoFijo").ToString.ToEntero, Serie:=DrRem("Serie").ToString, CveVentaDetalle:=CveVentaDetalleRem, Lote:=DrRem("Lote").ToString) Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, DrRem("Cantidad").ToString.ToDecimal, DrRem("CveUM").ToString.ToEntero, DrRem("CvePS").ToString.ToEntero, DrRem("PU").ToString.ToDecimal, CveAF:=DrRem("CveActivoFijo").ToString.ToEntero, Serie:=DrRem("Serie").ToString, Lote:=DrRem("Lote").ToString, CveVentaDetalle:=CveVentaDetalleRem, CveMovimientoDetalleEntrada:=DrRem("CveMovimientoDetalle").ToString().ToEntero()) Then ErrorCancelar = True Exit For End If diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 19bf302aa..6532d27a0 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -509,7 +509,7 @@ Partial Class Inventarios_EntregaAlmacen TipoEntrega = 1 BtnGuardar.Visible = True - Dim StrAlmacenes As String = "CveTipoAlmacen IN (1,2)" + Dim StrAlmacenes As String = "CveTipoAlmacen IN (1,2,26)" If UsuarioActual.CveSubProyecto = 8804 Then StrAlmacenes = "CveTipoAlmacen IN (1,2,12)" @@ -1663,7 +1663,16 @@ Partial Class Inventarios_EntregaAlmacen DtTraspasos.Columns.Add("CveTipoAlmacen", GetType(Integer)) DtTraspasos.Columns.Add("CveConceptoMovimientoSalida", GetType(Integer)) - Dim CveMovimientoSalida = -1, FolioSalida = -1, CveMovimientoEntrada = -1, CveMovimientoEntradaApartado = -1, FolioEntrada = -1, CveMovimientoSalidaDevRem = -1, FolioMovimientoSalidaDevRem = -1, CveMovimientoEntradaDevRem = -1, FolioMovimientoEntradaDevRem = -1 + Dim CveMovimientoSalida = -1, FolioSalida = -1, CveMovimientoEntrada = -1, CveMovimientoEntradaApartado = -1, FolioEntrada = -1, CveMovimientoSalidaDevRem = -1, FolioMovimientoSalidaDevRem = -1, CveMovimientoEntradaDevRem = -1, FolioMovimientoEntradaDevRem = -1 + + + Dim DtDevSinCosto As New DataTable + DtDevSinCosto.Columns.Add("CveAlmacen", GetType(Integer)) + DtDevSinCosto.Columns.Add("Almacen", GetType(String)) + DtDevSinCosto.Columns.Add("CveMovimientoEntrada", GetType(Integer)) + DtDevSinCosto.Columns.Add("FolioEntrada", GetType(Integer)) + DtDevSinCosto.Columns.Add("CveTipoAlmacen", GetType(Integer)) + DtDevSinCosto.Columns.Add("CveConceptoMovimientoSalida", GetType(Integer)) Try 'VALIDA EXISTENCIA 2 @@ -2189,11 +2198,70 @@ Partial Class Inventarios_EntregaAlmacen End If Next End If + End If + ' TERMINA: GARANTIAS + + 'DEVOLUCION DE SIN COSTO + Dim CantidadEntradaSinCosto As Decimal = 0 + + If Not ErrorMovInv AndAlso TipoMovimiento = 2 AndAlso UsuarioActual.Empresa.Funcionalidad(587) = "1" Then + For Each Dr1 As DataRow In DtExistencias.FiltraParametros("CveTipoAlmacenDevolucion = 26").Rows + Dim CveMovimientoSalidaSinCosto = Dr1("CveMovimiento").ToString.ToEntero + + 'Dim CveAlmacenSinCosto As Integer = Dr1("CveAlmacenDevolucion").ToString().ToEntero() + + 'Dim AlmacenSinCosto As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=26).FiltroPrimeroValor("Almacen", $"CveAlmacen={CveAlmacenSinCosto}").ToString() + + Dim CveMovimientoDevolucionSinCosto = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero(), 41, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, + Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida, + Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4") + Dim FolioDevSinCosto = ObjInventario.Folio + + If Not CveMovimientoDevolucionSinCosto > 0 Then + ErrorMovInv = True + TextoError.AppendFormat("Ocurrió un error al procesar los movimientos de traspaso de apartado. Por favor vuelva a intentar.") + Exit For + End If + + If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaSinCosto, UsuarioActual.CveEmpresa) Then + For Each Dr As DataRow In ObjInventario.DtResultados.Rows + + CantidadEntradaSinCosto += Dr("Cantidad").ToString.ToDecimal() + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucionSinCosto, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then + ErrorMovInv = True + TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar.") + Exit For + End If + Next + End If + + If ErrorMovInv Then Exit For + + Dim DrMovto = DtDevSinCosto.NewRow + DrMovto("Almacen") = DdlAlmacen.SelectedItem.Text + DrMovto("CveAlmacen") = DdlAlmacen.SelectedValue.ToEntero() + DrMovto("CveMovimientoEntrada") = CveMovimientoDevolucionSinCosto + DrMovto("FolioEntrada") = FolioDevSinCosto + DrMovto("CveTipoAlmacen") = 10 + DrMovto("CveConceptoMovimientoSalida") = 41 + DtDevSinCosto.Rows.Add(DrMovto) + + If Not ErrorMovInv Then + ErrorMovInv = Not GenerarPrePoliza(ObjInventario, ObjVentas, ObjConta, CveMovimientoDevolucionSinCosto, TextoError) + End If + + Next End If - ' TERMINA: GARANTIAS - - Dim CantidadPendientePorSalir As Decimal = DtDatos.SUM("CantidadGV").ToDecimal() - CantidadSalidaSinCosto + Dim CantidadPendientePorSalir As Decimal = DtDatos.SUM("CantidadGV").ToDecimal() + + If TipoMovimiento = 1 Then + CantidadPendientePorSalir = CantidadPendientePorSalir - CantidadSalidaSinCosto + ElseIf TipoMovimiento = 2 Then + CantidadPendientePorSalir = CantidadPendientePorSalir - CantidadEntradaSinCosto + End If + If Not ErrorMovInv AndAlso CantidadPendientePorSalir > 0 Then Dim ConceptoMovimiento = 3 ConceptoMovimiento = If(TipoMovimiento = 1, ConceptoMovimiento, 18) @@ -2261,7 +2329,7 @@ Partial Class Inventarios_EntregaAlmacen CantidadPendiente = 0 Dim Cont As Integer = 0 For Each Dr As DataRow In DtDatos.Rows - CantidadPendiente = Dr("CantidadGV").ToString.ToDecimal - Dr("CantidadTraspaso").ToString.ToDecimal + CantidadPendiente = Dr("CantidadGV").ToString.ToDecimal - Dr("CantidadTraspaso").ToString.ToDecimal - CantidadEntradaSinCosto If CantidadPendiente > 0 Then Dim PU As Decimal = 0 @@ -2271,7 +2339,7 @@ Partial Class Inventarios_EntregaAlmacen If DtDetalle.Rows.Count > 0 Then For Each Dr1 As DataRow In DtDetalle.Rows If TipoMovimiento = 2 AndAlso DtExistencias IsNot Nothing Then - PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString.ToEntero} AND Serie = '{Dr1("Serie").ToString}'").ToString.ToDecimal + PU = DtExistencias.FiltroPrimeroValor("PU", $"CveTipoAlmacenDevolucion <> 26 AND CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString.ToEntero} AND Serie = '{Dr1("Serie").ToString}'").ToString.ToDecimal End If If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, Serie:=Dr1("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then @@ -2626,6 +2694,13 @@ Partial Class Inventarios_EntregaAlmacen Next End If + If DtDevSinCosto.Rows.Count > 0 Then + Msg.AppendFormat("

Movimientos de Control (Sin Costo):") + For Each Dr As DataRow In DtDevSinCosto.Rows + Msg.AppendFormat("
Almacén {0} | Devolución directa de almacen: {2} ", Dr("Almacen"), Dr("CveMovimientoEntrada"), Dr("FolioEntrada")) + Next + End If + If CveMovimientoGarantia > 0 Then Msg.AppendFormat("
Movimiento de Entrada (garantías): {1}", CveMovimientoGarantia, FolioGarantia) Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoGarantia))) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index ea5a9df12..3ed3f2224 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -16086,6 +16086,8 @@ Partial Class Ventas Dim DtMovimientosDetalles As DataTable DtRemConceptosSurtidos = Nothing + Dim TieneMovimientosSinCosto As Boolean = False + 'Obtenemos los movimientos detalle If ObjInventario.GetInv_Mov(CveRemision, UsuarioActual.CveEmpresa) Then @@ -16116,6 +16118,9 @@ Partial Class Ventas 'VALIDAR SI TIENE PRODUCTOS POR TRASPASAR If DtMovimientos.Rows.Count > 0 Then Dim GeneroMovimientoAlmacen As Boolean = False + + TieneMovimientosSinCosto = DtMovimientosDetalles.COUNT("CveTipoAlmacen", "CveTipoAlmacen=26") > 0 + For Each dr As DataRow In DtMovimientos.Rows 'Obtenemos los Movimientos de salida If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString().ToEntero(), ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then @@ -16132,9 +16137,14 @@ Partial Class Ventas Dim MovDetalle As New DataTable Dim AplicaMovimientoDetalleEntrada As Boolean = False + If RemisionesLista.Count > 0 Then AplicaMovimientoDetalleEntrada = True - MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND (TieneSalidaxFactura IS NULL OR SaldoAlmacen > 0)")) + If TieneMovimientosSinCosto Then + MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}") + Else + MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND (TieneSalidaxFactura IS NULL OR SaldoAlmacen > 0)")) + End If Else MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}") End If @@ -16209,7 +16219,10 @@ Partial Class Ventas MovDetalle.Dispose() - OcurrioError = Not GeneroMovimientoAlmacen + 'VERIFICA QUE SE HAYA GENERADO MOVIMIENTO DE ALMACEN + If Not OcurrioError Then + OcurrioError = Not GeneroMovimientoAlmacen + End If End If End If From cdbf62acedb656e22d96c9f0a9c07b9a0f770fbd Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Fri, 12 Jun 2020 20:50:52 -0700 Subject: [PATCH 2/2] Pago Electronico Grupos 2020-06-12 --- App_Code/ClsGenerales.vb | 4 +- App_Code/ClsMovimientos.vb | 5 +- App_Code/Thalamus.vb | 179 ++ Bancos/IE.aspx.vb | 33 + Bancos/PagoElectronicoGrupos.aspx | 98 +- Bancos/PagoElectronicoGrupos.aspx.vb | 538 +++- Bancos/PopIECompras.aspx.vb | 35 +- Bancos/ProveedoresAbonar.aspx.vb | 59 +- .../Grales/Formatos/LayoutPagoProveedor.rdlc | 2220 +++++++++-------- Tareas/Thalamus.asmx | 1 + 10 files changed, 1974 insertions(+), 1198 deletions(-) create mode 100644 App_Code/Thalamus.vb create mode 100644 Tareas/Thalamus.asmx diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index 2db192a9c..15c86b2c2 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -1506,7 +1506,7 @@ Public Class ClsGenerales Return Retorno End Function - Public Function UpdateCuentasDepositosEstatusPagoElectronicoGrupos(CveCuentaDeposito As Integer, EstatusPagoElectronicoGrupos As Boolean) As Boolean + Public Function UpdateCuentasDepositosEstatusPagoElectronicoGrupos(CveCuentaDeposito As Integer, EstatusPagoElectronicoGrupos As Boolean, CveSATBanco As Integer, BBVAAlias As String) As Boolean Dim Retorno As Boolean = False @@ -1515,6 +1515,8 @@ Public Class ClsGenerales With SqlAdapter.SelectCommand.Parameters .Add("@CveCuentaDeposito", SqlDbType.VarChar).Value = CveCuentaDeposito .Add("@EstatusPagoElectronicoGrupos", SqlDbType.Bit).Value = EstatusPagoElectronicoGrupos + .Add("@CveSATBanco", SqlDbType.Int).Value = CveSATBanco + .Add("@BBVAAlias", SqlDbType.VarChar).Value = BBVAAlias End With diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index fe4714eff..7849671d9 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -542,7 +542,10 @@ Public Class ClsMovimientos End With - Try + + Try + SqlAdapter.SelectCommand.CommandTimeout = 0 + SqlAdapter.Fill(Data) Retorno = True Catch ex As SqlException diff --git a/App_Code/Thalamus.vb b/App_Code/Thalamus.vb new file mode 100644 index 000000000..575b897b8 --- /dev/null +++ b/App_Code/Thalamus.vb @@ -0,0 +1,179 @@ +Imports System.IO +Imports System.Net +Imports System.Web +Imports System.Web.Services +Imports System.Web.Services.Protocols +Imports Extensiones.ModExtensiones +Imports GemBox.Spreadsheet +Imports System.Data + +' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. +' _ + + _ + _ +Public Class Thalamus + Inherits System.Web.Services.WebService + + + Public Function GenerarArchivos(CveEmpresa As Integer) As Boolean + + Dim RutaArchivoVentas As String = $"C:\Temp\Ventas{Now.ToString("yyyyMMdd")}.xlsx" + + Dim DTVentas As New DataTable + DTVentas.Columns.Add("systemId") + DTVentas.Columns.Add("Branch") + DTVentas.Columns.Add("Code") + DTVentas.Columns.Add("Sale Date") + DTVentas.Columns.Add("Quantity") + DTVentas.Columns.Add("Amount") + DTVentas.Columns.Add("Transaction ID") + + + For x = 0 To 50 + Dim dr As DataRow = DTVentas.NewRow + + dr(0) = $"systemId {x}" + dr(1) = $"Branch {x}" + dr(2) = $"{x}" + dr(3) = $"{Now.ToString("yyyy-MM-dd")}" + dr(4) = $"{x}" + dr(5) = $"{x}.00" + dr(6) = $"{x}" + + DTVentas.Rows.Add(dr) + + Next + + SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet()) + + Dim workbook = New ExcelFile + Dim worksheet = workbook.Worksheets.Add("Ventas") + + worksheet.InsertDataTable(DTVentas, + New InsertDataTableOptions() With + { + .ColumnHeaders = True, + .StartRow = 0 + }) + + workbook.Save(RutaArchivoVentas) + + Dim FTPServer As String = "ftp://127.0.0.1/" + Dim TFPUsr As String = "Toor" + Dim FTPPass As String = "agj-3500" + + + Dim FInfo As New FileInfo(RutaArchivoVentas) + + + Dim Carga As Boolean = CargarArchivos(FInfo.FullName, FTPServer, TFPUsr, FTPPass) + If Carga Then + Carga = VerificarArchivo(FInfo.Name, FInfo.Length, FTPServer, TFPUsr, FTPPass) + End If + + + + Return Carga + + End Function + + Private Function CargarArchivos(RutaArchivo As String, FTPServer As String, FTPUsr As String, FTPPass As String) As Boolean + + Dim Respuesta As Boolean + + Dim FInfo As New FileInfo(RutaArchivo) + + If FInfo.Exists Then + + Dim request As FtpWebRequest = DirectCast(WebRequest.Create($"{FTPServer}/{FInfo.Name}"), FtpWebRequest) + request.Method = WebRequestMethods.Ftp.UploadFile + + Dim tamanio As Integer = 1024 + Dim buffer As Byte() = New Byte(tamanio) {} + Dim byteRead As Integer = 0 + + Dim Conected As Boolean = False + + + + request.Credentials = New NetworkCredential(FTPUsr, FTPPass) + + Try + request.GetResponse() + Conected = True + Catch ex As Exception + + End Try + + + If Conected Then + + Dim ftpStream As Stream + Dim f As FileStream + + ftpStream = request.GetRequestStream + f = File.OpenRead(FInfo.FullName) + + Try + Do + byteRead = f.Read(buffer, 0, tamanio) + ftpStream.Write(buffer, 0, byteRead) + + Loop While byteRead <> 0 + + Respuesta = True + 'validar si existe archivo si coincide en tamaño + Catch ex As Exception + Respuesta = False + End Try + + + If f IsNot Nothing Then + f.Close() + End If + + If ftpStream IsNot Nothing Then + ftpStream.Close() + End If + + Else + Respuesta = False + 'no se conecto al ftp probablemente credenciales erroneas + End If + Else + Respuesta = False + 'El archivo no existe en el disco local + End If + + Return Respuesta + + End Function + + Private Function VerificarArchivo(Archivo As String, Tamanio As Long, FTPServer As String, FTPUsr As String, FTPPass As String) As Boolean + + Dim Respuesta As Boolean = False + + Dim reqSize As FtpWebRequest = DirectCast(FtpWebRequest.Create(New Uri(FTPServer & Archivo)), FtpWebRequest) + reqSize.Credentials = New NetworkCredential(FTPUsr, FTPPass) + reqSize.Method = WebRequestMethods.Ftp.GetFileSize + reqSize.UseBinary = True + + Dim loginresponse As FtpWebResponse = DirectCast(reqSize.GetResponse(), FtpWebResponse) + Dim respSize As FtpWebResponse = DirectCast(reqSize.GetResponse(), FtpWebResponse) + respSize = DirectCast(reqSize.GetResponse(), FtpWebResponse) + Dim size As Long = respSize.ContentLength + + respSize.Close() + + + If Tamanio = size Then + Respuesta = True + End If + + Return Respuesta + + + End Function + +End Class \ No newline at end of file diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 25ce1b6b2..c8a70dd0d 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -4653,6 +4653,26 @@ Partial Class Bancos_IE Alert("El Beneficiario no tiene una cuenta activa en BBVA, dela de alta o seleccione otro método de pago", TipoMensaje.MsgAdvertencia) End If + ElseIf DdlTipoTransaccion.SelectedValue = "17" Then + + + If Dep.DtResultados.Rows.Count > 0 Then + + DdlCuentaDeposito.DataSource = Dep.DtResultados + trCuentaDeposito.Visible = True + BtnGuardar.ToolTip = "" + + Else + + BtnGuardar.Enabled = False + Alert("El proveedor no tiene cuentas deposito.", TipoMensaje.MsgAdvertencia) + BtnGuardar.ToolTip = "El proveedor no tiene cuentas deposito" + + End If + + + UpGuardar.Update() + Else DdlCuentaDeposito.DataSource = Dep.DtResultados.FiltraParametros("Estatus ='True'") If Dep.DtResultados.Rows.Count > 0 Then @@ -4663,6 +4683,19 @@ Partial Class Bancos_IE End If + Else + + If DdlTipoTransaccion.SelectedValue.Contiene("9", "17") Then + + BtnGuardar.Enabled = False + Alert("El proveedor no tiene cuentas deposito.", TipoMensaje.MsgAdvertencia) + BtnGuardar.ToolTip = "El proveedor no tiene cuentas deposito" + Else + trCuentaDeposito.Visible = True + BtnGuardar.Enabled = True + End If + + UpGuardar.Update() End If diff --git a/Bancos/PagoElectronicoGrupos.aspx b/Bancos/PagoElectronicoGrupos.aspx index b82c69218..a79a95981 100644 --- a/Bancos/PagoElectronicoGrupos.aspx +++ b/Bancos/PagoElectronicoGrupos.aspx @@ -11,6 +11,9 @@ Pago Electrónico + + + @@ -255,6 +258,17 @@ + + + + + + + + + <%----%> @@ -480,6 +494,15 @@
  • Cuenta
  • + +
  • Tipo: + + + + + + +
  • Estatus @@ -556,7 +579,7 @@ @@ -682,7 +705,7 @@