添加功能
This commit is contained in:
@@ -182,7 +182,7 @@ class MeterWaterLine(models.Model):
|
||||
store=True,
|
||||
index=True,
|
||||
)
|
||||
|
||||
current_meter = fields.Float(string="本次用量", store=True, group_operator=None)
|
||||
current_read = fields.Float(string='本次读数', group_operator=None)
|
||||
unit_number = fields.Char(string='单元编号/用途')
|
||||
unit = fields.Float(string='当月单价', group_operator=None)
|
||||
@@ -212,14 +212,14 @@ class MeterWaterLine(models.Model):
|
||||
for line in self.line_ids:
|
||||
line.name = self.name
|
||||
|
||||
# @api.depends("line_loss", "current_meter", "unit")
|
||||
# def _compute_receivables(self):
|
||||
# for record in self:
|
||||
# if record.line_loss and record.current_meter and record.unit:
|
||||
# raw_value = record.current_meter * record.unit * (1 + record.line_loss) * record.gauge_magnification
|
||||
# record.receivables = round(raw_value, 1)
|
||||
# else:
|
||||
# record.receivables = 0.0
|
||||
@api.depends("line_loss", "current_meter", "unit")
|
||||
def _compute_receivables(self):
|
||||
for record in self:
|
||||
if record.line_loss and record.current_meter and record.unit:
|
||||
raw_value = record.current_meter * record.unit * (1 + record.line_loss) * record.gauge_magnification
|
||||
record.receivables = round(raw_value, 1)
|
||||
else:
|
||||
record.receivables = 0.0
|
||||
|
||||
def update_meter(self):
|
||||
current_year = datetime.now().year
|
||||
@@ -232,36 +232,36 @@ class MeterWaterLine(models.Model):
|
||||
if unread_meter_lines:
|
||||
unread_meter_lines.write({"state": "reading"})
|
||||
|
||||
# @api.depends('water_id', 'last_dosage', 'last_read', 'last_meter', 'current_meter', 'current_read',
|
||||
# 'maximum_count')
|
||||
# def _compute_last(self):
|
||||
# """
|
||||
# 上次用量,读数,超标日期
|
||||
# :return:
|
||||
# """
|
||||
# for i in self:
|
||||
# last_id = self.env['meter.water.line'].search(
|
||||
# [('meter_date', '<', i.meter_date), ('water_id', '=', i.water_id.id)]).sorted('meter_date')
|
||||
# if last_id:
|
||||
# i.last_dosage = last_id[-1].current_meter
|
||||
# i.last_read = last_id[-1].current_read
|
||||
# i.last_meter = last_id[-1].meter_date
|
||||
# if i.current_read >= i.last_read:
|
||||
# i.current_meter = i.current_read - i.last_read
|
||||
# else:
|
||||
# if i.current_read != 0:
|
||||
# if i.maximum_count > 0:
|
||||
# max_value = 10 ** i.maximum_count - 1
|
||||
# i.current_meter = max_value - i.last_read + i.current_read
|
||||
# else:
|
||||
# i.current_meter = 0
|
||||
# else:
|
||||
# i.current_meter = 0
|
||||
# else:
|
||||
# i.last_dosage = 0
|
||||
# i.last_read = 0
|
||||
# i.last_meter = i.meter_date
|
||||
# i.current_meter = 0
|
||||
@api.depends('water_id', 'last_dosage', 'last_read', 'last_meter', 'current_meter', 'current_read',
|
||||
'maximum_count')
|
||||
def _compute_last(self):
|
||||
"""
|
||||
上次用量,读数,超标日期
|
||||
:return:
|
||||
"""
|
||||
for i in self:
|
||||
last_id = self.env['meter.water.line'].search(
|
||||
[('meter_date', '<', i.meter_date), ('water_id', '=', i.water_id.id)]).sorted('meter_date')
|
||||
if last_id:
|
||||
i.last_dosage = last_id[-1].current_meter
|
||||
i.last_read = last_id[-1].current_read
|
||||
i.last_meter = last_id[-1].meter_date
|
||||
if i.current_read >= i.last_read:
|
||||
i.current_meter = i.current_read - i.last_read
|
||||
else:
|
||||
if i.current_read != 0:
|
||||
if i.maximum_count > 0:
|
||||
max_value = 10 ** i.maximum_count - 1
|
||||
i.current_meter = max_value - i.last_read + i.current_read
|
||||
else:
|
||||
i.current_meter = 0
|
||||
else:
|
||||
i.current_meter = 0
|
||||
else:
|
||||
i.last_dosage = 0
|
||||
i.last_read = 0
|
||||
i.last_meter = i.meter_date
|
||||
i.current_meter = 0
|
||||
|
||||
@api.onchange("yuthon_property_ids")
|
||||
def onchange_lessee_id(self):
|
||||
|
||||
Reference in New Issue
Block a user