1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

починка админки1132

This commit is contained in:
MoonTestUse1
2025-01-04 01:21:25 +06:00
parent dfb72a6d3b
commit c669efa743

View File

@@ -95,28 +95,44 @@ def delete_request(db: Session, request_id: int):
def get_statistics(db: Session): def get_statistics(db: Session):
"""Get requests statistics""" """Get requests statistics"""
# Прямой SQL запрос для проверки данных # Проверяем все заявки с полной информацией
raw_data = db.execute(text("SELECT id, status FROM requests")).fetchall() all_requests = db.query(Request).all()
request_logger.info(f"Raw requests data: {raw_data}") request_logger.info(f"Found {len(all_requests)} requests")
# Получаем общее количество заявок for req in all_requests:
total = len(raw_data) request_logger.info(
request_logger.info(f"Total requests: {total}") f"Request #{req.id}: "
f"title='{req.title}', "
f"status='{req.status}', "
f"priority='{req.priority}', "
f"employee_id={req.employee_id}"
)
# Подсчитываем статусы вручную # Подсчитываем статусы
status_counts = {status.value: 0 for status in RequestStatus} status_counts = {
for _, status in raw_data: RequestStatus.NEW.value: 0,
if status in status_counts: RequestStatus.IN_PROGRESS.value: 0,
status_counts[status] += 1 RequestStatus.COMPLETED.value: 0,
request_logger.info(f"Found status: {status}") RequestStatus.REJECTED.value: 0
result = {
"total": total,
"new": status_counts.get(RequestStatus.NEW.value, 0),
"in_progress": status_counts.get(RequestStatus.IN_PROGRESS.value, 0),
"completed": status_counts.get(RequestStatus.COMPLETED.value, 0),
"rejected": status_counts.get(RequestStatus.REJECTED.value, 0)
} }
for req in all_requests:
current_status = req.status
request_logger.info(f"Processing status: {current_status}")
if current_status in status_counts:
status_counts[current_status] += 1
request_logger.info(f"Incremented count for {current_status}")
else:
request_logger.warning(f"Unknown status found: {current_status}")
result = {
"total": len(all_requests),
"new": status_counts[RequestStatus.NEW.value],
"in_progress": status_counts[RequestStatus.IN_PROGRESS.value],
"completed": status_counts[RequestStatus.COMPLETED.value],
"rejected": status_counts[RequestStatus.REJECTED.value]
}
request_logger.info(f"Status counts: {status_counts}")
request_logger.info(f"Final statistics: {result}") request_logger.info(f"Final statistics: {result}")
return result return result