diff --git a/Ventas/RepPS.aspx b/Ventas/RepPS.aspx
index 1d4e762d4..7c3aeed05 100644
--- a/Ventas/RepPS.aspx
+++ b/Ventas/RepPS.aspx
@@ -67,6 +67,9 @@
Excel
+
+ Reporte Diario
+
@@ -134,33 +137,32 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--%>
-
+
@@ -190,14 +192,13 @@
-
+
-
-
-
+
+
diff --git a/Ventas/RepPS.aspx.vb b/Ventas/RepPS.aspx.vb
index 66fb8aea5..5ae077225 100644
--- a/Ventas/RepPS.aspx.vb
+++ b/Ventas/RepPS.aspx.vb
@@ -4,10 +4,12 @@ Option Strict On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
-
+Imports GemBox.Spreadsheet
+Imports System.Globalization
+
Partial Class Ventas_RepPS
- Inherits ClsPaginas
-
+ Inherits ClsPaginas
+
#Region "P R O P I E D A D E S"
Private Property DtReporte As DataTable
Get
@@ -16,9 +18,9 @@ Partial Class Ventas_RepPS
Set(value As DataTable)
ViewState("DtReporte") = value
End Set
- End Property
+ End Property
#End Region
-
+
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
pnlOrden.Visible = False
@@ -34,6 +36,10 @@ Partial Class Ventas_RepPS
'DdlMarca.Items.Insert(0, New ListItem("Todos", "-1"))
End If
+ If UsuarioActual.TienePermisoProceso(320) Then
+ LnkRepDiario.Visible = True
+ End If
+
CargaDatosIniciales()
CargaCombos()
@@ -179,9 +185,9 @@ Partial Class Ventas_RepPS
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
- End Sub
-
-
+ End Sub
+
+
#Region " IMPRIMIR "
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
If GvDatos.Rows.Count > 0 Then
@@ -227,8 +233,404 @@ Partial Class Ventas_RepPS
Alert("No hay información para mostrar.", TipoMensaje.MsgAdvertencia)
End If
- End Sub
-
+ End Sub
+
#End Region
-
+
+ Protected Sub LnkRepDiario_Click(sender As Object, e As EventArgs)
+ Dim CveMoneda As Integer = -1
+ Dim TC As Integer = 1
+ Dim TCEspecifico As Decimal = -1
+
+ 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
+ DataSet = ObjVentas.DataSetResultados.Copy()
+ End If
+ ObjVentas.Dispose()
+
+ If DataSet IsNot Nothing Then
+ SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
+
+ Dim FileExcel As New ExcelFile()
+
+ Dim worksheetName As String = $"{ToShortMonthName(Now).ToUpper()}{Now.Day}"
+ Const invalidCharsRegex As String = "[/\\*'?[\]:]+"
+ Const maxLength As Integer = 31
+ Dim safeName As String = Regex.Replace(worksheetName, invalidCharsRegex, " ").Replace(" ", " ").Trim()
+
+ If String.IsNullOrEmpty(safeName) Then
+ safeName = "RepPSDiario" ' cannot be empty
+ ElseIf safeName.Length > maxLength Then
+ safeName = safeName.Substring(0, maxLength)
+ End If
+
+ Dim worksheet = FileExcel.Worksheets.Add(safeName)
+
+ 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.Style.VerticalAlignment = VerticalAlignmentStyle.Center
+ CellRangeTitulo.Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+#Region "V E N T A S - L L A N T A S, R I N E S, A L I N E A C I O N E S"
+ worksheet.Cells(2, 0).Value = "Sucursal"
+ 'TITULO DE LLANTAS
+ worksheet.Cells.GetSubrangeAbsolute(1, 1, 1, 3).Merged = True
+ worksheet.Cells(1, 3).Value = "LLANTAS"
+ worksheet.Cells(2, 1).Value = "Ant"
+ worksheet.Cells(2, 2).Value = "Dia"
+ worksheet.Cells(2, 3).Value = "Acum"
+ 'TITULO DE RINES
+ worksheet.Cells.GetSubrangeAbsolute(1, 4, 1, 6).Merged = True
+ worksheet.Cells(1, 6).Value = "RINES"
+ worksheet.Cells(2, 4).Value = "Ant"
+ worksheet.Cells(2, 5).Value = "Dia"
+ worksheet.Cells(2, 6).Value = "Acum"
+ 'TITULO DE ALINEACIONES
+ worksheet.Cells.GetSubrangeAbsolute(1, 7, 1, 9).Merged = True
+ worksheet.Cells(1, 9).Value = "ALINEACIONES"
+ worksheet.Cells(2, 7).Value = "Ant"
+ worksheet.Cells(2, 8).Value = "Dia"
+ worksheet.Cells(2, 9).Value = "Acum"
+ 'TITULO DE VENTAS DEL DIA
+ worksheet.Cells.GetSubrangeAbsolute(1, 10, 1, 12).Merged = True
+ worksheet.Cells(1, 12).Value = "VENTA EN PESOS"
+ worksheet.Cells(2, 10).Value = "Ant"
+ worksheet.Cells(2, 11).Value = "Dia"
+ worksheet.Cells(2, 12).Value = "Acum"
+
+ Dim StyleTitleTable1 = worksheet.Cells.GetSubrangeAbsolute(1, 1, 1, 12).Style
+ StyleTitleTable1.Font.Weight = ExcelFont.BoldWeight
+ StyleTitleTable1.Font.Name = "Calibri"
+ StyleTitleTable1.Font.Size = 8 * 20
+ StyleTitleTable1.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleTitleTable1.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleTitleTable1.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim StyleSubTitleTable1 = worksheet.Cells.GetSubrangeAbsolute(2, 0, 2, 12).Style
+ StyleSubTitleTable1.Font.Weight = ExcelFont.BoldWeight
+ StyleSubTitleTable1.Font.Name = "Calibri"
+ StyleSubTitleTable1.Font.Size = 8 * 20
+ StyleSubTitleTable1.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleSubTitleTable1.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleSubTitleTable1.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim DtSucursalesLLantasAlin As DataTable = DataSet.Tables(0)
+
+ 'INICIA DESDE LA CUARTA FILA
+ Dim IdxSucursalesLlantasAlin As Integer = 3
+ For Each Row As DataRow In DtSucursalesLLantasAlin.Rows
+ worksheet.Cells(IdxSucursalesLlantasAlin, 0).Value = Row("SubProyecto")
+
+ worksheet.Cells(IdxSucursalesLlantasAlin, 1).Value = Row("LlantasCantidadAnterior")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 2).Value = Row("LlantasCantidadDia")
+ 'worksheet.Cells(IdxSucursalesLlantasAlin, 3).Value = Row("LlantasCantidadAcumulada")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 3).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 1).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 2).Name})"
+
+ worksheet.Cells(IdxSucursalesLlantasAlin, 4).Value = Row("RinCantidadAnterior")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 5).Value = Row("RinCantidadDia")
+ 'worksheet.Cells(IdxSucursalesLlantasAlin, 6).Value = Row("RinCantidadAcumulada")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 6).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 4).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 5).Name})"
+
+ worksheet.Cells(IdxSucursalesLlantasAlin, 7).Value = Row("AlinCantidadAnterior")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 8).Value = Row("AlinCantidadDia")
+ 'worksheet.Cells(IdxSucursalesLlantasAlin, 9).Value = Row("AlinCantidadAcumulada")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 9).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 7).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 8).Name})"
+
+ worksheet.Cells(IdxSucursalesLlantasAlin, 10).Value = Row("VentaAnterior")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 11).Value = Row("VentaDia")
+ 'worksheet.Cells(IdxSucursalesLlantasAlin, 12).Value = Row("VentaAcumulada")
+ worksheet.Cells(IdxSucursalesLlantasAlin, 12).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 10).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 11).Name})"
+
+ Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesLlantasAlin, 0, IdxSucursalesLlantasAlin, 12).Style
+ StyleData.Font.Weight = ExcelFont.BoldWeight
+ 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_-;_-* ""-""??_-;_-@_-"
+
+ 'LAS VENTAS DEL DIA NO DEBEN ESTAR EN NEGRITAS
+ worksheet.Cells(IdxSucursalesLlantasAlin, 0).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesLlantasAlin, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
+
+ worksheet.Cells(IdxSucursalesLlantasAlin, 2).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesLlantasAlin, 5).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesLlantasAlin, 8).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesLlantasAlin, 11).Style.Font.Weight = ExcelFont.NormalWeight
+
+ IdxSucursalesLlantasAlin += 1
+ Next
+ 'LA FILA DE LOS TOTALES DEBE ESTAR EN NEGITAS
+ worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesLlantasAlin - 1, 0, IdxSucursalesLlantasAlin - 1, 12).Style.Font.Weight = ExcelFont.BoldWeight
+
+ DtSucursalesLLantasAlin.Dispose()
+#End Region
+
+#Region "V E N T A S - S E R V I C I O S D E I N S T A L A C I O N, A M O R T I G U A D O R E S, P O L I Z A S"
+ Dim IdxRefSucursalesServiciosAmortPolizas As Integer = IdxSucursalesLlantasAlin + 3
+
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 0).Value = "Sucursal"
+ 'TITULO SERVICIOS DE INSTALACION
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 1, IdxRefSucursalesServiciosAmortPolizas - 1, 3).Merged = True
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 3).Value = "SERVICIOS DE INSTALACION"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 1).Value = "Ant"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 2).Value = "Dia"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 3).Value = "Acum"
+ 'TITULO AMORTIGUADORES
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 4, IdxRefSucursalesServiciosAmortPolizas - 1, 6).Merged = True
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 6).Value = "AMORTIGUADORES"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 4).Value = "Ant"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 5).Value = "Dia"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 6).Value = "Acum"
+ 'TITULO DE POLIZAS
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 7, IdxRefSucursalesServiciosAmortPolizas - 1, 9).Merged = True
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 9).Value = "POLIZAS"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 7).Value = "Ant"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 8).Value = "Dia"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 9).Value = "Acum"
+ 'TITULO DE VENTAS DEL DIA
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 10, IdxRefSucursalesServiciosAmortPolizas - 1, 12).Merged = True
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 12).Value = "MANO DE OBRA PESOS"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 10).Value = "Ant"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 11).Value = "Dia"
+ worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 12).Value = "Acum"
+
+ Dim StyleTitleTable2 = worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 1, IdxRefSucursalesServiciosAmortPolizas - 1, 12).Style
+ StyleTitleTable2.Font.Weight = ExcelFont.BoldWeight
+ StyleTitleTable2.Font.Name = "Calibri"
+ StyleTitleTable2.Font.Size = 8 * 20
+ StyleTitleTable2.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleTitleTable2.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleTitleTable2.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim StyleSubTitleTable2 = worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas, 0, IdxRefSucursalesServiciosAmortPolizas, 12).Style
+ StyleSubTitleTable2.Font.Weight = ExcelFont.BoldWeight
+ StyleSubTitleTable2.Font.Name = "Calibri"
+ StyleSubTitleTable2.Font.Size = 8 * 20
+ StyleSubTitleTable2.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleSubTitleTable2.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleSubTitleTable2.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim DtSucursalesServiciosAmortPolizas As DataTable = DataSet.Tables(1)
+
+ 'INICIA DESDE LA CUARTA FILA
+ Dim IdxSucursalesServiciosAmortPolizas As Integer = IdxRefSucursalesServiciosAmortPolizas + 1
+
+ For Each Row As DataRow In DtSucursalesServiciosAmortPolizas.Rows
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 0).Value = Row("SubProyecto")
+
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 1).Value = Row("ServiciosCantidadAnterior")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 2).Value = Row("ServiciosCantidadDia")
+ 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 3).Value = Row("ServiciosCantidadAcumulada")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 3).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 1).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 2).Name})"
+
+
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 4).Value = Row("AmortCantidadAnterior")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 5).Value = Row("AmortCantidadDia")
+ 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 6).Value = Row("AmortCantidadAcumulada")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 6).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 4).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 5).Name})"
+
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 7).Value = Row("PolizasCantidadAnterior")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 8).Value = Row("PolizasCantidadDia")
+ 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 9).Value = Row("PolizasCantidadAcumulada")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 9).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 7).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 8).Name})"
+
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 10).Value = Row("VentaAnterior")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 11).Value = Row("VentaDia")
+ 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 12).Value = Row("VentaAcumulada")
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 12).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 10).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 11).Name})"
+
+ Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesServiciosAmortPolizas, 0, IdxSucursalesServiciosAmortPolizas, 12).Style
+ StyleData.Font.Weight = ExcelFont.BoldWeight
+ 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_-;_-* ""-""??_-;_-@_-"
+
+ 'LAS VENTAS DEL DIA NO DEBEN ESTAR EN NEGRITAS
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 0).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
+
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 2).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 5).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 8).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 11).Style.Font.Weight = ExcelFont.NormalWeight
+
+ IdxSucursalesServiciosAmortPolizas += 1
+ Next
+ 'LA FILA DE LOS TOTALES DEBE ESTAR EN NEGITAS
+ worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesServiciosAmortPolizas - 1, 0, IdxSucursalesServiciosAmortPolizas - 1, 12).Style.Font.Weight = ExcelFont.BoldWeight
+
+ DtSucursalesServiciosAmortPolizas.Dispose()
+#End Region
+
+#Region "P O R C E N T A J E S"
+ Dim IdxRefPorcentajes As Integer = IdxSucursalesServiciosAmortPolizas + 3
+
+ worksheet.Cells(IdxRefPorcentajes, 0).Value = "Sucursal"
+ 'TITULO SERVICIOS
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 1, IdxRefPorcentajes - 1, 2).Merged = True
+ worksheet.Cells(IdxRefPorcentajes - 1, 2).Value = "INSTALACION"
+ worksheet.Cells(IdxRefPorcentajes, 1).Value = "Cant"
+ worksheet.Cells(IdxRefPorcentajes, 2).Value = "%"
+ 'TITULO POLIZAS
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 3, IdxRefPorcentajes - 1, 4).Merged = True
+ worksheet.Cells(IdxRefPorcentajes - 1, 4).Value = "POLIZAS"
+ worksheet.Cells(IdxRefPorcentajes, 3).Value = "Cant"
+ worksheet.Cells(IdxRefPorcentajes, 4).Value = "%"
+ 'TITULO DE ALINEACIONES
+ worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 5, IdxRefPorcentajes - 1, 6).Merged = True
+ worksheet.Cells(IdxRefPorcentajes - 1, 6).Value = "ALINEACIONES"
+ worksheet.Cells(IdxRefPorcentajes, 5).Value = "Cant"
+ worksheet.Cells(IdxRefPorcentajes, 6).Value = "%"
+
+
+ Dim StyleTitleTable3 = worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 1, IdxRefPorcentajes - 1, 6).Style
+ StyleTitleTable3.Font.Weight = ExcelFont.BoldWeight
+ StyleTitleTable3.Font.Name = "Calibri"
+ StyleTitleTable3.Font.Size = 8 * 20
+ StyleTitleTable3.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleTitleTable3.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleTitleTable3.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim StyleSubTitleTable3 = worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes, 0, IdxRefPorcentajes, 6).Style
+ StyleSubTitleTable3.Font.Weight = ExcelFont.BoldWeight
+ StyleSubTitleTable3.Font.Name = "Calibri"
+ StyleSubTitleTable3.Font.Size = 8 * 20
+ StyleSubTitleTable3.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleSubTitleTable3.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleSubTitleTable3.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim DtPorcentajes As DataTable = DataSet.Tables(2)
+
+ 'INICIA DESDE LA CUARTA FILA
+ Dim IdxPorcentajes As Integer = IdxRefPorcentajes + 1
+
+ For Each Row As DataRow In DtPorcentajes.Rows
+ worksheet.Cells(IdxPorcentajes, 0).Value = Row("SubProyecto")
+
+ worksheet.Cells(IdxPorcentajes, 1).Value = Row("Servicios")
+ worksheet.Cells(IdxPorcentajes, 2).Value = Row("ServiciosPorcentaje")
+
+ worksheet.Cells(IdxPorcentajes, 3).Value = Row("Polizas")
+ worksheet.Cells(IdxPorcentajes, 4).Value = Row("PolizasPorcentaje")
+
+ worksheet.Cells(IdxPorcentajes, 5).Value = Row("Alineaciones")
+ worksheet.Cells(IdxPorcentajes, 6).Value = Row("AlinPorcentaje")
+
+ Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxPorcentajes, 0, IdxPorcentajes, 6).Style
+ StyleData.Font.Weight = ExcelFont.BoldWeight
+ 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_-;_-* ""-""??_-;_-@_-"
+
+ 'LAS VENTAS DEL DIA NO DEBEN ESTAR EN NEGRITAS
+ worksheet.Cells(IdxPorcentajes, 0).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxPorcentajes, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
+
+ worksheet.Cells(IdxPorcentajes, 1).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxPorcentajes, 3).Style.Font.Weight = ExcelFont.NormalWeight
+ worksheet.Cells(IdxPorcentajes, 5).Style.Font.Weight = ExcelFont.NormalWeight
+
+ IdxPorcentajes += 1
+ Next
+ 'LA FILA DE LOS TOTALES DEBE ESTAR EN NEGITAS
+ worksheet.Cells.GetSubrangeAbsolute(IdxPorcentajes - 1, 0, IdxPorcentajes - 1, 6).Style.Font.Weight = ExcelFont.BoldWeight
+
+ DtPorcentajes.Dispose()
+#End Region
+
+#Region "A Ñ O A N T E R I O R"
+ 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, 3).Value = "Dif"
+
+ Dim StyleTitleTable4 = worksheet.Cells.GetSubrangeAbsolute(IdxRefAnioAnteriorLlantas, 0, IdxRefAnioAnteriorLlantas, 3).Style
+ StyleTitleTable4.Font.Weight = ExcelFont.BoldWeight
+ StyleTitleTable4.Font.Name = "Calibri"
+ StyleTitleTable4.Font.Size = 8 * 20
+ StyleTitleTable4.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin)
+ StyleTitleTable4.VerticalAlignment = VerticalAlignmentStyle.Center
+ StyleTitleTable4.HorizontalAlignment = HorizontalAlignmentStyle.Center
+
+ Dim DtAnioAnteriorLLantas As DataTable = DataSet.Tables(3)
+ 'INICIA DESDE LA CUARTA FILA
+ Dim IdxAnioAnteriorLlantas As Integer = IdxRefAnioAnteriorLlantas + 1
+
+ For Each Row As DataRow In DtAnioAnteriorLLantas.FiltraParametros("TipoFila > 1").Rows
+ worksheet.Cells(IdxAnioAnteriorLlantas, 0).Value = Row("Grupo")
+ worksheet.Cells(IdxAnioAnteriorLlantas, 1).Value = Row("LLantasAnioAnterior")
+ worksheet.Cells(IdxAnioAnteriorLlantas, 2).Value = Row("LLantas")
+ worksheet.Cells(IdxAnioAnteriorLlantas, 3).Formula = $"=({worksheet.Cells(IdxAnioAnteriorLlantas, 1).Name} - {worksheet.Cells(IdxAnioAnteriorLlantas, 2).Name})"
+
+
+ Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxAnioAnteriorLlantas, 0, IdxAnioAnteriorLlantas, 3).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_-;_-* ""-""??_-;_-@_-"
+
+ If Row("TipoFila").ToString() = "2" Then
+ StyleData.Font.Weight = ExcelFont.BoldWeight
+ StyleData.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(255, 215, 0), SpreadsheetColor.FromArgb(255, 255, 255))
+ End If
+
+ IdxAnioAnteriorLlantas += 1
+ Next
+
+ For Each Row As DataRow In DtAnioAnteriorLLantas.FiltraParametros("TipoFila = 1").Rows
+ worksheet.Cells(IdxAnioAnteriorLlantas, 0).Value = Row("Grupo")
+ worksheet.Cells(IdxAnioAnteriorLlantas, 1).Value = Row("LLantasAnioAnterior")
+ worksheet.Cells(IdxAnioAnteriorLlantas, 2).Value = Row("LLantas")
+ worksheet.Cells(IdxAnioAnteriorLlantas, 3).Formula = $"=(+{worksheet.Cells(IdxAnioAnteriorLlantas, 1).Name} - {worksheet.Cells(IdxAnioAnteriorLlantas, 2).Name})"
+
+
+ Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxAnioAnteriorLlantas, 0, IdxAnioAnteriorLlantas, 3).Style
+ StyleData.Font.Weight = ExcelFont.BoldWeight
+ 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_-;_-* ""-""??_-;_-@_-"
+ StyleData.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(255, 215, 0), SpreadsheetColor.FromArgb(255, 255, 255))
+
+ IdxAnioAnteriorLlantas += 1
+ Next
+ DtAnioAnteriorLLantas.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)
+
+ End If
+
+ End Sub
+
+ Public Function ToMonthName(ByVal dateTime As DateTime) As String
+ Return New CultureInfo("es-MX").DateTimeFormat.GetMonthName(dateTime.Month)
+ End Function
+
+ Public Function ToShortMonthName(ByVal dateTime As DateTime) As String
+ Return New CultureInfo("es-MX").DateTimeFormat.GetAbbreviatedMonthName(dateTime.Month)
+ End Function
End Class