Resumen del mes en reporte diario en excel

This commit is contained in:
2021-06-07 12:53:51 -07:00
parent d38234eff8
commit e5c47a7c9a

View File

@@ -36,7 +36,7 @@ Partial Class Ventas_RepPS
'DdlMarca.Items.Insert(0, New ListItem("Todos", "-1"))
End If
If UsuarioActual.TienePermisoProceso(320) Then
If UsuarioActual.TienePermisoProceso(320) OrElse UsuarioActual.CveRol = 1 Then
LnkRepDiario.Visible = True
End If
@@ -242,9 +242,11 @@ Partial Class Ventas_RepPS
Dim TC As Integer = 1
Dim TCEspecifico As Decimal = -1
Dim FechaConsulta As DateTime = Now
Dim DataSet As DataSet = New DataSet
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetRepPSDiario(-1, -1, Now, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, GPO:=-1, CveMoneda:=CveMoneda, TipoCambio:=TC, TCEspecifico:=TCEspecifico) Then
If ObjVentas.GetRepPSDiario(-1, -1, FechaConsulta, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, GPO:=-1, CveMoneda:=CveMoneda, TipoCambio:=TC, TCEspecifico:=TCEspecifico) Then
DataSet = ObjVentas.DataSetResultados.Copy()
End If
ObjVentas.Dispose()
@@ -254,7 +256,7 @@ Partial Class Ventas_RepPS
Dim FileExcel As New ExcelFile()
Dim worksheetName As String = $"{ToShortMonthName(Now).ToUpper()}{Now.Day}"
Dim worksheetName As String = $"{ToShortMonthName(FechaConsulta).ToUpper()}{FechaConsulta.Day}"
Const invalidCharsRegex As String = "[/\\*'?[\]:]+"
Const maxLength As Integer = 31
Dim safeName As String = Regex.Replace(worksheetName, invalidCharsRegex, " ").Replace(" ", " ").Trim()
@@ -269,7 +271,7 @@ Partial Class Ventas_RepPS
Dim CellRangeTitulo = worksheet.Cells.GetSubrangeAbsolute(0, 0, 0, 12)
CellRangeTitulo.Merged = True
CellRangeTitulo.Value = $"{UsuarioActual.Empresa.Empresa}. VENTA DEL DIA {Now.Day} DE {ToMonthName(Now).ToUpper()} DEL {Now.Year}."
CellRangeTitulo.Value = $"{UsuarioActual.Empresa.Empresa}. VENTA DEL DIA {FechaConsulta.Day} DE {ToMonthName(FechaConsulta).ToUpper()} DEL {FechaConsulta.Year}."
CellRangeTitulo.Style.VerticalAlignment = VerticalAlignmentStyle.Center
CellRangeTitulo.Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
@@ -552,8 +554,8 @@ Partial Class Ventas_RepPS
Dim IdxRefAnioAnteriorLlantas As Integer = IdxPorcentajes + 3
worksheet.Cells(IdxRefAnioAnteriorLlantas, 0).Value = "Sucursal"
worksheet.Cells(IdxRefAnioAnteriorLlantas, 1).Value = (Now.Year - 1).ToString()
worksheet.Cells(IdxRefAnioAnteriorLlantas, 2).Value = Now.Year.ToString()
worksheet.Cells(IdxRefAnioAnteriorLlantas, 1).Value = (FechaConsulta.Year - 1).ToString()
worksheet.Cells(IdxRefAnioAnteriorLlantas, 2).Value = FechaConsulta.Year.ToString()
worksheet.Cells(IdxRefAnioAnteriorLlantas, 3).Value = "Dif"
Dim StyleTitleTable4 = worksheet.Cells.GetSubrangeAbsolute(IdxRefAnioAnteriorLlantas, 0, IdxRefAnioAnteriorLlantas, 3).Style
@@ -614,13 +616,117 @@ Partial Class Ventas_RepPS
DtAnioAnteriorLLantas.Dispose()
#End Region
#Region "L L A N T A S M E S A Ñ O A N T E R I O R"
Dim IdxRefMesAnioAnteriorLlantas As Integer = IdxAnioAnteriorLlantas + 3
worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas - 1, 1, IdxRefMesAnioAnteriorLlantas - 1, 3).Merged = True
worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas - 1, 4, IdxRefMesAnioAnteriorLlantas - 1, 6).Merged = True
worksheet.Cells(IdxRefMesAnioAnteriorLlantas - 1, 1).Value = "LLANTAS"
worksheet.Cells(IdxRefMesAnioAnteriorLlantas - 1, 4).Value = "%"
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 0).Value = "Sucursal"
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 1).Value = String.Format("{0} {1}", ToShortMonthName(FechaConsulta).ToUpper(), (FechaConsulta.Year - 1))
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 2).Value = String.Format("{0} {1}", ToShortMonthName(FechaConsulta).ToUpper(), (FechaConsulta.Year))
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 3).Value = "DIF %"
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 4).Value = String.Format("{0} - %", (FechaConsulta.Year - 1))
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 5).Value = String.Format("{0} - %", (FechaConsulta.Year))
worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 6).Value = "DIF %"
Dim StyleTitleTable5 = worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas - 1, 0, IdxRefMesAnioAnteriorLlantas - 1, 6).Style
StyleTitleTable5.Font.Weight = ExcelFont.BoldWeight
StyleTitleTable5.Font.Name = "Calibri"
StyleTitleTable5.Font.Size = 8 * 20
StyleTitleTable5.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
StyleTitleTable5.VerticalAlignment = VerticalAlignmentStyle.Center
StyleTitleTable5.HorizontalAlignment = HorizontalAlignmentStyle.Center
Dim StyleSubTitleTable5 = worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas, 0, IdxRefMesAnioAnteriorLlantas, 6).Style
StyleSubTitleTable5.Font.Weight = ExcelFont.BoldWeight
StyleSubTitleTable5.Font.Name = "Calibri"
StyleSubTitleTable5.Font.Size = 8 * 20
StyleSubTitleTable5.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
StyleSubTitleTable5.VerticalAlignment = VerticalAlignmentStyle.Center
StyleSubTitleTable5.HorizontalAlignment = HorizontalAlignmentStyle.Center
Dim DtMesAnioAnteriorLLantas As DataTable = DataSet.Tables(4)
'INICIA DESDE LA CUARTA FILA
Dim IdxMesAnioAnteriorLlantas As Integer = IdxRefMesAnioAnteriorLlantas + 1
For Each Row As DataRow In DtMesAnioAnteriorLLantas.Rows
worksheet.Cells(IdxMesAnioAnteriorLlantas, 0).Value = Row("Sucursal")
worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Value = Row("LLantasAnioAnterior")
worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Value = Row("LLantas")
worksheet.Cells(IdxMesAnioAnteriorLlantas, 3).Formula = $"=({worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name} - {worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name})"
worksheet.Cells(IdxMesAnioAnteriorLlantas, 4).Formula = $"=+(({worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name} * 1.07) - {worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name}) /12"
worksheet.Cells(IdxMesAnioAnteriorLlantas, 5).Formula = $"=+(({worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name} * 1) - {worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name}) /12"
worksheet.Cells(IdxMesAnioAnteriorLlantas, 6).Formula = $"=+({worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name} / {worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name}) - 1"
Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxMesAnioAnteriorLlantas, 0, IdxMesAnioAnteriorLlantas, 6).Style
StyleData.Font.Weight = ExcelFont.NormalWeight
StyleData.Font.Name = "Calibri"
StyleData.Font.Size = 8 * 20
StyleData.VerticalAlignment = VerticalAlignmentStyle.Center
StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center
StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-"
IdxMesAnioAnteriorLlantas += 1
Next
DtMesAnioAnteriorLLantas.Dispose()
#End Region
#Region "L L A N T A S M E S A Ñ O A N T E R I O R"
Dim IdxRefMesAnioAnteriorLlantasResumen As Integer = IdxMesAnioAnteriorLlantas + 2
worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 0).Value = "Mes"
worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 1).Value = String.Format("{0}", (FechaConsulta.Year - 1))
worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 2).Value = String.Format("{0}", (FechaConsulta.Year))
worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 3).Value = "DIF UDS"
worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 4).Value = "DIF %"
Dim StyleTitleTable6 = worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantasResumen, 0, IdxRefMesAnioAnteriorLlantasResumen, 4).Style
StyleTitleTable6.Font.Weight = ExcelFont.BoldWeight
StyleTitleTable6.Font.Name = "Calibri"
StyleTitleTable6.Font.Size = 8 * 20
StyleTitleTable6.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
StyleTitleTable6.VerticalAlignment = VerticalAlignmentStyle.Center
StyleTitleTable6.HorizontalAlignment = HorizontalAlignmentStyle.Center
Dim DtMesAnioAnteriorLLantasResumen As DataTable = DataSet.Tables(5)
'INICIA DESDE LA CUARTA FILA
Dim IdxMesAnioAnteriorLlantasResumen As Integer = IdxRefMesAnioAnteriorLlantasResumen + 1
For Each Row As DataRow In DtMesAnioAnteriorLLantasResumen.Rows
worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 0).Value = ToMonthName(FechaConsulta).ToUpper()
worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 1).Value = Row("LLantasAnioAnterior")
worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 2).Value = Row("LLantas")
worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 3).Formula = $"=({worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 1).Name} - {worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 2).Name})"
worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 4).Formula = $"=+({worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 2).Name} / {worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 1).Name})"
Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxMesAnioAnteriorLlantasResumen, 0, IdxMesAnioAnteriorLlantasResumen, 4).Style
StyleData.Font.Weight = ExcelFont.NormalWeight
StyleData.Font.Name = "Calibri"
StyleData.Font.Size = 8 * 20
StyleData.VerticalAlignment = VerticalAlignmentStyle.Center
StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center
StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-"
IdxMesAnioAnteriorLlantasResumen += 1
Next
DtMesAnioAnteriorLLantasResumen.Dispose()
#End Region
Dim columnCount = worksheet.CalculateMaxUsedColumns()
For i = 0 To columnCount
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
Next
FileExcel.Save(Response, $"DIARIO_{Now.ToString("dd_MM_yyyy")}.xlsx", SaveOptions.XlsxDefault)
FileExcel.Save(Response, $"DIARIO_{FechaConsulta.ToString("dd_MM_yyyy")}.xlsx", SaveOptions.XlsxDefault)
End If