Fix procedure and batch number of different centers but same destination.

This commit is contained in:
Mikaël Ates 2014-01-14 10:53:21 +01:00
parent 2cc55ddace
commit abad50d552
1 changed files with 25 additions and 28 deletions

View File

@ -3,34 +3,25 @@
"""
Procédure
0 - Vérifier que les lots concernées ont bien été payés et les rejets pointés.
1- Créer les fichiers de télétransmission et à imprimer sur une machine de dev :
0 - Vérifier que les lots concernés ont bien été payés et les rejets
pointés.
1 - Créer les fichiers de télétransmission et à imprimer sur une machine
de dev en utilisant la branche regularisation et :
$ python scripts/regul_fact_ppa.py -pw
2 - Copier les fichiers de TT sur la prod et les mailer:
$ scp ./file.b2-mail \
user@prod:/path
2 - Copier les fichiers de TT sur la prod:
$ scp ./123 \
user@prod:/path_to_b2_files/
$ ssh prod
$ sudo chown run_user.run_user ./file.b2-mail
$ python manage.py shell
>>> %cpaste
from calebasse.facturation.b2 import sendmail_raw
from smtplib import SMTP, SMTPException
mail = open("file.b2-mail").read()
try:
to, via = sendmail_raw(mail)
except SMTPException as e:
print str(e)
else:
print 'OK'
3 - Diffuser les pdf à imprimer.
$ sudo chown -r run_user.run_user ./123
3 - Diffuser les fichiers à imprimer.
4 - Modifier le plan de facturation (ajout de la facturation de
regularisation) sur la production pour que l'incrémentation des
numéros de lots se fasse bien à la suite dans les prochianes
numéros de lots se fasse bien à la suite lors des prochianes
facturations :
$ python scripts/regul_fact_ppa.py -e
5 - Faire l'export comptable à partir de l'interface graphique sur la
page de détail de la facturation de régularisation sur la production.
6 - Corriger sur la production le prix dans le passé.
5 - Faire la télétransmission à partir de l'IG sur la prod.
6 - Faire l'export comptable à partir de l'IG sur la prod.
7 - Corriger sur la production le prix dans le passé.
"""
import django.core.management
@ -259,6 +250,7 @@ if __name__ == "__main__":
batches_per_healthcenter = dict()
batches_amount_per_healthcenter = dict()
dest_hc = {}
if build:
print '### ----> Construction des lots'
j = 1
@ -271,12 +263,16 @@ if __name__ == "__main__":
if not hc.dest_organism[0:3]:
print "HC has no dest org, no need to build because no transmission possible !!!!"
continue
agg = Invoice.objects.filter(
Q(patient_healthcenter=hc,
policy_holder_healthcenter__isnull=True)|
Q(policy_holder_healthcenter=hc)) \
.aggregate(Max('batch'))
max_bn = agg['batch__max']
hc_dest = hc.hc_invoice or hc
if hc_dest in dest_hc.keys():
max_bn = dest_hc[hc_dest]
else:
agg = Invoice.objects.filter(
Q(patient_healthcenter=hc,
policy_holder_healthcenter__isnull=True)|
Q(policy_holder_healthcenter=hc)) \
.aggregate(Max('batch'))
max_bn = agg['batch__max']
last_batch_id = max_bn + 1
batches = []
nb_batches = len(invoices)/80 + 1
@ -294,6 +290,7 @@ if __name__ == "__main__":
nb_acts += (len(i.list_dates.split('$'))*2)
batch.number_of_acts = nb_acts
batches.append(batch)
dest_hc[hc_dest] = last_batch_id + len(batches) - 1
print "\tNombre de lots construits : %d" % len(batches)
total = 0
batches_amount = []