diff --git a/yuthon_property/models/property_meter_water.py b/yuthon_property/models/property_meter_water.py index 1b2620e6e..9b3ab4257 100644 --- a/yuthon_property/models/property_meter_water.py +++ b/yuthon_property/models/property_meter_water.py @@ -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):