|
@@ -15,12 +15,15 @@ class Command(BaseCommand):
|
|
|
def add_arguments(self, parser):
|
|
|
parser.add_argument('--services', action='store_true')
|
|
|
parser.add_argument('--adhesions', action='store_true')
|
|
|
+ parser.add_argument('--methodes', action='store_true')
|
|
|
|
|
|
def handle(self, *args, **options):
|
|
|
if options['services']:
|
|
|
self.handle_services()
|
|
|
if options['adhesions']:
|
|
|
self.handle_adhesions()
|
|
|
+ if options['methodes']:
|
|
|
+ self.handle_methodes()
|
|
|
|
|
|
def handle_services(self):
|
|
|
ttnn = Adhesion.objects.get(id=100)
|
|
@@ -55,10 +58,10 @@ class Command(BaseCommand):
|
|
|
else:
|
|
|
percent = 0
|
|
|
if npay:
|
|
|
- moy = income / npay
|
|
|
+ moy = '%12.2f' % (income / npay)
|
|
|
else:
|
|
|
- moy = float('nan')
|
|
|
- self.stdout.write("%-18s%12d%12d%12d%12d%12d%12d%12.2f%12.2f%12.1f" % (service_type, ntotal, ninf, nadh, nfree, nmiss, npay, income, moy, percent))
|
|
|
+ moy = '%12s' % '-'
|
|
|
+ self.stdout.write("%-18s%12d%12d%12d%12d%12d%12d%12.2f%s%12.1f" % (service_type, ntotal, ninf, nadh, nfree, nmiss, npay, income, moy, percent))
|
|
|
|
|
|
def handle_adhesions(self):
|
|
|
adhesions = Adhesion.objects.filter(Q(active__isnull=True) | Q(active=True))
|
|
@@ -76,3 +79,18 @@ class Command(BaseCommand):
|
|
|
income += float(payment.amount) / payment.period
|
|
|
self.stdout.write("%12s%12s%12s%12s%12s%12s" % ('Adhesions', 'gratuites', 'manquantes', 'payées', 'euros', 'moyenne'))
|
|
|
self.stdout.write("%12d%12d%12d%12d%12.2f%12.2f" % (nadh, pgra, pmiss, ppay, income, 12 * income / ppay))
|
|
|
+
|
|
|
+ def handle_methodes(self):
|
|
|
+ prelevement, virement, facture = 0, 0, 0
|
|
|
+ for payment in RecurringPayment.objects.all():
|
|
|
+ payment = payment.current
|
|
|
+ if not payment:
|
|
|
+ continue
|
|
|
+ if payment.payment_method == PaymentUpdate.DEBIT:
|
|
|
+ prelevement += payment.amount / payment.period
|
|
|
+ elif payment.payment_method == PaymentUpdate.TRANSFER:
|
|
|
+ virement += payment.amount / payment.period
|
|
|
+ elif payment.payment_method == PaymentUpdate.INVOICE:
|
|
|
+ facture += payment.amount / payment.period
|
|
|
+ self.stdout.write("%12s%12s%12s%12s" % ('prélèvement', 'virement', 'facture', 'total'))
|
|
|
+ self.stdout.write("%12.2f%12.2f%12.2f%12.2f" % (prelevement, virement, facture, prelevement + virement + facture))
|