corrections infobox + stats
This commit is contained in:
@@ -62,21 +62,18 @@ def get_ca_groupe_12m(request, societe, datedeb, datefin):
|
|||||||
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m"), 'datefin': datefin.strftime("%Y-%m")})
|
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m"), 'datefin': datefin.strftime("%Y-%m")})
|
||||||
return results.fetchall()
|
return results.fetchall()
|
||||||
|
|
||||||
def get_ca_groupe_3y(request, societe, datedeb):
|
def get_ca_groupe_3y(request, societe, year):
|
||||||
|
|
||||||
date2 = datedeb + relativedelta(years=-1)
|
|
||||||
date3 = datedeb + relativedelta(years=-2)
|
|
||||||
|
|
||||||
query = """SELECT groupe,
|
query = """SELECT groupe,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-2, TOTALHT, 0)) as Annee1,
|
SUM(IF (year(date) = :year - 2, TOTALHT, 0)) as Annee1,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-2, 1, 0)) as Count1,
|
SUM(IF (year(date) = :year - 2, 1, 0)) as Count1,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-1, TOTALHT, 0)) as Annee2,
|
SUM(IF (year(date) = :year - 1, TOTALHT, 0)) as Annee2,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-1, 1, 0)) as Count2,
|
SUM(IF (year(date) = :year - 1, 1, 0)) as Count2,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n, TOTALHT, 0)) as Annee3,
|
SUM(IF (year(date) = :year, TOTALHT, 0)) as Annee3,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n, 1, 0)) as Count3
|
SUM(IF (year(date) = :year, 1, 0)) as Count3
|
||||||
FROM bddevfac.facture
|
FROM bddevfac.facture
|
||||||
WHERE societe=:societe AND groupe <> 'X' GROUP BY groupe;"""
|
WHERE societe=:societe AND groupe <> 'X' GROUP BY groupe;"""
|
||||||
results = request.dbsession.execute(query, {'societe': societe, 'date_n': date3.strftime("%Y"), 'date_n-1': date2.strftime("%Y"), 'date_n': datedeb.strftime("%Y")})
|
results = request.dbsession.execute(query, {'societe': societe, 'year': year})
|
||||||
return results.fetchall()
|
return results.fetchall()
|
||||||
|
|
||||||
def get_ca_clients_12m(request, societe, datedeb, datefin):
|
def get_ca_clients_12m(request, societe, datedeb, datefin):
|
||||||
@@ -101,21 +98,18 @@ def get_ca_clients_12m(request, societe, datedeb, datefin):
|
|||||||
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m"), 'datefin': datefin.strftime("%Y-%m")})
|
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m"), 'datefin': datefin.strftime("%Y-%m")})
|
||||||
return results.fetchall()
|
return results.fetchall()
|
||||||
|
|
||||||
def get_ca_clients_3y(request, societe, datedeb):
|
def get_ca_clients_3y(request, societe, year):
|
||||||
|
|
||||||
date2 = datedeb + relativedelta(years=-1)
|
|
||||||
date3 = datedeb + relativedelta(years=-2)
|
|
||||||
|
|
||||||
query = """SELECT LIB,
|
query = """SELECT LIB,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-2, TOTALHT, 0)) as Annee1,
|
SUM(IF (year(date) = :year - 2, TOTALHT, 0)) as Annee1,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-2, 1, 0)) as Count1,
|
SUM(IF (year(date) = :year - 2, 1, 0)) as Count1,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-1, TOTALHT, 0)) as Annee2,
|
SUM(IF (year(date) = :year - 1, TOTALHT, 0)) as Annee2,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n-1, 1, 0)) as Count2,
|
SUM(IF (year(date) = :year - 1, 1, 0)) as Count2,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n, TOTALHT, 0)) as Annee3,
|
SUM(IF (year(date) = :year, TOTALHT, 0)) as Annee3,
|
||||||
SUM(IF (date_format(date, '%Y') = :date_n, 1, 0)) as Count3
|
SUM(IF (year(date) = :year, 1, 0)) as Count3
|
||||||
FROM bddevfac.facture JOIN bddevfac.p_type ON bddevfac.facture.typecli = bddevfac.p_type.CODE
|
FROM bddevfac.facture JOIN bddevfac.p_type ON bddevfac.facture.typecli = bddevfac.p_type.CODE
|
||||||
WHERE societe=:societe AND typecli <> 'I' GROUP BY typecli;"""
|
WHERE societe=:societe AND year(date) >= :year - 2 AND typecli <> 'I' GROUP BY typecli;"""
|
||||||
results = request.dbsession.execute(query, {'societe': societe, 'date_n': date3.strftime("%Y"), 'date_n-1': date2.strftime("%Y"), 'date_n': datedeb.strftime("%Y")})
|
results = request.dbsession.execute(query, {'societe': societe, 'year': year})
|
||||||
return results.fetchall()
|
return results.fetchall()
|
||||||
|
|
||||||
def get_delais_pourcent(request, societe, groupe, datedeb):
|
def get_delais_pourcent(request, societe, groupe, datedeb):
|
||||||
|
|||||||
@@ -177,19 +177,19 @@
|
|||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-mar {
|
.bg-compta {
|
||||||
background-color: #800000 !important;
|
background-color: SlateBlue !important;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-choco {
|
.bg-gest {
|
||||||
background-color: #D2691E !important;
|
background-color: Coral !important;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-tan {
|
.bg-prod {
|
||||||
background-color: #D2B48C !important;
|
background-color: SkyBlue !important;
|
||||||
color: black;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.new-page {
|
.new-page {
|
||||||
|
|||||||
@@ -2,60 +2,11 @@
|
|||||||
<div metal:fill-slot="content">
|
<div metal:fill-slot="content">
|
||||||
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<br />
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<div class="info-box bg-tan">
|
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-folder-open"></i></span>
|
|
||||||
<div class="info-box-content">
|
|
||||||
<span class="info-box-number">DEM. DEVIS</span>
|
|
||||||
<span class="info-box-text">A traiter : </span>
|
|
||||||
<span class="info-box-number"><span class="badge bg-PE">${nb_dd_restants.nb_PE}</span>
|
|
||||||
<span class="badge bg-ME">${nb_dd_restants.nb_ME}</span>
|
|
||||||
<span class="badge bg-PL">${nb_dd_restants.nb_PL}</span></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<div class="info-box bg-tan">
|
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-file"></i></span>
|
|
||||||
<div class="info-box-content">
|
|
||||||
<span class="info-box-number">DEVIS</span>
|
|
||||||
<span class="info-box-text">A traiter : </span>
|
|
||||||
<span class="info-box-number"><span class="badge bg-PE">${nb_de_restants.nb_PE}</span>
|
|
||||||
<span class="badge bg-ME">${nb_de_restants.nb_ME}</span>
|
|
||||||
<span class="badge bg-PL">${nb_de_restants.nb_PL}</span></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<div class="info-box bg-tan">
|
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-inbox"></i></span>
|
|
||||||
<div class="info-box-content">
|
|
||||||
<span class="info-box-number">FACTURES</span>
|
|
||||||
<span class="info-box-text">A traiter : </span>
|
|
||||||
<span class="info-box-number"><span class="badge bg-PE">${nb_fa_restants.nb_PE}</span>
|
|
||||||
<span class="badge bg-ME">${nb_fa_restants.nb_ME}</span>
|
|
||||||
<span class="badge bg-PL">${nb_fa_restants.nb_PL}</span></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<a href="${request.application_url}/dossier_lookup" tal:condition="access > 6">
|
|
||||||
<div class="info-box bg-tan">
|
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-search"></i></span>
|
|
||||||
<div class="info-box-content">
|
|
||||||
<span class="info-box-number">RECHERCHE</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
<br />
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/agenda/today">
|
<a href="${request.application_url}/agenda/today">
|
||||||
<div class="info-box bg-tan">
|
<div class="info-box bg-prod">
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-calendar"></i></span>
|
<span class="info-box-icon"><i class="glyphicon glyphicon-calendar"></i></span>
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-number">AGENDA</span>
|
<span class="info-box-number">AGENDA</span>
|
||||||
@@ -67,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/rdf_list">
|
<a href="${request.application_url}/rdf_list">
|
||||||
<div class="info-box bg-tan">
|
<div class="info-box bg-green">
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-tint"></i></span>
|
<span class="info-box-icon"><i class="glyphicon glyphicon-tint"></i></span>
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-number">RDF</span>
|
<span class="info-box-number">RDF</span>
|
||||||
@@ -77,9 +28,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3" tal:condition="logged_in=='CAO'">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/devis_list">
|
<a href="${request.application_url}/devis_list">
|
||||||
<div class="info-box bg-mar">
|
<div class="info-box bg-prod">
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-text-height"></i></span>
|
<span class="info-box-icon"><i class="glyphicon glyphicon-text-height"></i></span>
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-number">E-DEVIS</span>
|
<span class="info-box-number">E-DEVIS</span>
|
||||||
@@ -87,13 +38,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="${request.application_url}/dossier_lookup" tal:condition="access > 6">
|
||||||
|
<div class="info-box bg-prod">
|
||||||
|
<span class="info-box-icon"><i class="glyphicon glyphicon-search"></i></span>
|
||||||
|
<div class="info-box-content">
|
||||||
|
<span class="info-box-number">RECHERCHE</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="row" tal:condition="access >= 5">
|
<div class="row" tal:condition="access >= 5">
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/planning/today">
|
<a href="${request.application_url}/planning/today">
|
||||||
<div class="info-box bg-choco">
|
<div class="info-box bg-gest">
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-calendar"></i></span>
|
<span class="info-box-icon"><i class="glyphicon glyphicon-calendar"></i></span>
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-number">PLANNING</span>
|
<span class="info-box-number">PLANNING</span>
|
||||||
@@ -101,19 +62,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
|
||||||
<a href="${request.application_url}/upload_om" tal:condition="access > 0">
|
|
||||||
<div class="info-box bg-choco">
|
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-download-alt"></i></span>
|
|
||||||
<div class="info-box-content">
|
|
||||||
<span class="info-box-number">PDF <span class="glyphicon glyphicon-arrow-right"></span> DOSSIERS</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/demandes" tal:condition="access > 0">
|
<a href="${request.application_url}/demandes" tal:condition="access > 0">
|
||||||
<div class="info-box bg-choco">
|
<div class="info-box bg-gest">
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-envelope"></i></span>
|
<span class="info-box-icon"><i class="glyphicon glyphicon-envelope"></i></span>
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-number">EMAILS</span>
|
<span class="info-box-number">EMAILS</span>
|
||||||
@@ -123,9 +74,63 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<a href="${request.application_url}/upload_om" tal:condition="access > 0">
|
||||||
|
<div class="info-box bg-gest">
|
||||||
|
<span class="info-box-icon"><i class="glyphicon glyphicon-download-alt"></i></span>
|
||||||
|
<div class="info-box-content">
|
||||||
|
<span class="info-box-number">PDF <span class="glyphicon glyphicon-arrow-right"></span> DOSSIERS</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="info-box bg-gest">
|
||||||
|
<span class="info-box-icon"><i class="glyphicon glyphicon-folder-open"></i></span>
|
||||||
|
<div class="info-box-content">
|
||||||
|
<span class="info-box-number">DEM. DEVIS</span>
|
||||||
|
<span class="info-box-text">A traiter : </span>
|
||||||
|
<span class="info-box-number"><span class="badge bg-PE">${nb_dd_restants.nb_PE}</span>
|
||||||
|
<span class="badge bg-ME">${nb_dd_restants.nb_ME}</span>
|
||||||
|
<span class="badge bg-PL">${nb_dd_restants.nb_PL}</span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="info-box bg-gest">
|
||||||
|
<span class="info-box-icon"><i class="glyphicon glyphicon-file"></i></span>
|
||||||
|
<div class="info-box-content">
|
||||||
|
<span class="info-box-number">DEVIS</span>
|
||||||
|
<span class="info-box-text">A traiter : </span>
|
||||||
|
<span class="info-box-number"><span class="badge bg-PE">${nb_de_restants.nb_PE}</span>
|
||||||
|
<span class="badge bg-ME">${nb_de_restants.nb_ME}</span>
|
||||||
|
<span class="badge bg-PL">${nb_de_restants.nb_PL}</span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="info-box bg-gest">
|
||||||
|
<span class="info-box-icon"><i class="glyphicon glyphicon-inbox"></i></span>
|
||||||
|
<div class="info-box-content">
|
||||||
|
<span class="info-box-number">FACTURES</span>
|
||||||
|
<span class="info-box-text">A traiter : </span>
|
||||||
|
<span class="info-box-number"><span class="badge bg-PE">${nb_fa_restants.nb_PE}</span>
|
||||||
|
<span class="badge bg-ME">${nb_fa_restants.nb_ME}</span>
|
||||||
|
<span class="badge bg-PL">${nb_fa_restants.nb_PL}</span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/stats" tal:condition="access > 6">
|
<a href="${request.application_url}/stats" tal:condition="access > 6">
|
||||||
<div class="info-box bg-mar">
|
<div class="info-box bg-compta">
|
||||||
<span class="info-box-icon"><i class="glyphicon glyphicon-stats"></i></span>
|
<span class="info-box-icon"><i class="glyphicon glyphicon-stats"></i></span>
|
||||||
<div class="info-box-content">
|
<div class="info-box-content">
|
||||||
<span class="info-box-number">STATS</span>
|
<span class="info-box-number">STATS</span>
|
||||||
|
|||||||
@@ -17,11 +17,13 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h2>Evolution du CA sur les 12 derniers mois</h2>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Histogramme CA sur 12 mois par clients -->
|
<!-- Histogramme CA sur 12 mois par clients -->
|
||||||
<div id="chart_ca_12m" style="width: 100%; height: 500px;"></div>
|
<div id="chart_ca_12m" style="width: 100%; height: 500px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h2>Evolution du CA sur les 3 dernières années</h2>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- camembert 1 -->
|
<!-- camembert 1 -->
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
|
|||||||
@@ -17,11 +17,13 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h2>Evolution du CA sur les 12 derniers mois</h2>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Histogramme CA sur 12 mois par groupe -->
|
<!-- Histogramme CA sur 12 mois par groupe -->
|
||||||
<div id="chart_ca_12m" style="width: 100%; height: 500px;"></div>
|
<div id="chart_ca_12m" style="width: 100%; height: 500px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<h2>Evolution du CA sur les 3 dernières années</h2>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- camembert 1 -->
|
<!-- camembert 1 -->
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
|
|||||||
@@ -22,12 +22,12 @@
|
|||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/ca_groupes/PE" tal:condition="access > 0">
|
<a href="${request.application_url}/ca_groupes/PE" tal:condition="access > 0">
|
||||||
<span class="glyphicon glyphicon-equalizer logo-warning"></span>
|
<span class="glyphicon glyphicon-equalizer logo-warning"></span>
|
||||||
<h4>CA GROUPES</h4></a>
|
<h4>CA / GROUPES</h4></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<a href="${request.application_url}/ca_clients/PE" tal:condition="access > 0">
|
<a href="${request.application_url}/ca_clients/PE" tal:condition="access > 0">
|
||||||
<span class="glyphicon glyphicon-equalizer logo-warning"></span>
|
<span class="glyphicon glyphicon-equalizer logo-warning"></span>
|
||||||
<h4>CA CLIENTS</h4></a>
|
<h4>CA / TYPE CLIENTS</h4></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -177,21 +177,20 @@ def ca_groupes(request):
|
|||||||
chart_ca_12m = []
|
chart_ca_12m = []
|
||||||
# titre des colonnes
|
# titre des colonnes
|
||||||
chart_ca_12m.append(('Mois', 'AXA', { 'type':'string','role': 'tooltip'}, 'MAIF', { 'type':'string','role': 'tooltip'}))
|
chart_ca_12m.append(('Mois', 'AXA', { 'type':'string','role': 'tooltip'}, 'MAIF', { 'type':'string','role': 'tooltip'}))
|
||||||
title = 'CA / MOIS'
|
title = 'CA sur 12 mois'
|
||||||
for item in items:
|
for item in items:
|
||||||
# construire la liste pour donut cible
|
# construire la liste pour donut cible
|
||||||
tooltipMAIF = item.date + ' \nCA: '+str(item.MAIF_ca) + ' €\nDossiers: '+str(round(item.MAIF_nb))
|
tooltipMAIF = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.MAIF_ca) + ' €\nDossiers: '+str(round(item.MAIF_nb))
|
||||||
tooltipAXA = item.date + ' \nCA: '+str(item.AXA_ca) + ' €\nDossiers: '+str(round(item.AXA_nb))
|
tooltipAXA = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.AXA_ca) + ' €\nDossiers: '+str(round(item.AXA_nb))
|
||||||
# ('+str(item.population)+')/n'
|
# ('+str(item.population)+')/n'
|
||||||
d = (item.mois, float(item.AXA_ca), tooltipAXA, float(item.MAIF_ca), tooltipMAIF)
|
d = (item.mois[:3], float(item.AXA_ca), tooltipAXA, float(item.MAIF_ca), tooltipMAIF)
|
||||||
chart_ca_12m.append(d)
|
chart_ca_12m.append(d)
|
||||||
|
|
||||||
# debut = aujourd'hui - 11 mois
|
# debut = aujourd'hui - 11 mois
|
||||||
datedeb = date.today()
|
thisyear = date.today().year
|
||||||
datedeb.replace(month=1,day=1)
|
|
||||||
|
|
||||||
# lire les CA par mois
|
# lire les CA par mois
|
||||||
items = get_ca_groupe_3y(request, societe, datedeb)
|
items = get_ca_groupe_3y(request, societe, thisyear)
|
||||||
chart_ca_3y_1 = []
|
chart_ca_3y_1 = []
|
||||||
chart_ca_3y_2 = []
|
chart_ca_3y_2 = []
|
||||||
chart_ca_3y_3 = []
|
chart_ca_3y_3 = []
|
||||||
@@ -199,9 +198,9 @@ def ca_groupes(request):
|
|||||||
chart_ca_3y_1.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
chart_ca_3y_1.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
chart_ca_3y_2.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
chart_ca_3y_2.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
chart_ca_3y_3.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
chart_ca_3y_3.append(('Groupe', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
title1 = 'CA ' + (datedeb + relativedelta(years=-2)).strftime("%Y")
|
title1 = 'CA ' + str(thisyear - 2)
|
||||||
title2 = 'CA ' + (datedeb + relativedelta(years=-1)).strftime("%Y")
|
title2 = 'CA ' + str(thisyear - 1)
|
||||||
title3 = 'CA ' + datedeb.strftime("%Y")
|
title3 = 'CA ' + str(thisyear)
|
||||||
for item in items:
|
for item in items:
|
||||||
# construire la liste pour donut cible
|
# construire la liste pour donut cible
|
||||||
tooltip_y1 = item.groupe + ' \nCA: '+str(item.Annee1) + ' €\nDossiers: '+str(round(item.Count1))
|
tooltip_y1 = item.groupe + ' \nCA: '+str(item.Annee1) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
@@ -253,26 +252,25 @@ def ca_clients(request):
|
|||||||
chart_ca_12m.append(('Mois', 'ASSURANCES', { 'type':'string','role': 'tooltip'}, 'EXPERTS', { 'type':'string','role': 'tooltip'},
|
chart_ca_12m.append(('Mois', 'ASSURANCES', { 'type':'string','role': 'tooltip'}, 'EXPERTS', { 'type':'string','role': 'tooltip'},
|
||||||
'GROUPEMENT', { 'type':'string','role': 'tooltip'}, 'PARTICULIER', { 'type':'string','role': 'tooltip'},
|
'GROUPEMENT', { 'type':'string','role': 'tooltip'}, 'PARTICULIER', { 'type':'string','role': 'tooltip'},
|
||||||
'REGIES', { 'type':'string','role': 'tooltip'}, 'SOCIETE', { 'type':'string','role': 'tooltip'}))
|
'REGIES', { 'type':'string','role': 'tooltip'}, 'SOCIETE', { 'type':'string','role': 'tooltip'}))
|
||||||
title = 'CA / MOIS'
|
title = 'CA sur 12 mois'
|
||||||
for item in items:
|
for item in items:
|
||||||
# construire la liste pour donut cible
|
# construire la liste pour donut cible
|
||||||
tooltipA = item.date + ' \nCA: '+str(item.A_ca) + ' €\nDossiers: '+str(round(item.A_nb))
|
tooltipA = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.A_ca) + ' €\nDossiers: '+str(round(item.A_nb))
|
||||||
tooltipE = item.date + ' \nCA: '+str(item.E_ca) + ' €\nDossiers: '+str(round(item.E_nb))
|
tooltipE = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.E_ca) + ' €\nDossiers: '+str(round(item.E_nb))
|
||||||
tooltipG = item.date + ' \nCA: '+str(item.G_ca) + ' €\nDossiers: '+str(round(item.G_nb))
|
tooltipG = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.G_ca) + ' €\nDossiers: '+str(round(item.G_nb))
|
||||||
tooltipP = item.date + ' \nCA: '+str(item.P_ca) + ' €\nDossiers: '+str(round(item.P_nb))
|
tooltipP = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.P_ca) + ' €\nDossiers: '+str(round(item.P_nb))
|
||||||
tooltipR = item.date + ' \nCA: '+str(item.R_ca) + ' €\nDossiers: '+str(round(item.R_nb))
|
tooltipR = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.R_ca) + ' €\nDossiers: '+str(round(item.R_nb))
|
||||||
tooltipS = item.date + ' \nCA: '+str(item.S_ca) + ' €\nDossiers: '+str(round(item.S_nb))
|
tooltipS = item.date[:3] + ' ' + item.date[-4:] + ' \nCA: '+str(item.S_ca) + ' €\nDossiers: '+str(round(item.S_nb))
|
||||||
# ('+str(item.population)+')/n'
|
# ('+str(item.population)+')/n'
|
||||||
d = (item.mois, float(item.A_ca), tooltipA, float(item.E_ca), tooltipE, float(item.G_ca), tooltipG,
|
d = (item.mois[:3], float(item.A_ca), tooltipA, float(item.E_ca), tooltipE, float(item.G_ca), tooltipG,
|
||||||
float(item.P_ca), tooltipP, float(item.R_ca), tooltipR, float(item.S_ca), tooltipS)
|
float(item.P_ca), tooltipP, float(item.R_ca), tooltipR, float(item.S_ca), tooltipS)
|
||||||
chart_ca_12m.append(d)
|
chart_ca_12m.append(d)
|
||||||
|
|
||||||
# debut = aujourd'hui - 11 mois
|
# debut = aujourd'hui - 11 mois
|
||||||
datedeb = date.today()
|
thisyear = date.today().year
|
||||||
datedeb.replace(month=1,day=1)
|
|
||||||
|
|
||||||
# lire les CA par mois
|
# lire les CA par mois
|
||||||
items = get_ca_clients_3y(request, societe, datedeb)
|
items = get_ca_clients_3y(request, societe, thisyear)
|
||||||
chart_ca_3y_1 = []
|
chart_ca_3y_1 = []
|
||||||
chart_ca_3y_2 = []
|
chart_ca_3y_2 = []
|
||||||
chart_ca_3y_3 = []
|
chart_ca_3y_3 = []
|
||||||
@@ -280,24 +278,36 @@ def ca_clients(request):
|
|||||||
chart_ca_3y_1.append(('Clients', 'CA', { 'type':'string','role': 'tooltip'}))
|
chart_ca_3y_1.append(('Clients', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
chart_ca_3y_2.append(('Clients', 'CA', { 'type':'string','role': 'tooltip'}))
|
chart_ca_3y_2.append(('Clients', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
chart_ca_3y_3.append(('Clients', 'CA', { 'type':'string','role': 'tooltip'}))
|
chart_ca_3y_3.append(('Clients', 'CA', { 'type':'string','role': 'tooltip'}))
|
||||||
title1 = 'CA ' + (datedeb + relativedelta(years=-2)).strftime("%Y")
|
title1 = 'CA ' + str(thisyear - 2)
|
||||||
title2 = 'CA ' + (datedeb + relativedelta(years=-1)).strftime("%Y")
|
title2 = 'CA ' + str(thisyear - 1)
|
||||||
title3 = 'CA ' + datedeb.strftime("%Y")
|
title3 = 'CA ' + str(thisyear)
|
||||||
for item in items:
|
for item in items:
|
||||||
# construire la liste pour donut cible
|
# construire la liste pour donut cible
|
||||||
tooltip_y1 = item.LIB + ' \nCA: '+str(item.Annee1) + ' €\nDossiers: '+str(round(item.Count1))
|
tooltip_y1 = item.LIB + ' \nCA: '+str(item.Annee1) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
tooltip_y2 = item.LIB + ' \nCA: '+str(item.Annee2) + ' €\nDossiers: '+str(round(item.Count1))
|
tooltip_y2 = item.LIB + ' \nCA: '+str(item.Annee2) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
tooltip_y3 = item.LIB + ' \nCA: '+str(item.Annee3) + ' €\nDossiers: '+str(round(item.Count1))
|
tooltip_y3 = item.LIB + ' \nCA: '+str(item.Annee3) + ' €\nDossiers: '+str(round(item.Count1))
|
||||||
# ('+str(item.population)+')/n'
|
# ('+str(item.population)+')/n'
|
||||||
d1 = (item.LIB, float(item.Annee1), tooltip_y1)
|
if item.Annee1 > 0:
|
||||||
|
ca = float(item.Annee1)
|
||||||
|
else:
|
||||||
|
ca = 0
|
||||||
|
d1 = (item.LIB, ca, tooltip_y1)
|
||||||
chart_ca_3y_1.append(d1)
|
chart_ca_3y_1.append(d1)
|
||||||
d2 = (item.LIB, float(item.Annee2), tooltip_y2)
|
if item.Annee2 > 0:
|
||||||
|
ca = float(item.Annee2)
|
||||||
|
else:
|
||||||
|
ca = 0
|
||||||
|
d2 = (item.LIB, ca, tooltip_y2)
|
||||||
chart_ca_3y_2.append(d2)
|
chart_ca_3y_2.append(d2)
|
||||||
d3 = (item.LIB, float(item.Annee3), tooltip_y3)
|
if item.Annee3 > 0:
|
||||||
|
ca = float(item.Annee3)
|
||||||
|
else:
|
||||||
|
ca = 0
|
||||||
|
d3 = (item.LIB, ca, tooltip_y3)
|
||||||
chart_ca_3y_3.append(d3)
|
chart_ca_3y_3.append(d3)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'page_title': "CA par clients",
|
'page_title': "CA par types de clients",
|
||||||
'url': url,
|
'url': url,
|
||||||
'chart_ca_12m': json.dumps(chart_ca_12m),
|
'chart_ca_12m': json.dumps(chart_ca_12m),
|
||||||
'chart_ca_3y_1': json.dumps(chart_ca_3y_1),
|
'chart_ca_3y_1': json.dumps(chart_ca_3y_1),
|
||||||
|
|||||||
Reference in New Issue
Block a user