319 lines
15 KiB
VB.net
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", "", $" <b>Proveedor:</b> {If(DdlProveedor.SelectedItem Is Nothing, "", DdlProveedor.SelectedItem.Text)}")
|
|
Dim Moneda = If(DdlMoneda.SelectedValue = "-1", "", $" <b>Moneda:</b> {If(DdlMoneda.SelectedItem Is Nothing, "", DdlMoneda.SelectedItem.Text)}")
|
|
Dim Concepto = If(DdlTipoMovimiento.SelectedValue = "-1", "", $" <b>Concepto:</b> {If(DdlTipoMovimiento.SelectedItem Is Nothing, "", DdlTipoMovimiento.SelectedItem.Text)}")
|
|
Dim PS = If(HFProducto.Value.ToEntero > 0, $" <b>Producto/Servicio:</b> {GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=HFProducto.Value.ToEntero).Rows(0)("PSCodigo").ToString}", "")
|
|
Dim Almacen = If(DdlAlmacen.SelectedValue = " - 1", "", $" <b>Almacen: </b> {If(DdlAlmacen.SelectedItem Is Nothing, "", DdlAlmacen.SelectedItem.Text)}")
|
|
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" <b>Clasificacion</b>{If(DdlClasificacion.SelectedItem Is Nothing, "", DdlClasificacion.SelectedItem.Text)}")
|
|
Dim FechaIn As String = $" <b>Fecha Inicio:</b> {TxtFechaI.Text}"
|
|
Dim FechaFn As String = $" <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
|