diff --git a/development.ini b/development.ini index 43f1ab5..411fa99 100644 --- a/development.ini +++ b/development.ini @@ -20,7 +20,7 @@ pyramid.includes = sqlalchemy.url = mysql://phuoc:phuoc!@localhost/bddevfac?charset=utf8 -# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.1.17/bddevfac?charset=utf8 +# sqlalchemy.url = mysql://phuoc:phuoc!@192.168.15.33/bddevfac?charset=utf8 # sqlalchemy.url = mysql://phuoc:phuoc!@192.168.0.31/bddevfac?charset=utf8 mondumas.admin_email = cao.thien-phuoc@orange.fr diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index 35d3bd3..d775a83 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -339,6 +339,11 @@ def get_status_by_id(request, code): results = request.dbsession.execute(query, {'code': code}).first() return results +def get_motifs(request): + query = """SELECT * FROM p_motfs;""" + results = request.dbsession.execute(query,).fetchall() + return results + def get_factures_en_att(request, societe): query = """SELECT f.date, LPAD(f.no_id,6,'0') AS numero, f.nomcli, CONCAT(f.c_nom,'; ',f.c_adr,'; ',f.c_ville) AS chantier, f.totalht AS montant, f.status, s.libelle, f.nosin, f.nopol, f.usermaj FROM facture f JOIN p_statuts s ON f.STATUS = s.CODE WHERE f.societe=:societe AND f.STATUS < 8 ORDER BY f.societe, f.STATUS, f.nomcli;""" diff --git a/mondumas/models/stats.py b/mondumas/models/stats.py index 7833361..19b6c27 100644 --- a/mondumas/models/stats.py +++ b/mondumas/models/stats.py @@ -82,6 +82,20 @@ def get_ca_groupe_3y(request, societe, year): results = request.dbsession.execute(query, {'societe': societe, 'year': year}) 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): query = """SELECT DATE_FORMAT(date, "%Y%m") as yymm, @@ -127,3 +141,24 @@ def get_delais_pourcent(request, societe, groupe, datedeb): WHERE societe = :societe AND GROUPE = :groupe AND date >= :datedeb;""" results = request.dbsession.execute(query, {'societe': societe, 'groupe': groupe, 'datedeb': datedeb.strftime("%Y-%m")}) return results.fetchall() + +def get_nb_devis_fact(request, societe, datedeb): + + query = """SELECT + SUM(IF (NOFACT > 0, 1, 0)) AS devis_fact, + SUM(IF (NOFACT <= 0, 1, 0)) AS devis_non_fact + FROM bddevfac.devis + WHERE societe = :societe AND date >= :datedeb;""" + results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m")}) + return results.fetchall() + +def get_nb_fact_with_devis(request, societe, datedeb): + + query = """SELECT + SUM(IF (NODEVIS > 0, 1, 0)) AS fact_w_devis, + SUM(IF (NODEVIS <= 0, 1, 0)) AS fact_wo_devis + FROM bddevfac.facture + WHERE societe = :societe AND date >= :datedeb;""" + results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb.strftime("%Y-%m")}) + return results.fetchall() + diff --git a/mondumas/routes.py b/mondumas/routes.py index eabd1d2..72cfa9d 100644 --- a/mondumas/routes.py +++ b/mondumas/routes.py @@ -87,6 +87,7 @@ def includeme(config): config.add_route('ca_groupes', '/ca_groupes/{societe}') config.add_route('ca_clients', '/ca_clients/{societe}') config.add_route('delais_pourcentage', '/delais_pourcentage/{societe}') + config.add_route('pourcentage_devis', '/pourcentage_devis/{societe}') # utils config.add_route('batch_nuit', '/batch_nuit/{param}') diff --git a/mondumas/templates/default/home.pt b/mondumas/templates/default/home.pt index d559397..b2ca603 100644 --- a/mondumas/templates/default/home.pt +++ b/mondumas/templates/default/home.pt @@ -109,7 +109,7 @@
DEVIS - EN ATTENTE + EN COURS ${nb_de_restants.nb_PE} ${nb_de_restants.nb_ME} ${nb_de_restants.nb_PL} diff --git a/mondumas/templates/devis/devis_view.pt b/mondumas/templates/devis/devis_view.pt index 96fe14e..c6b8e11 100644 --- a/mondumas/templates/devis/devis_view.pt +++ b/mondumas/templates/devis/devis_view.pt @@ -64,14 +64,14 @@

Dernière modif. le ${entete.DATEMAJ.strftime('%d/%m/%Y à %H:%M')} par ${entete.USERMAJ}

Modif. statut + data-toggle="modal" data-target="#confirmCloture" tal:condition="access > 0"> Modif. statut

- +
@@ -98,9 +98,9 @@ - - - + + +
Total HT Total TVA
${detail.REF} ${detail.LIB}${layout.to_euro(detail.QTE)}${layout.to_euroz(detail.PRIXHT)}${layout.to_euroz(detail.MTHT)}${detail.QTE}${layout.to_euroz(detail.PRIXHT)}${layout.to_euroz(detail.MTHT)} ${detail.USERMAJ}
@@ -133,13 +133,12 @@
- +

diff --git a/mondumas/templates/dossier/dossier_view.pt b/mondumas/templates/dossier/dossier_view.pt index 071b5ea..6522792 100644 --- a/mondumas/templates/dossier/dossier_view.pt +++ b/mondumas/templates/dossier/dossier_view.pt @@ -129,7 +129,7 @@