ca_groupe
This commit is contained in:
@@ -32,19 +32,6 @@ def get_rappels_rdv(request):
|
||||
results = request.dbsession.execute(query, {})
|
||||
return results.fetchall()
|
||||
|
||||
def get_stats_dd(request, societe):
|
||||
|
||||
query = """SELECT societe, year(date) as Annee, COUNT(*) as Total,
|
||||
SUM(IF(status = '', 1, 0)) AS Created,
|
||||
SUM(IF(status = 'Devis', 1, 0)) AS Devis,
|
||||
SUM(IF(status = 'Commandé', 1, 0)) AS Commande,
|
||||
SUM(IF(status = 'Facturé', 1, 0)) AS Facture,
|
||||
SUM(IF(status = 'Régl part.', 1, 0)) AS ReglePart,
|
||||
SUM(IF(status = 'Réglée', 1, 0)) AS Regle
|
||||
FROM dem_devis where societe=:societe group by societe, year(date);"""
|
||||
results = request.dbsession.execute(query, {'societe': societe}).fetchall()
|
||||
return results
|
||||
|
||||
def get_dossiers_byChantier(request, societe, name):
|
||||
|
||||
query = "CALL spGET_DOSSIERS_byChantier('%s','%s','%s');" % (societe, 'DE', name.replace("'","''"))
|
||||
@@ -197,21 +184,7 @@ def update_expert(request, code_cab, code_exp, new_values):
|
||||
def delete_expert(request, code_cab, code_exp):
|
||||
query = "DELETE FROM p_experts WHERE code_cab = :code_cab AND code_exp = :code_exp;"
|
||||
execute_query(request, query, {'code_cab': code_cab, 'code_exp': code_exp})
|
||||
|
||||
def get_stats_delai_groupe(request, societe, datedeb, datefin):
|
||||
query = """SELECT group2, group2_lib FROM stats_delais
|
||||
WHERE societe=:societe AND group1 >= :datedeb AND group1 <= :datefin GROUP BY group2 ORDER BY group2_lib;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y%m"), 'datefin': datefin.strftime("%Y%m")})
|
||||
return results.fetchall()
|
||||
|
||||
def get_stats_delais(request, societe, datedeb, datefin, groupe, id_chart):
|
||||
# lire les examens sur 12 mois glissants par moniteur
|
||||
query = """SELECT * FROM stats_delais
|
||||
WHERE societe=:societe AND id=:id_chart AND group1 >= :datedeb AND group1 <= :datefin AND group2=:groupe order by group1;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'id_chart': id_chart, 'datedeb': datedeb.strftime("%Y%m"),
|
||||
'datefin': datefin.strftime("%Y%m"), 'groupe': groupe})
|
||||
return results.fetchall()
|
||||
|
||||
def update_societe(request, code, new_values):
|
||||
# formater les champs
|
||||
s = ''
|
||||
|
||||
61
mondumas/models/stats.py
Normal file
61
mondumas/models/stats.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# -*- coding: utf8 -*-
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import (
|
||||
scoped_session,
|
||||
sessionmaker,
|
||||
)
|
||||
from zope.sqlalchemy import (
|
||||
ZopeTransactionExtension,
|
||||
mark_changed
|
||||
)
|
||||
|
||||
from datetime import *
|
||||
import dateutil.relativedelta
|
||||
import transaction
|
||||
|
||||
def execute_query(request, query, params):
|
||||
"""Execute query and mark session as changed"""
|
||||
request.dbsession.execute(query, params)
|
||||
mark_changed(request.dbsession)
|
||||
transaction.commit()
|
||||
|
||||
def get_stats_dd(request, societe):
|
||||
|
||||
query = """SELECT societe, year(date) as Annee, COUNT(*) as Total,
|
||||
SUM(IF(status = '', 1, 0)) AS A_traiter,
|
||||
SUM(IF(status = 'Devis', 1, 0)) AS Devis,
|
||||
SUM(IF(status = 'Commandé', 1, 0)) AS Commande,
|
||||
SUM(IF(status = 'Facturé', 1, 0)) AS Facture,
|
||||
SUM(IF(status = 'Régl part.', 1, 0)) AS ReglePart,
|
||||
SUM(IF(status = 'Réglée', 1, 0)) AS Regle
|
||||
FROM dem_devis where societe=:societe group by societe, year(date) order by year(date) desc;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe}).fetchall()
|
||||
return results
|
||||
|
||||
def get_stats_delais(request, societe, datedeb, datefin, groupe, id_chart):
|
||||
# lire les examens sur 12 mois glissants par moniteur
|
||||
query = """SELECT * FROM stats_delais
|
||||
WHERE societe=:societe AND id=:id_chart AND group1 >= :datedeb AND group1 <= :datefin AND group2=:groupe order by group1;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'id_chart': id_chart, 'datedeb': datedeb.strftime("%Y%m"),
|
||||
'datefin': datefin.strftime("%Y%m"), 'groupe': groupe})
|
||||
return results.fetchall()
|
||||
|
||||
def get_stats_delai_groupe(request, societe, datedeb, datefin):
|
||||
query = """SELECT group2, group2_lib FROM stats_delais
|
||||
WHERE societe=:societe AND group1 >= :datedeb AND group1 <= :datefin GROUP BY group2 ORDER BY group2_lib;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y%m"), 'datefin': datefin.strftime("%Y%m")})
|
||||
return results.fetchall()
|
||||
|
||||
def get_ca_groupe_12m(request, societe):
|
||||
|
||||
query = """SELECT DATE_FORMAT(date, "%Y%m") as yymm,
|
||||
DATE_FORMAT(date, "%M") as mois,
|
||||
SUM(IF(groupe = 'AXA', totalht, 0)) AS AXA_ca,
|
||||
sum(IF(groupe = 'AXA', 1, 0)) AS AXA_nb,
|
||||
SUM(IF(groupe = 'MAIF', totalht, 0)) AS MAIF
|
||||
FROM bddevfac.facture
|
||||
WHERE societe='PE' and date >= "2020/07/01" and date <= "2021/06/30" GROUP BY yymm;"""
|
||||
results = request.dbsession.execute(query, {'societe': societe}).fetchall()
|
||||
return results
|
||||
|
||||
Reference in New Issue
Block a user