265 lines
12 KiB
VB.net
265 lines
12 KiB
VB.net
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Inventarios_KardexAlmacen
|
|
Inherits ClsPaginas
|
|
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
TxtFechaI.Text = NowADS().AddMonths(-1).ToShortDateString
|
|
TxtFechaF.Text = NowADS().ToShortDateString
|
|
CargaCombos()
|
|
ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
'If Not UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 13, 66) Then
|
|
|
|
' GvDatos.Columns(7).Visible = True ' FCaducidad
|
|
'End If
|
|
If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero)
|
|
ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
|
|
CargaPermisos()
|
|
End If
|
|
End Sub
|
|
Private Function isWithFamily() As Boolean
|
|
Return (UsuarioActual.CveEmpresa = 66)
|
|
End Function
|
|
Private Sub CargaCombos()
|
|
|
|
CargaFuncionalidad105()
|
|
CargaPS()
|
|
|
|
ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1)
|
|
ddlAlmacen.DataBind()
|
|
If IfNull(Request("CveAlmacen"), "-1").ToString.ToEntero > 0 Then ddlAlmacen.SelectedValueExist(Request("CveAlmacen").ToString)
|
|
CargaClasificaciones()
|
|
End Sub
|
|
|
|
Private Sub CargaClasificaciones()
|
|
Dim CveClasificacion = If(Request("CveClasificacion") IsNot Nothing, Request("CveClasificacion").ToString, "-1")
|
|
|
|
If isWithFamily() Then
|
|
DdlClasificacion.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
|
|
Else
|
|
Dim ObjClasificaciones As New ClsClasificaciones
|
|
If UsuarioActual.Empresa.UsaAC Then
|
|
If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then
|
|
DdlClasificacion.DataSource = ObjClasificaciones.DtResultados
|
|
DdlClasificacion.DataBind()
|
|
End If
|
|
Else
|
|
If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then
|
|
DdlClasificacion.DataSource = ObjClasificaciones.DtResultados
|
|
DdlClasificacion.DataBind()
|
|
End If
|
|
End If
|
|
ObjClasificaciones.Dispose()
|
|
End If
|
|
|
|
DdlClasificacion.DataBind()
|
|
DdlClasificacion.SelectedValueExist(CveClasificacion)
|
|
|
|
End Sub
|
|
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged
|
|
CargaPS()
|
|
End Sub
|
|
Private Sub CargaPS()
|
|
|
|
If Not ddlProducto2.UsaWebService Then
|
|
Dim Filtro = If(DdlClasificacion.SelectedValue.ToEntero >= 0, String.Format("CveClasificacion={0} And CveTipoPS=2", DdlClasificacion.SelectedValue), "CveTipoPS=2")
|
|
ddlProducto2.ddl.Items.Clear()
|
|
ddlProducto2.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros(Filtro, "PSCodigo")
|
|
ddlProducto2.DataBind()
|
|
ddlProducto2.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
|
|
End If
|
|
End Sub
|
|
Private Sub CargaFuncionalidad105()
|
|
ddlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
|
|
|
If ddlProducto2.UsaWebService Then
|
|
ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1")
|
|
ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
|
|
ddlProducto2.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacion.ClientID)
|
|
DdlClasificacion.AutoPostBack = False
|
|
Else
|
|
ddlProducto2.ddl.Items.Add(New ListItem("Seleccione", "-1"))
|
|
ddlProducto2.ddl.Items.Add(New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2"))
|
|
End If
|
|
|
|
End Sub
|
|
Protected Sub ddlProducto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducto2.selectedindexchange
|
|
|
|
DdlUnidadMedida.Items.Clear()
|
|
DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(ddlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
DdlUnidadMedida.DataBind()
|
|
DdlUnidadMedida.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
End Sub
|
|
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
|
|
Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero
|
|
|
|
If CveProducto > 0 Then
|
|
CargarKardex(CveProducto)
|
|
Else
|
|
Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
End Sub
|
|
Private Function CargarKardex(CvePS As Integer) As DataTable
|
|
Dim dt As DataTable = Nothing
|
|
Dim ObjMovimientos As New ClsInventarios
|
|
Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1")
|
|
Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1")
|
|
Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero
|
|
|
|
If ObjMovimientos.GetKardexAlmacen(CvePS, FechaI, FechaF, CveAlmacen, DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
dt = ObjMovimientos.DtResultados
|
|
GvDatos.DataSource = ObjMovimientos.DtResultados
|
|
End If
|
|
|
|
ObjMovimientos.Dispose()
|
|
GvDatos.DataBind()
|
|
|
|
Return dt
|
|
End Function
|
|
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim Liga As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={e.Row.DataKey("CveAlmacen")}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}")
|
|
e.Row.FCHyperLink("HplAlmacen").NavigateUrl = Liga
|
|
|
|
If e.Row.RowIndex = 0 Then
|
|
e.Row.CssClass = "Titulos"
|
|
End If
|
|
|
|
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub CargaPermisos()
|
|
If Not UsuarioActual.TienePermisoProceso(201) Then 'PERMISO PARA VER IMPORTES
|
|
GvDatos.Columns(5).Visible = False
|
|
GvDatos.Columns(6).Visible = False
|
|
GvDatos.Columns(7).Visible = False
|
|
GvDatos.Columns(8).Visible = False
|
|
tdImportes.Visible = False
|
|
End If
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then
|
|
DVFiltroCodigo.Visible = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub ImgImprimirExcel_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
|
|
GenerarPDF("Excel")
|
|
End Sub
|
|
|
|
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
|
|
GenerarPDF()
|
|
End Sub
|
|
Private Sub GenerarPDF(Optional Formato As String = "PDF")
|
|
Dim Movimientos As New ClsInventarios
|
|
Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero
|
|
|
|
|
|
Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1")
|
|
Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1")
|
|
Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero
|
|
|
|
|
|
Dim Almacen = If(ddlAlmacen.SelectedValue = "-1", "", $" <b>Almacén:</b> {ddlAlmacen.SelectedItem.Text}")
|
|
Dim UM = If(DdlUnidadMedida.SelectedValue = "-1", "", $" <b>Unidad de Medida:</b> {DdlUnidadMedida.SelectedItem.Text}")
|
|
Dim FechaIn As String = If(TxtFechaI.Text = "", "", $" <b>Fecha Inicio:</b> {TxtFechaI.Text}")
|
|
Dim FechaFn As String = If(TxtFechaF.Text = "", "", $" <b>Fecha Fin:</b> {TxtFechaF.Text}")
|
|
Dim EntradaSalida As String = ""
|
|
|
|
|
|
If Movimientos.GetKardexAlmacen(CvePS, FechaI, FechaF, CveAlmacen, DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
|
Dim dt As DataTable = Movimientos.DtResultados
|
|
Dim params As New List(Of ReportParameter)
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("FechaInicio", FechaI))
|
|
params.Add(New ReportParameter("FechaFin", FechaF))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
|
|
params.Add(New ReportParameter("Producto", ddlProducto2.SelectedText))
|
|
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b> {EntradaSalida}{Almacen}{UM}{FechaIn}{FechaFn}"))
|
|
|
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepKardexAlmacen.rdlc", dt, params, "ReporteKardex", Formato)
|
|
Else
|
|
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Protected Sub LnkPSAntyerior_Click(sender As Object, e As EventArgs)
|
|
NavegacionPS(Siguiente:=False)
|
|
End Sub
|
|
|
|
Protected Sub LnkPSSiguiente_Click(sender As Object, e As EventArgs)
|
|
NavegacionPS(Siguiente:=True)
|
|
End Sub
|
|
Private Sub NavegacionPS(Siguiente As Boolean)
|
|
Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero
|
|
|
|
If Not CvePS > 0 Then
|
|
Exit Sub
|
|
End If
|
|
Dim dt As DataTable = New DataTable
|
|
|
|
Dim Entrada As Boolean = True
|
|
Dim Salida As Boolean = True
|
|
|
|
Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1")
|
|
Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1")
|
|
Dim CveAlmacen As Integer = If(ddlAlmacen.SelectedValue.ToEntero = 0, -1, ddlAlmacen.SelectedValue.ToEntero)
|
|
Dim CveAlmacenes As String = "-1" 'ddlAlmacen.GetSelectedValues()""
|
|
If CveAlmacenes.Contains(",") Then
|
|
CveAlmacen = -1
|
|
End If
|
|
If CvePS > 0 Then
|
|
Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
|
If dr IsNot Nothing Then
|
|
ddlProducto2.SelectedText = dr("PSCodigo").ToString
|
|
ddlProducto2.SelectedValue = CvePS.ToString
|
|
End If
|
|
|
|
End If
|
|
|
|
Dim CveTiposAlmacen As String = "-1"
|
|
'For Each item As ListItem In CBLTiposAlmacen.Items
|
|
' CveTiposAlmacen += If(item.Selected, $"{item.Value},", "")
|
|
'Next
|
|
|
|
Dim CodigoInicio As String = If(TxtCodigoInicio.Text.Trim.Length = 0, "-1", TxtCodigoInicio.Text.Trim)
|
|
Dim CodigoFin As String = If(TxtCodigoFinal.Text.Trim.Length = 0, "-1", TxtCodigoFinal.Text.Trim)
|
|
|
|
Dim ObjInventarios As New ClsInventarios
|
|
If ObjInventarios.GetKardexPSNavegacion(Entrada, Salida, CvePS, FechaI, FechaF, CveAlmacen, "-1", DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
|
CveAlmacenes, Siguiente:=Siguiente, CodigoInicio:=CodigoInicio, CodigoFin:=CodigoFin) Then
|
|
dt = ObjInventarios.DtResultados.Copy
|
|
End If
|
|
ObjInventarios.Dispose()
|
|
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
ddlProducto2.SelectedValue = dt.Rows(0)("CvePS").ToString
|
|
ddlProducto2.SelectedText = dt.Rows(0)("CodigoPS").ToString
|
|
ddlProducto2.txtValue.Value = dt.Rows(0)("CvePS").ToString
|
|
ddlProducto2.txtText.Value = dt.Rows(0)("CodigoPS").ToString
|
|
CargarKardex(dt.Rows(0)("CvePS").ToString.ToEntero)
|
|
UPFiltros.Update()
|
|
' UpDatos.Update()
|
|
End If
|
|
End Sub
|
|
|
|
End Class
|