diff --git a/yuthon_property/models/property_bank_statements.py b/yuthon_property/models/property_bank_statements.py index 79e773fd7..a6994edb6 100644 --- a/yuthon_property/models/property_bank_statements.py +++ b/yuthon_property/models/property_bank_statements.py @@ -11,7 +11,7 @@ class PropertyBankStatements(models.Model): name = fields.Char('账户卡号') company_id = fields.Many2one('yuthon.property.company', string="收款账户") name_account = fields.Char('户名') - start_time = fields.Date('交易时间') + start_time = fields.Datetime('交易时间') contract_account = fields.Char(string="合同累计应收") contract_penalty = fields.Char(string="合同累计违约金") original_amount = fields.Float(string='交易金额') @@ -65,3 +65,26 @@ class PropertyBankStatements(models.Model): property_ids.append(lease_id.id) self.property_ids = [(6, 0, property_ids)] self.contract_ids = [(6, 0, contract_ids.ids)] if contract_ids else [] + + @api.model + def create(self, vals): + record = super(PropertyBankStatements, self).create(vals) + record._update_related_fields() + return record + + def _update_related_fields(self): + contract_ids = self.env['property.lease.contract'] + property_ids = [] + if self.name: + bank_id = self.env['property.bank.line'].search([('bank', '=', self.name)]) + if bank_id: + tenant_id = bank_id.tenant_id + if tenant_id: + contract_ids = self.env['property.lease.contract'].search([('lessee_id', '=', tenant_id.id)]) + for contract in contract_ids: + if contract.lease_ids: + lease_id = contract.lease_ids[0].address_id + if lease_id: + property_ids.append(lease_id.id) + self.property_ids = [(6, 0, property_ids)] + self.contract_ids = [(6, 0, contract_ids.ids)] if contract_ids else [] \ No newline at end of file diff --git a/yuthon_property/views/property_bank_statements_views.xml b/yuthon_property/views/property_bank_statements_views.xml index 7e791e5ae..c71653b2a 100644 --- a/yuthon_property/views/property_bank_statements_views.xml +++ b/yuthon_property/views/property_bank_statements_views.xml @@ -9,11 +9,11 @@ - - + + - +