solicitudes de traspaso validar existencia al agregar solicitud

This commit is contained in:
rakcsle
2024-08-03 11:42:03 -07:00
parent 75db760faf
commit 85af9f250e
2 changed files with 44 additions and 17 deletions

View File

@@ -199,7 +199,8 @@
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePS, CodigoPS, CveUM, Cantidad, Precio, Observaciones, CveContratoDetalle,UnidadMedida,Serie, Lote, FechaCaducidad" EmptyDataText="No se encontraron Productos registrados" ToolTip="Listado de Productos" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Cantidad" HeaderStyle-HorizontalAlign="Left" DataFormatString="{0:N}" ItemStyle-HorizontalAlign="Center" DataField="Cantidad" ItemStyle-Width="30px" />
<asp:BoundField HeaderText="Producto" HeaderStyle-HorizontalAlign="Left" DataField="CodigoPS" ItemStyle-Width="60%" />
<asp:BoundField HeaderText="Producto" HeaderStyle-HorizontalAlign="Left" DataField="CodigoPS" ItemStyle-Width="60%" />
<asp:BoundField HeaderText="Existencia" HeaderStyle-HorizontalAlign="Right" DataField="Existencia" ItemStyle-Width="40px" DataFormatString="{0:N2}" />
<asp:TemplateField HeaderText="Eliminar" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="Si" />

View File

@@ -1,5 +1,6 @@
Imports System.Data
Imports ClosedXML.Excel.XLPredefinedFormat
Imports DocumentFormat.OpenXml.Math
Imports Extensiones
Imports Telerik.Web.UI.ComboBox.ComboBoxStyles
@@ -165,6 +166,10 @@ Partial Class Inventarios_TrasladoSolicitud
TempDT.Columns.Add("Serie", Type.GetType("System.String"))
TempDT.Columns.Add("Lote", Type.GetType("System.String"))
TempDT.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime"))
TempDT.Columns.Add("Existencia", Type.GetType("System.Decimal"))
TempDT.Columns.Add()
End Sub
@@ -180,6 +185,8 @@ Partial Class Inventarios_TrasladoSolicitud
Exit Sub
End If
'If ObjInventario.GetExistenciasPS(DdlProductoServicio.SelectedValue.ToEntero, DdlUM.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, PendientePorSurtir:=1, Lote:=TxtLote.Text.ToString, FechaCaducidad:=TxtCaducidad.Text.ToString) >= TxtCantidad.Text.ToDouble Then
TxtCantidad.Text = ""
@@ -200,14 +207,47 @@ Partial Class Inventarios_TrasladoSolicitud
Private Function AddPSTemporal() As Boolean
'Dim CveUsuarioAutoriza As Integer = -1
Dim EstatusAlmacen As Integer = 2
'VERIFICA EXISTENCIAS
Dim ObjInventarios As New ClsInventarios
Dim Existencia As Decimal = 0
Dim TieneErrorExistencia As Boolean = False
Dim MensajeExistencia As New StringBuilder
MensajeExistencia.Append("No hay la existencia suficiente de los siguientes productos:<br/>")
'Dim CodigoPS As String = ""
Dim CveUnidadMedida As Integer = GlobalDTPS(UsuarioActual.CveEmpresa, DdlProductoServicio.SelectedValue.ToEntero).FiltroPrimeroValor("CveUnidadMedida").ToEntero
'CodigoPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=Row.DataKey("CvePS").ToEntero).FiltroPrimeroValor("PSCodigo", "")
Existencia = ObjInventarios.GetExistenciasPS(DdlProductoServicio.SelectedValue.ToEntero, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=NowADS.ToString("yyyy/MM/dd 23:59"))
If Existencia - (TempDT.SUM("Cantidad", $"CvePS = {DdlProductoServicio.SelectedValue.ToEntero} AND CveUM = {CveUnidadMedida}") + TxtCantidad.Text.Trim.ToDecimal) <= 0 Then
MensajeExistencia.AppendFormat("<br/> - <b>{0}.</b> Existencia: {1}", DdlProductoServicio.SelectedText, Existencia)
TieneErrorExistencia = True
End If
If TieneErrorExistencia Then
Alert(MensajeExistencia.ToString, TipoMensaje.MsgAdvertencia)
ObjInventarios.Dispose()
Return False
End If
ObjInventarios.Dispose()
Dim TieneError As Boolean = False
Dim Row As DataRow = TempDT.NewRow()
Dim Lote As String = "-1"
Dim FechaCaducidad As Date = MinFecha
Row("Cantidad") = TxtCantidad.Text.Trim.ToDouble
Row("Cantidad") = TxtCantidad.Text.Trim.ToDecimal
Row("CvePS") = DdlProductoServicio.SelectedValue.ToEntero
Row("CodigoPS") = DdlProductoServicio.SelectedText
Row("Precio") = 0
'Row("CveUM") = DdlUM.SelectedValue.ToEntero
Row("CveUM") = CveUnidadMedida
Row("Existencia") = Existencia
'Row("UnidadMedida") = DdlUM.SelectedItem.Text
Row("Observaciones") = ""
Row("Lote") = "-1"
@@ -249,20 +289,6 @@ Partial Class Inventarios_TrasladoSolicitud
Dim CodigoPS As String = ""
''Aqui poner permiso para poder evitar permiso de traslado
'If ObjInventarios.GetAlmacenes(-1, -1, UsuarioActual.CveEmpresa, -1) Then
' If ObjInventarios.DtResultados.Rows.Count > 0 Then
' CveUsuarioAutoriza = If(ObjInventarios.DtResultados.FiltraParametros($"CveAlmacen = {DdlAlmacenDestino.SelectedValue}")(0)("CveUsuarioAutoriza").ToString.ToEntero > 0, ObjInventarios.DtResultados.FiltraParametros($"CveAlmacen = {DdlAlmacenDestino.SelectedValue}")(0)("CveUsuarioAutoriza").ToString.ToEntero, -1)
' If CveUsuarioAutoriza > 0 Then
' EstatusAlmacen = 1
' End If
' Else
' CveUsuarioAutoriza = -1
' End If
'End If