344 lines
16 KiB
VB.net
344 lines
16 KiB
VB.net
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Bancos_RepProveedoresPagos
|
|
Inherits ClsPaginas
|
|
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
|
|
CargaCombos()
|
|
|
|
'proceso para que solo pague lo que este programada
|
|
If UsuarioActual.TienePermisoProceso(98) Then
|
|
ChkProgramadas.Enabled = False
|
|
ChkProgramadas.Checked = True
|
|
'DdlTipoPago.Items.RemoveAt(0)
|
|
ChkProgramadas_CheckedChanged(sender, e)
|
|
End If
|
|
|
|
'JJMQ:20150324: Comento carga de usuario y ahora se cargará con la función CargaUsuariosProgramaron
|
|
'DdlUsuarioProgramo.DataSource = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0} AND ComprasProgramadas > 0 ", UsuarioActual.CveEmpresa), "Nombre") 'GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
'DdlUsuarioProgramo.DataBind()
|
|
CargaUsuariosProgramaron()
|
|
|
|
|
|
|
|
CargaDatos()
|
|
|
|
If UsuarioActual.TienePermisoProceso(84) Then
|
|
GvCxP.Columns(10).Visible = True
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaCombos()
|
|
|
|
DdlProveedores.setEsWebService(True)
|
|
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
|
|
DdlProveedores.SelectedText = "Todos"
|
|
DdlProveedores.SelectedValue = "-1"
|
|
|
|
|
|
DdlUsuarioResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa), "Nombre")
|
|
DdlUsuarioResponsable.DataBind()
|
|
|
|
DdlProveedoresClasificaciones.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
|
|
DdlProveedoresClasificaciones.DataBind()
|
|
|
|
DdlMoneda.DataSource = GlobalDTMonedas()
|
|
DdlMoneda.DataBind()
|
|
|
|
DdlEstatusCompra.DataSource = GlobalDTCompEstatusFactura.FiltraParametros("CveEstatusFactura IN (1, 2)")
|
|
DdlEstatusCompra.DataBind()
|
|
|
|
'puede pagar de todos los usuarios o solo los que halla registrado
|
|
If UsuarioActual.TienePermisoProceso(91) Then
|
|
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa), "Nombre") 'GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlUsuarioRegistro.DataBind()
|
|
DdlUsuarioRegistro.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
Else
|
|
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
DdlUsuarioRegistro.DataBind()
|
|
End If
|
|
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
End Sub
|
|
Private Sub CargaUsuariosProgramaron()
|
|
Dim Mov As New ClsMovimientos
|
|
If Mov.GetUsuariosProgramaron(UsuarioActual.CveEmpresa) Then
|
|
DdlUsuarioProgramo.DataSource = Mov.DtResultados
|
|
Else
|
|
DdlUsuarioProgramo.DataSource = Nothing
|
|
End If
|
|
Mov.Dispose()
|
|
|
|
DdlUsuarioProgramo.DataBind()
|
|
DdlUsuarioProgramo.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
End Sub
|
|
|
|
Private Sub CargaDatos()
|
|
Dim Mov As New ClsMovimientos
|
|
Dim FechaI, FechaF, FechaVI, FechaVF, CodigoProgramacion As String
|
|
|
|
If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1"
|
|
If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1"
|
|
If txtFechaVI.Text <> "" Then FechaVI = txtFechaVI.Text Else FechaVI = "-1"
|
|
If txtFechaVF.Text <> "" Then FechaVF = txtFechaVF.Text Else FechaVF = "-1"
|
|
If DdlCodigoProgramacion.Text <> "" Then CodigoProgramacion = DdlCodigoProgramacion.Text Else CodigoProgramacion = "-1"
|
|
|
|
Dim CveUsuarioProgramo As Integer = -1
|
|
If ChkProgramadas.Checked AndAlso DdlUsuarioProgramo.SelectedIndex = 0 Then
|
|
CveUsuarioProgramo = -2
|
|
Else
|
|
CveUsuarioProgramo = DdlUsuarioProgramo.SelectedValue.ToEntero
|
|
End If
|
|
|
|
GvCxP.Columns(7).Visible = ChkProgramadas.Checked 'AndAlso DdlUsuarioProgramo.SelectedValue.ToEntero > 0
|
|
|
|
|
|
If Mov.GetCxPEmpresa(DdlProveedores.SelectedValue.ToEntero, FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, -1, DdlUsuarioRegistro.SelectedValue.ToEntero, CveUsuarioProgramo, DdlUsuarioResponsable.SelectedValue.ToEntero, DdlProveedoresClasificaciones.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, -1, DdlEstatusCompra.SelectedValue.ToEntero, AplicaNC.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, FechaVI, FechaVF, CodigoProgramacion, DdlTipoProveedor.SelectedValue.ToEntero) Then
|
|
|
|
GvCxP.DataSource = Mov.DtResultados
|
|
If Mov.DtResultados IsNot Nothing AndAlso Mov.DtResultados.Rows.Count > 0 Then
|
|
Dim dtt As DataTable = Mov.DtResultados
|
|
LtlTotalOriginal.Text = dtt.Rows(0)("Original").ToString.FormatoNumero
|
|
LtlTotalDolares.Text = dtt.SUM("Original", "Moneda = 'Dólares'").ToString.FormatoNumero
|
|
LtlTotalMXN.Text = dtt.SUM("Original", "Moneda = 'Pesos'").ToString.FormatoNumero
|
|
LtlTotalAbonado.Text = dtt.Rows(0)("Abonado").ToString.FormatoNumero
|
|
LtlProgreso.Text = $"{dtt.Rows(0)("PorPagado").ToString().FormatoNumero} %"
|
|
LtlPorcentaje.Text = $"{dtt.Rows(0)("PorPagado").ToString().FormatoNumero} %"
|
|
ProgresoBarra.Style.Add("width", dtt.Rows(0)("PorPagado").ToString.ToEntero.ToString)
|
|
LtlPendiente.Text = dtt.SUM("Saldo", "Moneda = 'Pesos'").ToString.FormatoNumero
|
|
LtlPendienteDolares.Text = dtt.SUM("Saldo", "Moneda = 'Dólares'").ToString.FormatoNumero
|
|
TotalPendiente.Text = dtt.Rows(0)("Saldo").ToString.FormatoNumero
|
|
dvIndicadores.Visible = True
|
|
End If
|
|
End If
|
|
Mov.Dispose()
|
|
|
|
GvCxP.DataBind()
|
|
|
|
UpIndicadores.Update()
|
|
UPDatos.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvCxP_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCxP.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("CveProveedor") = "" Then
|
|
|
|
' e.Row.BackColor = Drawing.Color.LightGray
|
|
e.Row.FCHyperLink("ImgAbonar").Visible = False
|
|
e.Row.FCHyperLink("Hpl").NavigateUrl = ""
|
|
e.Row.FCHyperLink("Hpl").Font.Bold = True
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
|
|
If e.Row.DBCampo("Saldo").ToDouble < 0 Then
|
|
e.Row.Cells(7).CssClass = "bg-yellow-gold"
|
|
e.Row.Cells(7).ToolTip = "El Importe Programado es mayor al Saldo"
|
|
End If
|
|
|
|
|
|
|
|
If ChkProgramadas.Checked Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(380)
|
|
End If
|
|
|
|
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(1).ForeColor = Drawing.Color.Red
|
|
|
|
Dim CveUsuarioProgramo As Integer = -1
|
|
If ChkProgramadas.Checked AndAlso DdlUsuarioProgramo.SelectedIndex = 0 Then
|
|
CveUsuarioProgramo = -2
|
|
Else
|
|
CveUsuarioProgramo = DdlUsuarioProgramo.SelectedValue.ToEntero
|
|
End If
|
|
|
|
e.Row.FCHyperLink("ImgAbonar").NavigateUrl = String.Format("/Bancos/ProveedoresAbonar.aspx?CveProveedor={0}&FechaI={1}&FechaF={2}&CveUsuarioProgramo={3}&TipoPago={4}&CveUsuarioRegistro={5}&CveUsuarioResponsable={6}&CveClasificacion={7}&CveMoneda={8}&CveEstatus={9}&CveProveedorSucursal={10}&CveAplicaNC={11}&CodigoProgramacion={12}&CveSubProyecto={13}", e.Row.DBCampo("CveProveedor"), If(txtFechaI.Text <> "", txtFechaI.Text, "-1"), If(txtFechaF.Text <> "", txtFechaF.Text, "-1"), CveUsuarioProgramo, -1, DdlUsuarioRegistro.SelectedValue, DdlUsuarioResponsable.SelectedValue, DdlProveedoresClasificaciones.SelectedValue, e.Row.DBCampo("CveMoneda"), DdlEstatusCompra.SelectedValue, e.Row.DBCampo("CveProveedorSucursal"), AplicaNC.SelectedValue, DdlCodigoProgramacion.SelectedValue, DdlSubProyecto.SelectedValue)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
|
CargaDatos()
|
|
End Sub
|
|
|
|
Protected Sub ChkProgramadas_CheckedChanged(sender As Object, e As EventArgs) Handles ChkProgramadas.CheckedChanged
|
|
|
|
DdlUsuarioProgramo.Visible = ChkProgramadas.Checked
|
|
DdlCodigoProgramacion.Visible = ChkProgramadas.Checked
|
|
|
|
If Not ChkProgramadas.Checked Then
|
|
DdlUsuarioProgramo.SelectedValue = "-1"
|
|
DdlCodigoProgramacion.SelectedValue = "-1"
|
|
Else
|
|
RegistraScript("$(""#C_UPFiltros .portlet .portlet-body"").css(""display"", ""block"")")
|
|
End If
|
|
UpDdls.Update()
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
#Region " I M P R I M I R P D F"
|
|
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
|
|
Dim EsVisibleColPagoProveedor As Boolean = False
|
|
|
|
If GvCxP.Columns(10).Visible Then
|
|
EsVisibleColPagoProveedor = True
|
|
GvCxP.Columns(10).Visible = False
|
|
End If
|
|
|
|
GenerarPDFpp("Excel")
|
|
|
|
If EsVisibleColPagoProveedor Then
|
|
GvCxP.Columns(10).Visible = True
|
|
End If
|
|
End Sub
|
|
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs) Handles LnkPDF.Click
|
|
GenerarPDFpp()
|
|
End Sub
|
|
|
|
Protected Sub LnkPDFSubProyecto_Click(sender As Object, e As EventArgs)
|
|
GenerarPDFpp(AgrupadoPorSubProyecto:=True)
|
|
End Sub
|
|
Protected Sub LnkExcelSubProyecto_Click(sender As Object, e As EventArgs)
|
|
Dim EsVisibleColPagoProveedor As Boolean = False
|
|
|
|
If GvCxP.Columns(10).Visible Then
|
|
EsVisibleColPagoProveedor = True
|
|
GvCxP.Columns(10).Visible = False
|
|
End If
|
|
|
|
GenerarPDFpp("Excel", True)
|
|
|
|
If EsVisibleColPagoProveedor Then
|
|
GvCxP.Columns(10).Visible = True
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub GenerarPDFpp(Optional Formato As String = "PDF", Optional AgrupadoPorSubProyecto As Boolean = False)
|
|
|
|
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
|
|
|
|
|
'OBTENEMOS LOS DATOS
|
|
Dim ObjMovtos As New ClsMovimientos()
|
|
Dim DTpp As DataTable
|
|
Dim FI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
|
|
Dim FF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
|
|
Dim FechaI, FechaF As String
|
|
Dim CveUsuarioProgramo As Integer = -1
|
|
If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1"
|
|
If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1"
|
|
Dim Mov As New ClsMovimientos
|
|
|
|
Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $" <b>Cliente:</b> {DdlProveedores.SelectedText}")
|
|
Dim Registro = If(DdlUsuarioRegistro.SelectedValue = "-1", "", $" <b>Registró:</b> {DdlUsuarioRegistro.SelectedItem.Text}")
|
|
Dim Responsable = If(DdlUsuarioResponsable.SelectedValue = "-1", "", $" <b>Responsable:</b> {DdlUsuarioResponsable.SelectedItem.Text}")
|
|
Dim Clasificacion = If(DdlProveedoresClasificaciones.SelectedValue = "-1", "", $" <b>Clasificación:</b> {DdlProveedoresClasificaciones.SelectedItem.Text}")
|
|
Dim Moneda = If(DdlMoneda.SelectedValue = "-1", "", $" <b>Moneda:</b> {DdlMoneda.SelectedItem.Text}")
|
|
Dim Estatus = If(DdlEstatusCompra.SelectedValue = "-1", "", $" <b>Estatus:</b> {DdlEstatusCompra.SelectedItem.Text}")
|
|
Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $" <b>SubProyecto:</b> {DdlSubProyecto.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 = ""
|
|
Dim Programo As String = ""
|
|
|
|
Dim FVI As String = $" <b>Fecha Venc. Inic.:</b> {txtFechaVI.Text}"
|
|
Dim FVF As String = $" <b>Fecha Venc. Final:</b> {txtFechaVF.Text}"
|
|
If txtFechaVI.Text = "" Then FVI = ""
|
|
If txtFechaVF.Text = "" Then FVF = ""
|
|
|
|
If ChkProgramadas.Checked AndAlso DdlUsuarioProgramo.SelectedIndex = 0 Then
|
|
CveUsuarioProgramo = -2
|
|
Else
|
|
CveUsuarioProgramo = DdlUsuarioProgramo.SelectedValue.ToEntero
|
|
Programo = If(DdlUsuarioProgramo.SelectedValue = "-1", "", $" <b>Autorizado Por:</b> {DdlUsuarioProgramo.SelectedItem.Text}")
|
|
End If
|
|
|
|
If ObjMovtos.GetCxPEmpresa(DdlProveedores.SelectedValue.ToEntero, FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, -1,
|
|
DdlUsuarioRegistro.SelectedValue.ToEntero, CveUsuarioProgramo, DdlUsuarioResponsable.SelectedValue.ToEntero,
|
|
DdlProveedoresClasificaciones.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, -1,
|
|
DdlEstatusCompra.SelectedValue.ToEntero, AplicaNC.SelectedValue.ToEntero, UsuarioActual.CveEmpresa,
|
|
CveTipoProveedor:=DdlTipoProveedor.SelectedValue.ToEntero, AgrupadoPorSubProyecto:=AgrupadoPorSubProyecto) Then
|
|
DTpp = ObjMovtos.DtResultados
|
|
Else
|
|
DTpp = Nothing
|
|
End If
|
|
ObjMovtos.Dispose()
|
|
|
|
If DTpp.Rows.Count > 0 Then
|
|
Dim dr As DataRow = DTpp.Rows(0)
|
|
Dim params As New List(Of ReportParameter)
|
|
Dim Filtros As New StringBuilder
|
|
Filtros.Append("<b>Filtros </b>")
|
|
Dim ExistenFechas As Boolean = False
|
|
|
|
If txtFechaI.Text.Trim.Length > 0 Then
|
|
Filtros.Append($" Fecha Inicio: {txtFechaI.Text.Trim}")
|
|
ExistenFechas = True
|
|
End If
|
|
|
|
|
|
If txtFechaF.Text.Trim.Length > 0 Then
|
|
Filtros.Append($" Fecha Fin: {txtFechaF.Text.Trim}")
|
|
ExistenFechas = True
|
|
End If
|
|
|
|
|
|
If ExistenFechas Then
|
|
params.Add(New ReportParameter("AgrupadoPor", Filtros.ToString))
|
|
End If
|
|
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("FechaInicio", FI))
|
|
params.Add(New ReportParameter("FechaFin", FF))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString))
|
|
params.Add(New ReportParameter("AgrupadoPor", $"{Programo} {Proveedor} {Registro} {Responsable} {Clasificacion} {Moneda} {Estatus} {SubProyecto} {FechaIn} {FechaFn}{FVI}{FVF}"))
|
|
params.Add(New ReportParameter("Programadas", If(ChkProgramadas.Checked, 1, 0)))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}"))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepPagoProveedores.rdlc", DTpp, params, "ReportePagoProveedores", Formato)
|
|
Else
|
|
Alert("No se tienen registrados movimientos", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub DdlUsuarioProgramo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlUsuarioProgramo.SelectedIndexChanged
|
|
If DdlUsuarioProgramo.SelectedValue > 0 Then
|
|
Dim ObjMovimientos As New ClsMovimientos
|
|
If ObjMovimientos.GetCodigosProgramacionPersonal(UsuarioActual.CveEmpresa, DdlUsuarioProgramo.SelectedValue.ToEntero) Then
|
|
DdlCodigoProgramacion.DataSource = ObjMovimientos.DtResultados
|
|
DdlCodigoProgramacion.DataBind()
|
|
DdlCodigoProgramacion.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
UPDatos.Update()
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
End Class
|