40 lines
1.7 KiB
Python
40 lines
1.7 KiB
Python
from odoo import models, fields, api
|
|
|
|
|
|
class PropertyTariffList(models.Model):
|
|
_name = 'property.tariff.list'
|
|
_description = '电费列表'
|
|
|
|
lessee_id = fields.Many2one('property.tenant.information', string='承租方')
|
|
tariff_meter_number = fields.Char(string='电费编号')
|
|
due_date = fields.Date(string='应收日期')
|
|
tariff_meter_reading = fields.Float(string='电费读数')
|
|
fee_id = fields.Many2one('yuthon.water.setting', string="收费标准")
|
|
original_amount = fields.Float(string='金额', compute='_compute_original_amount', store=True)
|
|
deduction_amount = fields.Float(string='减免金额')
|
|
remarks = fields.Text(string='备注')
|
|
meter_date = fields.Date(string='任务日期')
|
|
is_cancel = fields.Boolean(string='作废')
|
|
is_red = fields.Boolean(string='红冲')
|
|
dosage = fields.Float(string='用量')
|
|
unit = fields.Float(string='单价')
|
|
red_date = fields.Date(string='红冲日期')
|
|
fee_status = fields.Selection([('unpaid', '未收'), ('paid', '已收')], string='收费状态')
|
|
is_invoice = fields.Boolean(string='开票')
|
|
is_suspend = fields.Boolean(string='挂起')
|
|
create_time = fields.Datetime(string='创建时间')
|
|
write_time = fields.Datetime(string='最后修改时间')
|
|
name = fields.Char(string='仪表编号')
|
|
is_push = fields.Boolean(string='是否推送')
|
|
|
|
@api.depends('dosage', 'unit')
|
|
def _compute_original_amount(self):
|
|
for record in self:
|
|
record.original_amount = record.dosage * record.unit
|
|
|
|
def get_no_read_count(self):
|
|
return self.env['property.tariff.list'].search_count([('is_push', '=', False)])
|
|
|
|
def unlink(self):
|
|
return super().unlink()
|