migrer rappels de rdv vers gestion

This commit is contained in:
2021-01-24 16:10:29 +01:00
parent af2315bad2
commit 793a62cc2d
11 changed files with 181 additions and 252 deletions

View File

@@ -226,12 +226,3 @@ def move_devis_ligne(request, nodossier, nolig, move):
query = """UPDATE devis_lignes SET nolig = :nolig WHERE societe = :societe and no_id=:no_id and nolig = :max_no;"""
execute_query(request, query, {'societe': societe, 'no_id': no_id, 'nolig': nolig, 'max_no': max_no})
def get_societes(request, societe):
if societe == '0':
query = "SELECT * FROM p_societe;"
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall()
else:
query = "SELECT * FROM p_societe WHERE societe = :societe;"
results = request.dbsession.execute(query, {'societe': societe}).first()
return results

View File

@@ -74,24 +74,6 @@ def get_rdf_causes_by_id(request, code):
results = request.dbsession.execute(query, {'code': code}).first()
return results
def get_emails_sent(request, societe, nolig):
d = datetime.now()
d = d - dateutil.relativedelta.relativedelta(months=1)
# début du mois M-3
datedeb = d.strftime('%Y-%m-%d')
if nolig == 0:
query = """SELECT CONCAT(l.societe,"-",l.no_id) as nodossier, l.datemaj, l.comment, l.nolig, l.usermaj, e.nomcli FROM dem_lig l
INNER JOIN dem_devis e ON l.societe=e.societe AND l.no_id=e.no_id
WHERE l.societe = :societe AND l.date >= :datedeb AND l.comment LIKE 'Envoi email -> %' ORDER BY l.datemaj LIMIT 250;"""
results = request.dbsession.execute(query, {'societe': societe, 'datedeb': datedeb}).fetchall()
else:
query = """SELECT * FROM dem_lig WHERE nolig=:nolig;"""
results = request.dbsession.execute(query, {'nolig': nolig}).first()
return results
def delete_rdf_cause(request, old_code):
query = "DELETE FROM rdf_causes WHERE code = :old_code;"
execute_query(request, query, {'old_code': old_code})
@@ -209,6 +191,3 @@ def delete_expert(request, code_cab, code_exp):
query = "DELETE FROM p_experts WHERE code_cab = :code_cab AND code_exp = :code_exp;"
execute_query(request, query, {'code_cab': code_cab, 'code_exp': code_exp})
def update_rappels(request):
query = "CALL spUPD_RAPPELS();"
execute_query(request, query)

71
mondumas/models/utils.py Normal file
View File

@@ -0,0 +1,71 @@
# -*- 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 dateutil.relativedelta
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 insert_log(request, proc, msg):
query = "INSERT t_log_nuit (proc,msg) VALUES (:proc,:msg);"
execute_query(request, query, {'proc': proc, 'msg' :msg})
def truncate_log(request):
query = "TRUNCATE t_log_nuit;"
execute_query(request, query, {})
def get_log(request):
# lire les rappels non envoyés
query = "SELECT * FROM t_log_nuit;"
results = request.dbsession.execute(query, {}).fetchall()
return results
def get_email_rappels(request):
# lire les rappels non envoyés
query = """ SELECT r.*, e.c_qualite, e.c_nom, e.c_adr, e.c_adr2, e.c_ville, e.c_email, s.tel, s.nom as nom_societe
FROM email_rappels r
INNER JOIN dem_devis e ON r.societe = e.societe AND r.nochantier = e.no_id
INNER JOIN p_societe s ON r.societe = s.societe
WHERE ISNULL(envoye_le) ORDER BY no_id;"""
results = request.dbsession.execute(query, {}).fetchall()
return results
def delete_rdv(request, nodossier, nolig):
societe = nodossier[0:2]
no_id = nodossier[3:]
query = "DELETE FROM dem_lig where societe = '%s' and no_id=%s and nolig=%s;" % (societe, no_id, nolig)
execute_query(request, query, {})
def update_rappels(request):
query = "CALL spUPD_RAPPELS();"
execute_query(request, query, {})
def update_email_rappels(request, no_id):
query = "UPDATE email_rappels SET envoye_le = NOW() WHERE no_id = :no_id;"
execute_query(request, query, {'no_id': no_id})
def get_societes(request, societe):
if societe == '0':
query = "SELECT * FROM p_societe;"
results = request.dbsession.execute(query, {'societe': societe, 'no_id': no_id}).fetchall()
else:
query = "SELECT * FROM p_societe WHERE societe = :societe;"
results = request.dbsession.execute(query, {'societe': societe}).first()
return results