customer order data

This commit is contained in:
Raman Marikanti 2026-02-10 14:29:04 +05:30
parent ee77872c62
commit bdea2c6c3e
1 changed files with 22 additions and 2 deletions

View File

@ -1,6 +1,7 @@
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
from datetime import datetime
from datetime import date, datetime
import calendar
class CustomerOrder(models.Model):
@ -77,11 +78,18 @@ class CustomerOrder(models.Model):
def _compute_dispatch_data(self):
for order in self:
month = int(order.order_month)
year = fields.Date.today().year # or order.year if you have one
first_day = date(year, month, 1)
last_day = date(year, month, calendar.monthrange(year, month)[1])
# Get all invoice lines for this order
invoice_lines = self.env['account.move.line'].search([
('move_id.state', '=', 'posted'),
('move_id.move_type', 'in', ['out_invoice', 'out_refund']),
('product_id', 'in', order.order_line_ids.mapped('product_id').ids)
('product_id', 'in', order.order_line_ids.mapped('product_id').ids),
('move_id.invoice_date', '>=', first_day),
('move_id.invoice_date', '<=', last_day),
])
if invoice_lines:
@ -171,10 +179,22 @@ class CustomerOrder(models.Model):
)
def _compute_production_data(self):
for order in self:
month = int(order.order_month)
year = fields.Date.today().year
first_day = date(year, month, 1)
last_day = date(year, month, calendar.monthrange(year, month)[1])
# Convert to datetime for date_start (Datetime field)
start_datetime = datetime.combine(first_day, datetime.min.time())
end_datetime = datetime.combine(last_day, datetime.max.time())
# Get all production orders for this customer order's products
production_orders = self.env['mrp.production'].search([
('product_id', 'in', order.order_line_ids.mapped('product_id').ids),
('date_start', '>=', start_datetime),
('date_start', '<=', end_datetime),
])
if production_orders: