diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index 93fc481..670a15c 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -47,9 +47,10 @@ def get_dossier_by_sinistre(request,societe, nosin): results = request.dbsession.execute(query).first() return results -def get_dossiers_traites(request): - query = "SELECT d.*, s.libelle FROM dem_devis d JOIN p_statuts s ON d.STATUS = s.CODE WHERE d.status < 2 ORDER BY d.societe, d.status, d.nomcli"; - results = request.dbsession.execute(query).fetchall() +def get_dossiers_traites(request, societe): + query = """SELECT d.date, LPAD(d.no_id,6,'0') AS numero, d.nomcli, CONCAT(d.c_nom,'; ',d.c_adr,'; ',d.c_ville) AS chantier, d.mttrav AS montant, status, s.libelle, d.nosin, d.nopol, d.humidite, d.usermaj + FROM dem_devis d JOIN p_statuts s ON d.STATUS = s.CODE WHERE d.societe = :societe AND d.status < 2 ORDER BY d.status, d.nomcli"""; + results = request.dbsession.execute(query, {'societe': societe}).fetchall() return results def get_clients_byName(request, societe, nom): @@ -338,12 +339,14 @@ def get_status_by_id(request, code): results = request.dbsession.execute(query, {'code': code}).first() return results -def get_devis_en_att(request): - query = "SELECT d.*, s.libelle FROM devis d JOIN p_statuts s ON d.STATUS = s.CODE WHERE d.STATUS < 4 ORDER BY d.societe, d.STATUS, d.nomcli;" - results = request.dbsession.execute(query).fetchall() +def get_devis_en_att(request, societe): + query = """SELECT d.date, LPAD(d.no_id,6,'0') AS numero, d.nomcli, CONCAT(d.c_nom,'; ',d.c_adr,'; ',d.c_ville) AS chantier, d.totalht AS montant, d.status, s.libelle, d.nosin, d.nopol, d.usermaj + FROM devis d JOIN p_statuts s ON d.STATUS = s.CODE WHERE d.societe=:societe AND d.STATUS < 4 ORDER BY d.societe, d.STATUS, d.nomcli;""" + results = request.dbsession.execute(query, {'societe': societe}).fetchall() return results -def get_factures_en_att(request): - query = "SELECT f.*, s.libelle FROM facture f JOIN p_statuts s ON f.STATUS = s.CODE WHERE f.STATUS < 8 ORDER BY f.societe, f.STATUS, f.nomcli;" - results = request.dbsession.execute(query).fetchall() +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;""" + results = request.dbsession.execute(query, {'societe': societe}).fetchall() return results \ No newline at end of file diff --git a/mondumas/templates/dossier/dem_devis.pt b/mondumas/templates/dossier/dem_devis.pt index 8a74ef0..094d0c9 100644 --- a/mondumas/templates/dossier/dem_devis.pt +++ b/mondumas/templates/dossier/dem_devis.pt @@ -1,35 +1,105 @@
+
+ +
+ +
+ +
+ + + + + + +
+
+ +
+
+
- - - - - - - - - - - - - - - - - -
DATE DE MAJID DOSSIERNOM DU CLIENTNOMDERNIER UTILISATEURSTATUT
${item.DATEMAJ.strftime('%d-%m-%Y')}${item.societe}-${item.NO_ID}${item.NOMCLI}${item.C_NOM}${item.USERMAJ}${item.libelle}
- +
+ + + + + + + + + + + + + +
NuméroDateClientChantierMontantSinistreStatutUti.
+


diff --git a/mondumas/templates/dossier/devis_en_att.pt b/mondumas/templates/dossier/devis_en_att.pt index 67be97c..094d0c9 100644 --- a/mondumas/templates/dossier/devis_en_att.pt +++ b/mondumas/templates/dossier/devis_en_att.pt @@ -1,35 +1,105 @@
+
+ +
+ +
+ +
+ + + + + + +
+
+ +
+
+
- - - - - - - - - - - - - - - - - -
DATE DE MAJID DEVISNOM DU CLIENTNOMDERNIER UTILISATEURSTATUT
${item.DATEMAJ.strftime('%d %b')}${item.societe}-DE${item.NO_ID}${item.NOMCLI}${item.C_NOM}${item.USERMAJ}${item.libelle}
- +
+ + + + + + + + + + + + + +
NuméroDateClientChantierMontantSinistreStatutUti.
+


diff --git a/mondumas/templates/dossier/factures_en_att.pt b/mondumas/templates/dossier/factures_en_att.pt index 9bcb2e2..1bdd13d 100644 --- a/mondumas/templates/dossier/factures_en_att.pt +++ b/mondumas/templates/dossier/factures_en_att.pt @@ -1,35 +1,105 @@
+
+ +
+ +
+ +
+ + + + + + +
+
+ +
+
+
- - - - - - - - - - - - - - - - - -
DATE DE MAJID FACTURENOM DU CLIENTNOMDERNIER UTILISATEURSTATUT
${item.DATEMAJ.strftime('%d %b')}${item.societe}-FA${item.NO_ID}${item.NOMCLI}${item.C_NOM}${item.USERMAJ}${item.libelle}
- +
+ + + + + + + + + + + + + +
NuméroDateClientChantierMontantSinistreStatutUti.
+


diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index 528f4ba..e88d7bf 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -72,7 +72,7 @@ def dossier_lookup(request): # construire la liste for item in chantiers: d = ('%s-%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant), - item.nosin, item.status, item.usermaj) + item.nosin, item.libelle, item.usermaj) liste.append(d) if len(name) == 0 : @@ -1546,38 +1546,97 @@ def upload_om(request): @view_config(route_name='dem_devis', renderer='../templates/dossier/dem_devis.pt', permission='view') def dem_devis(request): logged_in = request.authenticated_userid.upper() + goto_url = '/dossier_selected/dossier_view/%s/' % date.today().strftime('%Y-%m-%d') url = request.route_url('dem_devis') + member = get_member_by_id(request, logged_in) + societe_defaut = member.societe + societe = societe_defaut + access_defaut = member.access + liste=[] - dossiers_traites = get_dossiers_traites(request) + if 'form.submitted' in request.params: + societe = request.params['societe'] + + dossiers_traites = get_dossiers_traites(request, societe) + + for item in dossiers_traites: + d = ('%s-%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant), + item.nosin, item.libelle, item.usermaj) + liste.append(d) + + order_option = 'desc' return { 'page_title': 'Dossiers avec statut: "A TRAITER"', 'url': url, - 'dossiers_traites':dossiers_traites, + 'goto_url': goto_url, + 'dt_data': json.dumps(liste), + 'societe': societe, + 'order_option': order_option, } @view_config(route_name='devis_en_att', renderer='../templates/dossier/devis_en_att.pt', permission='view') def devis_en_att(request): logged_in = request.authenticated_userid.upper() + goto_url = '/dossier_selected/dossier_view/%s/' % date.today().strftime('%Y-%m-%d') url = request.route_url('devis_en_att') + member = get_member_by_id(request, logged_in) + societe_defaut = member.societe + societe = societe_defaut + access_defaut = member.access + liste=[] - list_devis_en_att = get_devis_en_att(request) + if 'form.submitted' in request.params: + societe = request.params['societe'] + + list_devis_en_att = get_devis_en_att(request, societe) + + for item in list_devis_en_att: + d = ('%s-DE%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant), + item.nosin, item.libelle, item.usermaj) + liste.append(d) + + order_option = 'desc' + return { 'page_title': "Devis en attente d'acceptation", 'url': url, - 'list_devis_en_att':list_devis_en_att, + 'goto_url': goto_url, + 'dt_data': json.dumps(liste), + 'societe': societe, + 'order_option': order_option, } @view_config(route_name='factures_en_att', renderer='../templates/dossier/factures_en_att.pt', permission='view') def factures_en_att(request): logged_in = request.authenticated_userid.upper() + goto_url = '/dossier_selected/dossier_view/%s/' % date.today().strftime('%Y-%m-%d') url = request.route_url('factures_en_att') + member = get_member_by_id(request, logged_in) + societe_defaut = member.societe + societe = societe_defaut + access_defaut = member.access + liste=[] - list_factures_en_att = get_factures_en_att(request) + if 'form.submitted' in request.params: + societe = request.params['societe'] + + list_factures_en_att = get_factures_en_att(request, societe) + + for item in list_factures_en_att: + d = ('%s-FA%s' % (societe, item.numero),item.date.strftime('%d-%m-%Y'), item.nomcli, item.chantier, to_euro(item.montant), + item.nosin, item.libelle, item.usermaj) + liste.append(d) + + order_option = 'desc' + return { 'page_title': "Factures en attente de réglement", 'url': url, - 'list_factures_en_att':list_factures_en_att, + 'goto_url': goto_url, + 'dt_data': json.dumps(liste), + 'societe': societe, + 'order_option': order_option, } \ No newline at end of file