Merge pull request !5569 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2025-10-11 07:52:01 +00:00
committed by Gitee
2 changed files with 33 additions and 9 deletions
+16 -4
View File
@@ -1,5 +1,7 @@
from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
from datetime import date, datetime, time
from datetime import timedelta
class MeterPriceWizard(models.TransientModel):
@@ -11,9 +13,19 @@ class MeterPriceWizard(models.TransientModel):
line_loss = fields.Float(string='线损', default=0.02)
def confirm(self):
year = self.price_date.year
month = self.price_date.month
start_date = datetime(year, month, 1).date()
if month == 12:
next_month = 1
next_year = year + 1
else:
next_month = month + 1
next_year = year
end_date = (datetime(next_year, next_month, 1).date() - timedelta(days=1))
valid_contract_lines = self.env['meter.archives.line'].search([
('meter_date', '<=', self.price_date),
('meter_date', '>=', self.price_date),
('meter_date', '>=', start_date),
('meter_date', '<=', end_date),
])
for valid in valid_contract_lines:
if valid.yuthon_property_ids:
@@ -23,8 +35,8 @@ class MeterPriceWizard(models.TransientModel):
('end_date', '>=', self.price_date),
], limit=1)
if contract_id:
if contract_id.ele_price > 0:
unit = contract_id.ele_price
if contract_id.lease_contract_id.ele_price > 0:
unit = contract_id.lease_contract_id.ele_price
else:
unit = self.price
else:
+17 -5
View File
@@ -1,5 +1,7 @@
from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
from datetime import date, datetime, time
from datetime import timedelta
class WaterPriceWizard(models.TransientModel):
@@ -11,9 +13,19 @@ class WaterPriceWizard(models.TransientModel):
line_loss = fields.Float(string='线损', default=0.05)
def confirm(self):
valid_contract_lines = self.env['meter.archives.line'].search([
('meter_date', '<=', self.price_date),
('meter_date', '>=', self.price_date),
year = self.price_date.year
month = self.price_date.month
start_date = datetime(year, month, 1).date()
if month == 12:
next_month = 1
next_year = year + 1
else:
next_month = month + 1
next_year = year
end_date = (datetime(next_year, next_month, 1).date() - timedelta(days=1))
valid_contract_lines = self.env['meter.water.line'].search([
('meter_date', '>=', start_date),
('meter_date', '<=', end_date),
])
for valid in valid_contract_lines:
if valid.yuthon_property_ids:
@@ -23,8 +35,8 @@ class WaterPriceWizard(models.TransientModel):
('end_date', '>=', self.price_date),
], limit=1)
if contract_id:
if contract_id.water_price > 0:
unit = contract_id.water_price
if contract_id.lease_contract_id.water_price > 0:
unit = contract_id.lease_contract_id.water_price
else:
unit = self.price
else: