feat: 新增住建厅价格计算

This commit is contained in:
han0
2024-07-12 11:11:28 +08:00
parent 44c8e8c096
commit cb0eb54984
26 changed files with 140 additions and 81 deletions

View File

@@ -1,6 +1,7 @@
from sqlalchemy import func
from calculators import Calculator
from commons.models.data_fujian import DataFujian
from commons.models.data_network import DataNetwork
from commons.models.fujian_survey import FujianSurvey
from commons.models.fuzhou_highway_bureau import FuzhouHighwayBureau
@@ -15,10 +16,6 @@ class Cement325Calculator(Calculator):
unit = "t"
spec = ""
def __init__(self, year, month):
self.year = year
self.month = month
def _get_ftb_price(self):
query = FuzhouTransportationBureau.get_query(self.year, self.month, name='32.5级水泥')
query = query.with_entities(func.avg(FuzhouTransportationBureau.price))
@@ -54,6 +51,13 @@ class Cement325Calculator(Calculator):
return price, fluctuating
def _get_fujian_price(self):
query = DataFujian.get_query(self.year, self.month, name='水泥', spec='32.5')
data = query.first()
price = data.price if data else 0
fluctuating = self._get_fluctuating('price_fujian', price)
return price, fluctuating
def _get_recommend_price(self, round_by=5):
self._fluctuatings = [self.fluctuating_network, self.fluctuating_survey, self.fluctuating_fhb, self.fluctuating_ftb]
return super()._get_recommend_price(round_by)