diff --git a/Inventarios/InventarioFisicoDetalle.aspx b/Inventarios/InventarioFisicoDetalle.aspx index c702804ee..48a1e6086 100644 --- a/Inventarios/InventarioFisicoDetalle.aspx +++ b/Inventarios/InventarioFisicoDetalle.aspx @@ -240,23 +240,23 @@ - -
- -
- -
-
+
+ + +
+ + +
@@ -325,7 +325,7 @@ - + @@ -349,7 +349,7 @@ - + diff --git a/Inventarios/InventarioFisicoDetalle.aspx.vb b/Inventarios/InventarioFisicoDetalle.aspx.vb index 208728062..3bfb676f9 100644 --- a/Inventarios/InventarioFisicoDetalle.aspx.vb +++ b/Inventarios/InventarioFisicoDetalle.aspx.vb @@ -88,10 +88,8 @@ Partial Class Inventarios_InventarioFisicoDetalle #Region " CARGA DATOS " Private Sub CargaDatos(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1) - Dim ObjInventario As New ClsInventarios - DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1) - DdlSeccionAlmacen.DataBind() - DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1")) + Dim ObjInventario As New ClsInventarios + If ObjInventario.GetInventarioFisico(CveInventarioFisico, CveEmpresa, -1, -1) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then Dim CveEstatus = ObjInventario.DtResultados.FiltroPrimeroValor("CveEstatus") Select Case CveEstatus @@ -230,9 +228,9 @@ Partial Class Inventarios_InventarioFisicoDetalle Dim Inventario As New ClsInventarios If Inventario.GetInventarioFisicoDetalle(CveInventarioFisico, ddlUsuario.SelectedValue.ToString.ToEntero) Then If Inventario.DtResultados.Rows.Count > 0 Then - GvIFD.Columns(4).Visible = Inventario.DtResultados.MAX("CveSeccionAlmacen") > 0 + GvIFD.Columns(4).Visible = Inventario.DtResultados.MAX("CveSeccionAlmacen", "CveSeccionAlmacen IS NOT NULL").ToEntero > 0 GvIFD.Columns(6).Visible = Inventario.DtResultados.MAX("Lote") <> "" - GvIFD.Columns(7).Visible = Inventario.DtResultados.MAX("FechaCaducidad").ToDate > MinFecha + GvIFD.Columns(7).Visible = Inventario.DtResultados.MAX("FechaCaducidad", "FechaCaducidad IS NOT NULL").ToDate > MinFecha GvIFD.DataSource = Inventario.DtResultados '.AsEnumerable.OrderByDescending(Function(k) k!CveInventarioFisicoDetalle).Take(500).CopyToDataTable Else GvIFD.DataSource = Nothing @@ -259,48 +257,83 @@ Partial Class Inventarios_InventarioFisicoDetalle Dim CveUnidadMedida As Integer Dim Codigo As String = If(TxtCodigo.Text.Trim <> "", TxtCodigo.Text.Trim, "-1").Replace("'", "''") ' scanner cambian los guiones por apostrofes Dim CodigoBarras As String = If(TxtCodigoBarras.Text.Trim <> "", TxtCodigoBarras.Text.Trim, "-1").Replace("'", "''") ' scanner cambian los guiones por apostrofes - Dim SeccionAlmacen As String = If(DdlSeccionAlmacen.SelectedValue.ToEntero > -1, DdlSeccionAlmacen.SelectedItem.Text, "") - Dim CveSeccionAlmacen As Integer = If(DdlSeccionAlmacen.SelectedValue.ToEntero > 0, DdlSeccionAlmacen.SelectedValue.ToEntero, -1) - Dim SerieLote As String = TxtCodigoSerie.Text.Trim + Dim Serie As String = TxtCodigoSerie.Text.Trim Dim Lote As String = If(TxtLote.Text.Length > 0, TxtLote.Text, "-1") - Dim FechaCaducidad As String = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString) - Dim CveMetodoInv As Integer = -1 + Dim FechaCaducidad As String=MinFecha.ToString + Dim CveSeccionAlmacen As Integer = -1 + Dim Cantidad = TxtCantidadProducto.Text.ToDouble Dim dr As DataRow - dr = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}' OR Codigo = '{Codigo}' ") - - If dr IsNot Nothing Then - CveMetodoInv = dr("Inv_CveMetodoInventario").ToString.ToEntero + 'dr = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}' OR Codigo = '{Codigo}' ") + dr = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{CodigoBarras}' OR Codigo = '{Codigo}'") + + + + If dr IsNot Nothing Then + CveProducto = dr("CvePS").ToString.ToEntero - CveUnidadMedida = dr("CveUnidadMedida").ToString.ToEntero + CveUnidadMedida = dr("CveUnidadMedida").ToString.ToEntero + 'Dim AplicaSeccion As Boolean = dr("AplicaSeccion") = "1" + Dim AplicaCaducidad As Boolean = dr("AplicaCaducidad") = "1" + Dim AplicaLote As Boolean = dr("AplicaLote") = "1" + Dim AplicaSerie As Boolean = dr("AplicaSerie") = "1" + + 'divSeccionAlmacen.Visible = AplicaSeccion + divLote.Visible = AplicaLote + divFechaCaducidad.Visible = AplicaCaducidad + divSerie.Visible = AplicaSerie + UPAgregarPro.Update() - If CveMetodoInv = 5 And SerieLote = "" Then + If AplicaSerie And Serie = "" Then RFVSerie.Enabled = True RFVSerie.Visible = True RFVSerie.SetFocusOnError = True RFVSerie.Validate() RFVSerie.ValidationGroup = " " Exit Sub + End If + If AplicaLote And Lote = "" Then + RFVLote.Enabled = True + RFVLote.Visible = True + RFVLote.SetFocusOnError = True + RFVLote.Validate() + RFVLote.ValidationGroup = " " + Exit Sub End If + If AplicaCaducidad Then + If TxtFechaCaducidad.Text.Trim = "" Then + RFVCaducidad.Enabled = True + RFVCaducidad.Visible = True + RFVCaducidad.SetFocusOnError = True + RFVCaducidad.Validate() + RFVCaducidad.ValidationGroup = " " + Exit Sub + End If + FechaCaducidad = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString) + End If RFVSerie.ValidationGroup = "GrpIngresar" RFVSerie.Enabled = False - - 'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS - If SerieLote <> "" And (SerieLote.ToUpper = dr("Codigo").ToString.ToUpper Or SerieLote.ToUpper = dr("CodigoBarras").ToString.ToUpper) Then - Alert($"La serie indicada {SerieLote} coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) + RFVLote.ValidationGroup = "GrpIngresar" + RFVLote.Enabled = False + RFVCaducidad.ValidationGroup = "GrpIngresar" + RFVCaducidad.Enabled = False + + 'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS + If Serie <> "" And (Serie.ToUpper = dr("Codigo").ToString.ToUpper Or Serie.ToUpper = dr("CodigoBarras").ToString.ToUpper) Then + Alert($"La serie indicada {Serie} coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If Dim Consulto As Boolean = False Using Inventarios As New ClsInventarios - If Inventarios.AddInventarioFisicoDetalle(CveInventarioFisico, CveProducto, CveUnidadMedida, If(CveMetodoInv = 5, 1, Cantidad), SerieLote, UsuarioActual.CveUsuario, - CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then + If Inventarios.AddInventarioFisicoDetalle(CveInventarioFisico, CveProducto, CveUnidadMedida, If(AplicaSerie, 1, Cantidad), Serie, UsuarioActual.CveUsuario, + CveSeccionAlmacen:=-1, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then GvIFDUltimoRegistrado.Columns(4).Visible = CveSeccionAlmacen > 0 - GvIFDUltimoRegistrado.Columns(5).Visible = SerieLote <> "-1" + GvIFDUltimoRegistrado.Columns(5).Visible = Serie <> "-1" GvIFDUltimoRegistrado.Columns(6).Visible = Lote <> "-1" GvIFDUltimoRegistrado.Columns(7).Visible = FechaCaducidad <> "01/01/1900" @@ -310,7 +343,7 @@ Partial Class Inventarios_InventarioFisicoDetalle GvIFDUltimoRegistrado.Rows(0).Cells(1).Text = dr("CodigoBarras").ToString GvIFDUltimoRegistrado.Rows(0).Cells(2).Text = dr("Codigo").ToString GvIFDUltimoRegistrado.Rows(0).Cells(3).Text = dr("PS").ToString - GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = SeccionAlmacen + GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = "" GvIFDUltimoRegistrado.Rows(0).Cells(5).Text = TxtCodigoSerie.Text.Trim GvIFDUltimoRegistrado.Rows(0).Cells(6).Text = Lote GvIFDUltimoRegistrado.Rows(0).Cells(7).Text = FechaCaducidad @@ -332,9 +365,11 @@ Partial Class Inventarios_InventarioFisicoDetalle TxtCodigoSerie.Text = "" TxtCodigo.Text = "" TxtCantidadProducto.Text = "1" - DdlSeccionAlmacen.SelectedValue = "-1" TxtLote.Text = "" TxtFechaCaducidad.Text = "" + divLote.Visible = False + divFechaCaducidad.Visible = False + divSerie.Visible = False RegistraScript("playsonidito('beep-07.wav')") Else TxtCodigoSerie.Text = "" @@ -346,8 +381,10 @@ Partial Class Inventarios_InventarioFisicoDetalle Else TxtCodigoBarras.Text = "" TxtCodigoSerie.Text = "" - TxtCodigo.Text = "" - DdlSeccionAlmacen.SelectedValue = "-1" + TxtCodigo.Text = "" + divLote.Visible = False + divFechaCaducidad.Visible = False + divSerie.Visible = False TxtLote.Text = "" TxtFechaCaducidad.Text = "" Alert("No se encontró el producto, favor de escribirlo correctamente.", TipoMensaje.MsgError) @@ -530,7 +567,7 @@ Partial Class Inventarios_InventarioFisicoDetalle Dim AplicaLote As Boolean = Producto("AplicaLote") = "1" Dim AplicaSerie As Boolean = Producto("AplicaSerie") = "1" - divSeccionAlmacen.Visible = AplicaSeccion + 'divSeccionAlmacen.Visible = AplicaSeccion divLote.Visible = AplicaLote divFechaCaducidad.Visible = AplicaCaducidad divSerie.Visible = AplicaSerie diff --git a/Inventarios/RepAnomalias.aspx b/Inventarios/RepAnomalias.aspx index 8d3185711..3751b969e 100644 --- a/Inventarios/RepAnomalias.aspx +++ b/Inventarios/RepAnomalias.aspx @@ -200,7 +200,7 @@ - + @@ -234,7 +234,7 @@ - + diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb index a239ccbab..a71900ab2 100644 --- a/Inventarios/RepAnomalias.aspx.vb +++ b/Inventarios/RepAnomalias.aspx.vb @@ -275,7 +275,7 @@ Partial Class Inventarios_RepAnomalias Private Sub BanderaSerieLoteCad(Gv As GridView, resultado As DataTable) Gv.Columns(4).Visible = resultado.MAX("Serie") <> "" Gv.Columns(5).Visible = resultado.MAX("Lote") <> "" - Gv.Columns(6).Visible = resultado.MAX("FechaCaducidad") <> "" + Gv.Columns(6).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha End Sub End Class