diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-01-09 08:54:09 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-01-09 08:54:09 +0700 |
| commit | 4e926be36ae06a1cf6f0d74151cf97ea4f542017 (patch) | |
| tree | 4177843d17948ab9cf7bae6fe0d53dba4a843d66 /indoteknik_api/controllers/api_v1/partner.py | |
| parent | 61c9291070da3ef7f81774290db1923789792210 (diff) | |
<iman> update tempo
Diffstat (limited to 'indoteknik_api/controllers/api_v1/partner.py')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index c0088d38..885cf3ec 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -1,7 +1,7 @@ from .. import controller from odoo import http from odoo.http import request - +from odoo import fields import json import base64 import mimetypes @@ -253,15 +253,31 @@ class Partner(controller.Controller): if any(line.days == 0 for line in partner.property_payment_term_id.line_ids): return self.response(code=402, description='Partner not tempo') - - result_tempo = sum(m.amount_total_signed for m in request.env['account.move'].search([('partner_id', '=', partner.id), ('payment_state', '=', 'not_paid'), ('state', '=', 'posted')])) - + + domain_result_tempo = [('partner_id', '=', partner.id), ('payment_state', '=', 'not_paid'), ('state', '=', 'posted')] + domain_result_jatuh_tempo = [('partner_id', '=', partner.id), ('payment_state', '=', 'not_paid'), ('state', '=', 'posted'), ('invoice_date_due', '<', fields.Date.today())] + domain_orders = [('partner_id', '=', partner.id), ('invoice_status', '!=', 'invoiced'), ('state', '=', 'sale')] + + result_tempo = sum(m.amount_total_signed for m in request.env['account.move'].search(domain_result_tempo)) + result_tempo_total = request.env['account.move'].search_count(domain_result_tempo) + result_jatuh_tempo = sum(m.amount_total_signed for m in request.env['account.move'].search(domain_result_jatuh_tempo)) + result_jatuh_tempo_total = request.env['account.move'].search_count(domain_result_jatuh_tempo) + orders = request.env['sale.order'].search(domain_orders) + orders_total = request.env['sale.order'].search_count(domain_orders) + + total_amount = sum(order.amount_total for order in orders) + remaining_limit = partner.blocking_stage - result_tempo if partner.active_limit else None data = { 'name': partner.name, 'payment_term': partner.property_payment_term_id.name, 'amount_due': result_tempo, + 'amount_due_total': result_tempo_total, + 'amount_jatuh_tempo_total': result_jatuh_tempo_total, + 'amount_jatuh_tempo': result_jatuh_tempo, + 'amount_due_sale': total_amount, + 'amount_due_sale_total': orders_total, 'remaining_limit': remaining_limit } |
