Merge branch 'fix-manual'

This commit is contained in:
2025-09-03 14:33:57 +03:00

View File

@@ -43,7 +43,7 @@ class ReportService:
try:
# Парсим файл
parse_params = request.parse_params or {}
df = parser.parse(temp_file_path, parse_params)
parse_result = parser.parse(temp_file_path, parse_params)
# Генерируем object_id
object_id = f"nin_excel_data_{request.report_type}"
@@ -54,7 +54,7 @@ class ReportService:
print(f"Старый объект удален: {object_id}")
# Сохраняем в хранилище
if self.storage.save_dataframe(df, object_id):
if self.storage.save_dataframe(parse_result, object_id):
return UploadResult(
success=True,
message="Отчет успешно загружен",
@@ -89,9 +89,9 @@ class ReportService:
message=f"Отчет типа '{request.report_type}' не найден. Возможно, MinIO недоступен или отчет не был загружен."
)
# Загружаем DataFrame из хранилища
df = self.storage.load_dataframe(object_id)
if df is None:
# Загружаем данные из хранилища
loaded_data = self.storage.load_dataframe(object_id)
if loaded_data is None:
return DataResult(
success=False,
message="Ошибка при загрузке данных из хранилища. Возможно, MinIO недоступен."
@@ -100,11 +100,20 @@ class ReportService:
# Получаем парсер
parser = get_parser(request.report_type)
# Устанавливаем DataFrame в парсер для использования в геттерах
parser.df = df
print(f"🔍 DEBUG: ReportService.get_data - установлен df в парсер {request.report_type}")
print(f"🔍 DEBUG: DataFrame shape: {df.shape if df is not None else 'None'}")
print(f"🔍 DEBUG: DataFrame columns: {list(df.columns) if df is not None and not df.empty else 'Empty'}")
# Устанавливаем данные в парсер для использования в геттерах
parser.df = loaded_data
print(f"🔍 DEBUG: ReportService.get_data - установлены данные в парсер {request.report_type}")
# Проверяем тип загруженных данных
if hasattr(loaded_data, 'shape'):
# Это DataFrame
print(f"🔍 DEBUG: DataFrame shape: {loaded_data.shape}")
print(f"🔍 DEBUG: DataFrame columns: {list(loaded_data.columns) if not loaded_data.empty else 'Empty'}")
elif isinstance(loaded_data, dict):
# Это словарь (для парсера ПМ)
print(f"🔍 DEBUG: Словарь с ключами: {list(loaded_data.keys())}")
else:
print(f"🔍 DEBUG: Неизвестный тип данных: {type(loaded_data)}")
# Получаем параметры запроса
get_params = request.get_params or {}