From f5adef49b6722a6fb2b622f02a8170d8434d4142 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
<9664676+pengyuthon@user.noreply.gitee.com>
Date: Mon, 15 Dec 2025 19:22:30 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
yuthon_property/models/hydropower_logs.py | 1 +
.../views/hydropower_logs_views.xml | 1 +
yuthon_property/wizard/meter_price_wizard.py | 19 +++++++++++++++++--
yuthon_property/wizard/meter_price_wizard.xml | 1 +
yuthon_property/wizard/water_price_wizard.py | 19 +++++++++++++++++--
yuthon_property/wizard/water_price_wizard.xml | 1 +
6 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/yuthon_property/models/hydropower_logs.py b/yuthon_property/models/hydropower_logs.py
index 3f25804f9..fcaf82079 100644
--- a/yuthon_property/models/hydropower_logs.py
+++ b/yuthon_property/models/hydropower_logs.py
@@ -15,6 +15,7 @@ class HydropowerLogs(models.Model):
select_year = fields.Selection(selection=[(str(i), str(i)) for i in range(2024, 2040)], string='计费年份',
default=lambda self: str(datetime.now().year))
price = fields.Float(string='单价', digits=(16, 4))
+ line_loss = fields.Float(string='线损', digits=(16, 4))
def _get_default_month(self):
diff --git a/yuthon_property/views/hydropower_logs_views.xml b/yuthon_property/views/hydropower_logs_views.xml
index 127c8c7a5..25e6f44ff 100644
--- a/yuthon_property/views/hydropower_logs_views.xml
+++ b/yuthon_property/views/hydropower_logs_views.xml
@@ -9,6 +9,7 @@
+
diff --git a/yuthon_property/wizard/meter_price_wizard.py b/yuthon_property/wizard/meter_price_wizard.py
index 92d40ca78..c5ffe0c4c 100644
--- a/yuthon_property/wizard/meter_price_wizard.py
+++ b/yuthon_property/wizard/meter_price_wizard.py
@@ -16,6 +16,7 @@ class MeterPriceWizard(models.TransientModel):
select_year = fields.Selection(selection=[(str(i), str(i)) for i in range(2024, 2040)], string='年份',
default=lambda self: str(datetime.now().year))
price = fields.Float(string='计费单价', digits=(16, 4))
+ line_loss = fields.Float(string='线损', digits=(16, 4))
@api.onchange("select_time", "select_year")
def _get_price(self):
@@ -35,6 +36,7 @@ class MeterPriceWizard(models.TransientModel):
# 3. 赋值价格
self.price = logs_id.price if logs_id else 0.0
+ self.line_loss = logs_id.line_loss if logs_id else 0.0
def confirm(self):
year = int(self.select_year)
@@ -72,15 +74,28 @@ class MeterPriceWizard(models.TransientModel):
valid.write({
'unit': unit,
+ 'line_loss': self.line_loss
})
valid.onchange_receivables()
- self.env['hydropower.logs'].create({
+ search_domain = [
+ ('meter_type', '=', 'electric'),
+ ('select_year', '=', self.select_year),
+ ('select_time', '=', self.select_time),
+ ]
+ hydropower_log = self.env['hydropower.logs'].search(search_domain, limit=1)
+ log_data = {
'meter_type': 'electric',
+ 'logs_date': start_date,
'select_time': self.select_time,
'select_year': self.select_year,
+ 'line_loss': self.line_loss,
'price': self.price,
- })
+ }
+ if hydropower_log:
+ hydropower_log.write(log_data)
+ else:
+ self.env['hydropower.logs'].create(log_data)
def _get_default_month(self):
current_month = datetime.now().month
diff --git a/yuthon_property/wizard/meter_price_wizard.xml b/yuthon_property/wizard/meter_price_wizard.xml
index 4a2e2f31e..63199126a 100644
--- a/yuthon_property/wizard/meter_price_wizard.xml
+++ b/yuthon_property/wizard/meter_price_wizard.xml
@@ -9,6 +9,7 @@
+