creation ligne devis article

This commit is contained in:
2020-10-04 16:44:57 +02:00
parent 500e07c810
commit 9aa6c8985e
12 changed files with 340 additions and 25 deletions

View File

@@ -30,13 +30,13 @@ def get_devis_byName(request, societe, name):
if numero > 0:
query = """SELECT date,'DE' AS TYPE, LPAD(no_id,6,'0') AS numero, nomcli, CONCAT(c_nom,'; ',c_adr,'; ',c_ville) AS chantier, COALESCE(totalht,0) AS montant, status, nosin, nopol, nochantier, web
FROM devis WHERE societe=:societe AND no_id >=:name LIMIT 300;;""" % (societe, name)
FROM devis WHERE societe=:societe AND no_id >=:name AND web = 'W' LIMIT 300;;""" % (societe, name)
elif len(name) == 0:
query = """SELECT date,'DE' AS TYPE, LPAD(no_id,6,'0') AS numero, nomcli, CONCAT(c_nom,'; ',c_adr,'; ',c_ville) AS chantier, COALESCE(totalht,0) AS montant, status, nosin, nopol, nochantier, web
FROM devis WHERE societe=:societe ORDER BY no_id DESC LIMIT 300;"""
FROM devis WHERE societe=:societe AND web = 'W' ORDER BY no_id DESC LIMIT 300;"""
else:
query = """(SELECT date,'DE' AS TYPE, LPAD(no_id,6,'0') AS numero, nomcli, CONCAT(c_nom,'; ',c_adr,'; ',c_ville) AS chantier, COALESCE(totalht,0) AS montant, status, nosin, nopol , nochantier, web
FROM devis WHERE societe=:societe AND c_nom LIKE ':name%' LIMIT 500)"""
FROM devis WHERE societe=:societe AND c_nom LIKE ':name%' AND web = 'W' LIMIT 500)"""
results = request.dbsession.execute(query, {'societe': societe, 'name': name}).fetchall()
return results
@@ -88,6 +88,20 @@ def get_devis_lig_by_no(request,nodossier):
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall()
return results
def get_devis_lignes_by_no(request, nodossier, nolig):
societe = nodossier[0:2]
type_doc = nodossier[3:5]
no_id = nodossier[5:]
if nolig == '0':
query = "SELECT * FROM devis_lignes WHERE societe = :societe and no_id=:no_id;"
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall()
else:
query = "SELECT * FROM devis_lignes WHERE societe = :societe and no_id=:no_id and nolig=:nolig;"
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id, 'nolig': nolig}).first()
return results
def insert_devis_from_dossier(request, nodossier, logged_in):
societe = nodossier[0:2]
no_id = nodossier[3:]
@@ -111,3 +125,24 @@ def get_devis_by_no(request,nodossier):
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).first()
return results
def update_devis_ligne(request, nodossier, nolig, new_values):
societe = nodossier[0:2]
no_id = nodossier[5:]
# formater les champs
s = ''
for param in new_values.keys():
if s:
s += ",%s=:%s" % (param, param)
else:
s = "%s=:%s" % (param, param)
if nolig == '0':
query = "INSERT INTO devis_lignes SET %s" % s
else:
new_values['societe'] = societe
new_values['no_id'] = no_id
new_values['nolig'] = nolig
query = "UPDATE devis_lignes SET %s WHERE societe = :societe and no_id=:no_id and nolig = :nolig;" % s
import pdb;pdb.set_trace()
execute_query(request, query, new_values)