Files
SIG/Inventarios/RepExistenciasCostos.aspx.vb
2024-05-16 18:01:46 -07:00

319 lines
15 KiB
VB.net

Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_RepExistenciasCostos
Inherits ClsPaginas
#Region "PROPIEDADES"
Public Property DtData As DataTable
Get
Return CType(ViewState("DtData"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtData") = value
End Set
End Property
Public Property DtData2 As DataTable
Get
Return CType(ViewState("DtData2"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtData2") = value
End Set
End Property
Private Property TmpPS As DataTable
Get
Return CType(ViewState("TmpPS"), DataTable)
End Get
Set(value As DataTable)
ViewState("TmpPS") = value
End Set
End Property
Public Property FechaFinal As Date
Get
Return ViewState("FechaFinal").ToString.ToDate
End Get
Set(value As Date)
ViewState("FechaFinal") = value
End Set
End Property
Public Property FechaInicial As Date
Get
Return ViewState("FechaInicial").ToString.ToDate
End Get
Set(value As Date)
ViewState("FechaInicial") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
TxtFechaI.Text = New Date(NowADS().Year, NowADS().Month, 1).ToShortDateString
TxtFechaF.Text = NowADS().LastDayOfMonth.ToShortDateString
If Request("CvePS") IsNot Nothing AndAlso Request("CveProveedor") IsNot Nothing AndAlso
Request("CveMoneda") IsNot Nothing AndAlso Request("CveConcepto") IsNot Nothing AndAlso
Request("FechaI") IsNot Nothing AndAlso Request("FechaF") IsNot Nothing Then
' Alert(Request("CvePS").ToString, TipoMensaje.MsgAdvertencia)
Dim CveAlmacen As String = IfNull(Request("CveAlmacen"), "-1").ToString
CargaDatos(Request("CvePS").ToString.Trim.ToEntero,
Request("CveProveedor").ToString.Trim.ToEntero,
Request("CveMoneda").ToString.Trim.ToEntero,
Request("CveConcepto").ToString.Trim.ToEntero,
If(Request("FechaI").ToString.Trim <> "-1", Request("FechaI").ToString.Trim.ToDate, MinFecha),
If(Request("FechaF").ToString.Trim <> "-1", Request("FechaF").ToString.Trim.ToDate, MaxFecha),
CveAlmacen,
If(Request("CVECLASIFICACION") Is Nothing, -1, Request("CveClasificacion").ToEntero),
If(Request("CvePersonal") Is Nothing, -1, Request("CvePersonal").ToEntero),
If(Request("Tipo") Is Nothing, -1, Request("Tipo").ToEntero)
)
Panel1.Visible = False
Else
Panel1.Visible = True
CargaCombos()
End If
'CargaPS()
CargaPermisos()
End If
End Sub
Private Sub CargaPermisos()
Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
'GvM.Columns(6).Visible = TienePermisoImportes
'GvM.Columns(8).Visible = TienePermisoImportes
'GvM.Columns(10).Visible = TienePermisoImportes
GvM.Columns(8).Visible = TienePermisoImportes
GvM.Columns(10).Visible = TienePermisoImportes
GvM.Columns(11).Visible = TienePermisoImportes
End Sub
Public Sub CargaCombos()
DdlMoneda.DataSource = GlobalDTMonedas()
DdlMoneda.DataBind()
DdlMoneda.Items.Insert(0, New ListItem("Todos", "-1"))
DdlTipoMovimiento.DataSource = GlobalDTInvConceptos()
DdlTipoMovimiento.DataBind()
DdlTipoMovimiento.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
DdlPersonal.DataBind()
DdlPersonal.Items.Insert(0, New ListItem("Todos", "-1"))
'Llenar el dropdownlist de Productosy servicios
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
ddlProducto.Visible = False
'DdlProductows.Items.Insert(0, New ListItem("Todos", "-1"))
Else
Dim productos As New ClsProductosServicios
If productos.GetPS(-1, -1, UsuarioActual.CveEmpresa) Then
TmpPS = productos.DtResultados.FiltraParametros("", "PS")
ddlProducto.DataSource = TmpPS
End If
productos.Dispose()
ddlProducto.DataBind()
DdlProductows.Visible = False
End If
'DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
'DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1)
'DdlAlmacen.DataBind()
'DdlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
'DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
'If Not IsNothing(Request("CveAlmacen")) Then
' If DdlAlmacen.Items.FindByValue(Request("CveAlmacen").ToString) Is Nothing Then
' Dim CveAlmacen = Request("CveAlmacen").ToString
' Dim Almacen As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveAlmacen = {Request("CveAlmacen").ToString}").Rows(0)("Almacen").ToString
' DdlAlmacen.Items.Insert(0, New ListItem(Almacen, CveAlmacen))
' End If
'End If
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacen.DataBind()
DdlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
If Not IsNothing(Request("CveAlmacen")) Then
If DdlAlmacen.Items.FindByValue(Request("CveAlmacen").ToString) Is Nothing Then
Dim CveAlmacen = Request("CveAlmacen").ToString
Dim Almacen As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {Request("CveAlmacen").ToString}")
DdlAlmacen.Items.Insert(0, New ListItem(Almacen, CveAlmacen))
End If
Else
DdlAlmacen.SelectedValuesIfExistM("-1")
End If
ddlProducto.Items.Insert(0, New ListItem("----", "-1"))
CargaClasificaciones()
End Sub
Private Sub CargaClasificaciones()
If isWhitFamily() Then
DdlClasificacion.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
Else
If UsuarioActual.Empresa.UsaAC Then
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
Else
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
End If
End If
'DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", "Clasificacion")
DdlClasificacion.DataBind()
End Sub
Private Function isWhitFamily() As Boolean
Return (UsuarioActual.CveEmpresa = 66)
End Function
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
Dim CveProveedor As Integer = DdlProveedor.SelectedValue.ToEntero
Dim CveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero
Dim CveConcepto As Integer = DdlTipoMovimiento.SelectedValue.ToEntero
Dim CvePS As Integer = If(HFProducto.Value.ToEntero > 0, HFProducto.Value.ToEntero, -1)
'Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero
Dim CveClasificacion As Integer = DdlClasificacion.SelectedValue.ToEntero
Dim CveAlmacen As String = If(DdlAlmacen.GetSelectedValuesM = "", "-1", DdlAlmacen.GetSelectedValuesM)
Dim fechaI As Date = If(TxtFechaI.Text <> "", TxtFechaI.Text.ToDateTime, MinFecha)
Dim fechaF As Date = If(TxtFechaF.Text <> "", TxtFechaF.Text.ToDateTime, MaxFecha)
CargaDatos(CvePS, CveProveedor, CveMoneda, CveConcepto, fechaI, fechaF, CveAlmacen, CveClasificacion, DdlPersonal.SelectedValue.ToEntero, DdlMovs.SelectedValue.ToEntero)
End Sub
Protected Sub CargaDatos(CvePS As Integer, CveProveedor As Integer, CveMoneda As Integer, CveConcepto As Integer, FechaI As Date, FechaF As Date, CveAlmacen As String, CveClasificacion As Integer, CvePersonal As Integer, Tipo As Integer)
If CvePS > 0 Then
LnkKardex.Visible = True
LnkKardex.NavigateUrl = String.Format("/Inventarios/Kardex.aspx?CvePS={0}", CvePS)
End If
Dim ObjInventarios As New ClsInventarios
If ObjInventarios.RepExistenciasCostos(FechaI, FechaF, CveMoneda, CveProveedor, CveConcepto, CvePS, UsuarioActual.CveEmpresa, CveAlmacen, UsuarioActual.CveUsuario, CveClasificacion, CvePersonal, Tipo) Then
DtData = ObjInventarios.DtResultados
GvM.DataSource = DtData
FechaInicial = FechaI
FechaFinal = FechaF
End If
ObjInventarios.Dispose()
GvM.DataBind()
End Sub
Protected Sub GvM_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvM.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim TienePermisoImportes = UsuarioActual.TienePermisoProceso(201)
e.Row.Cells(8).Visible = TienePermisoImportes
e.Row.Cells(10).Visible = TienePermisoImportes
e.Row.Cells(12).Visible = TienePermisoImportes
Select Case e.Row.DBCampo("Orden").ToEntero
Case 10
e.Row.CssClass = "SubTotales2"
e.Row.Cells(0).Text = e.Row.DBCampo("PS")
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(0).ColumnSpan = 3
e.Row.Cells(1).Visible = False
e.Row.Cells(3).Visible = False
e.Row.Cells(7).Text = ""
e.Row.Cells(8).Text = ""
e.Row.Cells(9).Text = ""
e.Row.Cells(10).Text = ""
e.Row.Cells(11).Text = ""
e.Row.Cells(12).Text = ""
Case 15
If e.Row.DBCampo("CveMovimiento").ToString.ToEntero <= 0 Then
e.Row.Cells(0).Text = e.Row.DBCampo("FechaMovto")
e.Row.Cells(3).Text = ""
End If
Case 20
e.Row.CssClass = "SubTotales"
e.Row.Cells(0).Text = $"Total: {e.Row.DBCampo("PS")}"
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(0).ColumnSpan = 3
e.Row.Cells(1).Visible = False
e.Row.Cells(3).Visible = False
e.Row.Cells(11).Text = e.Row.DBCampo("ExistenciaTotal").ToDouble().ToString("#,####.####")
e.Row.Cells(12).Text = e.Row.DBCampo("ValorTotal").FormatoNumero
End Select
End If
End Sub
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
GvM.Columns(5).Visible = ChkActivoFijo.Checked
GvM.Columns(6).Visible = ChkSubProyecto.Checked
UPPEquiv.Update()
End Sub
#Region " IMPRIMIR "
Protected Sub LnkImprimir_Click(sender As Object, e As EventArgs) Handles LnkImprimir.Click
impimir("PDF")
End Sub
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
impimir("EXCEL")
End Sub
Private Sub impimir(Optional reporte As String = "PDF")
Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {If(DdlProveedor.SelectedItem Is Nothing, "", DdlProveedor.SelectedItem.Text)}")
Dim Moneda = If(DdlMoneda.SelectedValue = "-1", "", $"&emsp;<b>Moneda:</b> {If(DdlMoneda.SelectedItem Is Nothing, "", DdlMoneda.SelectedItem.Text)}")
Dim Concepto = If(DdlTipoMovimiento.SelectedValue = "-1", "", $"&emsp;<b>Concepto:</b> {If(DdlTipoMovimiento.SelectedItem Is Nothing, "", DdlTipoMovimiento.SelectedItem.Text)}")
Dim PS = If(HFProducto.Value.ToEntero > 0, $"&emsp;<b>Producto/Servicio:</b> {GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=HFProducto.Value.ToEntero).Rows(0)("PSCodigo").ToString}", "")
Dim Almacen = If(DdlAlmacen.SelectedValue = " - 1", "", $"&emsp;<b>Almacen: </b> {If(DdlAlmacen.SelectedItem Is Nothing, "", DdlAlmacen.SelectedItem.Text)}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificacion</b>{If(DdlClasificacion.SelectedItem Is Nothing, "", DdlClasificacion.SelectedItem.Text)}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {TxtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {TxtFechaF.Text}"
If TxtFechaI.Text = "" Then FechaIn = ""
If TxtFechaF.Text = "" Then FechaFn = ""
If DtData IsNot Nothing 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 params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaIn))
params.Add(New ReportParameter("FechaFin", FechaFn))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("Filtros", $"{FechaIn} {FechaFn} {Proveedor} {Concepto} {Almacen} {Clasificacion} {PS} {Moneda}"))
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
params.Add(New ReportParameter("OcultarImportes", UsuarioActual.TienePermisoProceso(201).ToString))
ImprimirPDF("Empresas/Grales/Formatos/RepExistenciasCostos.rdlc", DtData, params, "ReporteExistenciasCostos", Formato:=reporte)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class