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 @@ +