Завершена работа со складами
This commit is contained in:
@@ -56,7 +56,7 @@ async def post_requests(
|
||||
case "toolkits":
|
||||
toolkits = await ToolkitHandler.getAll()
|
||||
categories = await CategoryHandler.getAll()
|
||||
if toolkits:
|
||||
if toolkits and categories:
|
||||
resultData["status"] = "ok"
|
||||
resultData["data"] = {
|
||||
"toolkits": toolkits,
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
|
||||
+20
-1
@@ -1,6 +1,8 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from db.handlers.stock import StockHandler
|
||||
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 utils import requestDict, logger
|
||||
|
||||
|
||||
@@ -55,3 +57,20 @@ async def toolkit_request(
|
||||
response["status"] = "ok"
|
||||
response["data"] = stocksData
|
||||
return response
|
||||
|
||||
|
||||
@router.post("/fill_prepare", summary="Подготовка заполнения ящика")
|
||||
async def fill_toolbox():
|
||||
logger.info(f"Подготовка заполнения ящика")
|
||||
response = {"status": "error"}
|
||||
toolkits = await ToolkitHandler.getAll()
|
||||
categories = await CategoryHandler.getAll()
|
||||
placements = await PlacementHandler.getAll()
|
||||
if toolkits and categories:
|
||||
response["status"] = "ok"
|
||||
response["data"] = {
|
||||
"toolkits": sorted(toolkits, key=lambda toolkit: toolkit["title"]),
|
||||
"categories": sorted(categories, key=lambda category: category["title"]),
|
||||
"placements": [placement.toDict() for placement in placements],
|
||||
}
|
||||
return response
|
||||
|
||||
Reference in New Issue
Block a user