@@ -335,7 +335,13 @@ class PropertyLeaseContract(models.Model):
|
||||
if rec.lease_ids:
|
||||
rec.admin_id = rec.lease_ids[0].admin_line_id.id
|
||||
|
||||
@api.depends("lease_ids")
|
||||
@api.depends(
|
||||
'lease_ids',
|
||||
'lease_ids.address_id',
|
||||
'lease_ids.admin_line_id',
|
||||
'lease_ids.admin_line_id.employee_ids',
|
||||
'lease_ids.admin_line_id.employee_ids.department_id'
|
||||
)
|
||||
def _compute_lease_ids(self):
|
||||
for rec in self:
|
||||
# 初始化值
|
||||
@@ -343,9 +349,11 @@ class PropertyLeaseContract(models.Model):
|
||||
rec.is_electricity = False
|
||||
rec.water_fee_ids = [(5, 0, 0)]
|
||||
rec.electricity_fee_ids = [(5, 0, 0)]
|
||||
rec.department_id = None
|
||||
rec.department_id = False # 初始化为False而非None
|
||||
rec.admin_id = False # 初始化admin_id
|
||||
water_fee_values = []
|
||||
electricity_fee_values = []
|
||||
|
||||
if rec.lease_ids:
|
||||
# 处理每个租赁记录
|
||||
for lease in rec.lease_ids:
|
||||
@@ -356,7 +364,6 @@ class PropertyLeaseContract(models.Model):
|
||||
lambda m: not m.demolition_date or m.demolition_date > fields.Date.today()
|
||||
)
|
||||
for meter in active_water_meters:
|
||||
# 确保meter记录有效
|
||||
if meter.property_meter_water_id:
|
||||
water_fee_values.append([0, 0, {
|
||||
'contract_id': rec.id,
|
||||
@@ -370,22 +377,27 @@ class PropertyLeaseContract(models.Model):
|
||||
lambda m: not m.demolition_date or m.demolition_date > fields.Date.today()
|
||||
)
|
||||
for meter in active_electric_meters:
|
||||
# 确保meter记录有效
|
||||
if meter.property_meter_archives_id:
|
||||
electricity_fee_values.append([0, 0, {
|
||||
'contract_id': rec.id,
|
||||
'property_meter_archives_id': meter.property_meter_archives_id.id,
|
||||
}])
|
||||
|
||||
# 更新水电费用记录
|
||||
rec.is_water = bool(water_fee_values)
|
||||
rec.is_electricity = bool(electricity_fee_values)
|
||||
if water_fee_values:
|
||||
rec.water_fee_ids = water_fee_values
|
||||
if electricity_fee_values:
|
||||
rec.electricity_fee_ids = electricity_fee_values
|
||||
rec.admin_id = rec.lease_ids[0].admin_line_id.id
|
||||
# rec.users_id = rec.lease_ids[0].admin_line_id.id
|
||||
rec.department_id = rec.lease_ids[0].admin_line_id.employee_ids.department_id.id
|
||||
|
||||
first_lease = rec.lease_ids[0]
|
||||
rec.admin_id = first_lease.admin_line_id.id if first_lease.admin_line_id else False
|
||||
|
||||
if first_lease.admin_line_id and first_lease.admin_line_id.employee_ids:
|
||||
# 取第一个关联员工的部门
|
||||
employee = first_lease.admin_line_id.employee_ids[:1]
|
||||
rec.department_id = employee.department_id if employee.department_id else False
|
||||
|
||||
def all_end_approval(self):
|
||||
contract_ids = self.env["property.lease.contract"].browse(
|
||||
|
||||
Reference in New Issue
Block a user