249 lines
9.9 KiB
VB.net
249 lines
9.9 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Compras_RepComplementoPago
|
|
Inherits ClsPaginas
|
|
|
|
Private Property DTComplemntos As DataTable
|
|
Get
|
|
If ViewState("DTComplemntos") Is Nothing Then
|
|
Return New DataTable
|
|
Else
|
|
Return DirectCast(ViewState("DTComplemntos"), DataTable)
|
|
End If
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DTComplemntos") = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
|
|
InicializaValores()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
#Region " INICIALIZA VALORES "
|
|
Private Sub InicializaValores()
|
|
|
|
TxtFiltrosFechaInicio.Text = NowADS().FirstDayOfMonth.ToShortDateString
|
|
TxtFiltrosFechaFin.Text = NowADS().ToShortDateString
|
|
|
|
DdlProveedores.setEsWebService(True)
|
|
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
|
|
|
|
'DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
|
'DdlProveedores.DataBind()
|
|
'DdlProveedores.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlUsuarioRegistra.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
|
|
DdlUsuarioRegistra.DataBind()
|
|
DdlUsuarioRegistra.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
UpFiltros.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region " CARGA DATOS "
|
|
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
|
|
CargaDatos()
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
|
|
Dim CveProveedor As Integer = If(DdlProveedores.SelectedValue.ToEntero = 0, -1, DdlProveedores.SelectedValue.ToEntero)
|
|
Dim CveTipoProveedor As Integer = DdlTipoProveedor.SelectedValue.ToEntero
|
|
Dim FechaInicio As Date = If(IsDate(TxtFiltrosFechaInicio.Text), TxtFiltrosFechaInicio.Text.ToDate, MinFecha)
|
|
Dim FechaFin As Date = If(IsDate(TxtFiltrosFechaFin.Text), TxtFiltrosFechaFin.Text.ToDate, MaxFecha)
|
|
Dim TipoConsulta As Integer = If(ChkViculadas.Checked, 2, 1)
|
|
Dim Count As Integer = 0
|
|
|
|
Personalizar()
|
|
|
|
Dim ObjCompras As New ClsCompras
|
|
If ObjCompras.RepComplementosPago(CveProveedor, -1, TipoConsulta, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, CveTipoProveedor, DdlSubProyecto.SelectedValue.ToEntero, DdlUsuarioRegistra.SelectedValue.ToEntero) Then
|
|
DTComplemntos = ObjCompras.DtResultados '.FiltraParametros(If(ChkViculadas.Checked, "FechaAsociacionPago IS NOT NULL", "FechaAsociacionPago IS NULL"))
|
|
GvDatos.DataSource = DTComplemntos
|
|
If ChkViculadas.Checked Then
|
|
Count = DTComplemntos.Rows.Count
|
|
GvDatos.Columns(8).Visible = True
|
|
Else
|
|
GvDatos.Columns(8).Visible = False
|
|
End If
|
|
End If
|
|
ObjCompras.Dispose()
|
|
|
|
If Count > 0 Then
|
|
LnkNotificar.Attributes.Add("data-original-title", $"¿Notificar a {Count} ?")
|
|
LnkNotificar.Visible = True
|
|
Else
|
|
LnkNotificar.Attributes.Add("data-original-title", $"¿Notificar?")
|
|
LnkNotificar.Visible = False
|
|
End If
|
|
|
|
UpAcciones.Update()
|
|
|
|
|
|
ObjCompras.Dispose()
|
|
|
|
GvDatos.DataBind()
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
Private Sub Personalizar()
|
|
|
|
GvDatos.Columns(2).Visible = ChkFolioFiscal.Checked
|
|
If ChkFolioFiscal.Checked Then
|
|
'GvDatos.Columns(0).ItemStyle.Width = 15%
|
|
Else
|
|
'GvDatos.Columns(0).ItemStyle.Width = 30%
|
|
End If
|
|
|
|
UpDatos.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If ChkViculadas.Checked Then
|
|
e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", e.Row.DBCampo("CveFactura"), e.Row.DBCampo("RFCde").ToString.Replace("&", "%26%"))))
|
|
End If
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
|
|
#Region "ENVIA CORREOS NOTIFICACIÓN"
|
|
|
|
|
|
Protected Sub LnkNotificar_Click(sender As Object, e As EventArgs)
|
|
NotificarComplementos()
|
|
End Sub
|
|
Private Sub NotificarComplementos()
|
|
If ChkViculadas.Checked = False And DTComplemntos.Rows.Count > 0 Then
|
|
|
|
Dim DTComplementosPendientes As New DataTable
|
|
DTComplementosPendientes = DTComplemntos.FiltraParametros("FechaAsociacionPago IS NULL")
|
|
|
|
For Each Drow As DataRow In DTComplementosPendientes.Rows
|
|
|
|
Dim FechaPago As String = Drow("FechaIE").ToString
|
|
|
|
Dim NotificarA As String = Drow("NotificarA").ToString
|
|
Dim ContactoMailCobranza As String = Drow("ContactoMailCobranza").ToString
|
|
|
|
Dim MailDestino As String = ""
|
|
Dim Correo As New ClsSisMail
|
|
|
|
Dim SerieFolio As String = Drow("SerieFolio").ToString
|
|
Dim Fecha As Date = Drow("Fecha").ToString.ToDate
|
|
Dim Importe As Decimal = Drow("Importe").ToString.FormatoNumero(2).ToDecimal
|
|
Dim Proveedor As String = Drow("RazonSocial").ToString
|
|
Dim Cuerpo As New StringBuilder
|
|
|
|
Cuerpo.AppendLine($"<br>Por medio del presente correo se notifica a la empresa { Proveedor } que no cuenta con los complementos de pago al corriente y esto puede presentar un retrasó en sus pagos futuros.<br>")
|
|
|
|
Cuerpo.AppendLine("<br>")
|
|
Cuerpo.AppendLine("<table>")
|
|
Cuerpo.AppendLine("<tr>")
|
|
Cuerpo.AppendLine("<th>Folio</th><th>Fecha</th><th>Importe</th>")
|
|
Cuerpo.AppendLine("</tr><tr>")
|
|
Cuerpo.AppendLine($"<td>{SerieFolio}</td><td>{Fecha.ToString("dd/MM/yyyy")}</td><td>{Importe}</td>")
|
|
Cuerpo.AppendLine("</tr>")
|
|
Cuerpo.AppendLine("")
|
|
|
|
MailDestino = $"{ContactoMailCobranza};{NotificarA}"
|
|
|
|
If MailDestino.Trim.Length > 1 Then
|
|
Correo.SendMail(UsuarioActual.Empresa, MailDestino, $"{UsuarioActual.Empresa.NombreCorto} Complementos", Cuerpo.ToString)
|
|
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "IMPRESION"
|
|
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs)
|
|
GeneraImpresion()
|
|
End Sub
|
|
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs)
|
|
GeneraImpresion("Excel")
|
|
End Sub
|
|
|
|
Private Sub GeneraImpresion(Optional Formato As String = "PDF")
|
|
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
|
|
|
|
Dim proveedor As String = If(DdlProveedores.SelectedValue = "", "", $" <b>Proveedor:</b> {DdlProveedores.SelectedText}")
|
|
Dim FI As String = If(TxtFiltrosFechaInicio.Text = "", "", $" <b>Fecha Inicio:</b> {TxtFiltrosFechaInicio.Text}")
|
|
Dim FF As String = If(TxtFiltrosFechaFin.Text = "", "", $" <b>Fecha Fin:</b> {TxtFiltrosFechaFin.Text}")
|
|
Dim vinc As String = If(ChkViculadas.Checked = True, " <b>Vinculadas:</b> SI", "")
|
|
Dim TP As String = If(DdlTipoProveedor.SelectedValue = "-1", "", $" <b>Tipo Proveedor:</b> {DdlTipoProveedor.SelectedItem.Text}")
|
|
Dim subProy As String = If(DdlSubProyecto.SelectedValue = "-1", "", $" <b>SubProyecto:</b> {DdlSubProyecto.SelectedItem.Text}")
|
|
Dim usuario As String = If(DdlUsuarioRegistra.SelectedValue = "-1", "", $" <b>Usuario registró:</b> {DdlUsuarioRegistra.SelectedItem.Text}")
|
|
|
|
If DTComplemntos IsNot Nothing AndAlso DTComplemntos.Rows.Count > 0 Then
|
|
|
|
Dim params As New List(Of ReportParameter)
|
|
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("AgrupadoPor", $"{proveedor}{FI}{FF}{vinc}{TP}{subProy}{usuario}"))
|
|
|
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepComplementoPago.rdlc", DTComplemntos, params, "RepComplementoPago", Formato)
|
|
Else
|
|
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
Protected Sub BtnPersonalizar_Click(sender As Object, e As EventArgs)
|
|
Personalizar()
|
|
ImgExcelPersonalizado.Visible = True
|
|
UpAcciones.Update()
|
|
End Sub
|
|
|
|
|
|
Protected Sub ImgExcelPersonalizado_Click(sender As Object, e As EventArgs) Handles ImgExcelPersonalizado.Click
|
|
|
|
' GvDatos.ExportToExcelGembox("RepComplementos_" & NowADS().ToShortDateString)
|
|
'GvDatos.ExportToExcelG("DetalleCompras_" & NowADS().ToShortDateString & ".xlsx")
|
|
Dim SubProyecto As String = ""
|
|
|
|
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then
|
|
SubProyecto = DdlSubProyecto.SelectedItem.Text
|
|
End If
|
|
|
|
Dim SbFiltros As New StringBuilder()
|
|
SbFiltros.AppendFormat($"Fecha Inicio: {TxtFiltrosFechaInicio.Text} Fecha Fin: {TxtFiltrosFechaFin.Text}|")
|
|
SbFiltros.AppendFormat("SubProyecto: {0}|", SubProyecto)
|
|
|
|
|
|
GvDatos.ExportToExcelGembox("RepComplementos_" & NowADS().ToShortDateString, UsuarioActual, "Reporte de Complementos Pago de Compras", DatoTituloExtra:=$"", DatosFiltros:=SbFiltros.ToString())
|
|
End Sub
|
|
|
|
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
|
|
End Sub
|
|
End Class
|