mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
починка админки1132
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user