tuning purge mensuelle
This commit is contained in:
@@ -132,35 +132,35 @@ def get_chantiers_dates(request, societe, nochantier):
|
||||
date_facture = None
|
||||
return date_contact, date_rdv, date_devis, date_facture
|
||||
|
||||
def purge_annuelle(request):
|
||||
def purge_mensuelle(request, until_date):
|
||||
|
||||
# ----- Purger les DEVIS dont la facture est réglée de plus 10 ans
|
||||
# ----- Purger les DEVIS dont la facture est réglée antérieure à until_date
|
||||
query = """DELETE devis.* FROM devis INNER JOIN facture ON devis.societe = facture.societe and devis.no_id = facture.nodevis
|
||||
WHERE YEAR(facture.date) < YEAR(CURRENT_DATE()) - 10 AND ABS(facture.totalttc - facture.mtregl) < 1;"""
|
||||
execute_query(request, query, {})
|
||||
WHERE facture.date < :until_date AND ABS(facture.totalttc - facture.mtregl) < 1;"""
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
|
||||
# ----- Purger les FACTURES réglées de plus 10 ans
|
||||
query = """DELETE FROM facture WHERE YEAR(facture.date) < YEAR(CURRENT_DATE()) - 10 AND ABS(facture.totalttc - facture.mtregl) < 1;"""
|
||||
execute_query(request, query, {})
|
||||
# ----- Purger les FACTURES réglées antérieure à until_date
|
||||
query = """DELETE FROM facture WHERE facture.date < :until_date AND ABS(facture.totalttc - facture.mtregl) < 1;"""
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
|
||||
# ----- Purger les DEVIS de + de 10 ans n'ayant pas de facture
|
||||
query = """DELETE FROM devis WHERE YEAR(date) < YEAR(CURRENT_DATE()) - 10 AND nofact=0;"""
|
||||
execute_query(request, query, {})
|
||||
# ----- Purger les DEVIS n'ayant pas de facture antérieure à until_date
|
||||
query = """DELETE FROM devis WHERE devis.date < :until_date AND nofact=0;"""
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
|
||||
# -- RAZ les liens FACTURE et DEVIS
|
||||
query = "UPDATE dem_devis SET nodevis = 0, nofact = 0, datemaj=datemaj WHERE YEAR(date) < YEAR(CURRENT_DATE()) - 10;"
|
||||
execute_query(request, query, {})
|
||||
query = "UPDATE dem_devis SET nodevis = 0, nofact = 0, datemaj=datemaj WHERE dem_devis.date < :until_date;"
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
# -- recreer les lien DEVIS
|
||||
query = """UPDATE dem_devis INNER JOIN facture ON dem_devis.societe = facture.societe and dem_devis.no_id = facture.nochantier
|
||||
SET dem_devis.nofact = facture.no_id, datemaj=datemaj WHERE YEAR(dem_devis.date) < YEAR(CURRENT_DATE()) - 10;"""
|
||||
execute_query(request, query, {})
|
||||
SET dem_devis.nofact = facture.no_id, dem_devis.datemaj=dem_devis.datemaj WHERE dem_devis.date < :until_date;"""
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
# -- recreer les lien factures
|
||||
query = """UPDATE dem_devis INNER JOIN devis ON dem_devis.societe = devis.societe and dem_devis.no_id = devis.nochantier
|
||||
SET dem_devis.nodevis = devis.no_id, datemaj=datemaj WHERE YEAR(dem_devis.date) < YEAR(CURRENT_DATE()) - 10;"""
|
||||
execute_query(request, query, {})
|
||||
SET dem_devis.nodevis = devis.no_id, dem_devis.datemaj=dem_devis.datemaj WHERE dem_devis.date < :until_date"""
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
# ---- Purger les DEM_DEVIS n'ayant aucun DEVIS ni FACTURE
|
||||
query = "DELETE FROM dem_devis WHERE YEAR(dem_devis.date) < YEAR(CURRENT_DATE()) - 10 AND nodevis = 0 AND nofact = 0;"
|
||||
execute_query(request, query, {})
|
||||
query = "DELETE FROM dem_devis WHERE date < :until_date AND nodevis = 0 AND nofact = 0;"
|
||||
execute_query(request, query, {'until_date': until_date})
|
||||
|
||||
|
||||
def get_all_clients(request):
|
||||
@@ -173,6 +173,11 @@ def get_last_facture_client(request, societe, cd_cli):
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'cd_cli': cd_cli}).first()
|
||||
return results
|
||||
|
||||
def get_last_payment_client(request, societe, cd_cli):
|
||||
query = "SELECT * FROM liv_bnq WHERE societe = :societe AND cd_cli = :cd_cli order by date DESC LIMIT 1;"
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'cd_cli': cd_cli}).first()
|
||||
return results
|
||||
|
||||
def get_last_devis_client(request, societe, cd_cli):
|
||||
query = "SELECT * FROM devis WHERE societe = :societe AND cd_cli = :cd_cli order by date DESC LIMIT 1;"
|
||||
results = request.dbsession.execute(query, {'societe': societe, 'cd_cli': cd_cli}).first()
|
||||
|
||||
Reference in New Issue
Block a user