Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.65 KB | None | 0 0
  1. def all_payments():
  2.  
  3. d_result = {'status': '0', 'error': ''}
  4. try:
  5.  
  6. ##INITIALIZE TABLES NEEDED
  7. o_receivables_cls = g.Base.classes.receivables
  8. o_receivable_payments_cls = g.Base.classes.receivable_payments
  9.  
  10. o_payments_cls = g.Base.classes.payments
  11. o_payment_methods_cls = g.Base.classes.payment_methods
  12.  
  13. o_invoice_payments_cls = g.Base.classes.invoice_receivables
  14. o_invoices_cls = g.Base.classes.invoices
  15. o_invoice_receivables_cls = g.Base.classes.invoice_receivables
  16. o_payment_statuses_cls = g.Base.classes.payment_statuses
  17. o_account_balances_cls = g.Base.classes.account_balances
  18.  
  19. o_accounts_cls = g.Base.classes.accounts
  20. o_account_balances_cls = g.Base.classes.account_balances
  21. o_students_cls = g.Base.classes.students
  22. o_persons_cls = g.Base.classes.persons
  23.  
  24. o_receivable_query = g.db.session.query(o_receivables_cls).all()
  25.  
  26. receivable_list = []
  27. for receivable in o_receivable_query:
  28.  
  29. obj = {}
  30.  
  31. receivable_obj = {
  32. 'receivable_id': receivable.id,
  33. 'receivable_amount_due': float(receivable.amount_due),
  34. 'receivable_payment_due_date': receivable.payment_due_date,
  35. 'receivable_installment': receivable.installment,
  36. 'receivable_payment_status': receivable.payment_status,
  37. 'receivable_reference_no': receivable.reference_no
  38. }
  39.  
  40. o_payment_status_query = g.db.session.query(o_payment_statuses_cls).\
  41. filter(o_payment_statuses_cls.id == receivable.payment_status).first()
  42.  
  43. receivable_obj.update({'receivable_payment_status_name': o_payment_status_query.name})
  44.  
  45. app.logger.debug("Receivable Query: %s " % (receivable_obj))
  46.  
  47. o_payments_query = g.db.session.query(
  48. o_payments_cls,\
  49. o_receivable_payments_cls).\
  50. join(o_receivable_payments_cls, o_receivable_payments_cls.payment == o_payments_cls.id).\
  51. filter(o_receivable_payments_cls.id == receivable.id).first()
  52.  
  53. payment_obj = {
  54. 'payment_id': o_payments_query.payments.id,
  55. 'payment_amount_paid': float(o_payments_query.payments.amount_paid),
  56. 'payment_payment_date': o_payments_query.payments.payment_date,
  57. 'payment_method': o_payments_query.payments.payment_method,
  58. 'payment_bank': o_payments_query.payments.bank,
  59. 'payment_reference_number': o_payments_query.payments.reference_number,
  60. 'payment_or_number': o_payments_query.payments.or_number,
  61. 'payment_payment_status': o_payments_query.payments.payment_status
  62. }
  63.  
  64. app.logger.debug("Payments Query: %s " % (o_payments_query))
  65.  
  66. o_invoice_query = g.db.session.query(
  67. o_invoices_cls,
  68. o_invoice_receivables_cls).\
  69. join(o_invoice_receivables_cls, o_invoice_receivables_cls.invoice == o_invoices_cls.id).\
  70. filter(o_invoice_receivables_cls.receivable == receivable.id).first()
  71.  
  72. app.logger.debug("Invoice Query: %s " % (o_invoice_query))
  73.  
  74. invoice_obj = {
  75. 'id': o_invoice_query.invoices.id,
  76. 'account_balance': o_invoice_query.invoices.account_balance,
  77. 'amount': float(o_invoice_query.invoices.amount),
  78. 'invoice_date': o_invoice_query.invoices.invoice_date,
  79. 'payment_status': o_invoice_query.invoices.payment_status,
  80. 'payment_scheme': o_invoice_query.invoices.payment_scheme
  81. }
  82.  
  83. o_accounts_query = g.db.session.query(
  84. o_accounts_cls,
  85. o_account_balances_cls,
  86. o_persons_cls).\
  87. join(o_account_balances_cls, o_account_balances_cls.account == o_accounts_cls.id).\
  88. join(o_persons_cls, o_persons_cls.party == o_accounts_cls.party).\
  89. filter(o_account_balances_cls.id == o_invoice_query.invoices.account_balance).first()
  90.  
  91. app.logger.debug("Accounts Query: %s " % (o_accounts_query))
  92.  
  93. accounts_obj = {
  94. 'id': o_accounts_query.accounts.id,
  95. 'first_name': o_accounts_query.persons.first_name,
  96. 'middle_name': o_accounts_query.persons.middle_name,
  97. 'last_name': o_accounts_query.persons.last_name,
  98. 'email': o_accounts_query.persons.email,
  99. 'gender_type': o_accounts_query.persons.gender_type,
  100. 'birth_year': o_accounts_query.persons.birth_year,
  101. 'birth_month': o_accounts_query.persons.birth_month,
  102. 'birth_day': o_accounts_query.persons.birth_day,
  103. 'image_url': o_accounts_query.persons.image_url
  104. }
  105.  
  106. obj['receivable'] = receivable_obj
  107. obj['payment'] = payment_obj
  108. obj['invoice'] = invoice_obj
  109. obj['account'] = accounts_obj
  110.  
  111. receivable_list.append(obj)
  112.  
  113. d_result['data'] = receivable_list
  114.  
  115. except Exception as err:
  116. ret_hash['status'] = -1
  117. ret_hash['error'] = "Unknown error."
  118. app.logger.debug("all_payments error : %s " % (err))
  119. return ret_hash, 500, {'Content-Type': 'application/json; character=utf-8'}
  120.  
  121. return d_result, 200, {'Content-Type': 'application/json; character=utf-8'}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement