X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=bde%2Fintegrite%2Fintegrite_solde.py;fp=bde%2Fintegrite%2Fintegrite_solde.py;h=fa49ac3c85c3e25cf20f9dd9d57803be5e7ebdc5;hb=918f150099bd27adbae3dab6a208e6a188cdb514;hp=0000000000000000000000000000000000000000;hpb=249c4ceb0ec65b63ae0e7292066e2d88517d9e62;p=scripts-20-100.git diff --git a/bde/integrite/integrite_solde.py b/bde/integrite/integrite_solde.py new file mode 100755 index 0000000..fa49ac3 --- /dev/null +++ b/bde/integrite/integrite_solde.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding:Latin-1 -*- + +""" Liste les adhérents, fait la somme de leurs transactions et regarde la différence avec le solde actuel. + Broken, apparemment.""" + + +import os + +l=os.popen("psql bde -c \"SELECT numcbde,gagne-perdu as calcul,effectif,effectif-(gagne-perdu) as a_enlever FROM (SELECT numcbde,(SELECT sum(montant*quantite) FROM transactions WHERE destinataire=main.numcbde AND valide='t') as gagne,(SELECT sum(montant*quantite) FROM transactions WHERE emetteur=main.numcbde AND valide='t') as perdu, (SELECT solde FROM adherents WHERE numcbde=main.numcbde) as effectif FROM adherents as main) AS calculs WHERE gagne-perdu!=effectif;\"").readlines() + +g=[] +print l +for i in l[1:-3]: + i=i.strip().split() + print i + g.append([i[0],i[2],i[4],i[6]]) + +f=open("requêtes à effectuer.txt","w") +for i in g: + montant = eval(i[3]) + if montant>0: + f.write("INSERT INTO transactions (date,conso,emetteur,destinataire,montant,quantite,remarque) VALUES ('1970-01-01 00:13:37',1,0,%s,%s,1,'Solde initial');\n"%(i[0],i[3])) + elif montant<0: + f.write("INSERT INTO transactions (date,conso,emetteur,destinataire,montant,quantite,remarque) VALUES ('1970-01-01 00:13:37',1,%s,0,-(%s),1,'Solde initial');\n"%(i[0],i[3])) + f.write("UPDATE adherents SET solde = solde - (%s) WHERE numcbde=%s;\n"%(i[3],i[0]))