fix: 修复材料半年均价显示位数异常的问题

This commit is contained in:
han0
2025-01-22 17:22:11 +08:00
parent f5065d1ee7
commit 66ce227835

View File

@@ -17,6 +17,7 @@ class Collector:
self.year = year self.year = year
self.month = month self.month = month
self.force = True # todo-2 已发布的价格不在覆盖计算 self.force = True # todo-2 已发布的价格不在覆盖计算
self.digit_map = {}
def get_avg(self): def get_avg(self):
query = PricePublish.get_query(name_in=( query = PricePublish.get_query(name_in=(
@@ -110,7 +111,6 @@ class Collector:
func.avg(PricePublish.price_zhangzhoukfq), func.avg(PricePublish.price_zhangzhoukfq),
PricePublish.tax, PricePublish.tax,
PricePublish.unit, PricePublish.unit,
PricePublish.display_digit
) )
query = query.filter(PricePublish.price != 0) query = query.filter(PricePublish.price != 0)
query = query.group_by( query = query.group_by(
@@ -119,12 +119,12 @@ class Collector:
PricePublish.spec, PricePublish.spec,
PricePublish.tax, PricePublish.tax,
PricePublish.unit, PricePublish.unit,
PricePublish.display_digit,
) )
data = query.all() data = query.all()
for item in data: for item in data:
material_id, name, spec, price, price_fuzhou, price_xiamen, price_putian, price_sanming, price_quanzhou, \ material_id, name, spec, price, price_fuzhou, price_xiamen, price_putian, price_sanming, price_quanzhou, \
price_zhangzhou, price_nanpin, price_longyan, price_ningde, price_pintan, price_zhangzhoukfq, tax, unit, display_digit = item price_zhangzhou, price_nanpin, price_longyan, price_ningde, price_pintan, price_zhangzhoukfq, tax, unit, = item
display_digit = self.digit_map.get(material_id, 1)
PricePublish( PricePublish(
year=self.year, year=self.year,
month=self.month, month=self.month,
@@ -311,6 +311,7 @@ class Collector:
'3003001', '3003001',
)) ))
data = query.all() data = query.all()
self.digit_map = {i.material_id:i.display_digit for i in data}
for item in data: for item in data:
PricePublish( PricePublish(
year=self.year, year=self.year,