кнопки пополнения и изменения положения в карточках и на складе
This commit is contained in:
Binary file not shown.
@@ -1,8 +1,12 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy import select
|
||||
from db import CRUD
|
||||
from db.handlers.actions import StocksActions
|
||||
from db.handlers.categories import CategoryHandler
|
||||
from db.handlers.stock import PlacementHandler, StockHandler
|
||||
from db.handlers.toolbox import ToolboxHandler
|
||||
from db.handlers.toolkit import ToolkitHandler
|
||||
from db.schemas.stock import Placement
|
||||
from utils import requestDict, logger
|
||||
|
||||
|
||||
@@ -191,3 +195,41 @@ async def manage_toolkit(reqData: dict = Depends(requestDict)):
|
||||
f"Управление инструментами ({action}) прошло {'успешно' if response.get('status') == 'ok' else 'неуспешно'}"
|
||||
)
|
||||
return response
|
||||
|
||||
|
||||
@router.post("/quick_action", summary="Быстрое действие")
|
||||
async def quick_action(reqData: dict = Depends(requestDict)):
|
||||
logger.info(f"Быстрое действие")
|
||||
response = {"status": "error"}
|
||||
action = reqData.get("body").get("action")
|
||||
toolboxId = int(reqData.get("body").get("toolboxId"))
|
||||
toolkitId = int(reqData.get("body").get("toolkitId"))
|
||||
userId = reqData.get("body").get("userId")
|
||||
data = reqData.get("body").get("data")
|
||||
match action:
|
||||
case "fill":
|
||||
toolkit = await StocksActions.registration(
|
||||
toolkitId,
|
||||
toolboxId,
|
||||
userId,
|
||||
int(data.get("amount")),
|
||||
float(data.get("price")),
|
||||
"",
|
||||
data.get("reason"),
|
||||
)
|
||||
response = handleResult(toolkit, response)
|
||||
case "move":
|
||||
try:
|
||||
placement = await CRUD.read(
|
||||
select(Placement).where(
|
||||
Placement.toolkit_id == toolkitId,
|
||||
Placement.toolbox_id == toolboxId,
|
||||
)
|
||||
)
|
||||
await placement.edit(data.get("location"))
|
||||
response["status"] = "ok"
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
case _:
|
||||
pass
|
||||
return response
|
||||
|
||||
Reference in New Issue
Block a user