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
| ${item.date.strftime('%d %b, %H:%M')} |
@@ -44,6 +44,16 @@
${item.user} |
+
Dossiers générés à contrôler
+
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,
}