feature/evaluating #2
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user