Files
SIG/Acumuladores/EntradasUsadosResumenRep.aspx.vb
2023-10-09 11:55:07 -07:00

193 lines
7.1 KiB
VB.net

Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports GemBox.Spreadsheet
Imports System.IO
Partial Class Acumuladores_RepEntradasUsados
Inherits ClsPaginas
Private DiasSemana(7) As String
Private Meses(12) As String
Private Cargado As Integer = 0
Private Property DatosEntradasUsados() As DataTable
Get
Return CType(ViewState("DatosEntradasUsados"), DataTable)
End Get
Set(value As DataTable)
ViewState("DatosEntradasUsados") = value
End Set
End Property
Protected Sub Page_Load() Handles Me.Load
If Not IsPostBack Then
txtFechaI.Text = Today.AddDays((-1) * (Today.Day - 1)).ToShortDateString
txtFechaF.Text = Today.ToShortDateString
CargarDatos()
CargarCombos()
End If
End Sub
Protected Sub CargarDatos()
DdlAlmacenes.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen = 22")
DdlAlmacenes.DataBind()
End Sub
Protected Sub CargarCombos()
Dim fecha As Date = NowADS().AddMonths(-1)
Dim Años As New ListItem
Dim i As Integer
If Cargado = 0 Then
For i = NowADS().Year.ToEntero To (fecha.Year.ToEntero - 5) Step -1
Años = New ListItem(i.ToString, i.ToString)
DdlAño.Items.Add(Años)
Next
End If
Cargado = 1
DdlAño.SelectedValue = fecha.Year.ToString
DdlMes.SelectedValue = fecha.Month.ToString
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
Dim ObjAcum As New ClsAcumuladores
BtnImprimir.Visible = False
If ObjAcum.EntradasUsadosGet(UsuarioActual.CveEmpresa, DdlAlmacenes.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate) Then
GvAcum.DataSource = ObjAcum.DtResultados
DatosEntradasUsados = ObjAcum.DtResultados
If DatosEntradasUsados IsNot Nothing AndAlso DatosEntradasUsados.Rows.Count > 0 Then
BtnImprimir.Visible = True
End If
End If
ObjAcum.Dispose()
GvAcum.DataBind()
UpAcciones.Update()
UpDatos.Update()
End Sub
Protected Sub BtnImprimir_Click(sender As Object, e As EventArgs)
Dim Dia As String = {"lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo"}(If((Weekday(Today) - 2) = -1, 7, Weekday(Today) - 2))
Dim Mes As String = {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}(Month(Today) - 1)
Dim FechaConFormato As String = String.Format("{0}, {1} de {2} de {3}", Dia, Day(Today), Mes, Year(Today))
Dim Direccion As String = String.Format("{0} {1}", UsuarioActual.Empresa.Direccion.ToString, UsuarioActual.Empresa.NoExt.ToString)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Direccion", Direccion))
params.Add(New ReportParameter("FechaConFormato", NowADS().ToString))
params.Add(New ReportParameter("FechaInicial", txtFechaI.Text))
params.Add(New ReportParameter("FechaFinal", txtFechaF.Text))
params.Add(New ReportParameter("Sucursal", "Sucursal"))
params.Add(New ReportParameter("Almacen", DdlAlmacenes.SelectedItem.ToString))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = DatosEntradasUsados}
ImprimirPDF(String.Format("Empresas/{0}/Formatos/RepEntradasUsados.rdlc", UsuarioActual.CveEmpresa), DatosEntradasUsados, params, "Reporte entrada usados", "PDF")
End Sub
Protected Sub BtnDescargaSabana_Click(sender As Object, e As EventArgs) Handles BtnDescargaSabana.Click
RegistraScript(String.Format("$('#{0}').modal('show');", "DivModalSabana"))
'RegistraScript("$('#DModalEditarFecha').modal('hide')")
End Sub
Protected Sub BtnDescargarSabana_Click(sender As Object, e As EventArgs) Handles BtnDescargarSabana.Click
Dim Retorno As New IO.MemoryStream()
Dim ObjAcum As New ClsAcumuladores
Dim Mes As String = DdlMes.SelectedValue.ToString
Dim Año As String = DdlAño.SelectedValue.ToString
Dim Fecha As Date = (String.Format("01/{0}/{1}", Mes, Año)).ToDate
Dim dt As DataTable
Dim NombreArchivo As String
Try
If DdlOpcion.SelectedValue = "1" Then
ObjAcum.GetSabanaVenta(Fecha, 1, UsuarioActual.CveEmpresa)
ElseIf DdlOpcion.SelectedValue = "2" Then
ObjAcum.GetSabanaVenta(Fecha, 2, UsuarioActual.CveEmpresa)
End If
dt = ObjAcum.DtResultados
If dt IsNot Nothing And dt.Rows.Count > 0 Then
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim workbook As New ExcelFile()
Dim worksheet = workbook.Worksheets.Add("DATOS")
worksheet.InsertDataTable(dt, New InsertDataTableOptions() With
{
.ColumnHeaders = True,
.StartRow = 0,
.StartColumn = 0
})
worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
Dim columnCount = worksheet.CalculateMaxUsedColumns()
For i = 0 To columnCount
'COLUMNA DE FECHA
If i = 1 Then
worksheet.Columns(i).Style.NumberFormat = "dd/MM/yyyy"
End If
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
Next
Año = Strings.Right(Año, 2)
If Mes.ToEntero < 10 Then
Mes = String.Format("0{0}", Mes)
End If
If DdlOpcion.SelectedValue = "1" Then
NombreArchivo = String.Format("700415-{0}{1}-GE", Mes, Año)
workbook.Save(Response, $"{NombreArchivo}.xlsx", SaveOptions.XlsxDefault)
ElseIf DdlOpcion.SelectedValue = "2" Then
NombreArchivo = String.Format("700415-{0}{1}-CS", Mes, Año)
workbook.Save(Response, $"{NombreArchivo}.xlsx", SaveOptions.XlsxDefault)
End If
End If
Catch ex As Exception
GuardaLog(String.Format("Ocurrio un error al generar el excel {0}", ex.Message))
End Try
ObjAcum.Dispose()
RegistraScript("$('#DModalEditarFecha').modal('hide')")
End Sub
Protected Sub GvAcum_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("CvePSCargo").ToEntero <= 0 Then
e.Row.CssClass = "Totales"
End If
End If
End Sub
End Class