Files
gzth/yuthon_property/models/property_tariff_list.py
T
2025-10-13 17:08:40 +08:00

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()