@@ -2718,13 +2718,23 @@ class PropertyLeaseContractLine(models.Model):
|
|||||||
message_unit = fields.Float(related='message_standard_id.amount', string="管理费单价", store=True)
|
message_unit = fields.Float(related='message_standard_id.amount', string="管理费单价", store=True)
|
||||||
evaluate_unit_price = fields.Float(string="评估单价")
|
evaluate_unit_price = fields.Float(string="评估单价")
|
||||||
|
|
||||||
@api.depends('address_id', 'address_id.manage_information_ids')
|
@api.depends('address_id', 'address_id.manage_information_ids',
|
||||||
|
'address_id.manage_information_ids.start_time',
|
||||||
|
'address_id.manage_information_ids.end_date')
|
||||||
def _compute_property_area(self):
|
def _compute_property_area(self):
|
||||||
|
today = fields.Date.context_today(self)
|
||||||
for line in self:
|
for line in self:
|
||||||
line.property_area = 0.0
|
line.property_area = 0.0
|
||||||
if line.address_id and line.address_id.manage_information_ids:
|
if not line.address_id:
|
||||||
latest_line = line.address_id.manage_information_ids.sorted('id', reverse=True)[0]
|
continue
|
||||||
line.property_area = latest_line.rent_area
|
# 生效日期[start_time] ~ 失效日期[end_date] 覆盖当前日期的管理信息
|
||||||
|
valid_lines = line.address_id.manage_information_ids.filtered(
|
||||||
|
lambda item: (not item.start_time or item.start_time <= today)
|
||||||
|
and (not item.end_date or item.end_date >= today)
|
||||||
|
)
|
||||||
|
if valid_lines:
|
||||||
|
# 多条命中时取生效日期最新的一条
|
||||||
|
line.property_area = valid_lines.sorted('start_time', reverse=True)[0].rent_area
|
||||||
|
|
||||||
def open_record(self):
|
def open_record(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
|
|||||||
Reference in New Issue
Block a user