ajout import de la table relou... (tarifs IMH)
This commit is contained in:
@@ -687,7 +687,7 @@ def societe_edit(request):
|
|||||||
def tarifs(request):
|
def tarifs(request):
|
||||||
|
|
||||||
groupe = request.matchdict['groupe']
|
groupe = request.matchdict['groupe']
|
||||||
groupes = ["AXA", "MAIF", "TEXTE"]
|
groupes = ["AXA", "MAIF", "IMH", "TEXTE"]
|
||||||
|
|
||||||
# si table a changé
|
# si table a changé
|
||||||
if 'groupe' in request.params:
|
if 'groupe' in request.params:
|
||||||
@@ -775,7 +775,7 @@ def tarifs_import(request):
|
|||||||
url = request.route_url("tarifs_import")
|
url = request.route_url("tarifs_import")
|
||||||
message = ''
|
message = ''
|
||||||
|
|
||||||
groupes = ['AXA','MAIF']
|
groupes = ['AXA','MAIF', 'IMH']
|
||||||
groupe = 'AXA'
|
groupe = 'AXA'
|
||||||
|
|
||||||
|
|
||||||
@@ -852,7 +852,7 @@ def tarifs_import(request):
|
|||||||
if sh.cell_type(rx, 5) == 2:
|
if sh.cell_type(rx, 5) == 2:
|
||||||
new_values['prixht'] = sh.cell_value(rx, 5)
|
new_values['prixht'] = sh.cell_value(rx, 5)
|
||||||
# col Unité renseigné ?
|
# col Unité renseigné ?
|
||||||
if sh.cell_type(rx, 5) != 0:
|
if sh.cell_type(rx, 3) != 0:
|
||||||
unite = sh.cell_value(rx, 3)
|
unite = sh.cell_value(rx, 3)
|
||||||
else:
|
else:
|
||||||
if sh.cell_value(rx, 1).find(' m2'):
|
if sh.cell_value(rx, 1).find(' m2'):
|
||||||
@@ -861,6 +861,66 @@ def tarifs_import(request):
|
|||||||
unite = 'U'
|
unite = 'U'
|
||||||
new_values['unite'] = unite
|
new_values['unite'] = unite
|
||||||
update_tarif(request, '0', new_values)
|
update_tarif(request, '0', new_values)
|
||||||
|
elif groupe == "IMH":
|
||||||
|
# lire la 1ère feuille et contôler que c'est fichier IMH
|
||||||
|
sh = book.sheet_by_index(0)
|
||||||
|
ctl_cellA1 = sh.cell_value(rowx=0, colx=0)
|
||||||
|
if ctl_cellA1 != 'CO-FORI0':
|
||||||
|
request.session.flash(temp_file + " -> Ce fichier ne semble pas être un tarif IMH", 'danger')
|
||||||
|
return HTTPFound(location=url)
|
||||||
|
|
||||||
|
# import pdb;pdb.set_trace()
|
||||||
|
for nsheet in range(book.nsheets):
|
||||||
|
# pour chaque feuille dans le tableau XLS
|
||||||
|
sh = book.sheet_by_index(nsheet)
|
||||||
|
libCol, prixCol, unitCol = 1, 5, 2
|
||||||
|
|
||||||
|
if nsheet > 73:
|
||||||
|
libCol, prixCol, unitCol = 2, 4, 3
|
||||||
|
|
||||||
|
for rx in range(sh.nrows):
|
||||||
|
ref = ""
|
||||||
|
if sh.cell_type(rx, 0) != 2:
|
||||||
|
ref = sh.cell_value(rx, 0).strip()
|
||||||
|
# ligne ayant un ref de tarifs ?
|
||||||
|
if len(ref) >= 8 and len(ref) < 15 and (ref[2] == '-' or ref[3] == '-'):
|
||||||
|
new_values = {}
|
||||||
|
new_values['groupe'] = groupe
|
||||||
|
new_values['ref'] = ref
|
||||||
|
|
||||||
|
if ref[2] == '-':
|
||||||
|
new_values['famille'] = ref[0:2]
|
||||||
|
else:
|
||||||
|
new_values['famille'] = ref[0:3]
|
||||||
|
|
||||||
|
if '\n' in sh.cell_value(rx, libCol) and nsheet < 73:
|
||||||
|
libelleSP = sh.cell_value(rx, libCol).split('\n') # split string with \n as separator if it exists
|
||||||
|
|
||||||
|
if libelleSP[1][0] == '(':
|
||||||
|
libelle = ' '.join(libelleSP[2:]) # if the first character of the second elt is '(' then we remove it
|
||||||
|
else:
|
||||||
|
libelle = ' '.join(libelleSP[1:])
|
||||||
|
else:
|
||||||
|
libelle = sh.cell_value(rx, libCol)
|
||||||
|
|
||||||
|
if len(libelle) > 400:
|
||||||
|
new_values['libelle'] = 'DATA TOO LONG ! SEE THE ADMIN FOR FURTHER INFOS'
|
||||||
|
else:
|
||||||
|
new_values['libelle'] = libelle
|
||||||
|
|
||||||
|
unit = sh.cell_value(rx, unitCol)
|
||||||
|
if unit == 'DEVIS' or 'FORFAIT URGENCE' in unit:
|
||||||
|
new_values['prixht'] = 0
|
||||||
|
else:
|
||||||
|
if sh.cell_type(rx, prixCol) != 2:
|
||||||
|
new_values['prixht'] = 0
|
||||||
|
else:
|
||||||
|
new_values['prixht'] = sh.cell_value(rx, prixCol)
|
||||||
|
# col Unité renseigné ?
|
||||||
|
if 'FORFAIT URGENCE' in unit:
|
||||||
|
unit = 'F. URG.'
|
||||||
|
new_values['unite'] = unit
|
||||||
|
update_tarif(request, '0', new_values)
|
||||||
|
|
||||||
|
|
||||||
request.session.flash("Le fichier PDF a été importé avec succès.", 'success')
|
request.session.flash("Le fichier PDF a été importé avec succès.", 'success')
|
||||||
|
|||||||
Reference in New Issue
Block a user