Merge pull request !5895 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2025-10-23 06:40:40 +00:00
committed by Gitee
@@ -22,6 +22,36 @@ class PropertyContractLine(models.Model):
start_time = fields.Date(string="生效日期")
end_date = fields.Date(string="失效日期")
@api.onchange('start_time', 'end_date', 'yuthon_property_id', 'lease_contract_id')
def _onchange_contract_dates(self):
# 1. 若未关联物业,直接返回
if not self.yuthon_property_id:
return
all_contract_lines = self.env['property.contract.line'].search([
('yuthon_property_id', '=', self.yuthon_property_id.id.origin)
])
if not all_contract_lines:
return
for contract_line in all_contract_lines:
if not all([contract_line.lease_contract_id, contract_line.start_time]):
continue
date_domain = [('meter_date', '>=', contract_line.start_time)]
if contract_line.end_date:
date_domain.append(('meter_date', '<=', contract_line.end_date))
domain = [
('yuthon_property_ids', 'in', [self.yuthon_property_id.id.origin]),
*date_domain
]
meter_models = [self.env["meter.archives.line"], self.env["meter.water.line"]]
for model in meter_models:
meter_lines = model.search(domain)
if meter_lines:
meter_lines.write({
'contract_id': contract_line.lease_contract_id.id,
})
class PropertyTenantLine(models.Model):
_name = 'property.tenant.line'
_description = '物业承租方合同明细行'