This commit is contained in:
2026-01-06 15:56:16 +03:00
parent dcf7878f03
commit 915103766b
6 changed files with 62 additions and 41 deletions

View File

@@ -3,17 +3,11 @@ from server.backend.schemas.pydantic import ExcelInfo,settings,Translit
from server.backend.api.nomenclature import processing
import datetime
import re
def report_date(df, format: str):
cell = str(df.iloc[0, 4])
match = re.search(r"\d{2}\.\d{2}\.\d{4}", cell)
if not match:
return None
dt = datetime.datetime.strptime(match.group(0), "%d.%m.%Y")
return dt.strftime(format)
def last_day_of_month(format: str):
next_month = datetime.datetime.now().replace(day=28) + datetime.timedelta(days=4)
last_day = next_month - datetime.timedelta(days=next_month.day)
return last_day.strftime(format)
def process_sheet(df,real_arti: int,real_quantity: int,real_sum_1: int,real_sum_2: int):
# пропускаем служебные строки
df = df.iloc[2:].reset_index(drop=True)
# выбираем нужные колонки по индексам
df = df.iloc[:, [real_arti, real_quantity, real_sum_1, real_sum_2]].copy()
df.dropna(inplace=True)
@@ -45,5 +39,5 @@ def process_sheet(df,real_arti: int,real_quantity: int,real_sum_1: int,real_sum_
def evaluating(dfs):
validated_rows_1 = process_sheet(dfs["Отчет о реализации"], real_arti=2,real_quantity=8, real_sum_1=5,real_sum_2=6) # номера столбцов от озона
validated_rows_2 = process_sheet(dfs["Отчет о реализации"], real_arti=2,real_quantity=16, real_sum_1=13,real_sum_2=14)#
date=report_date(dfs["Отчет о реализации"], format=settings.TIMEFORMAT)
date=last_day_of_month(format=settings.TIMEFORMAT)
return validated_rows_1, validated_rows_2, date