From 69c1836963a759bec3d66615285495126f20a15f Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 14 Nov 2020 11:45:04 -0700 Subject: [PATCH 01/32] cambios al conciliar, especificar el usuario --- App_Code/ClsBancos.vb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index eacb04c20..bab8da61a 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -4089,12 +4089,13 @@ Public Class ClsBancos #Region "CONCILIACIÓN BANCARIA" - Public Function UpdateConciliacionBancaria(CveIE As Integer, FechaAplicado As Date) As Boolean + Public Function UpdateConciliacionBancaria(CveIE As Integer, FechaAplicado As Date, CveUsuario As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_ConciliacionBancariaUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveIE", SqlDbType.Int).Value = CveIE .Add("@FechaAplicado", SqlDbType.Date).Value = FechaAplicado + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario End With Try SqlAdapter.Fill(Data) @@ -4188,12 +4189,13 @@ Public Class ClsBancos Return Retorno End Function - Public Function DesconciliarIE(CveIE As Integer, FechaDesconciliado As Date) As Boolean + Public Function DesconciliarIE(CveIE As Integer, FechaDesconciliado As Date, CveUsuario As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_IEDesconciliar") With SqlAdapter.SelectCommand.Parameters .Add("@CveIE", SqlDbType.Int).Value = CveIE .Add("@FechaDesconciliado", SqlDbType.Date).Value = FechaDesconciliado + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario End With Try SqlAdapter.Fill(Data) From ad15ef670df053bf1efea06997949411f792054e Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 14 Nov 2020 11:46:54 -0700 Subject: [PATCH 02/32] mostarr que codigo esta duplicado --- App_Code/ClsProductosServicios.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index f809ab9d8..f58fdce07 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -494,7 +494,7 @@ Public Class ClsProductosServicios If Ex1.Message.Contains("Número: 2627;") Then Alert("El Nuevo Producto o Servicio no se guardo debido a que actualmente se encuentra registrado", TipoMensaje.MsgAdvertencia) ElseIf Ex1.Message.Contains("Número: 2601;") Then - Alert("El Nuevo Producto o Servicio tiene Codigo duplicado.", TipoMensaje.MsgAdvertencia) + Alert("El Nuevo Producto o Servicio tiene Codigo duplicado:" & Codigo, TipoMensaje.MsgAdvertencia) Else Me.OnError("Ocurrió un error al guardar el nuevo Producto o Servicio.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End If From 34d04ebeaf71cba9cef680f49268f37bcd71f0e2 Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 14 Nov 2020 11:47:07 -0700 Subject: [PATCH 03/32] usuario concilia/desconcilia --- Bancos/ConciliacionesBancarias.aspx.vb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Bancos/ConciliacionesBancarias.aspx.vb b/Bancos/ConciliacionesBancarias.aspx.vb index 62f9142a4..2ff487e3a 100644 --- a/Bancos/ConciliacionesBancarias.aspx.vb +++ b/Bancos/ConciliacionesBancarias.aspx.vb @@ -178,7 +178,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx If Not CBool(Dr("FueConciliado").ToString) And Dr("CveIE").ToString.ToEntero > 0 Then For Each DrE As DataRow In DtDatosEdoCuenta.Rows If ((Dr("FechaDocumento").ToString.ToDate = DrE("FechaDocumento").ToString.ToDate And Dr("Importe").ToString.ToDouble = DrE("Importe").ToString.ToDouble And Dr("Tipo").ToString = DrE("Tipo").ToString And DdlCriterio.SelectedValue.ToEntero = 1) Or (Dr("Importe").ToString.ToDouble = DrE("Importe").ToString.ToDouble And Dr("Tipo").ToString = DrE("Tipo").ToString And DdlCriterio.SelectedValue.ToEntero = 2)) And Not CBool(DrE("Seleccionado").ToString) And Not CBool(DrE("FueConciliado").ToString) And Not CBool(Dr("Seleccionado").ToString) Then - If Not ObjBancos.UpdateConciliacionBancaria(Dr("CveIE").ToString.ToEntero, If(Dr("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Dr("FechaDocumento").ToString.ToDate)) Or Not ObjBancos.UpdateIEEstadoCuenta(DrE("CveIEEstadoCuenta").ToString.ToEntero, DrE("Importe").ToString.ToDouble, True, Dr("CveIE").ToString.ToEntero, + If Not ObjBancos.UpdateConciliacionBancaria(Dr("CveIE").ToString.ToEntero, If(Dr("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Dr("FechaDocumento").ToString.ToDate), UsuarioActual.CveUsuario) Or Not ObjBancos.UpdateIEEstadoCuenta(DrE("CveIEEstadoCuenta").ToString.ToEntero, DrE("Importe").ToString.ToDouble, True, Dr("CveIE").ToString.ToEntero, DrE("Referencia").ToString, DrE("Tipo").ToString, DrE("FechaDocumento").ToString.ToDate, DrE("CveCuenta").ToString.ToEntero) Then ErrorTrans = True Else @@ -283,7 +283,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx Dim CveIE As Integer = 0 For Each Gvr As GridViewRow In GvDatos.Rows If Gvr.FCCheckBox("ChkConciliado").Checked And Gvr.FCCheckBox("ChkConciliado").Enabled Then - If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate)) Then + If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate), UsuarioActual.CveUsuario) Then ErrorTrans = True Else If Not ObjOI.AddEventoBitacora("El pago ha sido conciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=Gvr.DataKey("CveIE").ToEntero) Then @@ -350,7 +350,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx For Each Gvr As GridViewRow In GvDatos.Rows If Gvr.FCCheckBox("ChkConciliado").Checked And Gvr.FCCheckBox("ChkConciliado").Enabled Then Selecciono = True - If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate)) Then + If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate), UsuarioActual.CveUsuario) Then ErrorTrans = True Else If Not ObjOI.AddEventoBitacora("El pago ha sido conciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=Gvr.DataKey("CveIE").ToEntero) Then @@ -402,7 +402,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx Dim ErrorTrans As Boolean = False If ModalidadDesconciliar = "D" Then - If ObjBancos.DesconciliarIE(CveIEDesconciliar, TxtFechaDesconciliado.Text.ToDate()) Then + If ObjBancos.DesconciliarIE(CveIEDesconciliar, TxtFechaDesconciliado.Text.ToDate(), UsuarioActual.CveUsuario) Then If Not ObjOI.AddEventoBitacora("El pago ha sido desconciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIEDesconciliar) Then ErrorTrans = True End If @@ -412,7 +412,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx ElseIf ModalidadDesconciliar = "DT" Then For Each Gvr As GridViewRow In GvDatos.Rows If Gvr.FCCheckBox("ChkConciliado").Checked And Not Gvr.FCCheckBox("ChkConciliado").Enabled Then - If Not ObjBancos.DesconciliarIE(Gvr.DataKey("CveIE").ToEntero, TxtFechaDesconciliado.Text.ToDate()) Then + If Not ObjBancos.DesconciliarIE(Gvr.DataKey("CveIE").ToEntero, TxtFechaDesconciliado.Text.ToDate(), UsuarioActual.CveUsuario) Then ErrorTrans = True Else If Not ObjOI.AddEventoBitacora("El pago ha sido desconciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=Gvr.DataKey("CveIE").ToEntero) Then From 26691f7e7078856525f633c1d47c01ce9bf6a21f Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 14 Nov 2020 11:47:40 -0700 Subject: [PATCH 04/32] funcionalidad de replicacion de productos --- Ventas/ProductosServicios.aspx.vb | 57 ++++++++++++++----------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index ff50f1b94..4311727ff 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -2866,44 +2866,37 @@ Partial Class ProductosyServicios End Function Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean) As Boolean - Dim EmpresasFranquicia = ObtenerFranquiciasInt() - For Each Franquicia As Integer In EmpresasFranquicia - Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero - Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", DdlPSAdicional.SelectedItem.Text)).ToEntero + If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then - If CvePSPagina <= 0 Then - Alert(String.Format("El producto de la página no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia) - End If + Dim StrEmpresas As String = UsuarioActual.Empresa.Funcionalidad(563) + Dim EmpresasFranquicia As List(Of Integer) = StrEmpresas.Split(","c).ToList().ConvertAll(Function(x) Convert.ToInt32(x)) + For Each Franquicia As Integer In EmpresasFranquicia + Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero + Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", DdlPSAdicional.SelectedItem.Text)).ToEntero - If CvePSPagina <= 0 Then - Alert(String.Format("El producto adicional no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia) - End If - - If Agregar Then - If Not ObjPS.AddPSAdicionales(CvePSPagina, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then - Return True + If CvePSPagina <= 0 Then + Alert(String.Format("El producto de la página no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia) End If - Else - Dim PSAnterior As String = GlobalDTPS(Franquicia).FiltroPrimeroValor("PS", String.Format("CvePS = '{0}'", CvePSAdicional)) - Dim CvePSAnterio As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", PSAnterior)).ToEntero - If Not ObjPS.UpdatePSAdicionales(CvePSPagina, CvePSAdicional, CvePSAnterio, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then - Return True + If CvePSPagina <= 0 Then + Alert(String.Format("El producto adicional no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia) End If - End If - Next + + If Agregar Then + If Not ObjPS.AddPSAdicionales(CvePSPagina, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then + Return True + End If + Else + Dim PSAnterior As String = GlobalDTPS(Franquicia).FiltroPrimeroValor("PS", String.Format("CvePS = '{0}'", CvePSAdicional)) + Dim CvePSAnterio As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", PSAnterior)).ToEntero + + If Not ObjPS.UpdatePSAdicionales(CvePSPagina, CvePSAdicional, CvePSAnterio, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then + Return True + End If + End If + Next + End If Return False End Function - Private Function ObtenerFranquiciasInt() As Integer() - Dim FranquiciasStr As String = UsuarioActual.Empresa.Funcionalidad(137) - Dim Franquicias = FranquiciasStr.Split(","c) - Dim ReturnFranquicias(Franquicias.Length) As Integer - Dim Contador As Integer = 0 - For Each Franquicia In Franquicias - ReturnFranquicias(Contador) = Franquicia.ToEntero - Contador += 1 - Next - Return ReturnFranquicias - End Function End Class From 5b038accb5d4087b816c9c736dd932d0fa377343 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 14 Nov 2020 21:43:04 -0700 Subject: [PATCH 05/32] =?UTF-8?q?nuevo=20reporte=20de=20etiquetas=20para?= =?UTF-8?q?=20la=20recepci=C3=B3n=20de=20almac=C3=A9n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/PopUpVerFactura.aspx.vb | 94 +++++++++++++++++++++++++++- Inventarios/RecepcionAlmacen.aspx.vb | 2 + 2 files changed, 94 insertions(+), 2 deletions(-) diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 6bc7a4144..599678e03 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -6,6 +6,8 @@ Imports System.Data Imports Microsoft.Reporting.WebForms Imports System.Xml Imports System.IO +Imports iTextSharp.text +Imports iTextSharp.text.pdf Imports Stimulsoft.Report Imports Stimulsoft.Report.Components @@ -283,6 +285,12 @@ Partial Class PopUpVerFactura End If End If + If UrlParametros("OP").ToString = "Etiqueta" Then + If UrlParametros("CVEMOVIMIENTO") IsNot Nothing AndAlso UrlParametros("CVEMOVIMIENTO").ToString.ToEntero > 0 Then + ImprimirEtiqueta(UrlParametros("CVEMOVIMIENTO").ToString.ToEntero, UrlParametros("MODALIDAD").ToString) + End If + End If + 'IMPRIME OC If UrlParametros("OP").ToString = "OC" Then If UrlParametros("CVEOC") IsNot Nothing AndAlso UrlParametros("CVEOC").ToString.ToEntero > 0 Then @@ -4320,7 +4328,89 @@ Partial Class PopUpVerFactura ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/EntregasPorRealizar.rdlc", DtPaqueteriasGuias, RepParams, "Entregas por realizar", "PDF", RDSName:="DsInventarios") End If - End Sub + End Sub #End Region - + +#Region "OP = Etiqueta - Etiquetas de recepcion" + Private Sub ImprimirEtiqueta(CveMovimiento As Integer, Modalidad As String) + + Dim ObjInventarios As New ClsInventarios + + Dim All As Byte() + Using ms As New MemoryStream + Using d As New Document + Using Copy As New PdfCopy(d, ms) + d.Open() + If ObjInventarios.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then + If ObjInventarios.DtResultados IsNot Nothing Then + If Modalidad = "Individual" Then + For Each DetalleRow As DataRow In ObjInventarios.DtResultados.Rows + Dim CvePS As Integer = DetalleRow.Item("CvePS").ToString.ToEntero + Dim Lote As String = DetalleRow.Item("Lote").ToString + Dim FechaCaducidad As String = DetalleRow.Item("FechaCaducidad").ToString + Dim PS As String = String.Format("{0} - {1}", DetalleRow.Item("Codigo").ToString, DetalleRow.Item("PS").ToString) + + Dim reporteByte As Byte() = GenerarEtiqueta(CvePS, Lote, FechaCaducidad, PS) + + Dim reader As New PdfReader(reporteByte) + Dim Paginas As Integer = reader.NumberOfPages + Dim Contador As Integer = 0 + While Contador < Paginas + Contador += 1 + Copy.AddPage(Copy.GetImportedPage(reader, Contador)) + End While + Next + Else + For Each DetalleRow As DataRow In ObjInventarios.DtResultados.Rows + Dim CvePS As Integer = DetalleRow.Item("CvePS").ToString.ToEntero + Dim Lote As String = DetalleRow.Item("Lote").ToString + Dim FechaCaducidad As String = DetalleRow.Item("FechaCaducidad").ToString + Dim PS As String = String.Format("{0} - {1}", DetalleRow.Item("Codigo").ToString, DetalleRow.Item("PS").ToString) + Dim Cant As Integer = DetalleRow.Item("Cantidad").ToString.ToEntero - 1 + + For contador As Integer = 0 To Cant + Dim reporteByte As Byte() = GenerarEtiqueta(CvePS, Lote, FechaCaducidad, PS) + + Dim reader As New PdfReader(reporteByte) + Dim Paginas As Integer = reader.NumberOfPages + Dim Cont As Integer = 0 + While Cont < Paginas + Cont += 1 + Copy.AddPage(Copy.GetImportedPage(reader, Cont)) + End While + Next + Next + End If + End If + End If + d.Close() + + End Using + End Using + All = ms.ToArray() + End Using + ImprimirbytesPDF(All, "Etiquetas") + + + If Modalidad = "Individual" Then + Else + + End If + ObjInventarios.Dispose() + End Sub + + Private Function GenerarEtiqueta(CvePS As Integer, Lote As String, FechaCaducidad As String, PS As String) As Byte() + Dim QrDescarga As String = "" + Dim Cfdi As New RVCFDI33.GeneraCFDI() + Dim b As Byte() = Cfdi.ConvertirQrCode(String.Format("?CvePS={0}&Lote={1}&Fecha={2}", CvePS, Lote, FechaCaducidad)) + QrDescarga = Convert.ToBase64String(b) + Dim params As New List(Of ReportParameter) + params.Add(New ReportParameter("QR", QrDescarga)) + params.Add(New ReportParameter("PS", PS)) + params.Add(New ReportParameter("Lote", Lote)) + params.Add(New ReportParameter("FechaCad", FechaCaducidad)) + Return StreamPDF("Empresas/Grales/Formatos/EtiquetaDeRecepcion.rdlc", New DataTable, params) + End Function +#End Region + End Class diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 774880b5a..18eac4946 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -3353,6 +3353,8 @@ Partial Class Inventarios_RecepcionAlmacen If CveMovimiento > 0 AndAlso CveMovimientoSalidaTraspaso <= 0 Then Msg.AppendFormat("Movimiento Registrado: Folio: {0}", link) Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento))) + Msg.AppendFormat("
Imprimir Etiqueta Individual ", Encripta(String.Format("OP=Etiqueta&CveMovimiento={0}&Modalidad={1}", CveMovimiento, "Individual"))) + Msg.AppendFormat("
Imprimir Etiqueta Por Caja ", Encripta(String.Format("OP=Etiqueta&CveMovimiento={0}&Modalidad={1}", CveMovimiento, "Caja"))) 'SI GENERO UN TRASPASO AL ALMACEN DE DEVOLUCION ElseIf CveMovimiento > 0 AndAlso CveMovimientoSalidaTraspaso > 0 Then Msg.AppendFormat("Movimiento de Salida: Folio: {0}", String.Format("{1}", CveMovimientoSalidaTraspaso, FolioSalidaTraspaso)) From 02134ff7c76832a9dd20f9e460b774dd5945f0b8 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 17 Nov 2020 10:06:16 -0700 Subject: [PATCH 06/32] =?UTF-8?q?en=20la=20recepci=C3=B3n=20de=20almac?= =?UTF-8?q?=C3=A9n=20se=20pueden=20generar=20etiquetas=20de=20la=20mercanc?= =?UTF-8?q?=C3=ADa=20que=20llega?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/PopUpVerFactura.aspx.vb | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 599678e03..9f1b22c04 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -4343,13 +4343,12 @@ Partial Class PopUpVerFactura d.Open() If ObjInventarios.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then If ObjInventarios.DtResultados IsNot Nothing Then - If Modalidad = "Individual" Then - For Each DetalleRow As DataRow In ObjInventarios.DtResultados.Rows - Dim CvePS As Integer = DetalleRow.Item("CvePS").ToString.ToEntero - Dim Lote As String = DetalleRow.Item("Lote").ToString - Dim FechaCaducidad As String = DetalleRow.Item("FechaCaducidad").ToString - Dim PS As String = String.Format("{0} - {1}", DetalleRow.Item("Codigo").ToString, DetalleRow.Item("PS").ToString) - + For Each DetalleRow As DataRow In ObjInventarios.DtResultados.Rows + Dim CvePS As Integer = DetalleRow.Item("CvePS").ToString.ToEntero + Dim Lote As String = DetalleRow.Item("Lote").ToString + Dim FechaCaducidad As String = DetalleRow.Item("FechaCaducidad").ToString + Dim PS As String = String.Format("{0} - {1}", DetalleRow.Item("Codigo").ToString, DetalleRow.Item("PS").ToString) + If Modalidad = "Individual" Then Dim reporteByte As Byte() = GenerarEtiqueta(CvePS, Lote, FechaCaducidad, PS) Dim reader As New PdfReader(reporteByte) @@ -4359,13 +4358,7 @@ Partial Class PopUpVerFactura Contador += 1 Copy.AddPage(Copy.GetImportedPage(reader, Contador)) End While - Next - Else - For Each DetalleRow As DataRow In ObjInventarios.DtResultados.Rows - Dim CvePS As Integer = DetalleRow.Item("CvePS").ToString.ToEntero - Dim Lote As String = DetalleRow.Item("Lote").ToString - Dim FechaCaducidad As String = DetalleRow.Item("FechaCaducidad").ToString - Dim PS As String = String.Format("{0} - {1}", DetalleRow.Item("Codigo").ToString, DetalleRow.Item("PS").ToString) + Else Dim Cant As Integer = DetalleRow.Item("Cantidad").ToString.ToEntero - 1 For contador As Integer = 0 To Cant @@ -4379,8 +4372,8 @@ Partial Class PopUpVerFactura Copy.AddPage(Copy.GetImportedPage(reader, Cont)) End While Next - Next - End If + End If + Next End If End If d.Close() From ac689171c296e52cded1a858a4bddf163b4166ef Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 17 Nov 2020 10:14:43 -0700 Subject: [PATCH 07/32] formato de fecha mejorado --- Compras/PopUpVerFactura.aspx.vb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 9f1b22c04..a9908b91c 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -4346,7 +4346,7 @@ Partial Class PopUpVerFactura For Each DetalleRow As DataRow In ObjInventarios.DtResultados.Rows Dim CvePS As Integer = DetalleRow.Item("CvePS").ToString.ToEntero Dim Lote As String = DetalleRow.Item("Lote").ToString - Dim FechaCaducidad As String = DetalleRow.Item("FechaCaducidad").ToString + Dim FechaCaducidad As Date = DetalleRow.Item("FechaCaducidad").ToString.ToDate Dim PS As String = String.Format("{0} - {1}", DetalleRow.Item("Codigo").ToString, DetalleRow.Item("PS").ToString) If Modalidad = "Individual" Then Dim reporteByte As Byte() = GenerarEtiqueta(CvePS, Lote, FechaCaducidad, PS) @@ -4392,16 +4392,16 @@ Partial Class PopUpVerFactura ObjInventarios.Dispose() End Sub - Private Function GenerarEtiqueta(CvePS As Integer, Lote As String, FechaCaducidad As String, PS As String) As Byte() + Private Function GenerarEtiqueta(CvePS As Integer, Lote As String, FechaCaducidad As Date, PS As String) As Byte() Dim QrDescarga As String = "" Dim Cfdi As New RVCFDI33.GeneraCFDI() - Dim b As Byte() = Cfdi.ConvertirQrCode(String.Format("?CvePS={0}&Lote={1}&Fecha={2}", CvePS, Lote, FechaCaducidad)) + Dim b As Byte() = Cfdi.ConvertirQrCode(String.Format("?CvePS={0}&Lote={1}&Fecha={2}", CvePS, Lote, Format(FechaCaducidad, "dd/MM/yyyy").ToString())) QrDescarga = Convert.ToBase64String(b) Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("QR", QrDescarga)) params.Add(New ReportParameter("PS", PS)) params.Add(New ReportParameter("Lote", Lote)) - params.Add(New ReportParameter("FechaCad", FechaCaducidad)) + params.Add(New ReportParameter("FechaCad", FechaCaducidad.ToString())) Return StreamPDF("Empresas/Grales/Formatos/EtiquetaDeRecepcion.rdlc", New DataTable, params) End Function #End Region From 6f47137a771dc73dd77d4ba94b0cd44ebaba0ab0 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 17 Nov 2020 11:57:14 -0700 Subject: [PATCH 08/32] -parametro de seccion --- Inventarios/EntregaAlmacen.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 499598d68..5eef2c037 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -2439,7 +2439,7 @@ Partial Class Inventarios_EntregaAlmacen PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString().ToEntero()}").ToString().ToDecimal End If - If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadPendiente, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, 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 + If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadPendiente, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), PU, 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:=-3) Then ErrorMovInv = True TextoError.AppendFormat("Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar.") Exit For From d521c65d598ee6b073ba987c3ab87b21625a9e72 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 17 Nov 2020 16:13:01 -0700 Subject: [PATCH 09/32] las columnas ahora se muestran con checkbox en el filtro --- Inventarios/AjustesSeccionAlmacen.aspx | 24 +++++++++++++++++------ Inventarios/AjustesSeccionAlmacen.aspx.vb | 17 ++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/Inventarios/AjustesSeccionAlmacen.aspx b/Inventarios/AjustesSeccionAlmacen.aspx index 3e8855dea..de7251360 100644 --- a/Inventarios/AjustesSeccionAlmacen.aspx +++ b/Inventarios/AjustesSeccionAlmacen.aspx @@ -58,7 +58,19 @@
-
+
+ +
+ +
+ +
+ +
+ +
+ +
@@ -84,23 +96,23 @@ - + - + - + - +
@@ -114,7 +126,7 @@ - + diff --git a/Inventarios/AjustesSeccionAlmacen.aspx.vb b/Inventarios/AjustesSeccionAlmacen.aspx.vb index 686949acd..d9806259f 100644 --- a/Inventarios/AjustesSeccionAlmacen.aspx.vb +++ b/Inventarios/AjustesSeccionAlmacen.aspx.vb @@ -533,4 +533,21 @@ Partial Class Inventarios_AjustesSeccionAlmacen ' row.FCTextBox("TxtCantidad").Text = ExistenciaBackup 'End If End Sub + + Protected Sub ChkMostrarColumnas(sender As Object, e As EventArgs) + 'Mostrar Lote + GvD.Columns(7).Visible = ChkMostrarLote.Checked + GvD.Columns(8).Visible = ChkMostrarLote.Checked + + 'Mostrar Caducidad + GvD.Columns(9).Visible = ChkMostrarFecha.Checked + GvD.Columns(10).Visible = ChkMostrarFecha.Checked + + 'Mostrar Sección + GvD.Columns(11).Visible = ChkMostrarSeccion.Checked + GvD.Columns(12).Visible = ChkMostrarSeccion.Checked + + UppD.Update() + End Sub + End Class \ No newline at end of file From 3f872f6ce4fd75629b04d1dc9b2e13519ef51638 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 17 Nov 2020 17:52:27 -0700 Subject: [PATCH 10/32] el calendar extender no estaba funcionando en el txt fecha --- Inventarios/AjustesSeccionAlmacen.aspx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Inventarios/AjustesSeccionAlmacen.aspx b/Inventarios/AjustesSeccionAlmacen.aspx index de7251360..24c9ea186 100644 --- a/Inventarios/AjustesSeccionAlmacen.aspx +++ b/Inventarios/AjustesSeccionAlmacen.aspx @@ -115,7 +115,7 @@
- + From 05e1e3ac7223b6250e1ca03755d9ccdce93aff06 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Tue, 17 Nov 2020 18:25:57 -0700 Subject: [PATCH 11/32] Contratos correcion modal --- Contratos/Contrato.aspx.vb | 36 ++++++++++++++++++++---------------- OC/OC.aspx.vb | 2 +- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb index 7e94ff778..fb51b55b5 100644 --- a/Contratos/Contrato.aspx.vb +++ b/Contratos/Contrato.aspx.vb @@ -1125,10 +1125,14 @@ Partial Class Contratos_Default CargaPresupuesto() ' MuestraPermiteAvance() - cargarBitacora() - If LblImporte.Text.ToDecimal <= 0 Then - LblImporte.Text = ObjContratos.ImporteTotal.ToString.FormatoNumero - End If + cargarBitacora() + + 'If LblImporte.Text.ToDecimal <= 0 Then + 'LblImporte.Text = ObjContratos.ImporteTotal.ToString.FormatoNumero + + + LblImporte.Text = ObjContratos.DtResultados.Rows(0)("ImporteTotalIndicador").ToString().ToDecimal.ToString.FormatoNumero + 'End If 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) @@ -1194,7 +1198,7 @@ Partial Class Contratos_Default LbTotalGeneral.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero() LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero() LbTotalGeneralInt.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero() - LblImporte.Text = "$" & TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero() + 'LblImporte.Text = "$" & TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero() End If End Sub @@ -1936,7 +1940,7 @@ Partial Class Contratos_Default TxtPU.Text = "" DdlClasificacionAdd.SelectedValue = "-1" LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero - LblImporte.Text = LbTotalGeneral.Text + 'LblImporte.Text = LbTotalGeneral.Text TxtCantidad.Focus() UpGral.Update() Else @@ -1953,8 +1957,8 @@ Partial Class Contratos_Default 'If ContratosSecciones.GetContratosSecciones(-1, DdlEstatus.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, DdlContrato.SelectedValue.ToEntero, -1, -1, FechaI, FechaF) Then DtDatos = ContratosSecciones.DtResultados ' DtDatos.Rows.RemoveAt(0) - CargaGVPresupuestos(DtDatos) - LblImporte.Text = "$" & DtDatos.MAX("Total").FormatoNumero() + CargaGVPresupuestos(DtDatos) + ' LblImporte.Text = "$" & DtDatos.MAX("Total").FormatoNumero() Else Gv.DataSource = Nothing End If @@ -2092,7 +2096,7 @@ Partial Class Contratos_Default Gv.EditIndex = -1 LbTotalGeneral.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero - LblImporte.Text = LbTotalGeneral.Text + 'LblImporte.Text = LbTotalGeneral.Text CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2")) End Sub @@ -2178,8 +2182,8 @@ Partial Class Contratos_Default TxtCantidadInsumos.Text = "" TxtPUInsumos.Text = "" DdlClasificacionAddInsumos.SelectedValue = "-1" - LbTotalGeneralInsumos.Text = (LbTotalGeneralInsumos.Text.ToDouble + TotalRow).ToString.FormatoNumero - 'LblImporte.Text = LbTotalGeneral.Text + LbTotalGeneralInsumos.Text = (LbTotalGeneralInsumos.Text.ToDouble + TotalRow).ToString.FormatoNumero + TxtCantidadInsumos.Focus() UpGral.Update() Else @@ -2273,8 +2277,8 @@ Partial Class Contratos_Default End If GvInsumos.EditIndex = -1 - LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero - 'LblImporte.Text = LbTotalGeneral.Text + LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero + CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1")) End Sub @@ -3423,7 +3427,7 @@ Partial Class Contratos_Default Dim ClaveInterna As String = Row("Clave Interna Cliente").ToString.Trim.ToUpper Dim OCInterna As String = Row("OC Interna").ToString.Trim.ToUpper Dim ProductoServicio As String = Row("Producto/Servicio").ToString.Trim.ToUpper - Dim PrecioUnitario As Double = Row("Precio Unitario").ToString.ToDouble + Dim PrecioUnitario As Double = Row("Precio Unitario").ToString.Replace("$", "").ToString.Replace(" ", "").ToDouble Dim CvePS As Integer = 0 Dim CveUM As Integer = 0 ' GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"CvePS = '{CvePS}'").ToString.ToEntero Dim CodigoPS As Integer = 0 @@ -3492,8 +3496,8 @@ Partial Class Contratos_Default Dim TotalRow = dr("Total").ToString.ToDouble CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2")) - LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero - LblImporte.Text = LbTotalGeneral.Text + LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero + ' LblImporte.Text = LbTotalGeneral.Text Else Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError) End If diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index c123af23e..5bbe07768 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -8334,7 +8334,7 @@ Partial Class OC Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida") Dim UMAbreviatura As String = GvRow.DataKey("Abreviatura").ToString - Dim SubProyecto As Integer = GvRow.DataKey("SubProyecto") + Dim SubProyecto As String = GvRow.DataKey("SubProyecto") Dim CveSubProyecto As Integer = GvRow.DataKey("CveSubProyecto").ToEntero Dim Codigo As String = "" 'GvRow.DataKey("Codigo") From cc263e6ffb09d6874a7bbe99ada51ff6e6ca5efb Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Wed, 18 Nov 2020 09:53:40 -0700 Subject: [PATCH 12/32] Contatos obra Correciones 2020-11-18 --- Contratos/ContratoObra.aspx | 16 ++++++++++------ Contratos/ContratoObra.aspx.vb | 18 +++++++++--------- .../RepContratosObraAvancesDetalle.aspx.vb | 2 +- Contratos/RepContratosObraAvancesPartida.aspx | 8 ++++---- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/Contratos/ContratoObra.aspx b/Contratos/ContratoObra.aspx index 040501b96..8fce91f6e 100644 --- a/Contratos/ContratoObra.aspx +++ b/Contratos/ContratoObra.aspx @@ -174,7 +174,7 @@
  • - Agregar Presupuesto Control + Agregar Presupuesto Interno
  • @@ -980,7 +980,8 @@ - + +<%-- @@ -988,7 +989,8 @@ - + --%> + <%-- @@ -1124,7 +1126,7 @@ - + <%-- @@ -1218,7 +1220,8 @@ - + + <%-- @@ -1226,7 +1229,8 @@ - + --%> + <%-- diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index da9636f7a..b183c3088 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -454,12 +454,12 @@ Partial Class Contratos_ContratoObra If CveContrato > 0 Then If UsuarioActual.TienePermisoProceso(164) Then BtnEliminar.Visible = True - Gv.Columns(9).Visible = True - GvInsumos.Columns(8).Visible = True + Gv.Columns(8).Visible = True + GvInsumos.Columns(7).Visible = True Else BtnEliminar.Visible = False - Gv.Columns(9).Visible = False - GvInsumos.Columns(8).Visible = False + Gv.Columns(8).Visible = False + GvInsumos.Columns(7).Visible = False End If 'If CveTipoContrato.Contiene(11, 25) Then 'ciclo comercial @@ -469,8 +469,8 @@ Partial Class Contratos_ContratoObra Else TabPres.Visible = False - Gv.Columns(9).Visible = True - GvInsumos.Columns(8).Visible = True + Gv.Columns(8).Visible = True + GvInsumos.Columns(7).Visible = True End If @@ -1042,7 +1042,7 @@ Partial Class Contratos_ContratoObra 'TDObservacion.Visible = True 'tdObservaciones.Visible = True TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString - Gv.Columns(4).Visible = True + Gv.Columns(3).Visible = True 'DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString) End If @@ -1843,9 +1843,9 @@ Partial Class Contratos_ContratoObra Gv.DataBind() If CveTipoContrato = 25 Then ' Gv.Columns(0).Visible = False - Gv.Columns(2).Visible = False + Gv.Columns(1).Visible = False ' Gv.Columns(3).Visible = False - Gv.Columns(7).Visible = False + Gv.Columns(6).Visible = False End If 'If (Gv.Rows.Count > 0) Then ' Gv.UseAccessibleHeader = True diff --git a/Contratos/RepContratosObraAvancesDetalle.aspx.vb b/Contratos/RepContratosObraAvancesDetalle.aspx.vb index 33736e982..0c5d28a6a 100644 --- a/Contratos/RepContratosObraAvancesDetalle.aspx.vb +++ b/Contratos/RepContratosObraAvancesDetalle.aspx.vb @@ -151,7 +151,7 @@ Partial Class RepContratosObraAvancesDetalle Dim PlantillaAnexo As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Anexo.xlsx" If Not System.IO.File.Exists(PlantillaAnexo) Then - Alert("No se encuentra la platilla de anexos.", TipoMensaje.MsgAdvertencia) + Alert("No se encuentra la plantilla de anexos.", TipoMensaje.MsgAdvertencia) Exit Sub End If diff --git a/Contratos/RepContratosObraAvancesPartida.aspx b/Contratos/RepContratosObraAvancesPartida.aspx index ec7f8299d..b577c1fb4 100644 --- a/Contratos/RepContratosObraAvancesPartida.aspx +++ b/Contratos/RepContratosObraAvancesPartida.aspx @@ -24,11 +24,11 @@
    -
    +
    -
    +
    " style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4;" /> " class="btn btn-circle btn-sm label-info"> @@ -40,9 +40,9 @@
    -
    +
    - From 2ef840e9c16c09662585dcba0ebf419ea893c11a Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Wed, 18 Nov 2020 15:21:59 -0700 Subject: [PATCH 13/32] =?UTF-8?q?sugerencia=20de=20fecha=20de=20caducidad?= =?UTF-8?q?=20m=C3=A1s=20proxima?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inventarios/EntregaAlmacen.aspx | 10 +-- Inventarios/EntregaAlmacen.aspx.vb | 132 +++++++++++++---------------- 2 files changed, 66 insertions(+), 76 deletions(-) diff --git a/Inventarios/EntregaAlmacen.aspx b/Inventarios/EntregaAlmacen.aspx index 2bbd9cffe..021f659dd 100644 --- a/Inventarios/EntregaAlmacen.aspx +++ b/Inventarios/EntregaAlmacen.aspx @@ -516,18 +516,18 @@ - +
    - - - + + + - + diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 5eef2c037..2f141f651 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -851,7 +851,7 @@ Partial Class Inventarios_EntregaAlmacen If AplicaCaducidad Then GvDatos.Columns(9).Visible = True GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad") - SugerirFechaLote() + SugerirFecha() End If GvDatos.DataSource = DtDatos @@ -3821,83 +3821,73 @@ Partial Class Inventarios_EntregaAlmacen #End Region #Region "sugerir caducidad" - Private Sub SugerirFechaLote() + + Private Sub SugerirFecha() + Dim ObjInventarios As New ClsInventarios() Dim FechasExcluidas As New List(Of String) - FechasExcluidas.Add(MinFecha.ToDate.ToString) - Dim MaxRows As Integer = DtDatos.Rows.Count - 1 - For contador As Integer = 0 To MaxRows - Dim DtRow As DataRow = DtDatos.Rows(contador) - Dim AplicaCaducidad As Boolean = DtRow.Item("AplicaCaducidad").ToString = "True" - Dim AplicaLote As Boolean = DtRow.Item("AplicaLote").ToString = "True" - Dim Cantidad As Integer = DtRow.Item("CantidadC").ToString.ToEntero - Dim FechasExcluidasFiltro As String = String.Format("FechaCaducidad NOT IN('{0}')", String.Join("','", FechasExcluidas)) - If AplicaCaducidad Or AplicaLote Then - Dim CvePS As Integer = DtRow.Item("CvePS").ToString.ToEntero - If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjInventarios.DtResultados.Rows.Count > 0 Then - Dim MinimumRow As DataRow = ObjInventarios.DtResultados.FiltroPrimero(FechasExcluidasFiltro, "FechaCaducidad") - DtRow.Item("FechaCaducidad") = MinimumRow.Item("FechaCaducidad").ToString - DtRow.Item("Lote") = MinimumRow.Item("Lote").ToString - Dim CantidadDisponible As Integer = MinimumRow.Item("Cantidad").ToString.ToEntero - DtRow.Item("CantidadF") = CantidadDisponible - DtRow.Item("CantidadS") = CantidadDisponible + Dim TempDT As New DataTable + TempDT = DtDatos.Clone + Dim DtAux As New DataTable + DtAux = DtDatos.Clone - If Cantidad > CantidadDisponible Then - Dim RowFaltante As DataRow = DtDatos.NewRow() - Dim CantidadFaltante As Integer = (Cantidad - CantidadDisponible) - RowFaltante.Item("CantidadC") = CantidadFaltante - RowFaltante.Item("CantidadF") = CantidadFaltante - RowFaltante.Item("CantidadS") = CantidadFaltante - DtRow.Item("CantidadC") = CantidadDisponible - For Each Column As DataColumn In DtDatos.Columns - If Not Column.ColumnName.Contiene("CantidadC", "CantidadF", "CantidadS") Then - RowFaltante.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) - End If - Next - FechasExcluidas.Add(MinimumRow.Item("FechaCaducidad").ToString) - DtDatos.Rows.Add(RowFaltante) - MaxRows += 1 - Else - DtRow.Item("CantidadF") = Cantidad - End If + For Each DtRow As DataRow In DtDatos.Rows + Dim Row As DataRow = DtAux.NewRow() + For Each Column As DataColumn In DtDatos.Columns + Row.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) + Next + DtAux.Rows.Add(Row) + SugerirFechaLote(0, MinFecha, FechasExcluidas, ObjInventarios, DtAux) + TempDT.Merge(DtAux) + DtAux.Clear() + Next + + ObjInventarios.Dispose() + + DtDatos = TempDT + End Sub + + Private Sub SugerirFechaLote(contador As Integer, FechaExcluida As Date, FechasExcluidas As List(Of String), ObjInventarios As ClsInventarios, DataTableAux As DataTable) + FechasExcluidas.Add(FechaExcluida.ToDate.ToString) + + Dim DtRow As DataRow = DataTableAux.Rows(contador) + Dim AplicaCaducidad As Boolean = DtRow.Item("AplicaCaducidad").ToString = "True" + Dim AplicaLote As Boolean = DtRow.Item("AplicaLote").ToString = "True" + Dim Cantidad As Integer = DtRow.Item("CantidadC").ToString.ToEntero + Dim FechasExcluidasFiltro As String = String.Format("FechaCaducidad NOT IN('{0}')", String.Join("','", FechasExcluidas)) + If AplicaCaducidad Or AplicaLote Then + Dim CvePS As Integer = DtRow.Item("CvePS").ToString.ToEntero + If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + If ObjInventarios.DtResultados.Rows.Count > 0 Then + Dim MinimumRow As DataRow = ObjInventarios.DtResultados.FiltroPrimero(FechasExcluidasFiltro, "FechaCaducidad") + DtRow.Item("FechaCaducidad") = MinimumRow.Item("FechaCaducidad").ToString + DtRow.Item("Lote") = MinimumRow.Item("Lote").ToString + Dim CantidadDisponible As Integer = MinimumRow.Item("Cantidad").ToString.ToEntero + DtRow.Item("CantidadF") = CantidadDisponible + DtRow.Item("CantidadS") = CantidadDisponible + + If Cantidad > CantidadDisponible Then + Dim RowFaltante As DataRow = DataTableAux.NewRow() + Dim CantidadFaltante As Integer = (Cantidad - CantidadDisponible) + RowFaltante.Item("CantidadC") = CantidadFaltante + RowFaltante.Item("CantidadF") = CantidadFaltante + RowFaltante.Item("CantidadS") = CantidadFaltante + DtRow.Item("CantidadC") = CantidadDisponible + For Each Column As DataColumn In DataTableAux.Columns + If Not Column.ColumnName.Contiene("CantidadC", "CantidadF", "CantidadS") Then + RowFaltante.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) + End If + Next + DataTableAux.Rows.Add(RowFaltante) + SugerirFechaLote(contador + 1, MinimumRow.Item("FechaCaducidad").ToString.ToDate, FechasExcluidas, ObjInventarios, DataTableAux) + Else + DtRow.Item("CantidadF") = Cantidad + Exit Sub End If End If End If - Next - - 'For Each DtRow As DataRow In DtDatos.Rows - ' Dim AplicaCaducidad As Boolean = DtRow.Item("AplicaCaducidad").ToString = "True" - ' Dim AplicaLote As Boolean = DtRow.Item("AplicaLote").ToString = "True" - ' Dim Cantidad As Integer = DtRow.Item("CantidadC").ToString.ToEntero - ' Dim FechasExcluidasFiltro As String = String.Format("FechaCaducidad NOT IN('{0}')", String.Join("','", FechasExcluidas)) - ' If AplicaCaducidad Or AplicaLote Then - ' Dim CvePS As Integer = DtRow.Item("CvePS").ToString.ToEntero - ' If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' Dim MinimumRow As DataRow = ObjInventarios.DtResultados.FiltroPrimero(FechasExcluidasFiltro, "FechaCaducidad") - ' DtRow.Item("FechaCaducidad") = MinimumRow.Item("FechaCaducidad").ToString - ' DtRow.Item("Lote") = MinimumRow.Item("Lote").ToString - ' Dim CantidadDisponible As Integer = MinimumRow.Item("Cantidad").ToString.ToEntero - ' DtRow.Item("CantidadF") = CantidadDisponible - - ' If Cantidad > CantidadDisponible Then - ' Dim RowFaltante As DataRow = DtDatos.NewRow() - ' RowFaltante.Item("CantidadC") = (Cantidad - CantidadDisponible) - ' RowFaltante.Item("CantidadF") = (Cantidad - CantidadDisponible) - ' RowFaltante.Item("CantidadS") = (Cantidad - CantidadDisponible) - ' For Each Column As DataColumn In DtDatos.Columns - ' If Not Column.ColumnName.Contiene("CantidadC", "CantidadF", "CantidadS") Then - ' RowFaltante.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) - ' End If - ' Next - - ' DtDatos.Rows.Add(RowFaltante) - ' End If - ' End If - ' End If - 'Next - ObjInventarios.Dispose() + End If End Sub #End Region From 0809344d0a017328608dd7bb9c89327a7a736b68 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Wed, 18 Nov 2020 19:33:05 -0700 Subject: [PATCH 14/32] Contratos, regsitro Ventas estado de cuenta --- App_Code/ClsContratos.vb | 94 ++++++++++++++++++++++++++++---- Bancos/PolizaCheque.aspx.vb | 6 +-- Contratos/ContratoObra.aspx | 83 ++++++++++++++++++++++++++++ Contratos/ContratoObra.aspx.vb | 39 +++++++++++++- Ventas/Ventas.aspx | 17 +++++- Ventas/Ventas.aspx.vb | 98 ++++++++++++++++++++++++++++++---- 6 files changed, 310 insertions(+), 27 deletions(-) diff --git a/App_Code/ClsContratos.vb b/App_Code/ClsContratos.vb index a46495d7e..b2c5eeae1 100644 --- a/App_Code/ClsContratos.vb +++ b/App_Code/ClsContratos.vb @@ -690,6 +690,26 @@ Public Class ClsContratos Return Retorno End Function + Public Function GetContratosObraEstadoCuenta(CveContrato As Integer, CveEmpresa As Integer, Opcion As Integer) As Boolean + Dim Retorno = False + + DataAdapter("PA_Con_ContratosEstadoCuentaGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .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 consultar el Estado de cuenta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + #End Region #Region "ESTIMACION OBRA" @@ -1802,9 +1822,49 @@ Public Class ClsContratos OnError("Ocurrió un error al obtener el Reporte de Contratos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try + Return Retorno + End Function + + + Public Function GetContratosAvanceEstimacionVentas(CveContrato As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Con_ContratosAvanceEstimacionVentasGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las estimaciones de Contratos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + + Public Function UpdateContratosAvanceEstimacionVentas(CveEstimacion As Integer, CveVenta As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Con_ContratosAvanceEstimacionVentasUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEstimacion", SqlDbType.Int).Value = CveEstimacion + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar las estimaciones de Contratos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function + Public Function GetRepContratos(pCveProveedor As Integer, pCveContrato As Integer, CveSeccion As Integer, pCvePS As Integer, pEstimacion As Integer, pCveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Con_RepContratosGet") @@ -2186,14 +2246,6 @@ Public Class ClsContratos End Function - - - - - - - - Public Function GetReporteContratosAvancesDetalleCP(CveContrato As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -2216,6 +2268,26 @@ Public Class ClsContratos End Function + Public Function GetReporteContratosObraAvancesDetalle(CveContrato As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Con_ReporteContratosObraAvancesDetalleGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Reporte de Avances Detalle CP.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function Public Function GetReporteContratosAvancesDetalleControl(CveContrato As Integer, CveEmpresa As Integer) As Boolean @@ -2262,6 +2334,7 @@ Public Class ClsContratos Return Retorno End Function + Public Function GetContratosAvancePorDocumento(CveContrato As Integer, TipoDocto As String, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -2470,9 +2543,10 @@ Public Class ClsContratos End Try Return Retorno - End Function - + End Function + #End Region + Public Function GetContratosCostos(CveContrato As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveEstatus As Integer, Tipo As Integer, CveEmpresa As Integer) As Boolean Dim Retorno = False diff --git a/Bancos/PolizaCheque.aspx.vb b/Bancos/PolizaCheque.aspx.vb index 40d7ad541..ef2889275 100644 --- a/Bancos/PolizaCheque.aspx.vb +++ b/Bancos/PolizaCheque.aspx.vb @@ -218,9 +218,9 @@ Partial Class Bancos_PolizaCheque - If DdlTipoTransaccion.SelectedValue.ToEntero = 3 Then - dt = dt.FiltraParametros("CveTipoCuenta = 7") - End If + 'If DdlTipoTransaccion.SelectedValue.ToEntero = 3 Then + ' dt = dt.FiltraParametros("CveTipoCuenta = 7") + 'End If 'cuando es layout If DdlTipoTransaccion.SelectedValue.ToEntero = 9 Then diff --git a/Contratos/ContratoObra.aspx b/Contratos/ContratoObra.aspx index 8fce91f6e..f10309fc8 100644 --- a/Contratos/ContratoObra.aspx +++ b/Contratos/ContratoObra.aspx @@ -1594,6 +1594,7 @@ + @@ -1688,6 +1689,88 @@ + + + + + + + + +
    +
    + + +
    +
    +
    + +
    +
    Anticipos
    +
    +
    + + + + + + + + + + + + +
    +
    + +
    + +
    + + +
    +
    +
    + +
    +
    Facturas
    +
    +
    + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    + + + + +
    +
    + + diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index b183c3088..b30b3974f 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -405,6 +405,10 @@ Partial Class Contratos_ContratoObra End If + CargaEstadoCueta() + + TabEstadoCuenta.Visible = True + Else 'Configuración de Modalidad Insert LblFechaCaptura.Text = Now.ToShortDateString() @@ -438,6 +442,8 @@ Partial Class Contratos_ContratoObra CargaPSInsumos() ConfiguraTipos() CargaDatosEncabezado() + + ' CargaImpuestosLocales() End If @@ -2592,7 +2598,7 @@ Partial Class Contratos_ContratoObra Dim ObjContratos As New ClsContratos - If ObjContratos.GetReporteContratosAvancesDetalleCP(CveContrato, UsuarioActual.CveEmpresa) Then + If ObjContratos.GetReporteContratosObraAvancesDetalle(CveContrato, UsuarioActual.CveEmpresa) Then GvDatosAvance.DataSource = ObjContratos.DtResultados SumaAvance = ObjContratos.DtResultados.SUM("AvanceImporte", "CveClasificacion IS NULL") SumaUtilidad = ObjContratos.DtResultados.SUM("AvanceUtilidad", "CveClasificacion IS NULL") @@ -5116,6 +5122,37 @@ Partial Class Contratos_ContratoObra objContrato.Dispose() End Sub + + Private Sub CargaEstadoCueta() + + + Dim ObjContratos As New ClsContratos + + If ObjContratos.GetContratosObraEstadoCuenta(CveContrato, UsuarioActual.CveEmpresa, 1) Then + GvEstadoCuentaAnticipos.DataSource = ObjContratos.DtResultados + Else + GvEstadoCuentaAnticipos.DataSource = Nothing + End If + + If ObjContratos.GetContratosObraEstadoCuenta(CveContrato, UsuarioActual.CveEmpresa, 2) Then + GvEstadoCuentaFacturas.DataSource = ObjContratos.DtResultados + Else + GvEstadoCuentaFacturas.DataSource = Nothing + End If + + + ObjContratos.Dispose() + + GvEstadoCuentaAnticipos.DataBind() + GvEstadoCuentaFacturas.DataBind() + + + + UpEstoCuenta.Update() + + End Sub + + End Class diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 9b0f018b9..59a4dfbc3 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -2743,8 +2743,20 @@
    - Contrato: - + + + + + + + + + +
    Contrato:
    Estimacion:
    + + + + @@ -4295,6 +4307,7 @@ + diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index f61445dfc..324da2f4c 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3030,7 +3030,27 @@ Partial Class Ventas TieneContrato = True LnkOCs.Visible = True UpnTools.Update() + + ElseIf RblOpcionContrato.SelectedValue = "3" Then + + DivEstimaciones.Visible = True + DVEstimacionesObra.Visible = True + + DdlContrato.DataSource = DtContratos.FiltraParametros("CveContrato > 0", "NumeroContrato", DistinctColumns:={"CveContrato", "NumeroContrato"}) + DdlContrato.DataBind() + DdlContrato.Items.Insert(0, New ListItem("Seleccione", "0")) + + + BtnEstimacion.Visible = False + GvEst.Visible = False + + + UPEstimaciones.Update() + Else + BtnEstimacion.Visible = True + GvEst.Visible = True + DdlContratosOC.Items.Clear() DdlContratosOC.DataSource = DtContratos DdlContratosOC.DataBind() @@ -10491,6 +10511,14 @@ Partial Class Ventas End If + If ErrorList.Count = 0 AndAlso RblOpcionContrato.SelectedValue = "3" And DdlEstimacionesObra.SelectedValue.ToEntero > 0 Then + + If Not ObjContr.UpdateContratosAvanceEstimacionVentas(DdlEstimacionesObra.SelectedValue.ToEntero, ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then + ErrorList.Add("Ocurrió un error al actualizar la estimación") + End If + End If + + If ErrorList.Count = 0 Then 'prepoliza GuardarVentaPrePolizas(ObjConta, factura, TmpDTDetalle, CveNCaVincular, objContPaqi, ObjBancos, ObjVentas, ObjEventos:=ObjEventos, EsNCAmortizacion:=EsNCAmortizacion, NCDescuento:=NCDescuento, ListaNCDescuento:=ListaNCDescuento, ObjInventario:=ObjInventario) @@ -18076,25 +18104,73 @@ Partial Class Ventas BtnEstimacion.Visible = True End If + If RblOpcionContrato.SelectedValue = "3" Then + + + GvEst.DataSource = Nothing + GvEst.DataBind() + BtnEstimacion.Visible = False + + BtnCargarContratoDetalles.Visible = False + BtnCancelarContratoDetalles.Visible = False + + UPEstimaciones.Update() + + End If + End Sub Private Sub CargaDatosEstimaciones(CveCliente As Integer) If CveVenta > 0 Then Exit Sub End If Dim Con As New ClsContratos - If Con.GetEstimacionesPorFacturar(-1, CveCliente, DdlContrato.SelectedValue.ToEntero(), 0, UsuarioActual.CveEmpresa) Then - GvEst.DataSource = Con.DtResultados - If Con.DtResultados.Rows.Count > 0 Then - 'BtnEstimacion.Visible = True - DdlContrato.Items.Clear() - DdlContrato.Items.Add(New ListItem("Todos", "-1")) - DdlContrato.DataSource = Con.DtResultados.FiltraParametros("CveContrato > 0", "NumeroContrato", DistinctColumns:={"CveContrato", "NumeroContrato"}) + + + + If RblOpcionContrato.SelectedValue = "3" Then + + DdlEstimacionesObra.Items.Clear() + + If Con.GetContratosAvanceEstimacionVentas(DdlContrato.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa) Then + + DdlEstimacionesObra.DataSource = Con.DtResultados + DdlEstimacionesObra.DataBind() + DdlEstimacionesObra.Items.Insert(0, New ListItem("Todos", "-1")) + + Else + + DdlEstimacionesObra.DataSource = Nothing + DdlEstimacionesObra.DataBind() + End If + + + UPEstimaciones.Update() + + Else + + If Con.GetEstimacionesPorFacturar(-1, CveCliente, DdlContrato.SelectedValue.ToEntero(), 0, UsuarioActual.CveEmpresa) Then + GvEst.DataSource = Con.DtResultados + If Con.DtResultados.Rows.Count > 0 Then + 'BtnEstimacion.Visible = True + DdlContrato.Items.Clear() + DdlContrato.Items.Add(New ListItem("Todos", "-1")) + DdlContrato.DataSource = Con.DtResultados.FiltraParametros("CveContrato > 0", "NumeroContrato", DistinctColumns:={"CveContrato", "NumeroContrato"}) + End If + End If + + + UPEstimaciones.Update() + Con.Dispose() + DdlContrato.DataBind() + GvEst.DataBind() + End If - UPEstimaciones.Update() - Con.Dispose() - DdlContrato.DataBind() - GvEst.DataBind() + + + + + End Sub Protected Sub GVEst_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEst.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then From 7d3992236d9af58c71f33742f66c083889aa20f5 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Wed, 18 Nov 2020 20:38:28 -0700 Subject: [PATCH 15/32] Contratos Modal avance, contrato activa PermitirEstimacion al activa PermitirAvance --- App_Code/ClsContratos.vb | 23 +++++++++++++++++++++ Contratos/ContratoObra.aspx | 8 ++++++-- Contratos/ContratoObra.aspx.vb | 37 ++++++++++++++++++++++------------ 3 files changed, 53 insertions(+), 15 deletions(-) diff --git a/App_Code/ClsContratos.vb b/App_Code/ClsContratos.vb index b2c5eeae1..fb7ca7697 100644 --- a/App_Code/ClsContratos.vb +++ b/App_Code/ClsContratos.vb @@ -2325,6 +2325,29 @@ Public Class ClsContratos End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Reporte de Avances Detalle CP.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetVentasAvanceObra(CveContrato As Integer, CveClasificacion As Integer, CvePS As Integer, Tipo As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Con_RepVentasAvancesObra") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato + .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@Tipo", SqlDbType.Int).Value = Tipo + End With + + Try SqlAdapter.Fill(Data) Retorno = True diff --git a/Contratos/ContratoObra.aspx b/Contratos/ContratoObra.aspx index f10309fc8..9bdb71224 100644 --- a/Contratos/ContratoObra.aspx +++ b/Contratos/ContratoObra.aspx @@ -1563,7 +1563,9 @@
    - + @@ -1633,7 +1635,9 @@
    - + diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index b30b3974f..de67258e1 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -2656,7 +2656,8 @@ Partial Class Contratos_ContratoObra End Sub - Protected Sub GvDatosAvanceControl_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosAvanceControl.RowDataBound + Protected Sub GvDatosAvanceControl_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosAvanceControl.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CveClasificacion").ToString.ToEntero = 0 Then @@ -2675,26 +2676,36 @@ Partial Class Contratos_ContratoObra End If End Sub - Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs) - Dim Btn = CType(sender, LinkButton) - Dim Parametros = Btn.CommandArgument.Split("|"c) - + Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) + + + 'Dim Btn = CType(sender, LinkButton) + 'Dim Parametros = Btn.CommandArgument.Split("|"c) + + + Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToEntero + Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero + Dim CodigoPS As String = GvRow.DataKey("CodigoPS") + Dim Clasificacion As String = GvRow.DataKey("Clasificacion") + Dim ObjContratos As New ClsContratos - If ObjContratos.GetVentasAvance(CveContrato, If(Parametros(0).ToEntero > 0, Parametros(0).ToEntero, -1), If(Parametros(2).ToEntero > 0, Parametros(2).ToEntero, -1), If(Parametros(4).ToEntero > 0, Parametros(4).ToEntero, -1)) Then + If ObjContratos.GetVentasAvanceObra(CveContrato, CveClasificacion, CvePS, 1) Then GvDatosVentasAvance.DataSource = ObjContratos.DtResultados RegistraScript("$('#ModalVentasAvance').modal('show');RecargaAvances = true;") Else - Alert("Ocurrió un error al obtener el Listado de Ventas/Remisiones de Avance. Por favor vuelva a intentar", TipoMensaje.MsgError) + Alert("Ocurrió un error al obtener el Listado de Ventas de Avance. Por favor vuelva a intentar", TipoMensaje.MsgError) End If ObjContratos.Dispose() - GvDatosVentasAvance.DataBind() - - - LbTituloModalVentasAvance.Text = If(Parametros(4).ToEntero = 1, "Ventas de Avance", "Remisiones de Avance") - LbClasificacionVentasAvance.Text = Parametros(1) - LbPSVentasAvance.Text = If(Parametros(2).ToEntero > 0, Parametros(3), "") + GvDatosVentasAvance.DataBind() + + LbTituloModalVentasAvance.Text = "Ventas de Avance" + + LbClasificacionVentasAvance.Text = Clasificacion + LbPSVentasAvance.Text = CodigoPS UpVentasAvance.Update() From 81bbd187667779cab85f0b5a6ca92f906dbbd831 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 18 Nov 2020 22:46:57 -0700 Subject: [PATCH 16/32] - sugiere la fecha de caducidad y lote --- Inventarios/EntregaAlmacen.aspx.vb | 76 +++++++++++++++++++++++++++--- 1 file changed, 70 insertions(+), 6 deletions(-) diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 2f141f651..d788b98e2 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -270,7 +270,7 @@ Partial Class Inventarios_EntregaAlmacen InicializaValores() CargaParametrosAD() - If UsuarioActual.CveEmpresa.Contiene(72, 80) Then DdlAlmacen.AutoPostBack = True + If UsuarioActual.CveEmpresa.Contiene(72, 80, 146, 119) Then DdlAlmacen.AutoPostBack = True If UsuarioActual.Empresa.Funcionalidad(281).ToEntero() = 1 Then @@ -833,7 +833,7 @@ Partial Class Inventarios_EntregaAlmacen CargaGvDatos() End Sub - Private Sub CargaGvDatos() + Private Sub CargaGvDatos(Optional CveAlmacen As Integer = -1) If DtDatos IsNot Nothing Then @@ -849,9 +849,12 @@ Partial Class Inventarios_EntregaAlmacen If AplicaSeccion Then GvDatos.Columns(7).Visible = True If AplicaLote Then GvDatos.Columns(8).Visible = True If AplicaCaducidad Then GvDatos.Columns(9).Visible = True - GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad") + GvDatos.Columns(9).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) <> "", UsuarioActual.Empresa.Funcionalidad(147), "") - SugerirFecha() + 'SugerirFecha() + If DdlAlmacen.SelectedValue.ToEntero > 0 Then + SugiereLoteCaducidad(DdlAlmacen.SelectedValue.ToEntero) + End If End If GvDatos.DataSource = DtDatos @@ -3749,7 +3752,7 @@ Partial Class Inventarios_EntregaAlmacen Protected Sub DdlAlmacen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlAlmacen.SelectedIndexChanged If DdlAlmacen.SelectedValue <> "-1" Then - CargaGvDatos() + CargaGvDatos(DdlAlmacen.SelectedValue.ToEntero) End If End Sub @@ -3822,13 +3825,74 @@ Partial Class Inventarios_EntregaAlmacen #Region "sugerir caducidad" + Private Sub SugiereLoteCaducidad(CveAlmacen As Integer) + Dim TempDT As New DataTable + Dim DtLotesCaducidad As New DataTable + TempDT = DtDatos.Clone + Dim CvePSAnterior As Integer = 0 + Dim ObjInventarios As New ClsInventarios() + + For Each dr As DataRow In DtDatos.Rows + If CBool(dr("AplicaLote")) Then + If CvePSAnterior <> dr("CvePS").ToString.ToEntero Then + CvePSAnterior = dr("CvePS").ToString.ToEntero + + If ObjInventarios.GetExistenciasCaducidad(dr("CvePS").ToString.ToEntero, CveAlmacen, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + DtLotesCaducidad.Merge(ObjInventarios.DtResultados) + + End If + End If + End If + Next + + ObjInventarios.Dispose() + + For Each dr As DataRow In DtDatos.Rows + If CBool(dr("AplicaLote")) Then + + Dim dtta As DataTable = DtLotesCaducidad.FiltraParametros(String.Format("CvePS = {0}", dr("CvePS"))) + + If dtta IsNot Nothing AndAlso dtta.Rows.Count > 0 Then + + 'recorre que cumplan con la cantidad total a llenar + Dim CantidadSurtir As Decimal = dr("CantidadF").ToString.ToDecimal + For Each drl As DataRow In dtta.Rows + If CantidadSurtir < drl("Cantidad").ToString.ToDecimal Then + dr("CantidadF") = CantidadSurtir + dr("CantidadC") = CantidadSurtir + dr("Lote") = drl("Lote") + dr("FechaCaducidad") = drl("FechaCaducidad") + TempDT.ImportRow(dr) + Else + CantidadSurtir -= drl("Cantidad").ToString.ToDecimal + dr("CantidadF") = drl("Cantidad").ToString.ToDecimal + dr("CantidadC") = drl("Cantidad").ToString.ToDecimal + dr("Lote") = drl("Lote") + dr("FechaCaducidad") = drl("FechaCaducidad") + TempDT.ImportRow(dr) + End If + Next + + Else + 'error, no hay lote sugerido + End If + Else + TempDT.ImportRow(dr) + End If + + Next + + + DtDatos = TempDT + End Sub + Private Sub SugerirFecha() Dim ObjInventarios As New ClsInventarios() Dim FechasExcluidas As New List(Of String) Dim TempDT As New DataTable - TempDT = DtDatos.Clone + TempDT = DtDatos.Copy Dim DtAux As New DataTable DtAux = DtDatos.Clone From c23d590f4b8451e50072c5b4e7d12fb3a244f330 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 18 Nov 2020 22:47:08 -0700 Subject: [PATCH 17/32] - acomodo el calendario --- Inventarios/AjustesSeccionAlmacen.aspx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Inventarios/AjustesSeccionAlmacen.aspx b/Inventarios/AjustesSeccionAlmacen.aspx index 24c9ea186..d4c87aba2 100644 --- a/Inventarios/AjustesSeccionAlmacen.aspx +++ b/Inventarios/AjustesSeccionAlmacen.aspx @@ -121,7 +121,7 @@
    - + <%----%> From 568f59d474619a4a1d797782b5040182049c9db1 Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 19 Nov 2020 08:28:23 -0700 Subject: [PATCH 18/32] -- sugerencia en fecha caducidd/lote --- Inventarios/EntregaAlmacen.aspx.vb | 70 +----------------------------- 1 file changed, 2 insertions(+), 68 deletions(-) diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index d788b98e2..4c4de437a 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -3863,6 +3863,7 @@ Partial Class Inventarios_EntregaAlmacen dr("Lote") = drl("Lote") dr("FechaCaducidad") = drl("FechaCaducidad") TempDT.ImportRow(dr) + CantidadSurtir = 0 Else CantidadSurtir -= drl("Cantidad").ToString.ToDecimal dr("CantidadF") = drl("Cantidad").ToString.ToDecimal @@ -3871,6 +3872,7 @@ Partial Class Inventarios_EntregaAlmacen dr("FechaCaducidad") = drl("FechaCaducidad") TempDT.ImportRow(dr) End If + If CantidadSurtir <= 0 Then Exit For Next Else @@ -3886,73 +3888,5 @@ Partial Class Inventarios_EntregaAlmacen DtDatos = TempDT End Sub - Private Sub SugerirFecha() - - Dim ObjInventarios As New ClsInventarios() - Dim FechasExcluidas As New List(Of String) - - Dim TempDT As New DataTable - TempDT = DtDatos.Copy - Dim DtAux As New DataTable - DtAux = DtDatos.Clone - - For Each DtRow As DataRow In DtDatos.Rows - Dim Row As DataRow = DtAux.NewRow() - For Each Column As DataColumn In DtDatos.Columns - Row.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) - Next - DtAux.Rows.Add(Row) - SugerirFechaLote(0, MinFecha, FechasExcluidas, ObjInventarios, DtAux) - TempDT.Merge(DtAux) - DtAux.Clear() - Next - - ObjInventarios.Dispose() - - DtDatos = TempDT - End Sub - - Private Sub SugerirFechaLote(contador As Integer, FechaExcluida As Date, FechasExcluidas As List(Of String), ObjInventarios As ClsInventarios, DataTableAux As DataTable) - FechasExcluidas.Add(FechaExcluida.ToDate.ToString) - - Dim DtRow As DataRow = DataTableAux.Rows(contador) - Dim AplicaCaducidad As Boolean = DtRow.Item("AplicaCaducidad").ToString = "True" - Dim AplicaLote As Boolean = DtRow.Item("AplicaLote").ToString = "True" - Dim Cantidad As Integer = DtRow.Item("CantidadC").ToString.ToEntero - Dim FechasExcluidasFiltro As String = String.Format("FechaCaducidad NOT IN('{0}')", String.Join("','", FechasExcluidas)) - If AplicaCaducidad Or AplicaLote Then - Dim CvePS As Integer = DtRow.Item("CvePS").ToString.ToEntero - If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjInventarios.DtResultados.Rows.Count > 0 Then - Dim MinimumRow As DataRow = ObjInventarios.DtResultados.FiltroPrimero(FechasExcluidasFiltro, "FechaCaducidad") - DtRow.Item("FechaCaducidad") = MinimumRow.Item("FechaCaducidad").ToString - DtRow.Item("Lote") = MinimumRow.Item("Lote").ToString - Dim CantidadDisponible As Integer = MinimumRow.Item("Cantidad").ToString.ToEntero - DtRow.Item("CantidadF") = CantidadDisponible - DtRow.Item("CantidadS") = CantidadDisponible - - If Cantidad > CantidadDisponible Then - Dim RowFaltante As DataRow = DataTableAux.NewRow() - Dim CantidadFaltante As Integer = (Cantidad - CantidadDisponible) - RowFaltante.Item("CantidadC") = CantidadFaltante - RowFaltante.Item("CantidadF") = CantidadFaltante - RowFaltante.Item("CantidadS") = CantidadFaltante - DtRow.Item("CantidadC") = CantidadDisponible - For Each Column As DataColumn In DataTableAux.Columns - If Not Column.ColumnName.Contiene("CantidadC", "CantidadF", "CantidadS") Then - RowFaltante.Item(Column.ColumnName) = DtRow.Item(Column.ColumnName) - End If - Next - DataTableAux.Rows.Add(RowFaltante) - SugerirFechaLote(contador + 1, MinimumRow.Item("FechaCaducidad").ToString.ToDate, FechasExcluidas, ObjInventarios, DataTableAux) - Else - DtRow.Item("CantidadF") = Cantidad - Exit Sub - End If - End If - End If - End If - End Sub - #End Region End Class From 5150dec8feba74e0a812f0274459ae7148b500cf Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Thu, 19 Nov 2020 13:07:24 -0700 Subject: [PATCH 19/32] Contratos, flujo ventas, contratos estado de cuenta --- Contratos/ContratoAvance.aspx | 5 +- Contratos/ContratoAvance.aspx.vb | 23 +- Contratos/ContratoObra.aspx | 157 +------ Contratos/ContratoObra.aspx.vb | 733 ++++++------------------------- Ventas/Ventas.aspx | 29 +- Ventas/Ventas.aspx.vb | 93 ++-- 6 files changed, 223 insertions(+), 817 deletions(-) diff --git a/Contratos/ContratoAvance.aspx b/Contratos/ContratoAvance.aspx index 9d829dce7..45bf7c3d0 100644 --- a/Contratos/ContratoAvance.aspx +++ b/Contratos/ContratoAvance.aspx @@ -100,10 +100,7 @@ diff --git a/Contratos/ContratoAvance.aspx.vb b/Contratos/ContratoAvance.aspx.vb index 4ff8715fb..451b2c4a4 100644 --- a/Contratos/ContratoAvance.aspx.vb +++ b/Contratos/ContratoAvance.aspx.vb @@ -96,8 +96,8 @@ Partial Class Contratos_ContratoAvance Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then - BtnGuardar.Visible = False - btnanexogral.Visible = False + BtnGuardar.Visible = False + CargaContrato() @@ -146,16 +146,16 @@ Partial Class Contratos_ContratoAvance fecha = "" DtDatos = ObjContratos.DtResultados If ObjContratos.DtResultados.Rows.Count > 0 Then - BtnGuardar.Visible = True - btnanexogral.Visible = True + BtnGuardar.Visible = True + End If End If Else If ObjContratos.GetContratosAvanceHistoricos(CveContrato, 2, DdlAvances.SelectedValue) Then fecha = DdlAvances.SelectedValue DtDatos = ObjContratos.DtResultados - BtnGuardar.Visible = False - btnanexogral.Visible = False + BtnGuardar.Visible = False + End If End If ObjContratos.Dispose() @@ -280,7 +280,7 @@ Partial Class Contratos_ContratoAvance Dim TieneError = False Dim CveContratoDetalle As Integer Dim Cantidad As Double - Dim filesgral As List(Of Archivo) = AnexoGral.getfiles().Archivos + 'Dim filesgral As List(Of Archivo) = AnexoGral.getfiles().Archivos Dim guardarArchivos As New List(Of Archivo) For Each gvr As GridViewRow In Gv.Rows @@ -328,9 +328,10 @@ Partial Class Contratos_ContratoAvance Alert("No se logro guardar el Presupuesto favor de intentarlo mas tarde o comuniquese con soporte", TipoMensaje.MsgAdvertencia) Else Dim urlsave As String = String.Format("Empresas\{0}\Contrato\{1}\Anexos", UsuarioActual.CveEmpresa, CveContrato) - For Each fileItem As Archivo In filesgral - fileItem.filename.FilesMove(fileItem.filename, urlsave) - Next + + 'For Each fileItem As Archivo In filesgral + ' fileItem.filename.FilesMove(fileItem.filename, urlsave) + 'Next For Each fileItem As Archivo In guardarArchivos fileItem.filename.FilesMove(fileItem.filename.Replace($".{fileItem.Extencion}", ""), urlsave) @@ -338,7 +339,7 @@ Partial Class Contratos_ContratoAvance ObjContratos.Commit() Alert("se guardo Correctamente") End If - AnexoGral.Text = "[]" + 'AnexoGral.Text = "[]" ObjContratos.Dispose() CargaddlAvance() CargaDatosAvance() diff --git a/Contratos/ContratoObra.aspx b/Contratos/ContratoObra.aspx index 9bdb71224..b710ac331 100644 --- a/Contratos/ContratoObra.aspx +++ b/Contratos/ContratoObra.aspx @@ -75,87 +75,7 @@ -<%--
  • - Concluir Contrato -
  • -
  • - Cancelar Contrato -
  • -
  • - Reactivar Contrato -
  • -
  • - Descargar Formato -
  • -
  • - Crear A Partir De -
  • - -
  • - Importar Listado -
  • - - -
  • - Agregar Gastos -
  • - - -
  • - Avance por Documento PDF -
  • - - -
  • - Descargar Contrato -
  • - -
  • - Informacion PDF -
  • - - -
  • - Gastos PDF -
  • - - -
  • - Suministros PDF -
  • -
  • - Avance PDF -
  • - -
  • - Presupuesto PDF -
  • - -
  • - Activos Fijos PDF -
  • - -
  • - Activos Fijos Excel -
  • -
  • - Pedidos / Devoluciones PDF -
  • - -
  • - Pedidos / Devoluciones Excel -
  • - - - - - - -
  • - Habilitar Ajuste A.F. -
  • -
    -
    --%> + @@ -165,7 +85,7 @@
  • - Agregar PS Control + Agregar PS Interno
  • @@ -955,21 +875,10 @@
    - <%-- - - - - - - - - --%> - - @@ -981,25 +890,7 @@ -<%-- - - - - - - - - --%> - <%-- - - - - - - - - --%> @@ -1206,7 +1097,7 @@
    @@ -1221,25 +1112,7 @@ - <%-- - - - - - - - - --%> - - <%-- - - - - - - - - --%> + @@ -2736,10 +2609,10 @@