Завершена работа со складами

This commit is contained in:
2025-12-10 23:03:32 +03:00
parent 197a4d0b1e
commit fcbe25f7ec
14 changed files with 689 additions and 34 deletions
+33
View File
@@ -1,4 +1,5 @@
from fastapi import APIRouter, Depends
from db.handlers.actions import StocksActions
from db.handlers.stock import StockHandler
from db.handlers.toolbox import ToolboxHandler
from utils import requestDict, logger
@@ -48,3 +49,35 @@ async def delete_toolbox(reqDict=Depends(requestDict)):
if result:
response["status"] = "ok"
return response
@router.post("/fill", summary="Заполнение ящика")
async def fill_toolbox(reqDict=Depends(requestDict)):
logger.info(f"Заполнение ящика")
logger.info(reqDict.get("body"))
response = {"status": "error"}
toolboxId = reqDict.get("body").get("toolboxId")
userId = reqDict.get("body").get("userId")
reason = reqDict.get("body").get("reason")
items = reqDict.get("body").get("items")
successCount = 0
for item in items:
success = await StocksActions.registration(
item.get("toolkit_id"),
toolboxId,
userId,
item.get("quantity"),
item.get("price"),
item.get("placement"),
reason,
)
if success:
successCount += 1
if successCount == len(items):
response["status"] = "ok"
else:
response["message"] = (
f"Оприходовано {successCount} записей из {len(items)}. Проверьте остатки и повторите попытку"
)
logger.info(response)
return response