fixed read, cread, cancel numbers
This commit is contained in:
@@ -780,16 +780,22 @@ def demandes(request):
|
||||
|
||||
# extraction OK ? oui, créer une dem_devis et récupèrer son no_id
|
||||
if dem_info['c_nom'] != '':
|
||||
nosin = dem_info['no_sinistre']
|
||||
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['no_sinistre'], dem_info['c_obs'], dem_info['tx_trav'])
|
||||
dem_info['c_cp'], dem_info['c_ville'], dem_info['c_telp'], nosin, dem_info['c_obs'], dem_info['tx_trav'])
|
||||
nodossier = "%s-%s" % (societe, nochantier)
|
||||
|
||||
# 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', temp_file_path, filename, 'EMAIL')
|
||||
|
||||
return
|
||||
# log de nuit
|
||||
insert_log_nuit(request, 'GENERER', '--> CREER DOSSIER sinistre %s - MAIF : No %s' % (nosin, nodossier))
|
||||
traite = 1
|
||||
else:
|
||||
traite = 0
|
||||
|
||||
return traite
|
||||
|
||||
def generer_annul_maif(request, societe, extracted_file, temp_file_path):
|
||||
# extraire les infos de la demmande MAIF
|
||||
@@ -809,7 +815,13 @@ def demandes(request):
|
||||
tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', temp_file_path, filename, 'EMAIL')
|
||||
# insérer une ligne de suivi ANNULATION
|
||||
insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR la MAIF')
|
||||
return
|
||||
# log de nuit
|
||||
insert_log_nuit(request, 'GENERER', '--> ANNULATION DOSSIER sinistre %s - MAIF : %s' % (nosin, nodossier))
|
||||
traite = 1
|
||||
else:
|
||||
traite = 0
|
||||
|
||||
return traite
|
||||
|
||||
def generer_annul_domus(request, societe, nosin, temp_file_path):
|
||||
# import pdb;pdb.set_trace()
|
||||
@@ -823,13 +835,22 @@ def demandes(request):
|
||||
tempFile2Dossier(request, societe, dem_devis.NO_ID, '0', temp_file_path, filename, 'EMAIL')
|
||||
# insérer une ligne de suivi ANNULATION
|
||||
insert_suivi(request, nodossier, '!!MISSION ANNULEE PAR DOMUS')
|
||||
return
|
||||
# log de nuit
|
||||
insert_log_nuit(request, 'GENERER','--> ANNULATION DOSSIER sinistre %s - DOMUS : %s' % (nosin, nodossier))
|
||||
traite = 1
|
||||
else:
|
||||
traite = 0
|
||||
|
||||
return traite
|
||||
|
||||
# connecter au serveur de mail
|
||||
conn = mailbox_connect(societe)
|
||||
# select INBOX
|
||||
rv, data = conn.select('INBOX', readonly =True)
|
||||
|
||||
nbLus = 0
|
||||
nbCrees = 0
|
||||
nbAnnules = 0
|
||||
for criteria in search_criteria:
|
||||
# rechercher les emails de demandes dans le INBOX
|
||||
rv, data = conn.search(None, criteria)
|
||||
@@ -838,7 +859,6 @@ def demandes(request):
|
||||
return HTTPFound(location=request.route_url('home'))
|
||||
|
||||
mail_ids = data[0]
|
||||
nbMessages = len(mail_ids)
|
||||
for num in mail_ids.split():
|
||||
rv, msg_data = conn.fetch(num, '(RFC822)')
|
||||
if rv != 'OK':
|
||||
@@ -866,22 +886,26 @@ 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()
|
||||
generer_annul_maif(request, societe, extracted_file, temp_file_path)
|
||||
n = generer_annul_maif(request, societe, extracted_file, temp_file_path)
|
||||
nbAnnules = nbAnnules + n
|
||||
# conn.store(num, '+FLAGS', r'(\Deleted)')
|
||||
elif 'ANNULATION ORDRE DE MISSION' in texte:
|
||||
# genere ANNULATION mission DOMUS
|
||||
nosin = str(body)[84:95]
|
||||
# import pdb;pdb.set_trace()
|
||||
generer_annul_domus(request, societe, nosin, temp_file_path)
|
||||
n = generer_annul_domus(request, societe, nosin, temp_file_path)
|
||||
nbAnnules = nbAnnules + n
|
||||
# conn.store(num, '+FLAGS', r'(\Deleted)')
|
||||
else:
|
||||
# genere le dossier d'après le mail
|
||||
# import pdb;pdb.set_trace()
|
||||
generer_mission(request, societe, criteria, extracted_file, temp_file_path)
|
||||
n = generer_mission(request, societe, criteria, extracted_file, temp_file_path)
|
||||
nbCrees = nbCrees + n
|
||||
# marquer le message comme supprimé
|
||||
# conn.store(num, '+FLAGS', r'(\Deleted)')
|
||||
|
||||
@@ -889,8 +913,8 @@ def demandes(request):
|
||||
conn.close()
|
||||
# deconnexion du serveur
|
||||
conn.logout()
|
||||
|
||||
return nbMessages
|
||||
|
||||
return nbLus, nbCrees, nbAnnules
|
||||
|
||||
|
||||
# ------- main -------
|
||||
@@ -901,17 +925,26 @@ def demandes(request):
|
||||
societes = ['PE','ME','PL']
|
||||
|
||||
# critères de recherche des demandes d'interventions de la MAIF
|
||||
# search_criteria = ['FROM service.sinistres@domus-services.fr SUBJECT "Ordre de mission DOMUS - Dossier"']
|
||||
# search_criteria = ['FROM service.sinistres@domus-services.fr SUBJECT "Ordre de mission DOMUS - Dossier"'] "
|
||||
search_criteria = ['FROM gestionsinistre@maif.fr SUBJECT "Intervention entreprise partenaire"',
|
||||
'FROM service.sinistres@domus-services.fr SUBJECT "Ordre de mission DOMUS - Dossier"']
|
||||
'FROM service.sinistres@domus-services.fr SUBJECT "Ordre de mission DOMUS - Dossier"']
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
# traiter les demandes de la MAIF puis de DOMUS pour toutes les sociétes
|
||||
nbMessages = 0
|
||||
nbLus = 0
|
||||
nbCrees = 0
|
||||
nbAnnules = 0
|
||||
# log de nuit
|
||||
insert_log_nuit(request, 'GENERER','- Début GENERATION des dossiers à partir des EMAILS')
|
||||
for societe in societes:
|
||||
nb = demandes_generer(request, societe, search_criteria)
|
||||
nbMessages = nbMessages + nb
|
||||
message = "%s demandes de devis a été crées." % nbMessages
|
||||
nLus, nCrees, nAnnules = demandes_generer(request, societe, search_criteria)
|
||||
nbLus = nbLus + nLus
|
||||
nbCrees = nbCrees + nCrees
|
||||
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))
|
||||
message = "%s emails ont été traités." % nbLus
|
||||
|
||||
liste=[]
|
||||
# lister les demandes par societe
|
||||
@@ -1047,8 +1080,14 @@ def get_pdf_infos1(extracted_file):
|
||||
line = fp.readline()
|
||||
no_sinistre = line[:-1]
|
||||
if line.find('Bénéficiaire des travaux :') == 0:
|
||||
elt = line.split(' : ')
|
||||
c_nom = elt[1][:-1]
|
||||
elt = line[-1].split(' :')
|
||||
if len(elt) == 1:
|
||||
# le nom du chantier est sur la ligne suivante
|
||||
line = fp.readline()
|
||||
c_nom = line[-1]
|
||||
else:
|
||||
# le nom du chantier est sur la même ligne
|
||||
c_nom = elt[1][:-1]
|
||||
line = fp.readline()
|
||||
line = fp.readline()
|
||||
line = fp.readline()
|
||||
|
||||
Reference in New Issue
Block a user