651 lines
42 KiB
Plaintext
651 lines
42 KiB
Plaintext
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepIndicadorResumen.aspx.vb" Inherits="General_RepIndicadorResumen" %>
|
|
|
|
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
|
|
<li>
|
|
<asp:LinkButton ID="LnkExportarPDF" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Exportar PDF</asp:LinkButton>
|
|
</li>
|
|
<%--<li>
|
|
<asp:LinkButton ID="LnkExportarExcel" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Exportar Excel</asp:LinkButton>
|
|
</li>
|
|
<li>
|
|
<asp:LinkButton ID="LnkImprimir" runat="server"><i class="fa fa-print"></i> Imprimir</asp:LinkButton>
|
|
</li>--%>
|
|
</asp:Content>
|
|
<asp:Content ID="Content4" ContentPlaceHolderID="Css" runat="Server">
|
|
|
|
|
|
<style>
|
|
.dataTables_scrollHead {
|
|
background-color: #95A5A6;
|
|
color: white;
|
|
}
|
|
|
|
.table-scrollable {
|
|
margin-top: 0px !important;
|
|
margin-bottom: 0px !important;
|
|
}
|
|
|
|
.margenbound {
|
|
margin-left: 15px;
|
|
text-align: right;
|
|
}
|
|
|
|
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">
|
|
Reporte de Resumen de Indicadores
|
|
</asp:Content>
|
|
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
|
|
<%--Tabla con los campos para filtrar--%>
|
|
<asp:UpdatePanel runat="server">
|
|
<ContentTemplate>
|
|
<div class="portlet solid grey-cascade portlet-filter" style="">
|
|
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 49px; position: relative;">
|
|
<div class="tools">
|
|
<asp:Button ID="btnConsultar" CssClass="btn btn-primary" runat="server" ValidationGroup="GrpConsultar" Text="Consultar" /></td>
|
|
|
|
<a href="javascript:;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
|
|
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
|
|
</div>
|
|
<div class="titlefiltros caption magindate">
|
|
<div class="row">
|
|
|
|
<div class="col-md-1 truncate" style="text-align: right!important">Fecha Inicio</div>
|
|
<div class="col-md-1">
|
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
|
|
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
|
<span class="input-group-btn ">
|
|
<asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
|
</span>
|
|
</div>
|
|
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
|
</div>
|
|
|
|
<div class="col-md-1 truncate" style="text-align: right!important">Fecha Fin</div>
|
|
<div class="col-md-1 ">
|
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
|
|
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
|
<span class="input-group-btn ">
|
|
<asp:LinkButton ID="ImgFechaF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
|
</span>
|
|
</div>
|
|
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
|
</div>
|
|
<div class="col-md-1 truncate" style="text-align: right!important; margin-left: 20px">
|
|
<asp:Label runat="server" ID="lblSubProyecto">SubProyecto:</asp:Label>
|
|
</div>
|
|
<div class="col-md-1">
|
|
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" Width="150px" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
|
|
</asp:DropDownList>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
|
|
</div>
|
|
</div>
|
|
|
|
<asp:UpdatePanel ID="UPPMov" runat="server" RenderMode="Inline" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPTablaVxP" runat="server" class="portlet light xspadding bordered " align="left" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<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"
|
|
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">
|
|
<Columns>
|
|
<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.ToDecimal(Eval("Cantidad"))).ToString("C")) %>
|
|
</ItemTemplate>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPGraficaVxP" 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="PLGraficaVxP" runat="server" class="caption-subject bold uppercase">Ventas por Productos - Gráfica </span>
|
|
</div>
|
|
<div class="tools">
|
|
<a href="javascript:;" class="collapse"></a>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body formnombottom">
|
|
<div id="chartdiv_vxp"></div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPTablaCompProductores" runat="server" class="portlet light xspadding bordered " align="left" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<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">
|
|
<Columns>
|
|
<asp:BoundField DataField="GPO" HeaderText="Prod/Serv" />
|
|
<asp:BoundField DataFormatString="{0:n}" DataField="Cantidad" ItemStyle-CssClass="margenbound" HeaderText="Cantidad(kg)" />
|
|
<asp:BoundField DataFormatString="{0:c}" DataField="SubTotal" ItemStyle-CssClass="margenbound" HeaderText="Importe" />
|
|
<%--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>
|
|
<%--<asp:BoundField DataFormatString="{0:c}" DataField="PUPromedioKG" ItemStyle-CssClass="margenbound" HeaderText="Promedio/kg" />--%>
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPGraficaCompProductores" 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="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>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body formnombottom">
|
|
<div id="chartdiv_compproductores"></div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPTablaCompAcreed" runat="server" class="portlet light xspadding bordered " align="left" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<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"
|
|
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">
|
|
<Columns>
|
|
<asp:BoundField DataField="Clasificacion" HeaderText="Clasificación" 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="Importe" />
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPGraficaCompAcreed" 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="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>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body formnombottom">
|
|
<div id="chartdiv_compacreed"></div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPTablaCxC" runat="server" class="portlet light xspadding bordered " align="left" style="" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<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"
|
|
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">
|
|
<Columns>
|
|
<asp:BoundField DataField="RazonSocial" HeaderText="Cliente" />
|
|
<asp:BoundField DataFormatString="{0:c}" DataField="Saldo" ItemStyle-CssClass="margenbound" HeaderText="Saldo" />
|
|
<asp:BoundField DataFormatString="{0:c}" DataField="Recuperado" ItemStyle-CssClass="margenbound" HeaderText="Recuperado" />
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPGraficaCxC" 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="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>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body formnombottom">
|
|
<div id="chartdiv_cxc"></div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPTablaCxP192" runat="server" class="portlet light xspadding bordered " align="left" style="" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<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"
|
|
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">
|
|
<Columns>
|
|
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" />
|
|
<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>
|
|
</asp:GridView>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPGraficaCxP192" 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="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>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body formnombottom">
|
|
<div id="chartdiv_cxp192"></div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPTablaCxP" runat="server" class="portlet light xspadding bordered " align="left" style="" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<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"
|
|
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">
|
|
<Columns>
|
|
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" />
|
|
<asp:BoundField DataFormatString="{0:c}" DataField="Saldo" ItemStyle-CssClass="margenbound" HeaderText="Saldo" />
|
|
</Columns>
|
|
</asp:GridView>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPGraficaCxP" 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="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>
|
|
</div>
|
|
</div>
|
|
<div class="portlet-body formnombottom">
|
|
<div id="chartdiv_cxp"></div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
<asp:UpdatePanel ID="UpSaldoTotal" runat="server" class="portlet light xspadding bordered " align="center" style="" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<div class="portlet-title" style="border-bottom: none!important; margin-top: 5px">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<span id="Span1" runat="server" class="caption-subject bold uppercase">Saldo acumulado general (CxC - CxP)</span>
|
|
</div>
|
|
<div class="caption font-green portlet-total">
|
|
<span id="LblSaldoTotal" class="caption-subject bold uppercase" runat="server" />
|
|
<a href="javascript:;" class="collapse"></a>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<asp:UpdatePanel ID="UPSaldoCxP" runat="server" class="portlet light xspadding bordered " align="center" style="" UpdateMode="Conditional" Visible="false">
|
|
<ContentTemplate>
|
|
<div class="portlet-title" style="border-bottom: none!important; margin-top: 5px">
|
|
<div class="caption font-green">
|
|
<i class="icon-pin font-green"></i>
|
|
<span id="PLSaldoCxP" runat="server" class="caption-subject bold uppercase">Saldo acumulado de Cuentas por Pagar</span>
|
|
</div>
|
|
<div class="caption font-green portlet-total">
|
|
<span id="PLSaldoCxPTot" class="caption-subject bold uppercase" runat="server" />
|
|
<a href="javascript:;" class="collapse"></a>
|
|
</div>
|
|
</div>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
</div>
|
|
|
|
<!-- <div class="col-md-6"></div> -->
|
|
</div>
|
|
|
|
</ContentTemplate>
|
|
<Triggers>
|
|
<asp:AsyncPostBackTrigger ControlID="btnConsultar" EventName="Click" />
|
|
</Triggers>
|
|
|
|
</asp:UpdatePanel>
|
|
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
</asp:Content>
|
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
|
<%--<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
|
|
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
|
|
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
|
|
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
|
|
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
|
|
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>--%>
|
|
<%--<script src="https://code.highcharts.com/modules/data.js"></script>--%>
|
|
|
|
<script>
|
|
|
|
Highcharts.setOptions({
|
|
lang: {
|
|
thousandsSep: ',',
|
|
decimalPoint: '.'
|
|
},
|
|
colors: ["#FF0F00", "#FF6600", "#FF9E01", "#FCD202", "#F8FF01", "#B0DE09", "#04D215", "#0D8ECF", "#0D52D1", "#2A0CD0", "#8A0CCF", "#CD0D74", "#754DEB", "#DDDDDD", "#999999", "#333333"]
|
|
});
|
|
|
|
function CargaGraficas(json) {
|
|
|
|
const chartconfig = {
|
|
chart: {
|
|
marginRight: 50
|
|
},
|
|
title: {
|
|
text: undefined,
|
|
align: 'left'
|
|
},
|
|
legend: {
|
|
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'
|
|
},
|
|
yAxis: {
|
|
//min: 0,
|
|
opposite: true,
|
|
tickPixelInterval: 150,
|
|
title: {
|
|
text: null
|
|
},
|
|
stackLabels: {
|
|
enabled: true,
|
|
formatter: function () {
|
|
return Highcharts.numberFormat(this.total, 2, null, ',');
|
|
}
|
|
},
|
|
// labels: {
|
|
// style: {
|
|
// color: 'red'
|
|
// },
|
|
// formatter: function () {
|
|
// return Highcharts.numberFormat(this.value, null, null, ',');
|
|
// }
|
|
// }
|
|
},
|
|
//tooltip: {
|
|
// formatter: function (tooltip) {
|
|
// var tooltiptext = tooltip.defaultFormatter.call(this, tooltip);
|
|
// //var isCurrency = /^(\d|-)?(\d|,)*\.?\d*$/.test(/<b>(.*?)<\/b>/.exec(tooltiptext));
|
|
// //if (isCurrency) {
|
|
// // tooltiptext = tooltiptext.replace("<b>", "<b>$");
|
|
// //}
|
|
// tooltiptext = tooltiptext.replace("</b>", " " + this.point.unit + "</b>");
|
|
// console.log(tooltiptext)
|
|
// return tooltiptext
|
|
// },
|
|
// //footerFormat: '{point.key}'
|
|
//},
|
|
tooltip: {
|
|
//valuePrefix: '$',
|
|
valueSuffix: " " + '{point.unit}'
|
|
},
|
|
plotOptions: {
|
|
series: {
|
|
animation: true,
|
|
groupPadding: 0,
|
|
pointPadding: 0.1,
|
|
borderWidth: 0,
|
|
colorByPoint: true,
|
|
//dataSorting: {
|
|
// enabled: true,
|
|
// matchByName: true
|
|
//},
|
|
stacking: 'normal',
|
|
type: 'bar',
|
|
dataLabels: {
|
|
enabled: false,
|
|
// format: '${y}'
|
|
// formatter: function () {
|
|
// var defaultlabel = Highcharts.getOptions().plotOptions[this.point.series.type].dataLabels.formatter.call(this);
|
|
// var isCurrency = /^(\d|-)?(\d|,)*\.?\d*$/.test(defaultlabel);
|
|
// return isCurrency ? "$" + defaultlabel : defaultlabel;
|
|
// }
|
|
// formatter: function () {
|
|
// return this.total;
|
|
// },
|
|
},
|
|
animation: {
|
|
duration: 750
|
|
}
|
|
},
|
|
pie: {
|
|
allowPointSelect: true,
|
|
cursor: 'pointer',
|
|
dataLabels: {
|
|
enabled: true,
|
|
distance: -30,
|
|
format: '{point.percentage:.1f} %'
|
|
},
|
|
showInLegend: true
|
|
}
|
|
},
|
|
series: [
|
|
{
|
|
type: 'bar',
|
|
keys: ['name', 'y', 'unit'],
|
|
data: undefined
|
|
}
|
|
]
|
|
}
|
|
|
|
//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, 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"]) }, { ...chartconfig.series[0], type: 'line', data: customAccessor(json["CxCR"]) }] })
|
|
|
|
function customAccessor(data) {
|
|
const newData = [];
|
|
data.forEach(function (point, index) {
|
|
if (point.Texto == "Otros") {
|
|
newData.push({name:point.Texto, y:point.Valor, unit:point.Unidad, color:'#000000'});
|
|
} else {
|
|
newData.push([point.Texto, point.Valor, point.Unidad]);
|
|
}
|
|
});
|
|
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;
|
|
}
|
|
|
|
}
|
|
</script>
|
|
</asp:Content>
|
|
|