améliorer le rapport de génération des dossiers
This commit is contained in:
@@ -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,11 +134,12 @@ 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):
|
||||
|
||||
query = """
|
||||
@@ -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
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<h2>Derniers traitements effectués</h2>
|
||||
<h2>Rapport de génération</h2>
|
||||
<table class="table table-condensed">
|
||||
<tr tal:repeat="item log_creation">
|
||||
<td>${item.date.strftime('%d %b, %H:%M')}</td>
|
||||
@@ -44,6 +44,16 @@
|
||||
<td>${item.user}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Dossiers générés à contrôler</h2>
|
||||
<table class="table table-condensed">
|
||||
<tr tal:repeat="item dossiers_traites">
|
||||
<td>${item.DATE.strftime('%d %b')}</td>
|
||||
<td><a href="${request.application_url}/dossier_view/${item.societe}-${item.NO_ID}">${item.societe}-${item.NO_ID}</td>
|
||||
<td>${item.NOMCLI}</td>
|
||||
<td>${item.C_NOM}</td>
|
||||
<td>${item.USERMAJ}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user