!5613 添加功能

Merge pull request !5613 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-10-12 14:15:45 +00:00
committed by Gitee
+33 -48
View File
@@ -167,12 +167,12 @@ class MeterWaterLine(models.Model):
epitope_values_id = fields.Many2one("yuthon.epitope.values", string="表位置")
lessee_id = fields.Many2one("property.tenant.information", string="承租方")
yuthon_property_ids = fields.Many2many("yuthon.property", string="物业信息")
last_meter = fields.Date(string="上次抄表日期", compute="_compute_last")
last_meter = fields.Date(string="上次抄表日期")
last_dosage = fields.Float(
string="上次用量", store=True, group_operator=None, compute="_compute_last"
string="上次用量", store=True, group_operator=None
)
last_read = fields.Float(
string="上次读数", store=True, group_operator=None, compute="_compute_last"
string="上次读数", store=True, group_operator=None
)
meter_date = fields.Date(string="任务日期")
@@ -238,51 +238,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):