diff --git a/mondumas/models/dossier.py b/mondumas/models/dossier.py index d947aa4..ba99d9b 100644 --- a/mondumas/models/dossier.py +++ b/mondumas/models/dossier.py @@ -45,6 +45,11 @@ def get_dossier_by_sinistre(request,societe, nosin): results = request.dbsession.execute(query).first() return results +def get_dossiers_traites(request): + query = "SELECT * FROM dem_devis WHERE usermaj='EMAIL'"; + results = request.dbsession.execute(query).fetchall() + return results + def get_clients_byName(request, societe, nom): query = "SELECT * FROM clients WHERE societe = '%s' and nom LIKE '%s';" % (societe, nom + '%'); results = request.dbsession.execute(query).fetchall() @@ -129,10 +134,11 @@ def insert_suivi(request, nodossier, comment): societe = nodossier[0:2] no_id = nodossier[3:] - query = """ - INSERT INTO dem_lig (societe, NO_ID, DATE, COMMENT, USERMAJ) VALUES - (:societe, :no_id, CURRENT_DATE(), :comment, 'EMAIL');""" + query = "INSERT INTO dem_lig (societe, NO_ID, DATE, COMMENT, USERMAJ) VALUES (:societe, :no_id, CURRENT_DATE(), :comment, 'EMAIL');" execute_query(request, query, {'societe': societe, 'no_id': no_id, 'comment': comment}) + + query = "UPDATE dem_devis SET usermaj = 'EMAIL' WHERE SOCIETE=:societe AND NO_ID=:no_id;" + execute_query(request, query, {'societe': societe, 'no_id': no_id}) def get_similaires_byChantier(request, societe, C_NOM, C_ADR, C_CP, C_VILLE): @@ -329,10 +335,6 @@ def insert_log_nuit(request, proc, msg, nodossier): query = "INSERT INTO t_log_nuit (proc,msg, nodossier) VALUES (:proc, :msg, :nodossier);" execute_query(request, query, {'proc': proc, 'msg': msg, 'nodossier': nodossier}) -def truncate_log_nuit(request): - query = "TRUNCATE t_log_nuit;" - execute_query(request, query) - def get_log_demandes(request, ): # lire le log de nuit query = """SELECT *, (SELECT usermaj FROM dem_devis WHERE societe=LEFT(nodossier,2) AND no_id=RIGHT(nodossier,6)) AS user diff --git a/mondumas/templates/dossier/demandes.pt b/mondumas/templates/dossier/demandes.pt index 841ab06..5b86ffe 100644 --- a/mondumas/templates/dossier/demandes.pt +++ b/mondumas/templates/dossier/demandes.pt @@ -34,7 +34,7 @@
-

Derniers traitements effectués

+

Rapport de génération

@@ -44,6 +44,16 @@
${item.date.strftime('%d %b, %H:%M')}${item.user}
+

Dossiers générés à contrôler

+ + + + + + + + +
${item.DATE.strftime('%d %b')}${item.societe}-${item.NO_ID}${item.NOMCLI}${item.C_NOM}${item.USERMAJ}

diff --git a/mondumas/views/dossier.py b/mondumas/views/dossier.py index 7a781e0..f792160 100644 --- a/mondumas/views/dossier.py +++ b/mondumas/views/dossier.py @@ -869,6 +869,7 @@ def demandes(request): cd_cli = 3209 # extraction OK ? oui, créer une dem_devis et récupèrer son no_id + traite = 0 if dem_info['c_nom'] != '': # oui, rechercher la dem_devis concerné par le no de sinistre nosin = dem_info['no_sinistre'] @@ -878,24 +879,22 @@ def demandes(request): nochantier = dem_devis.NO_ID nodossier = "%s-%s" % (societe, nochantier) # insérer une ligne de suivi ANNULATION - insert_suivi(request, nodossier, '!!MISSION MODIFIEE PAR la MAIF') + insert_suivi(request, nodossier, '!!MISSION CONFIRMEE ou MODIFIEE PAR la MAIF') # log de nuit - insert_log_nuit(request, 'GENERER', '--> MODIFIER DOSSIER sinistre %s' % nosin, nodossier) + print('--> MODIFIER DOSSIER sinistre %s <--' % nodossier) else: # dem_devis n'existe pas, creer nouveau dossier nochantier = insert_dossier(request, societe, cd_cli, dem_info['c_nom'], dem_info['c_adr'], dem_info['c_adr2'], \ dem_info['c_cp'], dem_info['c_ville'], dem_info['c_telp'], dem_info['c_email'], nosin, dem_info['c_obs'], dem_info['tx_trav']) nodossier = "%s-%s" % (societe, nochantier) # log de nuit - insert_log_nuit(request, 'GENERER', '--> CREER DOSSIER sinistre %s' % nosin, nodossier) + print('--> CREER DOSSIER sinistre %s <--' % nodossier) # récupère le nom du fichier et ajouter le no de dossier filename = os.path.basename(temp_file_path) filename = '%s-DD%s-%s' % (societe, nochantier, filename) tempFile2Dossier(request, societe, nochantier, '0', 0, temp_file_path, filename, 'EMAIL') traite = 1 - else: - traite = 0 return traite @@ -904,7 +903,7 @@ def demandes(request): dem_info = get_pdf_infos1(extracted_file) # extraction OK ? oui, rechercher la dem_devis concerné - # import pdb;pdb.set_trace() + traite = 0 if dem_info['c_nom'] != '': # oui, rechercher la dem_devis concerné par le no de sinistre nosin = dem_info['no_sinistre'] @@ -918,15 +917,13 @@ def demandes(request): # insérer une ligne de suivi ANNULATION insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR la MAIF') # log de nuit - insert_log_nuit(request, 'GENERER', '--> ANNULATION DOSSIER sinistre %s - MAIF' % nosin, nodossier) + print('--> ANNULATION DOSSIER sinistre %s <--' % nodossier) traite = 1 - else: - traite = 0 return traite def generer_annul_domus(request, societe, nosin, temp_file_path): - # import pdb;pdb.set_trace() + traite = 0 # oui, rechercher la dem_devis concerné par le no de sinistre dem_devis = get_dossier_by_sinistre(request,societe, nosin) if dem_devis: @@ -938,10 +935,8 @@ def demandes(request): # insérer une ligne de suivi ANNULATION insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR DOMUS') # log de nuit - insert_log_nuit(request, 'GENERER','--> ANNULATION DOSSIER sinistre %s - DOMUS' % nosin, nodossier) + print('--> CREER DOSSIER sinistre %s <--' % nodossier) traite = 1 - else: - traite = 0 return traite @@ -995,30 +990,32 @@ def demandes(request): # convertir le fichier pdf en texte texte, extracted_file = pdf_convert_to_txt(temp_file_path) - nbLus = nbLus + 1 # mission annulée ? if 'Objet : ANNULATION MISSION' in texte : # genere ANNULATION mission MAIF # import pdb;pdb.set_trace() n = generer_annul_maif(request, societe, extracted_file, temp_file_path) - nbAnnules = nbAnnules + n - # déplacer le message dans la poubelle - conn.store(num, '+FLAGS', '\\Deleted') + if n > 0: + nbAnnules = nbAnnules + n + # déplacer le message dans la poubelle + conn.store(num, '+FLAGS', '\\Deleted') elif 'ANNULATION ORDRE DE MISSION' in texte: # genere ANNULATION mission DOMUS nosin = str(body)[84:95] # import pdb;pdb.set_trace() n = generer_annul_domus(request, societe, nosin, temp_file_path) - nbAnnules = nbAnnules + n - # déplacer le message dans la poubelle - conn.store(num, '+FLAGS', '\\Deleted') + if n > 0: + nbAnnules = nbAnnules + n + # déplacer le message dans la poubelle + conn.store(num, '+FLAGS', '\\Deleted') else: # genere le dossier d'après le mail n = generer_mission(request, societe, criteria, extracted_file, temp_file_path) - nbCrees = nbCrees + n - # déplacer le message dans la poubelle - conn.store(num, '+FLAGS', '\\Deleted') + if n > 0: + nbCrees = nbCrees + n + # déplacer le message dans la poubelle + conn.store(num, '+FLAGS', '\\Deleted') conn.expunge() conn.close() @@ -1054,7 +1051,7 @@ def demandes(request): nbAnnules = nbAnnules + nAnnules # log de nuit - insert_log_nuit(request, 'GENERER','- Fin GENERATION : %s emails traités, %s dossiers créés, %s dossiers annulés' % (nbLus, nbCrees, nbAnnules), '') + insert_log_nuit(request, 'GENERER','- Fin GENERATION : %s emails traités, %s dossiers créés/modifiés, %s dossiers annulés' % (nbLus, nbCrees, nbAnnules), '') message = "%s emails ont été traités." % nbLus liste=[] @@ -1066,6 +1063,7 @@ def demandes(request): msglus = bool(liste) # lire le log log_creation = get_log_demandes(request) + dossiers_traites = get_dossiers_traites(request) return { 'page_title': "Liste des emails de demandes d'intervention", @@ -1074,6 +1072,7 @@ def demandes(request): 'msglus': msglus, 'message': message, 'log_creation': log_creation, + 'dossiers_traites': dossiers_traites, }