Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -39,8 +39,10 @@
|
||||
|
||||
#chartdiv {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
height: 600px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
@@ -170,8 +172,9 @@
|
||||
</asp:UpdatePanel>
|
||||
<asp:UpdatePanel ID="UpIndicador" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="row" >
|
||||
<div id="DivNeto" runat="server" class="col-md-offset-4 col-md-3">
|
||||
<div class="row" >
|
||||
<div class="col-md-3"></div>
|
||||
<div id="DivNeto" runat="server" class="col-md-3">
|
||||
<div id="DivClaseNeto" runat="server" class="dashboard-stat dashboard-stat-v2 green">
|
||||
<div class="visual"><i class="fa fa-bar-chart-o" '=""></i></div>
|
||||
<div class="details"><div class="number"><asp:Label ID="LblNombreNeto" runat="server"></asp:Label></div>
|
||||
@@ -183,6 +186,18 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DivRentabilidad" runat="server" class=" col-md-3">
|
||||
<div id="DivClaseRentabilidad" runat="server" class="dashboard-stat dashboard-stat-v2 green">
|
||||
<div class="visual"><i class="fa fa-bar-chart-o" '=""></i></div>
|
||||
<div class="details"><div class="number"><asp:Label ID="LblNombreRentabilidad" runat="server"></asp:Label></div>
|
||||
<div class="desc"><label id="LblRentabilidadIndicador" runat="server" class="indicadortipo2 col-md-6 tooltips" data-original-title="Rentabilidad">
|
||||
<asp:Label ID="LblRentabilidad" runat="server"></asp:Label>%</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
</ContentTemplate>
|
||||
@@ -194,12 +209,16 @@
|
||||
<Columns>
|
||||
<asp:HyperLinkField ItemStyle-HorizontalAlign="Left" Target="_blank" HeaderText="Grupo" DataTextField="GPO" DataNavigateUrlFields="FechaI,FechaF,CveSubProyecto,CveCliente,CveVendedor,Grupo,GPO,CvePS,CveClasificacion" DataNavigateUrlFormatString="RepVentasUtilidad.aspx?FechaI={0}&FechaF={1}&CveSubProyecto={2}&CveCliente={3}&CveVendedor={4}&Gpo={5}&CveGpo={6}&CvePS={7}&CveClasificacion={8}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Ventas" DataField="Ventas" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Descuento" DataField="Descuento" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Bonificacion" DataField="Bonificacion" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Costo" DataField="Costo" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Utilidad" DataField="Utilidad" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="%" DataField="PorUtilidad" ItemStyle-Width="7px" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Perdida" DataField="Perdida" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="%" DataField="PorPerdida" ItemStyle-Width="7px" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Neto" DataField="Neto" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="%" DataField="PorNeto" ItemStyle-Width="7px" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="% Rentabilidad" DataField="Rentabilidad" ItemStyle-Width="7px" DataFormatString="{0:N2}" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
@@ -215,8 +234,20 @@
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="chartdiv"></div>
|
||||
<div class="row">
|
||||
|
||||
<label class="col-md-1 truncate">Ver:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||||
<asp:ListItem Selected="True" Text="Neto" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Rentabilidad" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br />
|
||||
<div id="chartdiv"></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
|
||||
</div>
|
||||
@@ -232,7 +263,7 @@
|
||||
<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>
|
||||
function CargaGraficaCompracion(data) {
|
||||
function CargaGraficaBarrasNeto(data) {
|
||||
var chart = AmCharts.makeChart("chartdiv", {
|
||||
"theme": "light",
|
||||
"type": "serial",
|
||||
@@ -251,21 +282,12 @@
|
||||
"startDuration": 1,
|
||||
"graphs": [
|
||||
{
|
||||
"balloonText": "Perdida [[category]]: <b>[[value]] [[moneda]]</b>",
|
||||
"balloonText": "Neto [[category]]: <b>[[value]] [[moneda]]</b>",
|
||||
"fillAlphas": 0.9,
|
||||
"lineAlpha": 0.2,
|
||||
"type": "column",
|
||||
"valueField": "perdida",
|
||||
"title": "Perdida"
|
||||
|
||||
},
|
||||
{
|
||||
"balloonText": "Utilidad [[category]]: <b>[[value]] [[moneda]]</b>",
|
||||
"fillAlphas": 0.9,
|
||||
"lineAlpha": 0.2,
|
||||
"type": "column",
|
||||
"valueField": "utilidad",
|
||||
"title": "Utilidad"
|
||||
"valueField": "neto",
|
||||
"title": "Neto"
|
||||
}],
|
||||
"plotAreaFillAlphas": 0.1,
|
||||
"depth3D": 60,
|
||||
@@ -295,6 +317,62 @@
|
||||
chart.validateNow();
|
||||
});
|
||||
}
|
||||
|
||||
function CargaGraficaBarrasRentabilidad(data) {
|
||||
var chart = AmCharts.makeChart("chartdiv", {
|
||||
"theme": "light",
|
||||
"type": "serial",
|
||||
"dataProvider": data,
|
||||
"legend": {
|
||||
"horizontalGap": 10,
|
||||
"maxColumns": 1,
|
||||
"position": "right",
|
||||
"useGraphSettings": true,
|
||||
"markerSize": 10
|
||||
},
|
||||
"valueAxes": [{
|
||||
"stackType": "3d",
|
||||
"position": "left"
|
||||
}],
|
||||
"startDuration": 1,
|
||||
"graphs": [
|
||||
{
|
||||
"balloonText": "Rentabilidad [[category]]: <b>[[value]] [[moneda]]</b>",
|
||||
"fillAlphas": 0.9,
|
||||
"lineAlpha": 0.2,
|
||||
"type": "column",
|
||||
"valueField": "rentabilidad",
|
||||
"title": "Rentabilidad"
|
||||
}],
|
||||
"plotAreaFillAlphas": 0.1,
|
||||
"depth3D": 60,
|
||||
"angle": 30,
|
||||
"categoryField": "gpo",
|
||||
"categoryAxis": {
|
||||
"gridPosition": "start",
|
||||
"labelRotation": 90
|
||||
},
|
||||
"export": {
|
||||
"enabled": true
|
||||
}
|
||||
});
|
||||
jQuery('.chart-input').off().on('input change', function () {
|
||||
var property = jQuery(this).data('property');
|
||||
var target = chart;
|
||||
chart.startDuration = 0;
|
||||
|
||||
if (property == 'topRadius') {
|
||||
target = chart.graphs[0];
|
||||
if (this.value == 0) {
|
||||
this.value = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
target[property] = this.value;
|
||||
chart.validateNow();
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
|
||||
@@ -136,6 +136,12 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
LblNeto.Text = Neto.ToString("N2")
|
||||
LblPorNeto.Text = PorNeto.ToString("N2")
|
||||
End If
|
||||
|
||||
LblNombreRentabilidad.Text = "Rentabilidad"
|
||||
DivClaseRentabilidad.Attributes.Add("class", "dashboard-stat dashboard-stat-v2 green")
|
||||
LblRentabilidadIndicador.Attributes.Add("data-original-title", "Rentabilidad")
|
||||
LblRentabilidad.Text = DtDatos.Rows(0)("Rentabilidad").ToString.ToDouble.ToString("N2")
|
||||
|
||||
End If
|
||||
|
||||
ObjVentas.Dispose()
|
||||
@@ -161,26 +167,52 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
|
||||
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
|
||||
RegistraScript("$('#DivModalGrafica').modal('show')")
|
||||
Dim Dt As New DataTable()
|
||||
Dt.Columns.Add("gpo")
|
||||
Dt.Columns.Add("utilidad")
|
||||
Dt.Columns.Add("perdida")
|
||||
For Each Dr As DataRow In DtDatos.Rows
|
||||
If Dr("GPO").ToString <> "" Then
|
||||
Dim Row As DataRow = Nothing
|
||||
Row = Dt.NewRow()
|
||||
Row("gpo") = Dr("GPO").ToString
|
||||
Row("utilidad") = Dr("Utilidad").ToString.FormatoNumero
|
||||
Row("perdida") = Dr("Perdida").ToString.FormatoNumero
|
||||
Dt.Rows.Add(Row)
|
||||
End If
|
||||
Next
|
||||
CargaGrafica()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaGrafica()
|
||||
If DdlVer.SelectedValue.ToEntero = 1 Then
|
||||
Dim Dt As New DataTable()
|
||||
Dt.Columns.Add("gpo")
|
||||
Dt.Columns.Add("neto")
|
||||
For Each Dr As DataRow In DtDatos.Rows
|
||||
If Dr("GPO").ToString <> "" Then
|
||||
Dim Row As DataRow = Nothing
|
||||
Row = Dt.NewRow()
|
||||
Row("gpo") = Dr("GPO").ToString
|
||||
Row("neto") = Dr("Neto").ToString.FormatoNumero
|
||||
Dt.Rows.Add(Row)
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim query = From s In Dt.AsEnumerable() Select New With {.gpo = s("gpo").ToString(), .neto = s("neto").ToString().ToDouble()}
|
||||
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
||||
RegistraScript($"CargaGraficaBarrasNeto({json})", "22")
|
||||
ElseIf DdlVer.SelectedValue.ToEntero = 2 Then
|
||||
Dim Dt2 As New DataTable()
|
||||
Dt2.Columns.Add("gpo")
|
||||
Dt2.Columns.Add("rentabilidad")
|
||||
For Each Dr As DataRow In DtDatos.Rows
|
||||
If Dr("GPO").ToString <> "" Then
|
||||
Dim Row As DataRow = Nothing
|
||||
Row = Dt2.NewRow()
|
||||
Row("gpo") = Dr("GPO").ToString
|
||||
Row("rentabilidad") = Dr("Rentabilidad").ToString.FormatoNumero
|
||||
Dt2.Rows.Add(Row)
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim query2 = From s In Dt2.AsEnumerable() Select New With {.gpo = s("gpo").ToString(), .rentabilidad = s("rentabilidad").ToString().ToDouble()}
|
||||
Dim json2 As String = Newtonsoft.Json.JsonConvert.SerializeObject(query2)
|
||||
RegistraScript($"CargaGraficaBarrasRentabilidad({json2})", "23")
|
||||
End If
|
||||
|
||||
Dim query = From s In Dt.AsEnumerable() Select New With {.gpo = s("gpo").ToString(), .utilidad = s("utilidad").ToString().ToDouble(), .perdida = s("perdida").ToString().ToDouble}
|
||||
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
||||
RegistraScript($"CargaGraficaCompracion({json})", "22")
|
||||
UPModalProd.Update()
|
||||
End Sub
|
||||
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
CargaGrafica()
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
@@ -197,7 +229,12 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
e.Row.DBCampo("FechaI"), e.Row.DBCampo("FechaF"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveVendedor"),
|
||||
e.Row.DBCampo("Grupo"), e.Row.DBCampo("GPO"), e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveClasificacion"))
|
||||
e.Row.Cells(0).Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.Cells(0).Text & "</a>"
|
||||
Else
|
||||
e.Row.Cells(9).BackColor = Drawing.Color.LightGray
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -234,6 +271,7 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
|
||||
params.Add(New ReportParameter("Neto", LblNeto.Text))
|
||||
params.Add(New ReportParameter("PorNeto", $"{LblPorNeto.Text}%"))
|
||||
params.Add(New ReportParameter("Rentabilidad", $"{LblRentabilidad.Text}%"))
|
||||
|
||||
If Imagen.Exists Then
|
||||
params.Add(New ReportParameter("LogoPath", logouri))
|
||||
@@ -248,4 +286,5 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user