diff --git a/yuthon_property_approval/models/inherit_yuthon_property.py b/yuthon_property_approval/models/inherit_yuthon_property.py index e2a383a8c..eeaea39b1 100644 --- a/yuthon_property_approval/models/inherit_yuthon_property.py +++ b/yuthon_property_approval/models/inherit_yuthon_property.py @@ -169,7 +169,7 @@ class PropertyBankStatements(models.Model): 'stmt_id', 'contract_id', string='合同', - compute = '_compute_contract_ids', + compute = '_compute_property_employee_id', store=True, ) @@ -183,7 +183,7 @@ class PropertyBankStatements(models.Model): property_name = fields.Text(string="物业名称", compute="compute_property_name", store=True) accounts_id = fields.Many2one('property.accounts.approval', string="关联生成应收审批单") lessee_ids = fields.Many2many('property.tenant.information', string='承租方', compute="_compute_property_employee_id", store=True) - admin_id = fields.Many2one('res.users', string="片区管理员", compute="_compute_contract_ids", store=True) + admin_id = fields.Many2one('res.users', string="片区管理员", compute="_compute_property_employee_id", store=True) @api.depends('lessee_ids') def _compute_contract_ids(self): @@ -209,11 +209,21 @@ class PropertyBankStatements(models.Model): else: record.lessee_ids = [(6, 0, [])] + contract_set = self.env['property.lease.contract'] + for lessee in record.lessee_ids: + # 从承租方的 property_contract_ids(租户行)提取合同 + tenant_lines = lessee.property_contract_ids + contract_ids = tenant_lines.mapped('lease_contract_id.id') + contracts = self.env['property.lease.contract'].browse(contract_ids) + contract_set |= contracts + record.contract_ids = contract_set + record.admin_id = record.contract_ids[0].admin_id if record.contract_ids else False + def update_property_employee_id(self): property_ids = self.env["property.bank.statements"].browse( self._context.get('active_ids', self._context.get('active_id'))) for rec in property_ids: - rec._compute_contract_ids() + rec._compute_property_employee_id() @api.depends('contract_ids') def compute_property_name(self):