E172 Rep Indicador Resumen: + Totales en Portlets, Promedio precio VxP, Fila totales Comp Productores y + info en grafica de pastel

This commit is contained in:
MLopez
2023-01-07 19:40:38 -07:00
parent 65fcada230
commit ab65b91b62
5 changed files with 162 additions and 132 deletions

View File

@@ -19,25 +19,27 @@
background-color: #95A5A6;
color: white;
}
.table-scrollable {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
.margenbound {
margin-left: 15px;
text-align: right;
}
.amChartsAttribution {
margin-top: -2px;
margin-bottom: 8px;
visibility: hidden;
}
div[id^=chartdiv] {
width: 100%;
height: 400px;
}
.portlet-total {
float:right!important;
display:inline-block!important;
}
.abbr {
overflow: hidden;
text-overflow: ellipsis;
display:block!important;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
@@ -96,12 +98,6 @@
</div>
</div>
<%--<div class="row">
<div class="col-md-6"></div>
<div class="col-md-6 amChartsAttribution">
<a href="http://www.amcharts.com/" class="amChartsLegend" id="amChartsAttribution">JS charts by amCharts</a>
</div>
</div>--%>
<asp:UpdatePanel ID="UPPMov" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
@@ -111,15 +107,15 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="SpObs" runat="server" class="caption-subject bold uppercase">Ventas por Productos </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLVxP" runat="server" class="caption-subject bold uppercase">Ventas por Productos</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="caption font-green portlet-total">
<span id="PLVxPTot" class="caption-subject bold uppercase" runat="server" />
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<asp:GridView ID="GvVxP" runat="server" GridLines="None"
@@ -129,7 +125,13 @@
<asp:BoundField DataField="Gpo" HeaderText="Prod/Serv" ItemStyle-Width="300px" />
<asp:BoundField DataFormatString="{0:n}" DataField="Cantidad" ItemStyle-CssClass="margenbound" HeaderText="Cantidad" />
<asp:BoundField DataFormatString="{0:c}" DataField="SubTotal" ItemStyle-CssClass="margenbound" HeaderText="SubTotal" />
<%--TODO: Esto se puede meter en el stored procedured, pero me da cosa moverle :S--%>
<asp:TemplateField ItemStyle-CssClass="margenbound" HeaderText="P. Promedio">
<ItemTemplate>
<%--TODO: Esto puede tronar si el valor es DBNull --%>
<%# If(Convert.ToDecimal(Eval("Cantidad")) = 0, 0.ToString("C"), (Convert.ToDecimal(Eval("SubTotal")) / Convert.ToInt32(Eval("Cantidad"))).ToString("C")) %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -143,11 +145,7 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span4" runat="server" class="caption-subject bold uppercase">Ventas por Productos - Gráfica </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGraficaVxP" runat="server" class="caption-subject bold uppercase">Ventas por Productos - Gráfica </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
@@ -168,20 +166,20 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span8" runat="server" class="caption-subject bold uppercase">Compras Productores</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLCompProductores" runat="server" class="caption-subject bold uppercase">Compras Productores</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="caption font-green portlet-total">
<span id="PLCompProductoresTot" class="caption-subject bold uppercase" runat="server" />
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<asp:GridView ID="GvCompProductores" runat="server" GridLines="None"
CssClass="table table-striped table-advance table-hover ScrollAD Widthall " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="True">
<Columns>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" />
<asp:BoundField DataFormatString="{0:n}" DataField="Cantidad" ItemStyle-CssClass="margenbound" HeaderText="Cantidad(kg)" />
@@ -190,6 +188,7 @@
<asp:BoundField DataFormatString="{0:c}" DataField="Saldo" ItemStyle-CssClass="margenbound" HeaderText="Saldo" />
<asp:BoundField DataFormatString="{0:c}" DataField="Abonado" ItemStyle-CssClass="margenbound" HeaderText="Abonado" />
</Columns>
<FooterStyle CssClass="Totales"/>
</asp:GridView>
</div>
</ContentTemplate>
@@ -202,11 +201,7 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span9" runat="server" class="caption-subject bold uppercase">Compras Productores - Gráfica por Cantidad(Kg) </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGraficaCompProductores" runat="server" class="caption-subject bold uppercase">Compras Productores - Gráfica por Cantidad(Kg) </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
@@ -227,15 +222,15 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span1" runat="server" class="caption-subject bold uppercase">Gastos </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGastos" runat="server" class="caption-subject bold uppercase">Gastos </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="caption font-green portlet-total">
<span id="PLGastosTot" class="caption-subject bold uppercase" runat="server" />
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<asp:GridView ID="GvCompAcreed" runat="server" GridLines="None"
@@ -258,11 +253,7 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span2" runat="server" class="caption-subject bold uppercase">Compras por clasificación - Gráfica </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGraficaGastos" runat="server" class="caption-subject bold uppercase">Compras por clasificación - Gráfica </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
@@ -283,15 +274,15 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span3" runat="server" class="caption-subject bold uppercase">Cuentas por cobrar</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLCxC" runat="server" class="caption-subject bold uppercase">Cuentas por cobrar</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="caption font-green portlet-total">
<span id="PLCxCTot" class="caption-subject bold uppercase" runat="server" />
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<asp:GridView ID="GvCxC" runat="server" GridLines="None"
@@ -314,11 +305,7 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span5" runat="server" class="caption-subject bold uppercase">Cuentas por cobrar - Gráfica Saldo VS Recuperado</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGraficaCxC" runat="server" class="caption-subject bold uppercase">Cuentas por cobrar - Gráfica Saldo VS Recuperado</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
@@ -330,30 +317,6 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="col-md-6">
<asp:UpdatePanel ID="UPGraficaCxCRec" runat="server" class="portlet light xspadding bordered " align="center" style="" UpdateMode="Conditional" Visible="false">
<ContentTemplate>
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span10" runat="server" class="caption-subject bold uppercase">Cuentas por cobrar - Gráfica Recuperado</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<div id="chartdiv_cxcrec"></div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="row">
@@ -363,15 +326,15 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span11" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar productores</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLCxP192" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar productores</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="caption font-green portlet-total">
<span id="PLCxP192Tot" class="caption-subject bold uppercase" runat="server" />
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<asp:GridView ID="GvCxP192" runat="server" GridLines="None"
@@ -393,11 +356,7 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span12" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar productores - Gráfica </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGraficaCxP192" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar productores - Gráfica </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
@@ -418,15 +377,15 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span6" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar no productores</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLCxP" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar no productores</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="caption font-green portlet-total">
<span id="PLCxPTot" class="caption-subject bold uppercase" runat="server" />
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body formnombottom">
<asp:GridView ID="GvCxP" runat="server" GridLines="None"
@@ -448,11 +407,7 @@
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span id="Span7" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar no productores - Gráfica </span>
</div>
<div class="actions">
<div class="btn-group">
</div>
<span id="PLGraficaCxP" runat="server" class="caption-subject bold uppercase">Cuentas por Pagar no productores - Gráfica </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
@@ -507,7 +462,17 @@
align: 'left'
},
legend: {
enabled: false
enabled: false,
// esto es para la grafica de pie
layout: 'vertical',
align: 'right',
width: 220,
verticalAlign: 'middle',
borderWidth: 0,
useHTML: true,
labelFormatter: function () {
return '<div style="width:190px"><span class="abbr">' + this.name + '</br>' + '</span><span style="float:left">' + this.y.toLocaleString() + this.unit + '</span><span style="float:right">' + '$' + this.y2.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + '</span></div>';
},
},
xAxis: {
type: 'category'
@@ -547,6 +512,10 @@
// },
// //footerFormat: '{point.key}'
//},
tooltip: {
//valuePrefix: '$',
valueSuffix: " " + '{point.unit}'
},
plotOptions: {
series: {
animation: true,
@@ -577,9 +546,14 @@
}
},
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true
}
enabled: true,
distance: -30,
format: '{point.percentage:.1f} %'
},
showInLegend: true
}
},
series: [
@@ -594,11 +568,11 @@
//AmCharts.makeChart("chartdiv_vxp", { ...chartconfig, type: "serial", dataProvider: json["VxP"] }); // Ventas x Producto
$('#' + "chartdiv_vxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["VxP"]) }] })
$('#' + "chartdiv_compproductores").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], type: 'pie', data: customAccessor(json["CompProductores"]) }] })
$('#' + "chartdiv_compproductores").highcharts({ ...chartconfig, chart: {}, legend: { ...chartconfig.legend, enabled: true }, series: [{ ...chartconfig.series[0], keys: ['name', 'y', 'y2', 'unit', 'unit2'], type: 'pie', data: customAccessorPie(json["CompProductores"]) }] })
$('#' + "chartdiv_compacreed").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CompAcreed"]) }] })
$('#' + "chartdiv_cxp192").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxP192"]) }] })
$('#' + "chartdiv_cxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxP"]) }] })
$('#' + "chartdiv_cxc").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxC"]) }, { type: 'line', data: customAccessor(json["CxCR"]) }] })
$('#' + "chartdiv_cxc").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxC"]) }, { ...chartconfig.series[0], type: 'line', data: customAccessor(json["CxCR"]) }] })
function customAccessor(data) {
const newData = [];
@@ -609,10 +583,18 @@
newData.push([point.Texto, point.Valor, point.Unidad]);
}
});
//newData.sort(function (a, b) {
// return a[0] > b[0] ? 1 : -1;
//});
//console.log(JSON.stringify(newData))
return newData;
}
function customAccessorPie(data) {
const newData = [];
data.forEach(function (point, index) {
if (point.Texto == "Otros") {
newData.push({ name: point.Texto, y: point.Cantidad, y2: point.Importe, unit: point.UnidadC, unit2:point.UnidadI, color: '#000000' });
} else {
newData.push([point.Texto, point.Cantidad, point.Importe, point.UnidadC, point.UnidadI]);
}
});
return newData;
}