dates fix

This commit is contained in:
2026-01-09 13:15:56 +03:00
parent d30348f0ce
commit 47a42d9974

View File

@@ -1,13 +1,14 @@
from pydantic import ValidationError from pydantic import ValidationError
from server.backend.schemas.pydantic import ExcelInfo, settings,Translit from server.backend.schemas.pydantic import ExcelInfo, settings,Translit
from server.backend.api.nomenclature import processing from server.backend.api.nomenclature import processing
import pandas as pd
import datetime import datetime
#Доставать дату из колонки def report_date(df, date_format: str):
def last_day_of_month(format: str): dates = pd.to_datetime(df["Дата продажи"], format="%Y-%m-%d", errors="coerce")
today = datetime.datetime.now() if dates.isna().all():
first_day_current_month = today.replace(day=1) raise ValueError("В колонке нет валидных дат")
last_day_prev_month = first_day_current_month - datetime.timedelta(days=1) max_date = dates.max()
return last_day_prev_month.strftime(format) return max_date.strftime(date_format)
def process_sheet(df, document_type:str): def process_sheet(df, document_type:str):
#Выборка #Выборка
df = df[['Артикул поставщика', 'Тип документа', 'Кол-во', 'Вайлдберриз реализовал Товар (Пр)']].copy().dropna() #copy and drop all NA values df = df[['Артикул поставщика', 'Тип документа', 'Кол-во', 'Вайлдберриз реализовал Товар (Пр)']].copy().dropna() #copy and drop all NA values
@@ -38,7 +39,7 @@ def process_sheet(df, document_type:str):
def evaluating(dfs): def evaluating(dfs):
validated_rows_1 = process_sheet(dfs["Sheet1"], document_type='Продажа') validated_rows_1 = process_sheet(dfs["Sheet1"], document_type='Продажа')
validated_rows_2 = process_sheet(dfs["Sheet1"], document_type='Возврат') validated_rows_2 = process_sheet(dfs["Sheet1"], document_type='Возврат')
date = last_day_of_month(settings.TIMEFORMAT) date = report_date(dfs["Sheet1"], settings.TIMEFORMAT)
# sum_1 = sum(row.price for row in validated_rows_1) # sum_1 = sum(row.price for row in validated_rows_1)
# sum_2 = sum(row.price for row in validated_rows_2) # sum_2 = sum(row.price for row in validated_rows_2)