ajout ca groupe global
This commit is contained in:
@@ -19,7 +19,7 @@ pyramid.includes =
|
|||||||
pyramid_tm
|
pyramid_tm
|
||||||
|
|
||||||
|
|
||||||
sqlalchemy.url = mysql://phuoc:phuoc!@localhost/bddevfac?charset=utf8
|
sqlalchemy.url = mysql://root:anan00@localhost/bddevfac?charset=utf8
|
||||||
# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.1.17/bddevfac?charset=utf8
|
# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.1.17/bddevfac?charset=utf8
|
||||||
# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.0.31/bddevfac?charset=utf8
|
# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.0.31/bddevfac?charset=utf8
|
||||||
|
|
||||||
|
|||||||
@@ -82,6 +82,20 @@ def get_ca_groupe_3y(request, societe, year):
|
|||||||
results = request.dbsession.execute(query, {'societe': societe, 'year': year})
|
results = request.dbsession.execute(query, {'societe': societe, 'year': year})
|
||||||
return results.fetchall()
|
return results.fetchall()
|
||||||
|
|
||||||
|
def get_ca_groupe_3y_with_others(request, societe, year):
|
||||||
|
|
||||||
|
query = """SELECT groupe,
|
||||||
|
SUM(IF (year(date) = :year - 2, TOTALHT, 0)) as Annee1,
|
||||||
|
SUM(IF (year(date) = :year - 2, 1, 0)) as Count1,
|
||||||
|
SUM(IF (year(date) = :year - 1, TOTALHT, 0)) as Annee2,
|
||||||
|
SUM(IF (year(date) = :year - 1, 1, 0)) as Count2,
|
||||||
|
SUM(IF (year(date) = :year, TOTALHT, 0)) as Annee3,
|
||||||
|
SUM(IF (year(date) = :year, 1, 0)) as Count3
|
||||||
|
FROM bddevfac.facture
|
||||||
|
WHERE societe=:societe AND year(date) >= :year - 2 AND typecli <> 'I' GROUP BY groupe;"""
|
||||||
|
results = request.dbsession.execute(query, {'societe': societe, 'year': year})
|
||||||
|
return results.fetchall()
|
||||||
|
|
||||||
def get_ca_clients_12m(request, societe, datedeb, datefin):
|
def get_ca_clients_12m(request, societe, datedeb, datefin):
|
||||||
|
|
||||||
query = """SELECT DATE_FORMAT(date, "%Y%m") as yymm,
|
query = """SELECT DATE_FORMAT(date, "%Y%m") as yymm,
|
||||||
|
|||||||
@@ -37,6 +37,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h2>Evolution du CA sur les 3 dernières années (global)</h2>
|
||||||
|
<div class="row">
|
||||||
|
<!-- camembert 1 -->
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div id="chart_ca_3y_1_x" style="width: 100%; height: 500px;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div id="chart_ca_3y_2_x" style="width: 100%; height: 500px;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div id="chart_ca_3y_3_x" style="width: 100%; height: 500px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -48,6 +62,10 @@
|
|||||||
var dataSet_ca_3y_2 = ${chart_ca_3y_2};
|
var dataSet_ca_3y_2 = ${chart_ca_3y_2};
|
||||||
var dataSet_ca_3y_3 = ${chart_ca_3y_3};
|
var dataSet_ca_3y_3 = ${chart_ca_3y_3};
|
||||||
|
|
||||||
|
var dataSet_ca_3y_1_x = ${chart_ca_3y_1_x};
|
||||||
|
var dataSet_ca_3y_2_x = ${chart_ca_3y_2_x};
|
||||||
|
var dataSet_ca_3y_3_x = ${chart_ca_3y_3_x};
|
||||||
|
|
||||||
function drawChart() {
|
function drawChart() {
|
||||||
var data_ca_12m = google.visualization.arrayToDataTable(dataSet_ca_12m);
|
var data_ca_12m = google.visualization.arrayToDataTable(dataSet_ca_12m);
|
||||||
|
|
||||||
@@ -55,6 +73,10 @@
|
|||||||
var data_ca_3y_2 = google.visualization.arrayToDataTable(dataSet_ca_3y_2);
|
var data_ca_3y_2 = google.visualization.arrayToDataTable(dataSet_ca_3y_2);
|
||||||
var data_ca_3y_3 = google.visualization.arrayToDataTable(dataSet_ca_3y_3);
|
var data_ca_3y_3 = google.visualization.arrayToDataTable(dataSet_ca_3y_3);
|
||||||
|
|
||||||
|
var data_ca_3y_1_x = google.visualization.arrayToDataTable(dataSet_ca_3y_1_x);
|
||||||
|
var data_ca_3y_2_x = google.visualization.arrayToDataTable(dataSet_ca_3y_2_x);
|
||||||
|
var data_ca_3y_3_x = google.visualization.arrayToDataTable(dataSet_ca_3y_3_x);
|
||||||
|
|
||||||
var options_ca_12m = {
|
var options_ca_12m = {
|
||||||
title: '${title}',
|
title: '${title}',
|
||||||
vAxis: {title: "Chiffre d'Affaires en €"},
|
vAxis: {title: "Chiffre d'Affaires en €"},
|
||||||
@@ -77,6 +99,21 @@
|
|||||||
colors: ['purple', 'ff9900', '#dc3912', '3366cc', 'green'],
|
colors: ['purple', 'ff9900', '#dc3912', '3366cc', 'green'],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var options_ca_3y_1_x = {
|
||||||
|
title: '${title1}',
|
||||||
|
colors: ['gray', 'green', '#3366cc', 'purple', 'ff9900', 'dc3912'],
|
||||||
|
};
|
||||||
|
|
||||||
|
var options_ca_3y_2_x = {
|
||||||
|
title: '${title2}',
|
||||||
|
colors: ['gray', 'green', '#3366cc', 'purple', 'ff9900', 'dc3912'],
|
||||||
|
};
|
||||||
|
|
||||||
|
var options_ca_3y_3_x = {
|
||||||
|
title: '${title3}',
|
||||||
|
colors: ['gray', 'green', '#3366cc', 'purple', 'ff9900', 'dc3912'],
|
||||||
|
};
|
||||||
|
|
||||||
var chart_ca_12m = new google.visualization.ColumnChart(document.getElementById('chart_ca_12m'));
|
var chart_ca_12m = new google.visualization.ColumnChart(document.getElementById('chart_ca_12m'));
|
||||||
chart_ca_12m.draw(data_ca_12m, options_ca_12m);
|
chart_ca_12m.draw(data_ca_12m, options_ca_12m);
|
||||||
|
|
||||||
@@ -86,6 +123,13 @@
|
|||||||
chart_ca_3y_2.draw(data_ca_3y_2, options_ca_3y_2);
|
chart_ca_3y_2.draw(data_ca_3y_2, options_ca_3y_2);
|
||||||
var chart_ca_3y_3 = new google.visualization.PieChart(document.getElementById('chart_ca_3y_3'));
|
var chart_ca_3y_3 = new google.visualization.PieChart(document.getElementById('chart_ca_3y_3'));
|
||||||
chart_ca_3y_3.draw(data_ca_3y_3, options_ca_3y_3);
|
chart_ca_3y_3.draw(data_ca_3y_3, options_ca_3y_3);
|
||||||
|
|
||||||
|
var chart_ca_3y_1_x = new google.visualization.PieChart(document.getElementById('chart_ca_3y_1_x'));
|
||||||
|
chart_ca_3y_1_x.draw(data_ca_3y_1_x, options_ca_3y_1_x);
|
||||||
|
var chart_ca_3y_2_x = new google.visualization.PieChart(document.getElementById('chart_ca_3y_2_x'));
|
||||||
|
chart_ca_3y_2_x.draw(data_ca_3y_2_x, options_ca_3y_2_x);
|
||||||
|
var chart_ca_3y_3_x = new google.visualization.PieChart(document.getElementById('chart_ca_3y_3_x'));
|
||||||
|
chart_ca_3y_3_x.draw(data_ca_3y_3_x, options_ca_3y_3_x);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -218,6 +218,32 @@ def ca_groupes(request):
|
|||||||
d3 = (item.groupe, float(item.Annee3), tooltip_y3)
|
d3 = (item.groupe, float(item.Annee3), tooltip_y3)
|
||||||
chart_ca_3y_3.append(d3)
|
chart_ca_3y_3.append(d3)
|
||||||
|
|
||||||
|
# lire les CA par mois
|
||||||
|
items = get_ca_groupe_3y_with_others(request, societe, thisyear)
|
||||||
|
chart_ca_3y_1_x = []
|
||||||
|
chart_ca_3y_2_x = []
|
||||||
|
chart_ca_3y_3_x = []
|
||||||
|
# titre des colonnes
|
||||||
|
chart_ca_3y_1_x.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
|
chart_ca_3y_2_x.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
|
chart_ca_3y_3_x.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
|
title1 = 'CA ' + str(thisyear - 2)
|
||||||
|
title2 = 'CA ' + str(thisyear - 1)
|
||||||
|
title3 = 'CA ' + str(thisyear)
|
||||||
|
for item in items:
|
||||||
|
# construire la liste pour donut cible
|
||||||
|
tooltip_y1 = item.groupe + ' \nCA: '+str(item.Annee1) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
|
tooltip_y2 = item.groupe + ' \nCA: '+str(item.Annee2) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
|
tooltip_y3 = item.groupe + ' \nCA: '+str(item.Annee3) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
|
# ('+str(item.population)+')/n'
|
||||||
|
d1_x = (item.groupe, float(item.Annee1), tooltip_y1)
|
||||||
|
chart_ca_3y_1_x.append(d1_x)
|
||||||
|
d2_x = (item.groupe, float(item.Annee2), tooltip_y2)
|
||||||
|
chart_ca_3y_2_x.append(d2_x)
|
||||||
|
d3_x = (item.groupe, float(item.Annee3), tooltip_y3)
|
||||||
|
chart_ca_3y_3_x.append(d3_x)
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'page_title': "CA par groupe",
|
'page_title': "CA par groupe",
|
||||||
'url': url,
|
'url': url,
|
||||||
@@ -225,6 +251,9 @@ def ca_groupes(request):
|
|||||||
'chart_ca_3y_1': json.dumps(chart_ca_3y_1),
|
'chart_ca_3y_1': json.dumps(chart_ca_3y_1),
|
||||||
'chart_ca_3y_2': json.dumps(chart_ca_3y_2),
|
'chart_ca_3y_2': json.dumps(chart_ca_3y_2),
|
||||||
'chart_ca_3y_3': json.dumps(chart_ca_3y_3),
|
'chart_ca_3y_3': json.dumps(chart_ca_3y_3),
|
||||||
|
'chart_ca_3y_1_x': json.dumps(chart_ca_3y_1_x),
|
||||||
|
'chart_ca_3y_2_x': json.dumps(chart_ca_3y_2_x),
|
||||||
|
'chart_ca_3y_3_x': json.dumps(chart_ca_3y_3_x),
|
||||||
'title': title,
|
'title': title,
|
||||||
'title1': title1,
|
'title1': title1,
|
||||||
'title2': title2,
|
'title2': title2,
|
||||||
|
|||||||
Reference in New Issue
Block a user