Добавление общих складов и удаление пустых ни разу не использованных общих складов
This commit is contained in:
@@ -4,12 +4,16 @@ from db.handlers.categories import CategoryHandler
|
||||
from utils import render, requestDict, logger
|
||||
from .user import router as user
|
||||
from .stocks import router as stocks
|
||||
from .toolbox import router as toolbox
|
||||
from .toolkit import router as toolkit
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
router.include_router(user, prefix="/user", tags=["user"])
|
||||
router.include_router(stocks, prefix="/stocks", tags=["stocks"])
|
||||
router.include_router(toolbox, prefix="/toolbox", tags=["toolbox"])
|
||||
router.include_router(toolkit, prefix="/toolkit", tags=["toolkit"])
|
||||
|
||||
|
||||
@router.get("/")
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
-41
@@ -11,16 +11,17 @@ from utils import requestDict, logger
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post("/")
|
||||
@router.post("/", summary="Получение инструментов для тулбокса")
|
||||
async def post_requests(
|
||||
request_data: dict = Depends(requestDict),
|
||||
):
|
||||
toolboxId = request_data.get("body").get("toolboxId")
|
||||
logger.info(f"Получение инструментов для тулбокса {toolboxId}")
|
||||
response = {"status": "error", "data": {}}
|
||||
response = {"status": "error", "data": []}
|
||||
|
||||
stocksData = await StockHandler.getByToolboxId(toolboxId)
|
||||
if not stocksData:
|
||||
response["status"] = "ok"
|
||||
return response
|
||||
toolkitsIds = set(stock["toolkit_id"] for stock in stocksData)
|
||||
toolkitsData = await ToolkitHandler.getSeveral(list(toolkitsIds))
|
||||
@@ -107,42 +108,3 @@ async def post_requests(
|
||||
if result:
|
||||
resonse["status"] = "ok"
|
||||
return resonse
|
||||
|
||||
|
||||
@router.post("/toolkit", summary="Запрос остатка инструмента")
|
||||
async def toolkit_request(
|
||||
request_data: dict = Depends(requestDict),
|
||||
):
|
||||
response = {"status": "error", "data": {}}
|
||||
logger.info(f"Получение запроса остатка инструмента")
|
||||
# logger.info(request_data)
|
||||
toolkitId = request_data.get("body").get("toolkitId")
|
||||
stocks = await StockHandler.getByToolkitId(toolkitId)
|
||||
if not stocks:
|
||||
return response
|
||||
userId = request_data.get("body").get("userId")
|
||||
allToolboxes = request_data.get("body").get("allToolboxes")
|
||||
toolboxes = (
|
||||
await ToolboxHandler.getByOwner(userId)
|
||||
if not allToolboxes
|
||||
else await ToolboxHandler.getAll()
|
||||
)
|
||||
if not toolboxes:
|
||||
return response
|
||||
toolboxesTitles = {toolbox["id"]: toolbox["title"] for toolbox in toolboxes}
|
||||
stocksData = {"count": 0, "toolboxes": {}}
|
||||
for stock in stocks:
|
||||
toolboxTitle = toolboxesTitles.get(stock["toolbox_id"], None)
|
||||
if not toolboxTitle:
|
||||
continue
|
||||
stocksData["count"] += stock["quantity"]
|
||||
if toolboxTitle not in stocksData["toolboxes"]:
|
||||
stocksData["toolboxes"][toolboxTitle] = {
|
||||
"count": stock["quantity"],
|
||||
"placement": stock["placement"],
|
||||
}
|
||||
else:
|
||||
stocksData["toolboxes"][toolboxTitle]["count"] += stock["quantity"]
|
||||
response["status"] = "ok"
|
||||
response["data"] = stocksData
|
||||
return response
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from db.handlers.stock import StockHandler
|
||||
from db.handlers.toolbox import ToolboxHandler
|
||||
from utils import requestDict, logger
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post("/", summary="Добавление ящика")
|
||||
async def add_toolbox(reqDict=Depends(requestDict)):
|
||||
logger.info(f"Добавление ящика")
|
||||
response = {"status": "error"}
|
||||
userId = reqDict.get("body").get("userId")
|
||||
toolboxData = reqDict.get("body").get("toolboxData")
|
||||
result = await ToolboxHandler.add(toolboxData, userId)
|
||||
if result:
|
||||
response["status"] = "ok"
|
||||
logger.info(response)
|
||||
return response
|
||||
|
||||
|
||||
@router.delete("/", summary="Удаление ящика")
|
||||
async def delete_toolbox(reqDict=Depends(requestDict)):
|
||||
toolboxId = reqDict.get("body").get("toolboxId")
|
||||
logger.info(f"Удаление ящика #{toolboxId}")
|
||||
response = {"status": "error"}
|
||||
stocksData = await StockHandler.getByToolboxId(toolboxId, False)
|
||||
if stocksData:
|
||||
response["message"] = (
|
||||
"Через этот склад были проведены операции, удаление невозможно"
|
||||
)
|
||||
return response
|
||||
userId = reqDict.get("body").get("userId")
|
||||
result = await ToolboxHandler.delete(toolboxId, userId)
|
||||
if result:
|
||||
response["status"] = "ok"
|
||||
return response
|
||||
@@ -0,0 +1,46 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from db.handlers.stock import StockHandler
|
||||
from db.handlers.toolbox import ToolboxHandler
|
||||
from utils import requestDict, logger
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post("/", summary="Запрос остатка инструмента")
|
||||
async def toolkit_request(
|
||||
request_data: dict = Depends(requestDict),
|
||||
):
|
||||
response = {"status": "error", "data": {}}
|
||||
logger.info(f"Получение запроса остатка инструмента")
|
||||
# logger.info(request_data)
|
||||
toolkitId = request_data.get("body").get("toolkitId")
|
||||
stocks = await StockHandler.getByToolkitId(toolkitId)
|
||||
if not stocks:
|
||||
return response
|
||||
userId = request_data.get("body").get("userId")
|
||||
allToolboxes = request_data.get("body").get("allToolboxes")
|
||||
toolboxes = (
|
||||
await ToolboxHandler.getByOwner(userId)
|
||||
if not allToolboxes
|
||||
else await ToolboxHandler.getAll()
|
||||
)
|
||||
if not toolboxes:
|
||||
return response
|
||||
toolboxesTitles = {toolbox["id"]: toolbox["title"] for toolbox in toolboxes}
|
||||
stocksData = {"count": 0, "toolboxes": {}}
|
||||
for stock in stocks:
|
||||
toolboxTitle = toolboxesTitles.get(stock["toolbox_id"], None)
|
||||
if not toolboxTitle:
|
||||
continue
|
||||
stocksData["count"] += stock["quantity"]
|
||||
if toolboxTitle not in stocksData["toolboxes"]:
|
||||
stocksData["toolboxes"][toolboxTitle] = {
|
||||
"count": stock["quantity"],
|
||||
"placement": stock["placement"],
|
||||
}
|
||||
else:
|
||||
stocksData["toolboxes"][toolboxTitle]["count"] += stock["quantity"]
|
||||
response["status"] = "ok"
|
||||
response["data"] = stocksData
|
||||
return response
|
||||
Reference in New Issue
Block a user