Rep finanazas

This commit is contained in:
rakcsle
2023-08-09 08:26:12 -07:00
parent 9045d861dc
commit 084dc1602b
4 changed files with 366 additions and 195 deletions

View File

@@ -525,6 +525,12 @@
$('[data-toggle="tooltip"]').tooltip(); $('[data-toggle="tooltip"]').tooltip();
}); });
} }
</script> </script>
</asp:Content> </asp:Content>

View File

@@ -3,6 +3,19 @@
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<style>
#chartdiv {
width: 100%;
height: 500px;
}
.fa.fa-bar-chart {
width: 16px;
height: 14px;
}
</style>
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
@@ -52,13 +65,13 @@
<label class="col-md-1" runat="server" id="LiEjercicioLbl">Ejercicio Inicio: </label> <label class="col-md-1" runat="server" id="LiEjercicioLbl">Ejercicio Inicio: </label>
<div class="col-md-2 " runat="server" id="LiEjercicioDdl"> <div class="col-md-2 " runat="server" id="LiEjercicioDdl">
<asp:DropDownList ID="DdlEjercicio" runat="server" CssClass="select2me" DataTextField="Ejercicio" DataValueField="Ejercicio" Width="130px" AutoPostBack="true" > <asp:DropDownList ID="DdlEjercicio" runat="server" CssClass="select2me" DataTextField="Ejercicio" DataValueField="Ejercicio" Width="130px" AutoPostBack="true" OnSelectedIndexChanged="DdlEjercicio_SelectedIndexChanged" >
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<label class="col-md-1" runat="server" id="LiEjercicioLbl2" visible="True">Ejercicio Fin: </label> <label class="col-md-1" runat="server" id="LiEjercicioLbl2" visible="True">Ejercicio Fin: </label>
<div class="col-md-2" runat="server" id="LiEjercicioDdl2" visible="True"> <div class="col-md-2" runat="server" id="LiEjercicioDdl2" visible="True">
<asp:DropDownList ID="DdlEjercicio2" runat="server" CssClass="select2me" DataTextField="Ejercicio" DataValueField="Ejercicio" Width="130px" AutoPostBack="true" > <asp:DropDownList ID="DdlEjercicio2" runat="server" CssClass="select2me" DataTextField="Ejercicio" DataValueField="Ejercicio" Width="130px" AutoPostBack="true" OnSelectedIndexChanged="DdlEjercicio2_SelectedIndexChanged" >
</asp:DropDownList> </asp:DropDownList>
</div> </div>
@@ -434,12 +447,22 @@
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-sort="true" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-sort="true"
Style="text-align: center;" GridLines="None"> Style="text-align: center;" GridLines="None">
<Columns> <Columns>
<%-- <asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderStyle-Width="40px"> <asp:TemplateField>
<HeaderTemplate>Codigo</HeaderTemplate> <HeaderTemplate>
<%--<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica gral" NavigateUrl="javascript:void(0);" onclick="return cargaGraficaBarras2();"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>--%>
</HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:Label CssClass="truncate" ID="LblCodigo" runat="server" Text='<%# Eval("Codigo") %>'></asp:Label> <div style="white-space: nowrap">
<asp:HyperLink ID="Hypgrafica" Visible="false" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
<asp:CheckBox ID="chkgraf" CssClass="chkgraf" runat="server" Visible="false" />
<asp:HyperLink ID="hpl2" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" >
<i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
</div>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField>--%> </asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ControlStyle-Width="300px"> <asp:TemplateField ItemStyle-HorizontalAlign="Left" ControlStyle-Width="300px">
<HeaderTemplate>Ratio</HeaderTemplate> <HeaderTemplate>Ratio</HeaderTemplate>
@@ -584,11 +607,7 @@
</asp:UpdatePanel> </asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional"> <asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="modal-content"> <div class="modal-content">
@@ -599,7 +618,7 @@
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row" style="display:none">
<div class="col-md-2"></div> <div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label> <label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2"> <div class="col-md-2">
@@ -610,7 +629,8 @@
</div> </div>
</div> </div>
<br /> <br />
<div id="chartdiv"></div> <div id="chartdiv" style="display:none"></div>
<div runat="server" id="chartdiv2"></div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button> <button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
@@ -620,44 +640,12 @@
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="DivModalGraficaGral" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" style="width: 1300px" runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label CssClass="LblTituloGraficaGral" runat="server" ClientIDMode="Static" Text="">Análisis de estados de resultados</asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-1"></div>
<label class="col-md-2 truncate" style="display: inline-block; padding-top: 8px; font-weight: bold;">Seleccione el tipo de gráfica:</label>
<div class="col-md-4">
<asp:RadioButtonList ID="rdblistgrafica" CssClass="rdblistgrafica" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Lineas" Value="2"></asp:ListItem>
</asp:RadioButtonList>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div id="grafInfo"></div>
</div>
<div class="col-md-9">
<div id="chartdivgral"></div>
</div>
</div>
<br />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
@@ -680,7 +668,7 @@
} else { } else {
CargaGraficaPastel(); CargaGraficaPastel();
} }
$('.LblTituloGrafica').text($(obj).parent().text()); $('.LblTituloGrafica').text($(obj).closest('tr').text().trim());
} }
function CargaGraficaBarras() { function CargaGraficaBarras() {
let data = cdatos; let data = cdatos;
@@ -698,7 +686,7 @@
"colorField": "Color", "colorField": "Color",
"fillAlphas": 1, "fillAlphas": 1,
"lineAlpha": 0.1, "lineAlpha": 0.1,
"type": "column", "type": "line",
"valueField": "Valor" "valueField": "Valor"
}], }],
"depth3D": 20, "depth3D": 20,
@@ -718,7 +706,6 @@
} }
}); });
} }
function CargaGraficaPastel() { function CargaGraficaPastel() {
let data = cdatos; let data = cdatos;
var chart = AmCharts.makeChart("chartdiv", { var chart = AmCharts.makeChart("chartdiv", {
@@ -747,137 +734,50 @@
CargaGraficaPastel(); CargaGraficaPastel();
} }
}); });
$(".rdblistgrafica:not(.clicked) input").change(cargaGraficaBarras2);
$('.rdblistgrafica').addClass('clicked')
$('.DdlGrafica').removeClass('DdlGrafica') $('.DdlGrafica').removeClass('DdlGrafica')
initamgrafica(); initamgrafica();
} }
let objetos;
let Colores = ["#FF0F00", "#FF6600", "#F8FF01", "#04D215", "#2A0CD0", "#8A0CCF", "#CD0D74", "#754DEB", "#DDDDDD", "#999999", "#000000"];
function graficarshow() {
$('.btngraficarborrar').remove();
$('#C_Tab_header').append('<a onclick="cargaGraficaBarras2();" class="btn btn-success btngraficarborrar" style="float:right;"><i class="fa fa-bar-chart" aria-hidden="true"></i> Graficar</a>');
$('#C_Tab_body').addClass('showgrph');
}
function cargaGraficaBarras2(Titulo) {
$('.LblTituloGraficaGral').text(Titulo);
cargaGraficaBarras2();
}
function cargaGraficaBarras2() { function cargaGraficaBarras2() {
//Hypgrafica //Hypgrafica
$("#DivModalGraficaGral").modal(); $("#DivModalGrafica").modal();
let infogral = $('#grafInfo'); $('.LblTituloGrafica').text('grafica');
infogral.find('>*').remove();
let items = [] let items = []
let data; let data;
let icolor = 0;
let tipografica = $('.rdblistgrafica input:checked').val();
$('.ajax__tab_panel:visible .chkgraf input:checked').each(function () {
data = $(this).closest('tr').find('.Hypgrafica').data('values')
let name = $(this).closest('td').text().trim()
items.push({ id: icolor, data: data, name: name, Color: Colores[icolor], tipografica })
gettitlegraf(infogral, icolor, Colores[icolor], name, tipografica);
icolor = icolor + 1;
if (icolor >= Colores.length) { icolor = 0; }
});
objetos = items;
$(".chkonchange input").each(function () {
let _this = $(this)
_this.change(function () {
let _this = $(this)
let id = Number(_this.data('id'))
objetos[id].tipografica = _this.is(':checked') ? 1 : 2;
ShowGraf2();
})
});
$(function () {
$('.chkonchange').tooltip()
});
ShowGraf2();
}
function gettitlegraf(infogral, id, Color, name, tipografica) {
let strtipografica = '<span class="chksino chkonchange" data-html="true" data-original-title="<div style=\'white-space:nowrap;\'>\'B\' Barras / \'L\' Lineas </div>" ><input id="chk' + id + '" ' + (tipografica == 1 ? 'checked="checked"' : '"') + ' data-id="' + id + '" type="checkbox" name="nchk' + id + '"><label for="chk' + id + '"> </label></span>';
let contenedor = $("<div class='row'></div>");
let divcolspan = $("<div class='col-md-1'></div>");
let divcolor = $('<div class="col-md-1"><div style="width:20px;height:10px;background-color:' + Color + ';"></div> </div>');
let divtexto = $("<div class='col-md-6'>" + name + "</div>");
let divtipografica = $("<div class='col-md-4'>" + strtipografica + "</div>");
infogral.append(contenedor);
/*contenedor.append(divcolspan);*/ contenedor.append(divcolor); contenedor.append(divtexto); contenedor.append(divtipografica);
}
function ShowGraf2() {
let items = objetos;
let series = []; let series = [];
$('.chkgraf input:checked').each(function () {
data = $(this).closest('tr').find('.Hypgrafica').data('values')
let name = $(this).closest('tr').text().trim()
items.push({ data: data, name: name })
});
if (items) { if (items) {
data = items[0].data; data = items[0].data;
series.push(( series.push({
(items[0].tipografica == 1) ? "balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
{ "colorField": "Color",
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]", "fillAlphas": 1,
"colorField": "Color", "lineAlpha": 0.1,
"fillAlphas": 1, "type": "column",
"lineAlpha": 0.1, "title": items[0].name,
"type": "column", "valueField": 'Valor'
"title": items[0].name, })
"valueField": 'Valor'
} :
{
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"bullet": "round",
"dashLength": 3,
"colorField": "color",
"type": "line",
"title": items[0].name,
"valueField": "Valor"
}
));
for (var i = 0; i < data.length; i++) {
data[i]['Color'] = items[0].Color
}
for (var indexcol = 1; indexcol < items.length; indexcol++) { for (var indexcol = 1; indexcol < items.length; indexcol++) {
let cdatos = items[indexcol].data; let cdatos = items[indexcol].data;
let valueField = 'Valor' + indexcol; let valueField = 'Valor' + indexcol;
let colorField = 'Color' + indexcol;
let tipografica = "column";
for (var i = 0; i < cdatos.length; i++) { for (var i = 0; i < cdatos.length; i++) {
data[i][valueField] = cdatos[i].Valor data[i][valueField] = cdatos[i].Valor
data[i][colorField] = items[indexcol].Color
} }
series.push(( series.push({
(items[indexcol].tipografica == 1) ? "balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
{ "colorField": "Color",
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]", "fillAlphas": 1,
"colorField": colorField, "lineAlpha": 0.1,
"fillAlphas": 1, "type": "column",
"lineAlpha": 0.1, "title": items[indexcol].name,
"type": "column", "valueField": valueField
"title": items[indexcol].name, })
"valueField": valueField
} :
{
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
"colorField": colorField,
"bullet": "round",
"dashLength": 3,
"colorField": "color",
"type": "line",
"title": items[indexcol].name,
"valueField": valueField
}
));
} }
var chart = AmCharts.makeChart("chartdivgral", { var chart = AmCharts.makeChart("chartdiv", {
"type": "serial", "type": "serial",
"theme": "light", "theme": "light",
"dataProvider": data, "dataProvider": data,
@@ -960,4 +860,171 @@
} }
</script> </script>
<script>
function LimpiaCeros() {
let Divisor = 1;
$('.ceros').each(function (i, obj) {
if ($(this).html() == '0.00' || $(this).html() == '0.00%') {
$(this).html('-');
}
if (!($(this).html() == '-' || $(this).html() == '' || ~$(this).html().indexOf("%"))) {
if (Divisor > 1) {
$(this).attr('data-toggle', 'tooltip');
$(this).attr('data-container', 'body');
$(this).attr('title', $(this).html());
}
$(this).html(FormatoNumeroIPP(ToDouble($(this).html()) / Divisor, ((Divisor == 1) ? 2 : 0)));
}
if (ToDouble($(this).html()) < 0) {
$(this).css("color", "red");
}
});
}
function FormatoNumeroIPP(Importe, Decimales) {
if (typeof Decimales === 'undefined') { Decimales = 2; }
if (isNaN(parseInt(Importe))) return "NaN";
var tmpNum = Importe;
tmpNum = tmpNum.toFixed(Decimales).replace(/./g, function (c, i, a) {
return i && c !== "." && !((a.length - i) % 3) ? ',' + c : c;
});
return tmpNum;
}
function pageLoad(sender, e) {
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
});
}
function graficahighchartsFinan(idcontainer, titulo, subtitulo, ytitulo, datos, Yinterval, labelpoint, media, datospie1, datospie2, Tittulo2) {
$('#LblTituloGrafica').text(Tittulo2)
$(document).ready(function () {
$(".chartcheckboxes").remove();
});
var Monedas = '';
if (datospie1.length > 0) {
Monedas = 'Monedas';
}
var numerodatos = 0;
$("<div class='chartcheckboxes' ><span></span></div>").insertAfter("#" + idcontainer);
if (datos.length > 0) {
var numerodatos = datos.length - 1;
//var media = (datos.reduce(function (a, b) { return a + b; })) / (numerodatos + 1);
for (var i = numerodatos; i >= 0; i--) {
$("<input type='checkbox' id='" + idcontainer + i + "' class='overrydecheckbox' value='" + i + "' onchange=\" changedatagrafica2('" + idcontainer + "');\" /><label for='" + idcontainer + i + "'>" + datos[i][0].substring(0, 3) + "</label>").insertAfter("#" + idcontainer + " + div span");
}
}
$("#" + idcontainer).data('serie', datos);
var margintop = 80;
var dataset = [{
type: 'area',
lineColor: '#9ACAE6',
color: '#F1F7FD',
fillColor: '#F1F7FD',
lineWidth: 3,
marker: {
lineWidth: 2,
lineColor: '#9ACAE6',
fillColor: '#9ACAE6'
},
pointInterval: 1,
name: ' ',
data: datos
}, {
type: 'line',
lineWidth: 2,
lineColor: '#999',
marker: {
enabled: false
},
name: ' ',
data: [media, media]
}];
$('#' + idcontainer).highcharts({
chart: {
type: 'area', spacingTop: margintop
},
title: {
text: titulo
},
subtitle: {
text: subtitulo
},
xAxis: {
type: "category"
},
yAxis: {
title: {
text: ytitulo
},
labels: {
formatter: function () {
return this.value / Yinterval;
}
}
},
tooltip: {
shared: true,
valueSuffix: labelpoint
},
plotOptions: {
area: {
color: '#FBC5C5',
fillColor: '#FBC5C5',
stacking: 'normal',
lineColor: '#F89F9F',
lineWidth: 0,
marker: {
radius: 5,
lineWidth: 2,
lineColor: '#FFF',
fillColor: '#F89F9F'
}
},
line: {
pointInterval: numerodatos,
lineColor: '#999999',
marker: {
enabled: false,
symbol: 'circle',
radius: 2,
states: {
hover: {
enabled: true
}
}
}
}
},
series: dataset,
navigation: {
buttonOptions: {
y: -80
}
}
});
}
</script>
</asp:Content> </asp:Content>

View File

@@ -58,40 +58,55 @@ Partial Class Finanzas_RepRazonesFinancieras2
CargarCentrosDeCosto(Nothing, DdlSubproyecto, Nothing, LblSubProyecto) CargarCentrosDeCosto(Nothing, DdlSubproyecto, Nothing, LblSubProyecto)
DdlEjercicio.SelectedValueExist(UsuarioActual.Empresa.EjercicioActual) DdlEjercicio.SelectedValueExist(UsuarioActual.Empresa.EjercicioActual)
ValidaEjercicios() ValidaEjercicios(EnumInicioFin.Fin)
End If End If
End Sub End Sub
Protected Sub DdlEjercicio_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlEjercicio_SelectedIndexChanged(sender As Object, e As EventArgs)
ValidaEjercicios() ValidaEjercicios(EnumInicioFin.Inicio)
End Sub End Sub
Protected Sub DdlEjercicio2_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlEjercicio2_SelectedIndexChanged(sender As Object, e As EventArgs)
ValidaEjercicios() ValidaEjercicios(EnumInicioFin.Fin)
End Sub End Sub
Private Sub ValidaEjercicios() Enum EnumInicioFin
Inicio
Fin
End Enum
Private Sub ValidaEjercicios(enuInicioFin As EnumInicioFin)
Dim EInicio As Integer = DdlEjercicio.SelectedValue.ToEntero If enuInicioFin = EnumInicioFin.Inicio Then
If DdlEjercicio.SelectedIndex > DdlEjercicio2.SelectedIndex Then
DdlEjercicio2.SelectedIndex = DdlEjercicio.SelectedIndex
If EInicio > DdlEjercicio2.SelectedValue.ToEntero Then
If DdlEjercicio2.Items.Count > 0 Then
DdlEjercicio2.SelectedIndex = DdlEjercicio2.Items.Count - 1
End If End If
Else
Dim Fejerciosio As Integer = DdlEjercicio2.SelectedValue.ToEntero If DdlEjercicio.SelectedIndex > DdlEjercicio2.SelectedIndex Then
DdlEjercicio.SelectedIndex = DdlEjercicio2.SelectedIndex
If Not EInicio + 1 > Fejerciosio Then
DdlEjercicio2.SelectedValueExist(EInicio + 1)
End If End If
End If End If
'Dim EInicio As Integer = DdlEjercicio.SelectedValue.ToEntero
'If EInicio > DdlEjercicio2.SelectedValue.ToEntero Then
' If DdlEjercicio2.Items.Count > 0 Then
' DdlEjercicio2.SelectedIndex = DdlEjercicio2.Items.Count - 1
' End If
' Dim Fejerciosio As Integer = DdlEjercicio2.SelectedValue.ToEntero
' If Not EInicio + 1 > Fejerciosio Then
' DdlEjercicio2.SelectedValueExist(EInicio + 1)
' End If
'End If
UpFiltros.Update() UpFiltros.Update()
End Sub End Sub
@@ -358,7 +373,7 @@ Partial Class Finanzas_RepRazonesFinancieras2
Private Sub GVRatiosOcultarColumnas(ByRef Gv As GridView, Optional index As Integer = 2) Private Sub GVRatiosOcultarColumnas(ByRef Gv As GridView, Optional index As Integer = 2)
For index = 1 To Gv.Columns.Count - 1 For index = 2 To Gv.Columns.Count - 1
CType(Gv.Columns(index), BoundField).DataField = Nothing CType(Gv.Columns(index), BoundField).DataField = Nothing
Gv.Columns(index).Visible = False Gv.Columns(index).Visible = False
Next Next
@@ -366,7 +381,7 @@ Partial Class Finanzas_RepRazonesFinancieras2
End Sub End Sub
Private Sub GVRatiosMostrarColumnas(dt As DataTable, ByRef Gv As GridView) Private Sub GVRatiosMostrarColumnas(dt As DataTable, ByRef Gv As GridView)
Dim index = 4
For index = 4 To dt.Columns.Count - 2 For index = 4 To dt.Columns.Count - 2
@@ -383,6 +398,10 @@ Partial Class Finanzas_RepRazonesFinancieras2
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
For x = 1 To DTRatios.Columns.Count For x = 1 To DTRatios.Columns.Count
If e.Row.DataKey("Ratio") = "INCREMENTO DE VENTAS" Then If e.Row.DataKey("Ratio") = "INCREMENTO DE VENTAS" Then
@@ -411,7 +430,7 @@ Partial Class Finanzas_RepRazonesFinancieras2
Dim EsPorcentaje = If(e.Row.DataKey("EsPorcentaje").ToEntero = 1, True, False) Dim EsPorcentaje = If(e.Row.DataKey("EsPorcentaje").ToEntero = 1, True, False)
For x = 1 To DTRatios.Columns.Count - 2 For x = 2 To DTRatios.Columns.Count - 2
If EsPorcentaje Then If EsPorcentaje Then
e.Row.Cells(x).Text = $"{(e.Row.Cells(x).Text.ToDecimal * 100.0).ToString("###,####,###.00")}%" e.Row.Cells(x).Text = $"{(e.Row.Cells(x).Text.ToDecimal * 100.0).ToString("###,####,###.00")}%"
Else Else
@@ -420,6 +439,7 @@ Partial Class Finanzas_RepRazonesFinancieras2
Next Next
End If End If
If e.Row.DataKey("Formula").Trim().Length > 0 Then If e.Row.DataKey("Formula").Trim().Length > 0 Then
'data-html="true" data-toggle="tooltip" data-placement="left" title="Agregar<br/>Familiares" 'data-html="true" data-toggle="tooltip" data-placement="left" title="Agregar<br/>Familiares"
@@ -430,16 +450,87 @@ Partial Class Finanzas_RepRazonesFinancieras2
End If End If
Dim Titulo As String = e.Row.FCLabel("LblRatio").Text
Dim SubTitulo As String = ""
Dim YReferencia As String = "$"
Dim Info As String = ""
Dim XReferencia As String = ""
Dim Promedio As String = ""
Dim lista As New List(Of Object)
Dim Lista2 As New List(Of String)
For x = 2 To GVRatios.Columns.Count - 1
If GVRatios.Columns(x).Visible = True Then
Dim headerString As String = GVRatios.Columns(x).HeaderText
If IsDate(headerString) Then
Dim valor As String = e.Row.Cells(x).Text.ToString.Replace("%", "").Replace("&nbsp;", "").Replace(" ", "").Replace(",", "").Trim
If valor.Length > 0 Then
lista.Add(New With {.Texto = headerString, .Valor = valor.ToDecimal, .Color = "#FF0F00"})
Lista2.Add($"['{headerString}',{valor}]")
End If
End If
End If
Next
'e.Row.FCHyperLink("Hypgrafica").Attributes.Add("data-values", Newtonsoft.Json.JsonConvert.SerializeObject(lista))
If e.Row.DataKey("Tipo").ToEntero <> 1 Then
Info = String.Join(",", Lista2)
e.Row.FCHyperLink("hpl2").Attributes.Add("onclick", "$('#DivModalGrafica').modal('show'); " &
String.Format("graficahighchartsFinan('{0}','{1}','{2}','{3}',[{4}],1,'{5}','{6}',[{8}],[{7}],'{9}');", chartdiv2.ClientID, "", SubTitulo, YReferencia, Info, XReferencia, Promedio, "", "", Titulo))
Else
e.Row.FCHyperLink("hpl2").Visible = False
End If
'AppendFormat("graficahighcharts2('{0}','{1}','{2}','{3}',[{4}],1,'{5}','{6}',[{8}],[{7}]);", divcontainer.ClientID, Titulo, SubTitulo, YReferencia, Info, XReferencia, Promedio, "", "")
End If End If
End Sub End Sub
Private Function MuestraGrafica(divcontainer As HtmlGenericControl, DTDatos As DataTable, DTPie As DataTable, ColTitle As String, ColValue As String, Titulo As String, SubTitulo As String, Indicador As String, XReferencia As String, Promedio As String, Optional YReferencia As String = "") As String
Dim SBPie1 As New StringBuilder
Dim SBPie2 As New StringBuilder
Dim Info As String = ""
Dim SBJSScript As New StringBuilder
'If DTDatos IsNot Nothing AndAlso DTDatos.Rows.Count > 0 Then
' For Each DbRow As DataRow In DTDatos.Rows
' Info = String.Format("{2}['{1}',{0}],", DbRow(ColValue), DbRow(ColTitle), Info)
' Next
' Info = Info.Remove(Info.Length - 1, 1)
'End If
'For Each DbRow As DataRow In DTPie.Rows
' If DbRow("Importe").ToString.ToDouble > 0 Then SBPie1.AppendFormat("{{ name:'{1}- {2}',y:{0} }},", DbRow("Importe"), DbRow("Banco"), DbRow("NumCuenta"))
'Next
'pesos y dolares
'Dim Dolares As Double = DTPie.SUM("Importe", "CveMoneda = 2")
'If Dolares > 0 Then
' SBPie2.AppendFormat("{{ name:'Dólares',y:{0} }},", Dolares)
' SBPie2.AppendFormat("{{ name:'Pesos',y:{0} }},", DTPie.SUM("Importe", "CveMoneda = 1"))
'End If
SBJSScript.AppendFormat("graficahighcharts2('{0}','{1}','{2}','{3}',[{4}],1,'{5}','{6}',[{8}],[{7}]);", divcontainer.ClientID, Titulo, SubTitulo, YReferencia, Info, XReferencia, Promedio, "", "")
Return SBJSScript.ToString
'RegistraScript(SBJSScript.ToString, Indicador)
End Function
#End Region #End Region
@@ -513,15 +604,15 @@ Partial Class Finanzas_RepRazonesFinancieras2
LblPeriodo.Visible = True LblPeriodo.Visible = True
DivPeriodo.Visible = True DivPeriodo.Visible = True
AddHandler DdlEjercicio.SelectedIndexChanged, AddressOf DdlEjercicio_SelectedIndexChanged 'AddHandler DdlEjercicio.SelectedIndexChanged, AddressOf DdlEjercicio_SelectedIndexChanged
AddHandler DdlEjercicio2.SelectedIndexChanged, AddressOf DdlEjercicio2_SelectedIndexChanged 'AddHandler DdlEjercicio2.SelectedIndexChanged, AddressOf DdlEjercicio2_SelectedIndexChanged
CargaEjercicios() CargaEjercicios()
Else Else
DVVisualizacion.Visible = True DVVisualizacion.Visible = True
LblVisualizacion.Visible = True LblVisualizacion.Visible = True
RemoveHandler CType(DdlEjercicio, DropDownList).SelectedIndexChanged, AddressOf DdlEjercicio_SelectedIndexChanged 'RemoveHandler CType(DdlEjercicio, DropDownList).SelectedIndexChanged, AddressOf DdlEjercicio_SelectedIndexChanged
RemoveHandler CType(DdlEjercicio2, DropDownList).SelectedIndexChanged, AddressOf DdlEjercicio2_SelectedIndexChanged 'RemoveHandler CType(DdlEjercicio2, DropDownList).SelectedIndexChanged, AddressOf DdlEjercicio2_SelectedIndexChanged
CargaMeses() CargaMeses()
End If End If
@@ -633,7 +724,10 @@ Partial Class Finanzas_RepRazonesFinancieras2
ListaFechas.Add(FechaTemp.ToString("yyyy-MM-dd")) ListaFechas.Add(FechaTemp.ToString("yyyy-MM-dd"))
While FechaFinal >= FechaTemp While FechaFinal >= FechaTemp
FechaTemp = FechaTemp.AddMonths(1).LastDayOfMonth FechaTemp = FechaTemp.AddMonths(1).LastDayOfMonth
ListaFechas.Add(FechaTemp.ToString("yyyy-MM-dd")) If FechaFinal >= FechaTemp Then
ListaFechas.Add(FechaTemp.ToString("yyyy-MM-dd"))
End If
End While End While
@@ -647,6 +741,9 @@ Partial Class Finanzas_RepRazonesFinancieras2
End Function End Function
End Class End Class

View File

@@ -212,6 +212,7 @@
</div> </div>
<!-- END REGIONAL STATS PORTLET--> <!-- END REGIONAL STATS PORTLET-->
</div> </div>
<div id="DvGraBancos" runat="server" class="col-md-6 col-sm-6"> <div id="DvGraBancos" runat="server" class="col-md-6 col-sm-6">
<!-- BEGIN REGIONAL STATS PORTLET--> <!-- BEGIN REGIONAL STATS PORTLET-->
<div class="portlet light "> <div class="portlet light ">