Ajout graphes CA par clients

This commit is contained in:
thienan
2021-06-16 10:45:08 +02:00
parent 6902e04e54
commit 4e3e2f9a36
7 changed files with 359 additions and 135 deletions

View File

@@ -59,7 +59,7 @@ def get_ca_groupe_12m(request, societe, datedeb, datefin):
SUM(IF(groupe = 'MAIF', 1, 0)) AS MAIF_nb
FROM bddevfac.facture
WHERE societe=:societe and date >= :datedeb and date <= :datefin GROUP BY yymm;"""
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()
def get_ca_groupe_3y(request, societe, datedeb):
@@ -69,10 +69,53 @@ def get_ca_groupe_3y(request, societe, datedeb):
query = """SELECT groupe,
SUM(IF (date_format(date, '%Y') = :date_n-2, TOTALHT, 0)) as Annee1,
SUM(IF (date_format(date, '%Y') = :date_n-2, 1, 0)) as Count1,
SUM(IF (date_format(date, '%Y') = :date_n-1, TOTALHT, 0)) as Annee2,
SUM(IF (date_format(date, '%Y') = :date_n, TOTALHT, 0)) as Annee3
SUM(IF (date_format(date, '%Y') = :date_n-1, 1, 0)) as Count2,
SUM(IF (date_format(date, '%Y') = :date_n, TOTALHT, 0)) as Annee3,
SUM(IF (date_format(date, '%Y') = :date_n, 1, 0)) as Count3
FROM bddevfac.facture
WHERE societe=:societe 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")})
return results.fetchall()
def get_ca_clients_12m(request, societe, datedeb, datefin):
query = """SELECT DATE_FORMAT(date, "%Y%m") as yymm,
DATE_FORMAT(date, "%M") as mois,
DATE_FORMAT(date, "%M %Y") as date,
SUM(IF(typecli = 'A', totalht, 0)) AS A_ca,
SUM(IF(typecli = 'A', 1, 0)) AS A_nb,
SUM(IF(typecli = 'E', totalht, 0)) AS E_ca,
SUM(IF(typecli = 'E', 1, 0)) AS E_nb,
SUM(IF(typecli = 'G', totalht, 0)) AS G_ca,
SUM(IF(typecli = 'G', 1, 0)) AS G_nb,
SUM(IF(typecli = 'I', totalht, 0)) AS I_ca,
SUM(IF(typecli = 'I', 1, 0)) AS I_nb,
SUM(IF(typecli = 'P', totalht, 0)) AS P_ca,
SUM(IF(typecli = 'P', 1, 0)) AS P_nb,
SUM(IF(typecli = 'R', totalht, 0)) AS R_ca,
SUM(IF(typecli = 'R', 1, 0)) AS R_nb,
SUM(IF(typecli = 'S', totalht, 0)) AS S_ca,
SUM(IF(typecli = 'S', 1, 0)) AS S_nb
FROM bddevfac.facture
WHERE societe=:societe and date >= :datedeb and date <= :datefin GROUP BY yymm;"""
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m"), 'datefin': datefin.strftime("%Y-%m")})
return results.fetchall()
def get_ca_clients_3y(request, societe, datedeb):
date2 = datedeb + relativedelta(years=-1)
date3 = datedeb + relativedelta(years=-2)
query = """SELECT typecli,
SUM(IF (date_format(date, '%Y') = :date_n-2, TOTALHT, 0)) as Annee1,
SUM(IF (date_format(date, '%Y') = :date_n-2, 1, 0)) as Count1,
SUM(IF (date_format(date, '%Y') = :date_n-1, TOTALHT, 0)) as Annee2,
SUM(IF (date_format(date, '%Y') = :date_n-1, 1, 0)) as Count2,
SUM(IF (date_format(date, '%Y') = :date_n, TOTALHT, 0)) as Annee3,
SUM(IF (date_format(date, '%Y') = :date_n, 1, 0)) as Count3
FROM bddevfac.facture
WHERE societe=:societe 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")})
return results.fetchall()