заказы
This commit is contained in:
+48
-26
@@ -1,15 +1,17 @@
|
||||
from datetime import date, datetime, timedelta
|
||||
from datetime import datetime, timedelta
|
||||
from fastapi import APIRouter, Depends, Request
|
||||
from fastapi.responses import RedirectResponse
|
||||
|
||||
from db.handlers.access import AccessLevelHandler
|
||||
from db.handlers.categories import CategoryHandler
|
||||
from db.handlers.orders import OrdersHandler
|
||||
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
|
||||
from .records import router as records
|
||||
from .orders import router as orders
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
@@ -19,6 +21,7 @@ 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.include_router(records, prefix="/records", tags=["records"])
|
||||
router.include_router(orders, prefix="/orders", tags=["orders"])
|
||||
|
||||
|
||||
@router.get("/")
|
||||
@@ -52,6 +55,21 @@ async def post_requests(
|
||||
from db.handlers.toolkit import ToolkitHandler
|
||||
from db.handlers.user import UserHandler
|
||||
|
||||
def getDates(data: dict):
|
||||
startDate = data.get("startDate")
|
||||
if isinstance(startDate, str):
|
||||
startDate = datetime.strptime(startDate, "%Y-%m-%d").date()
|
||||
if startDate is None:
|
||||
startDate = datetime.now().date() - timedelta(days=30)
|
||||
endDate = data.get("endDate")
|
||||
if isinstance(endDate, str):
|
||||
endDate = datetime.strptime(endDate, "%Y-%m-%d").date()
|
||||
if endDate is None:
|
||||
endDate = datetime.now().date()
|
||||
if startDate > endDate:
|
||||
startDate, endDate = endDate, startDate
|
||||
return startDate, endDate
|
||||
|
||||
reqData = {
|
||||
"tab": request_data.get("body").get("tabId"),
|
||||
}
|
||||
@@ -105,18 +123,7 @@ async def post_requests(
|
||||
"categories": categories,
|
||||
}
|
||||
case "jurnal_toolkits":
|
||||
startDate = request_data.get("body").get(
|
||||
"startDate", date.today() - timedelta(days=7)
|
||||
)
|
||||
if isinstance(startDate, str):
|
||||
startDate = datetime.strptime(startDate, "%Y-%m-%d").date()
|
||||
|
||||
endDate = request_data.get("body").get("endDate", date.today())
|
||||
if isinstance(endDate, str):
|
||||
endDate = datetime.strptime(endDate, "%Y-%m-%d").date()
|
||||
|
||||
if startDate > endDate:
|
||||
startDate, endDate = endDate, startDate
|
||||
startDate, endDate = getDates(request_data.get("body"))
|
||||
|
||||
jurnal_toolkits = await StocksRecordsHandler.getLogs(startDate, endDate)
|
||||
if isinstance(jurnal_toolkits, list):
|
||||
@@ -147,18 +154,7 @@ async def post_requests(
|
||||
"endDate": endDate.strftime("%Y-%m-%d"),
|
||||
}
|
||||
case "jurnal_service":
|
||||
startDate = request_data.get("body").get(
|
||||
"startDate", date.today() - timedelta(days=7)
|
||||
)
|
||||
if isinstance(startDate, str):
|
||||
startDate = datetime.strptime(startDate, "%Y-%m-%d").date()
|
||||
|
||||
endDate = request_data.get("body").get("endDate", date.today())
|
||||
if isinstance(endDate, str):
|
||||
endDate = datetime.strptime(endDate, "%Y-%m-%d").date()
|
||||
|
||||
if startDate > endDate:
|
||||
startDate, endDate = endDate, startDate
|
||||
startDate, endDate = getDates(request_data.get("body"))
|
||||
|
||||
jurnal_service = await ServiceRecordsHandler.getLogs(startDate, endDate)
|
||||
if isinstance(jurnal_service, list):
|
||||
@@ -199,7 +195,33 @@ async def post_requests(
|
||||
"users": users,
|
||||
"accessLevels": accessLevels,
|
||||
}
|
||||
# logger.info(resultData)
|
||||
case "orders":
|
||||
fullAccess = reqData["accessData"].get("view_all_toolboxes", False)
|
||||
startDate, endDate = getDates(request_data.get("body"))
|
||||
if fullAccess:
|
||||
result = await OrdersHandler.get_all(startDate, endDate)
|
||||
if "errorMessage" in result.keys():
|
||||
resultData["message"] = result["errorMessage"]
|
||||
else:
|
||||
resultData["status"] = "ok"
|
||||
if "orders" in result.keys():
|
||||
resultData["data"]["orders"] = result["orders"]
|
||||
else:
|
||||
userId = reqData.get("userData").get("id")
|
||||
result = await OrdersHandler.get_all_by_consumer(
|
||||
userId, startDate, endDate
|
||||
)
|
||||
if "errorMessage" in result.keys():
|
||||
resultData["message"] = result["errorMessage"]
|
||||
else:
|
||||
resultData["status"] = "ok"
|
||||
if "orders" in result.keys():
|
||||
resultData["data"]["orders"] = result["orders"]
|
||||
if resultData["status"] == "ok":
|
||||
resultData["data"]["startDate"] = startDate.strftime("%Y-%m-%d")
|
||||
resultData["data"]["endDate"] = endDate.strftime("%Y-%m-%d")
|
||||
resultData["data"]["users"] = await UserHandler.getAll()
|
||||
resultData["data"]["fullAccess"] = fullAccess
|
||||
case _:
|
||||
pass
|
||||
return resultData
|
||||
|
||||
Reference in New Issue
Block a user