Завершена работа со складами
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user