diff --git a/App_Code/ClsOIEventos.vb b/App_Code/ClsOIEventos.vb index 54044a384..7b6bf94c7 100644 --- a/App_Code/ClsOIEventos.vb +++ b/App_Code/ClsOIEventos.vb @@ -1357,7 +1357,8 @@ Public Class ClsOIEventos #End Region #Region "Circular" - Public Function GetCircular(CveEmpresa As Integer, Optional CveCircular As Integer = -1, Optional FechaI As String = "-1", Optional FechaF As String = "-1") As Boolean + Public Function GetCircular(CveEmpresa As Integer, Optional CveCircular As Integer = -1, Optional FechaI As String = "-1", Optional FechaF As String = "-1", + Optional CveUsuario As Integer = -1) As Boolean FechaI = If(FechaI = "-1", Today.AddYears(-1).ToString, FechaI) FechaF = If(FechaF = "-1", Today.AddYears(1).ToString, FechaF) @@ -1371,6 +1372,7 @@ Public Class ClsOIEventos .Add("@CveCircular", SqlDbType.Int).Value = CveCircular .Add("@FechaI", SqlDbType.DateTime).Value = FechaI .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario End With @@ -1384,9 +1386,10 @@ Public Class ClsOIEventos Return Retorno End Function - Public Function AddCircular(Asunto As String, Circular As String, CorreosInternos As String, FechaIng As String, CveUsuario As Integer, CveEmpresa As Integer, Optional CorreosExternos As String = "-1") As Boolean + Public Function AddCircular(Asunto As String, Circular As String, CorreosInternos As String, FechaIng As String, CveUsuario As Integer, CveEmpresa As Integer, + Optional CorreosExternos As String = "-1", Optional Adjunto As String = "-1") As Integer - Dim Retorno As Boolean = False + Dim Retorno As Integer = -1 DataAdapter("PA_OI_CircularesAdd") @@ -1398,12 +1401,14 @@ Public Class ClsOIEventos .Add("@CorreosExternos", SqlDbType.VarChar).Value = CorreosExternos .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Adjunto", SqlDbType.VarChar).Value = Adjunto + .Add("@CveCircular", SqlDbType.Int).Direction = ParameterDirection.Output End With Try SqlAdapter.Fill(Data) - Retorno = True + Retorno = SqlAdapter.SelectCommand.Parameters("@CveCircular").Value.ToString.ToEntero Catch ex As Exception OnError("Ocurrió un error al agregar el Circular.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try diff --git a/General/CATIEPSxEntidadFed.aspx.cs b/General/CATIEPSxEntidadFed.aspx.cs index 4636cd002..5d9a71a71 100644 --- a/General/CATIEPSxEntidadFed.aspx.cs +++ b/General/CATIEPSxEntidadFed.aspx.cs @@ -106,10 +106,15 @@ public partial class General_CATIEPSxEntidadFed : ClsPaginas protected void LnkExcel_Click(object sender, EventArgs e) { - GVIEPSxEntidadFed.ExportToExcelx("IEPS porEntidad Federativa"); + Imprimir("Excel"); } protected void LnkPDF_Click(object sender, EventArgs e) + { + Imprimir("PDF"); + } + + private void Imprimir(string formato) { string FechaInicio = $" Fecha Inicio: {TxtIEPSfechaInicio.Text}"; string FechaFin = $" Fecha Inicio: {TxtIEPSfechaFin.Text}"; @@ -127,6 +132,6 @@ public partial class General_CATIEPSxEntidadFed : ClsPaginas paramList.Add(new ReportParameter("Filtros", $"{FechaInicio}{FechaFin}{IEPS}{Estado}{Agrupador}")); - ImprimirPDF("Empresas/Grales/Formatos/CatIepsEntidadFed.rdlc", DtIEPS, paramList,"IEPS por entidades federativa",RDSName:"DsInventarios"); + ImprimirPDF("Empresas/Grales/Formatos/CatIepsEntidadFed.rdlc", DtIEPS, paramList, "IEPS por entidades federativa",formato, RDSName: "DsInventarios"); } } diff --git a/OI/Circular.aspx b/OI/Circular.aspx index a7b7ad95d..1007eefbe 100644 --- a/OI/Circular.aspx +++ b/OI/Circular.aspx @@ -16,6 +16,9 @@
  • Agregar Circular
  • +
  • + PDF +
  • @@ -30,7 +33,7 @@
    -
    +
    Fecha Inicial:
    @@ -53,6 +56,10 @@
    +
    Usuario:
    +
    + +
    @@ -61,15 +68,15 @@ - + - - + + - \ No newline at end of file + diff --git a/OI/Circular.aspx.vb b/OI/Circular.aspx.vb index f9649b090..1a0b342f6 100644 --- a/OI/Circular.aspx.vb +++ b/OI/Circular.aspx.vb @@ -1,10 +1,21 @@ Imports System.Data Imports System.Linq Imports Extensiones +Imports Microsoft.Reporting.WebForms Partial Class OI_Circular Inherits ClsPaginas + Private Property DtDatos As DataTable + Get + DtDatos = DirectCast(ViewState("DtDatos"), DataTable) + End Get + + Set(ByVal value As DataTable) + ViewState("DtDatos") = value + End Set + End Property + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then IniciarFiltros() @@ -16,11 +27,16 @@ Partial Class OI_Circular Dim FechaF As DateTime = New DateTime(Today.Year, Today.Month, 1).AddMonths(1).AddDays(-1) TxtFechaI.Text = FechaI.ToString() TxtFechaF.Text = FechaF.ToString + + DdlUsuario.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) + DdlUsuario.DataBind() + DdlUsuario.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaDatos() Dim ObjOI As New ClsOIEventos - If ObjOI.GetCircular(UsuarioActual.CveEmpresa, -1, TxtFechaI.Text, TxtFechaF.Text) Then + If ObjOI.GetCircular(UsuarioActual.CveEmpresa, -1, TxtFechaI.Text, TxtFechaF.Text, DdlUsuario.SelectedValue.ToEntero) Then GvDatos.DataSource = ObjOI.DtResultados + DtDatos = ObjOI.DtResultados End If ObjOI.Dispose() GvDatos.DataBind() @@ -29,4 +45,22 @@ Partial Class OI_Circular Protected Sub btConsultar_Click() Handles btConsultar.Click CargaDatos() End Sub + + Protected Sub LnkPDF_Click() Handles LnkPDF.Click + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + 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)) + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + params.Add(New ReportParameter("FechaImpresion", Today)) + params.Add(New ReportParameter("Filtros", String.Format("Fecha Inicial: {0} Fecha Final: {1}", TxtFechaI.Text, TxtFechaF.Text))) + + ImprimirPDF("Empresas/Grales/Formatos/Circulares.rdlc", DtDatos, params, "Circulares", "PDF", RDSName:="DataSet1") + End Sub End Class diff --git a/OI/CircularDetalle.aspx b/OI/CircularDetalle.aspx index 61f187fd2..1d9bbdec7 100644 --- a/OI/CircularDetalle.aspx +++ b/OI/CircularDetalle.aspx @@ -14,24 +14,19 @@
  • - Agregar Circular +
  • - +
    - <%--Cliente: --%> - <%----%> - <%----%> - <%-- - -
    @@ -47,38 +42,50 @@

    -
    +
    Asunto:
    -
    +

    -
    +
    Para:
    -
    +
    +
    + Buscar +

    -
    +
    Correos Adicionales:
    -
    +

    -
    +
    Circular:
    -
    - +
    + +
    +
    +
    +
    +
    + Adjuntar archivo: +
    +
    +

    @@ -90,6 +97,64 @@
    + diff --git a/OI/CircularDetalle.aspx.vb b/OI/CircularDetalle.aspx.vb index c0f1202c5..c231670a5 100644 --- a/OI/CircularDetalle.aspx.vb +++ b/OI/CircularDetalle.aspx.vb @@ -1,10 +1,20 @@ Imports System.Data Imports System.Linq Imports Extensiones +Imports System.IO Partial Class OI_CircularDetalle Inherits ClsPaginas + Private Property DtUsuarios As DataTable + Get + Return If(IsNothing(ViewState("DtUsuarios")), Nothing, CType(ViewState("DtUsuarios"), DataTable)) + End Get + Set(value As DataTable) + ViewState("DtUsuarios") = value + End Set + End Property + Private Property CveCircular As Integer Get Return ViewState("CveCircular").ToString.ToEntero @@ -31,10 +41,10 @@ Partial Class OI_CircularDetalle Private Sub ConfigurarBotones() If CveCircular > 0 Then - BtnGuardar.Text = "Guardar" + BtnGuardar.Text = "Actualizar" BtnEliminar.Visible = True Else - BtnGuardar.Text = "Actualizar" + BtnGuardar.Text = "Guardar" End If End Sub @@ -53,6 +63,14 @@ Partial Class OI_CircularDetalle End If ObjOI.Dispose() End If + + DdlRolesFiltro.DataSource = GlobalDTRoles(UsuarioActual.CveEmpresa) + DdlRolesFiltro.DataBind() + DdlRolesFiltro.Items.Insert(0, New ListItem("Todos", "-1")) + + DdlSucursales.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa) + DdlSucursales.DataBind() + DdlSucursales.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Private Sub BtnGuardar_Click() Handles BtnGuardar.Click @@ -63,7 +81,9 @@ Partial Class OI_CircularDetalle End If Else Dim CorreoExtra As String = If(TxtCorreoAdicional.Value = "", "-1", TxtCorreoAdicional.Value) - If ObjOI.AddCircular(TxtAsunto.Text, TxtCircular.Value, TxtCorreo.Value, Today.ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CorreoExtra) Then + Dim CircularInsertado As Integer = ObjOI.AddCircular(TxtAsunto.Text, TxtCircular.Value, TxtCorreo.Value, Today.ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CorreoExtra) + If CircularInsertado > 0 Then + GuardarArchivo(CircularInsertado) Alert("Ingresado correctamente") End If End If @@ -76,4 +96,113 @@ Partial Class OI_CircularDetalle End If ObjOI.Dispose() End Sub + + Protected Sub LbBuscar_Click(sender As Object, e As EventArgs) Handles LbBuscar.Click + LimpiarModal() + RegistraScript("$('#ModalDescuento').modal()") + End Sub + + Private Sub LimpiarModal() + DdlRolesFiltro.SelectedValue = -1 + DdlSucursales.SelectedValue = -1 + GvUsuarios.DataSource = Nothing + GvUsuarios.DataBind() + UpUsuarios.Update() + End Sub + + Protected Sub BtnBuscar_Click() Handles BtnBuscar.Click + Dim buscadorQuery As New StringBuilder + buscadorQuery.Append(If(DdlRolesFiltro.SelectedValue.ToEntero > 0, String.Format("CveRol = {0}", DdlRolesFiltro.SelectedValue), "")) + buscadorQuery.Append(If(DdlSucursales.SelectedValue.ToEntero > 0, String.Format("{0} CveSubProyecto = {1}", If(buscadorQuery.Length > 0, "AND", ""), DdlSucursales.SelectedValue), "")) + GvUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(buscadorQuery.ToString) + DtUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(buscadorQuery.ToString) + GvUsuarios.DataBind() + UpUsuarios.Update() + RegistraScript("$('#ModalDescuento').modal()") + End Sub + + Private Sub BtnAplicarDescG_Click() Handles BtnAplicarDescG.Click + Dim UsuariosCorreos As String = "" + For Each usuario As DataRow In DtUsuarios.Rows + If usuario.Item("Correo").ToString.Length > 0 Then + UsuariosCorreos = String.Format("{0}{1}" & Environment.NewLine, UsuariosCorreos, usuario.Item("Correo").ToString) + End If + Next + TxtCorreo.Value = UsuariosCorreos + RegistraScript("$('#ModalDescuento').modal('hide')") + UpCliente.Update() + End Sub + + Private Function GuardarArchivo(CircularInsertado As Integer) As String + + Dim respuesta As String = "" + + Dim FileExtension As String = "-1" + Dim Filesgral As List(Of Archivo) = TxtFileDocumentacion.getfiles().Archivos + Dim Filename As String = "" + + For Each fileItem As Archivo In Filesgral + Try + respuesta = fileItem.filenameO + FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") + Dim tempArray() As String + tempArray = fileItem.filename.ToString().Split("-".ToCharArray()) + + Dim rutaDestino As String = UsuarioActual.Empresa.Ruta & "Formatos\" & CircularInsertado & "_" & fileItem.filenameO + 'Dim docAnterior As String = UsuarioActual.Empresa.Ruta & "Formatos\" & _CveDocumentacion & "_" & DocumentacionFormato + + 'If DocumentacionFormato.Trim.Length > 0 Then + ' If File.Exists(docAnterior) Then + ' File.Delete(docAnterior) + ' End If + 'End If + + If Not Directory.Exists(UsuarioActual.Empresa.Ruta & "\Formatos") Then + Directory.CreateDirectory(UsuarioActual.Empresa.Ruta & "\Formatos") + + End If + + If System.IO.File.Exists(rutaDestino) Then + System.IO.File.Delete(rutaDestino) + End If + + System.IO.File.Move(fileItem.FileUrl, rutaDestino) + + Catch ex As Exception + OnError("Error al cargar archivo", ex) + End Try + TxtFileDocumentacion.Text = "" + Next + + + Return respuesta + End Function + + Protected Sub LnkMandarCorreo_Click() Handles LnkMandarCorreo.Click + Dim correos() As String + correos = TxtCorreo.Value.Split(Environment.NewLine) + 'MandaCorreo() + End Sub + + Private Sub MandaCorreo(Asunto As String, Para As String, ArrayCC As String, body As String, ArchivoBinario As Byte()) + + Dim a As String = String.Format("{0} -- {1} --- {2}", Asunto, Para, ArrayCC) + a.GuardaLog() + + Dim Mail As New ClsSisMail() + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) + Dim itemMail As New ClsSisMail.ArchivoMail + + With itemMail + itemMail.ArchivoBinario = ArchivoBinario + itemMail.NombreArchivo = "Invitación.pdf" + + End With + + LSRutasMail.Add(itemMail) + + + Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, body, ArrayCC, LSRutasMail) + Mail = Nothing + End Sub End Class diff --git a/vwd.webinfo b/vwd.webinfo index c9e193dc4..6b76e11e1 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -50,6 +50,8 @@ + +