ajout module Dossier et devis_view.pt + creer_rdv.pt
This commit is contained in:
@@ -26,6 +26,12 @@ def get_users_agenda(request):
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def get_types_rdv(request):
|
||||
""" lire la liste des types de rendez-vous"""
|
||||
query = "SELECT * FROM p_types_rdv ORDER BY LIB;"
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def get_rendez_vous(request, itc):
|
||||
d = datetime.now()
|
||||
d = d - dateutil.relativedelta.relativedelta(months=3)
|
||||
@@ -33,7 +39,7 @@ def get_rendez_vous(request, itc):
|
||||
datedeb = d.strftime('%Y-%m-01')
|
||||
|
||||
# lire les rdv de l'ITC
|
||||
query = """SELECT CONCAT(l.societe,"-",l.no_id) as nodossier, l.nolig, l.rdv_debut, l.rdv_fin, e.c_nom, e.c_ville FROM dem_lig l
|
||||
query = """SELECT CONCAT(l.societe,"-",l.no_id) as nodossier, l.nolig, l.rdv_debut, l.rdv_fin, e.c_qualite, e.c_nom, e.c_ville FROM dem_lig l
|
||||
INNER JOIN dem_devis e ON l.societe=e.societe AND l.no_id=e.no_id
|
||||
WHERE l.datevi >= :datedeb AND l.liste=:itc ORDER BY l.datevi, l.heurevi
|
||||
"""
|
||||
@@ -71,3 +77,12 @@ def update_rdv(request, nodossier, nolig, new_values):
|
||||
query = "UPDATE dem_lig SET %s WHERE societe = :societe AND NO_ID = :no_id AND NOLIG = :nolig ;" % s
|
||||
execute_query(request, query, new_values)
|
||||
|
||||
def create_rdv(request, nodossier, dateRDV, heureRDV, type_rdv, agenda, logged_in):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = """
|
||||
INSERT INTO dem_lig (societe, NO_ID, DATE, COMMENT, DATEVI, HEUREVI, LISTE, USERMAJ) VALUES
|
||||
(:societe, :no_id, CURRENT_DATE, :type_rdv, :dateRDV, :heureRDV, :agenda, :logged_in) ;"""
|
||||
execute_query(request, query, {'societe': societe, 'no_id' :no_id, 'dateRDV': dateRDV, 'heureRDV': heureRDV, 'type_rdv': type_rdv, 'agenda': agenda, 'logged_in':logged_in})
|
||||
|
||||
|
||||
@@ -81,63 +81,3 @@ def delete_membre(request, cd_uti):
|
||||
query = "DELETE FROM p_users WHERE cd_uti = :cd_uti ;"
|
||||
execute_query(request, query, {'cd_uti': cd_uti})
|
||||
|
||||
def get_chantiers_byName(request, societe, name, tous):
|
||||
|
||||
query = "CALL spGET_CHANTIERS_byName('%s','%s');" % (societe, name)
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def get_dossier_by_no(request,nodossier):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
query = """
|
||||
SELECT d.*, c.*, a.NOM as nom_cabinet, e.NOM as nom_expert FROM dem_devis d
|
||||
INNER JOIN clients c ON d.societe = c.societe and d.cd_cli = c.cd_cli
|
||||
INNER JOIN p_cabinet a ON d.cabinet = a.code
|
||||
INNER JOIN p_experts e ON d.cabinet = e.code_cab and d.expert = e.code_exp
|
||||
where d.societe = '%s' and d.no_id=%s;""" % (societe, no_id);
|
||||
results = request.dbsession.execute(query).first()
|
||||
return results
|
||||
|
||||
def get_dossier_rdv_by_no(request,nodossier, nolig):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
if nolig == '0':
|
||||
query = "SELECT * FROM dem_lig where societe = '%s' and no_id=%s;" % (societe, no_id)
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
else:
|
||||
query = "SELECT * FROM dem_lig where societe = '%s' and no_id=%s and nolig=%s;" % (societe, no_id, nolig)
|
||||
results = request.dbsession.execute(query).first()
|
||||
|
||||
return results
|
||||
|
||||
def get_documents_byChantier(request,nodossier):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = "CALL spGET_DOSSIERS_byNumeo('%s',%s);" % (societe, no_id)
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def update_suivi(request, nodossier, nolig, new_values):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
new_values['societe'] = societe
|
||||
new_values['NO_ID'] = no_id
|
||||
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 dem_lig SET %s" % s
|
||||
else:
|
||||
new_values['nolig'] = nolig
|
||||
query = "UPDATE dem_lig SET %s WHERE societe = :societe AND NO_ID = :no_id AND NOLIG = :nolig ;" % s
|
||||
|
||||
execute_query(request, query, new_values)
|
||||
|
||||
|
||||
83
mondumas/models/dossier.py
Normal file
83
mondumas/models/dossier.py
Normal file
@@ -0,0 +1,83 @@
|
||||
# -*- coding: utf8 -*-
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import (
|
||||
scoped_session,
|
||||
sessionmaker,
|
||||
)
|
||||
from zope.sqlalchemy import (
|
||||
ZopeTransactionExtension,
|
||||
mark_changed
|
||||
)
|
||||
|
||||
from datetime import *
|
||||
import transaction
|
||||
|
||||
def execute_query(request, query, params):
|
||||
"""Execute query and mark session as changed"""
|
||||
request.dbsession.execute(query, params)
|
||||
mark_changed(request.dbsession)
|
||||
transaction.commit()
|
||||
|
||||
def get_chantiers_byName(request, societe, name, tous):
|
||||
|
||||
query = "CALL spGET_CHANTIERS_byName('%s','%s');" % (societe, name)
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def get_dossier_by_no(request,nodossier):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
query = """
|
||||
SELECT d.*, c.*, a.NOM as nom_cabinet, e.NOM as nom_expert FROM dem_devis d
|
||||
INNER JOIN clients c ON d.societe = c.societe and d.cd_cli = c.cd_cli
|
||||
INNER JOIN p_cabinet a ON d.cabinet = a.code
|
||||
INNER JOIN p_experts e ON d.cabinet = e.code_cab and d.expert = e.code_exp
|
||||
where d.societe = '%s' and d.no_id=%s;""" % (societe, no_id);
|
||||
results = request.dbsession.execute(query).first()
|
||||
return results
|
||||
|
||||
def get_dossier_rdv_by_no(request,nodossier, nolig):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
if nolig == '0':
|
||||
query = "SELECT * FROM dem_lig WHERE societe = :societe AND no_id = :no_id;"
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall()
|
||||
else:
|
||||
query = """
|
||||
SELECT l.*, d.C_QUALITE, d.C_NOM FROM dem_lig l INNER JOIN dem_devis d ON l.societe = d.societe and l.no_id = d.no_id
|
||||
where l.societe = '%s' and l.no_id=%s and l.nolig=%s;""" % (societe, no_id, nolig)
|
||||
results = request.dbsession.execute(query).first()
|
||||
|
||||
return results
|
||||
|
||||
def get_documents_byChantier(request,nodossier):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
query = "CALL spGET_DOSSIERS_byNumeo('%s',%s);" % (societe, no_id)
|
||||
results = request.dbsession.execute(query).fetchall()
|
||||
return results
|
||||
|
||||
def update_suivi(request, nodossier, nolig, new_values):
|
||||
societe = nodossier[0:2]
|
||||
no_id = nodossier[3:]
|
||||
|
||||
new_values['societe'] = societe
|
||||
new_values['NO_ID'] = no_id
|
||||
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 dem_lig SET %s" % s
|
||||
else:
|
||||
new_values['nolig'] = nolig
|
||||
query = "UPDATE dem_lig SET %s WHERE societe = :societe AND NO_ID = :no_id AND NOLIG = :nolig ;" % s
|
||||
|
||||
execute_query(request, query, new_values)
|
||||
|
||||
Reference in New Issue
Block a user