fix: 修复材料半年均价计算错误的问题

This commit is contained in:
han0
2025-05-07 12:46:28 +08:00
parent 6ada6371a3
commit 40c1593ff7
3 changed files with 13 additions and 12 deletions

View File

@@ -1,7 +1,8 @@
import datetime
from operator import and_
from dateutil.relativedelta import relativedelta
from sqlalchemy import Column, Integer, String, Numeric
from sqlalchemy import Column, Integer, String, Numeric, or_
from commons.models.mixin.base import BaseModelMixin
from commons.models.mixin.operation_track import OperationTrackMixin
@@ -71,10 +72,10 @@ class PricePublish(db.Model, Model, OperationTrackMixin, BaseModelMixin):
@classmethod
def query_previous_month(cls, query, start_date: datetime.date, count=6):
condition = False
for i in range(count):
for i in range(0, count):
date = start_date - relativedelta(months=i)
condition = condition or (cls.year == date.year and cls.month == date.month)
query.filter(condition)
condition = or_(condition, and_(cls.year == str(date.year), cls.month == str(date.month)))
query = query.filter(condition)
return query
@classmethod