Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def all_payments():
- d_result = {'status': '0', 'error': ''}
- try:
- ##INITIALIZE TABLES NEEDED
- o_receivables_cls = g.Base.classes.receivables
- o_receivable_payments_cls = g.Base.classes.receivable_payments
- o_payments_cls = g.Base.classes.payments
- o_payment_methods_cls = g.Base.classes.payment_methods
- o_invoice_payments_cls = g.Base.classes.invoice_receivables
- o_invoices_cls = g.Base.classes.invoices
- o_invoice_receivables_cls = g.Base.classes.invoice_receivables
- o_payment_statuses_cls = g.Base.classes.payment_statuses
- o_account_balances_cls = g.Base.classes.account_balances
- o_accounts_cls = g.Base.classes.accounts
- o_account_balances_cls = g.Base.classes.account_balances
- o_students_cls = g.Base.classes.students
- o_persons_cls = g.Base.classes.persons
- o_receivable_query = g.db.session.query(o_receivables_cls).all()
- receivable_list = []
- for receivable in o_receivable_query:
- obj = {}
- receivable_obj = {
- 'receivable_id': receivable.id,
- 'receivable_amount_due': float(receivable.amount_due),
- 'receivable_payment_due_date': receivable.payment_due_date,
- 'receivable_installment': receivable.installment,
- 'receivable_payment_status': receivable.payment_status,
- 'receivable_reference_no': receivable.reference_no
- }
- o_payment_status_query = g.db.session.query(o_payment_statuses_cls).\
- filter(o_payment_statuses_cls.id == receivable.payment_status).first()
- receivable_obj.update({'receivable_payment_status_name': o_payment_status_query.name})
- app.logger.debug("Receivable Query: %s " % (receivable_obj))
- o_payments_query = g.db.session.query(
- o_payments_cls,\
- o_receivable_payments_cls).\
- join(o_receivable_payments_cls, o_receivable_payments_cls.payment == o_payments_cls.id).\
- filter(o_receivable_payments_cls.id == receivable.id).first()
- payment_obj = {
- 'payment_id': o_payments_query.payments.id,
- 'payment_amount_paid': float(o_payments_query.payments.amount_paid),
- 'payment_payment_date': o_payments_query.payments.payment_date,
- 'payment_method': o_payments_query.payments.payment_method,
- 'payment_bank': o_payments_query.payments.bank,
- 'payment_reference_number': o_payments_query.payments.reference_number,
- 'payment_or_number': o_payments_query.payments.or_number,
- 'payment_payment_status': o_payments_query.payments.payment_status
- }
- app.logger.debug("Payments Query: %s " % (o_payments_query))
- o_invoice_query = g.db.session.query(
- o_invoices_cls,
- o_invoice_receivables_cls).\
- join(o_invoice_receivables_cls, o_invoice_receivables_cls.invoice == o_invoices_cls.id).\
- filter(o_invoice_receivables_cls.receivable == receivable.id).first()
- app.logger.debug("Invoice Query: %s " % (o_invoice_query))
- invoice_obj = {
- 'id': o_invoice_query.invoices.id,
- 'account_balance': o_invoice_query.invoices.account_balance,
- 'amount': float(o_invoice_query.invoices.amount),
- 'invoice_date': o_invoice_query.invoices.invoice_date,
- 'payment_status': o_invoice_query.invoices.payment_status,
- 'payment_scheme': o_invoice_query.invoices.payment_scheme
- }
- o_accounts_query = g.db.session.query(
- o_accounts_cls,
- o_account_balances_cls,
- o_persons_cls).\
- join(o_account_balances_cls, o_account_balances_cls.account == o_accounts_cls.id).\
- join(o_persons_cls, o_persons_cls.party == o_accounts_cls.party).\
- filter(o_account_balances_cls.id == o_invoice_query.invoices.account_balance).first()
- app.logger.debug("Accounts Query: %s " % (o_accounts_query))
- accounts_obj = {
- 'id': o_accounts_query.accounts.id,
- 'first_name': o_accounts_query.persons.first_name,
- 'middle_name': o_accounts_query.persons.middle_name,
- 'last_name': o_accounts_query.persons.last_name,
- 'email': o_accounts_query.persons.email,
- 'gender_type': o_accounts_query.persons.gender_type,
- 'birth_year': o_accounts_query.persons.birth_year,
- 'birth_month': o_accounts_query.persons.birth_month,
- 'birth_day': o_accounts_query.persons.birth_day,
- 'image_url': o_accounts_query.persons.image_url
- }
- obj['receivable'] = receivable_obj
- obj['payment'] = payment_obj
- obj['invoice'] = invoice_obj
- obj['account'] = accounts_obj
- receivable_list.append(obj)
- d_result['data'] = receivable_list
- except Exception as err:
- ret_hash['status'] = -1
- ret_hash['error'] = "Unknown error."
- app.logger.debug("all_payments error : %s " % (err))
- return ret_hash, 500, {'Content-Type': 'application/json; character=utf-8'}
- return d_result, 200, {'Content-Type': 'application/json; character=utf-8'}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement