收款明细
This commit is contained in:
@@ -205,7 +205,7 @@ class ReceivableModifyLine(models.Model):
|
||||
_description = '修改应收账单明细'
|
||||
|
||||
bank_id = fields.Many2one('property.bank.statements', string='关联银行对账单')
|
||||
company_id = fields.Many2one('res.company', related='bank_id.company_id', string='公司', store=True)
|
||||
# company_id = fields.Many2one('res.company', related='bank_id.company_id', string='公司', store=True)
|
||||
|
||||
|
||||
original_amount = fields.Float(related='bank_id.original_amount', string='交易金额', store=False)
|
||||
@@ -219,19 +219,13 @@ class ReceivableModifyLine(models.Model):
|
||||
property_name = fields.Text(string='物业名称', compute='_compute_property_name', store=False, search='_search_property_name')
|
||||
delivered1 = fields.Float(related='receivable_id.delivered1', string='金额', store=False)
|
||||
remake = fields.Text(related='receivable_id.remark', string='备注', store=False)
|
||||
property_name = fields.Text(string='物业', compute='_compute_property_name', store=False, search='_search_property_name')
|
||||
delivered1 = fields.Float(related='receivable_id.delivered1', string='已收金额', store=False)
|
||||
lessee_id = fields.Many2one(
|
||||
"property.tenant.information",
|
||||
string="承租方",
|
||||
compute='_compute_lessee_id_company',
|
||||
store=False,
|
||||
search='_search_lessee_id',
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
# lessee_id = fields.Many2one(
|
||||
# "property.tenant.information",
|
||||
# string="承租方",
|
||||
# compute='_compute_lessee_id_company',
|
||||
# store=False,
|
||||
# search='_search_lessee_id',
|
||||
# )
|
||||
|
||||
@api.depends('receivable_id')
|
||||
def _compute_lessee_id_company(self):
|
||||
@@ -245,8 +239,9 @@ class ReceivableModifyLine(models.Model):
|
||||
lessee = getattr(contract, 'lessee_id', False)
|
||||
rec.lessee_id = lessee or False
|
||||
is_write = fields.Boolean()
|
||||
|
||||
lessee_id = fields.Many2one('property.tenant.information', string='承租方', compute='_compute_related_fields',
|
||||
store=False, index=True)
|
||||
store=False, index=True, search='_search_lessee_id')
|
||||
company_id = fields.Many2one('yuthon.property.company', string='公司', compute='_compute_related_fields',
|
||||
store=False, index=True)
|
||||
precinct_id = fields.Many2one('yuthon.precinct.message', string='管理员', compute='_compute_related_fields',
|
||||
@@ -259,27 +254,22 @@ class ReceivableModifyLine(models.Model):
|
||||
rec.company_id = False
|
||||
rec.precinct_id = False
|
||||
if rec.receivable_id:
|
||||
rec.lessee_id = rec.receivable_id.lessee_id
|
||||
rec.company_id = rec.receivable_id.company_id
|
||||
rec.precinct_id = rec.receivable_id.precinct_id
|
||||
rec.lessee_id = getattr(rec.receivable_id, 'lessee_id', False)
|
||||
rec.company_id = getattr(rec.receivable_id, 'company_id', False)
|
||||
rec.precinct_id = getattr(rec.receivable_id, 'precinct_id', False)
|
||||
|
||||
|
||||
@api.depends('receivable_id')
|
||||
def _compute_property_name(self):
|
||||
for rec in self:
|
||||
if rec.receivable_id:
|
||||
# Try to get property name from receivable_id
|
||||
# This will work if the receivable_id has the property_name field
|
||||
rec.property_name = rec.receivable_id.property_name or ''
|
||||
else:
|
||||
rec.property_name = ''
|
||||
|
||||
def _search_property_name(self, operator, value):
|
||||
# 先搜索符合条件的合同记录
|
||||
contract_ids = self.env['property.lease.contract'].search([('property_name', operator, value)]).ids
|
||||
# 然后搜索关联到这些合同的应收账单记录
|
||||
receivable_ids = self.env['property.accounts.receivable'].search([('contract_id', 'in', contract_ids)]).ids
|
||||
# 最后返回关联到这些应收账单的记录
|
||||
return [('receivable_id', 'in', receivable_ids)]
|
||||
|
||||
def _search_lessee_id(self, operator, value):
|
||||
@@ -290,6 +280,7 @@ class ReceivableModifyLine(models.Model):
|
||||
return [('id', '=', 0)]
|
||||
|
||||
|
||||
|
||||
reconciliation_date = fields.Date(string='对账日期')
|
||||
is_penalty = fields.Boolean(string='是否为违约金')
|
||||
not_collected = fields.Float(related='receivable_id.submitted', string='未收', store=False)
|
||||
|
||||
@@ -181,7 +181,10 @@
|
||||
<filter string="应收类型" name="group_by_management_type" context="{'group_by':'management_type_id'}"/>
|
||||
<filter string="对账日期" name="group_by_reconciliation_date" context="{'group_by':'reconciliation_date'}"/>
|
||||
<filter string="银行流水" name="group_by_bank_id" context="{'group_by':'bank_id'}"/>
|
||||
<filter name="group_receivable_id" string="合同编号" context="{'group_by':'receivable_id'}"/>
|
||||
<filter name="group_lessee_id" string="承租方" context="{'group_by':'lessee_id'}"/>
|
||||
<filter name="group_company_id" string="公司" context="{'group_by':'company_id'}"/>
|
||||
<filter name="group_precinct_id" string="管理员" context="{'group_by':'precinct_id'}"/>
|
||||
</group>
|
||||
<header_search class="header-search-inline">
|
||||
<field name="property_name" stirng="物业"/>
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
'views/property_delegated_agent_views.xml',
|
||||
'views/property_transaction_confirmed.xml',
|
||||
'views/property_meeting_approval_views.xml',
|
||||
'views/receivable_modify_line_views.xml',
|
||||
'wizard/property_add_wizard_views.xml',
|
||||
'wizard/property_contract_wizard.xml',
|
||||
'wizard/property_physical_wizard_views.xml',
|
||||
@@ -108,6 +109,7 @@
|
||||
'wizard/property_bills_wizard_views.xml',
|
||||
'wizard/property_meeting_wizard_views.xml',
|
||||
'wizard/property_deposit_wizard_views.xml',
|
||||
'data/receivable_modify_line_group_data.xml',
|
||||
'views/property_menu_all.xml',
|
||||
'report/property_lease_contract_print_report.xml',
|
||||
'report/property_lease_contract_print_templates.xml',
|
||||
|
||||
@@ -62,4 +62,5 @@ from . import property_bills_payable
|
||||
from . import property_payment_notice
|
||||
from . import property_bills_list
|
||||
from . import property_fee_spending
|
||||
from . import property_fee_form
|
||||
from . import property_fee_form
|
||||
from . import receivable_modify_line
|
||||
@@ -0,0 +1,45 @@
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class ReceivableModifyLine(models.Model):
|
||||
_inherit = 'receivable.modify.line'
|
||||
|
||||
lessee_id = fields.Many2one(
|
||||
'property.tenant.information',
|
||||
string='承租方',
|
||||
related='receivable_id.lessee_id',
|
||||
store=True,
|
||||
index=True,
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
'yuthon.property.company',
|
||||
string='公司',
|
||||
related='receivable_id.company_id',
|
||||
store=True,
|
||||
index=True,
|
||||
)
|
||||
precinct_id = fields.Many2one(
|
||||
'yuthon.precinct.message',
|
||||
string='管理员',
|
||||
related='receivable_id.precinct_id',
|
||||
store=True,
|
||||
index=True,
|
||||
)
|
||||
contract_id = fields.Many2one(
|
||||
'property.lease.contract',
|
||||
string='关联租赁合同审批',
|
||||
related='receivable_id.contract_id',
|
||||
store=True,
|
||||
index=True,
|
||||
)
|
||||
|
||||
@api.model
|
||||
def recompute_group_fields_data(self):
|
||||
records = self.search([])
|
||||
if not records:
|
||||
return True
|
||||
field_names = ['lessee_id', 'company_id', 'precinct_id', 'contract_id']
|
||||
for field_name in field_names:
|
||||
self.env.add_to_compute(self._fields[field_name], records)
|
||||
records._recompute_recordset(field_names)
|
||||
return True
|
||||
Reference in New Issue
Block a user