|
|
|
from fastapi import APIRouter, Depends, Request, UploadFile, File
|
|
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from config.get_db import get_db
|
|
|
|
from module_admin.entity.vo.user_vo import CurrentUserModel
|
|
|
|
from module_admin.service.login_service import LoginService
|
|
|
|
from utils.response_util import ResponseUtil
|
|
|
|
from utils.common_util import bytes2file_response
|
|
|
|
|
|
|
|
from module_admin.service.meta_service import MetaService
|
|
|
|
from module_admin.entity.vo.meta_vo import MetaPageObject, MetaColObject, SuppleModel, MetaBusinessRelShipObject, \
|
|
|
|
MetaProcQueryObject
|
|
|
|
|
|
|
|
metaController = APIRouter(prefix='/dasset', dependencies=[Depends(LoginService.get_current_user)])
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/get")
|
|
|
|
async def get_meta_list(request: Request, meta_query: MetaPageObject = Depends(MetaPageObject.as_query),
|
|
|
|
query_db: AsyncSession = Depends(get_db),
|
|
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
|
|
|
meta_query_result = await MetaService.get_meta_list_services(query_db, meta_query, current_user)
|
|
|
|
return ResponseUtil.success(data=meta_query_result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/column/list")
|
|
|
|
async def get_meta_list(request: Request, meta_query: MetaColObject = Depends(MetaColObject.as_query),
|
|
|
|
query_db: AsyncSession = Depends(get_db)):
|
|
|
|
meta_query_result = await MetaService.get_meta_col_list_services(query_db, meta_query)
|
|
|
|
return ResponseUtil.success(data=meta_query_result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/clas/list")
|
|
|
|
async def get_meta_clas_list(request: Request, query_db: AsyncSession = Depends(get_db)):
|
|
|
|
result = await MetaService.get_meta_clas_list_services(query_db)
|
|
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.post("/meta/supp")
|
|
|
|
async def meta_supp(request: Request,
|
|
|
|
supple: SuppleModel,
|
|
|
|
query_db: AsyncSession = Depends(get_db),
|
|
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
|
|
|
result = await MetaService.meta_supp(query_db, supple, current_user)
|
|
|
|
return ResponseUtil.success(msg=result.message)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/getMetaInfoApplyBusinessDetail")
|
|
|
|
async def getMetaInfoApplyBusinessDetail(request: Request,
|
|
|
|
businessId: str,
|
|
|
|
query_db: AsyncSession = Depends(get_db)):
|
|
|
|
result = await MetaService.get_meta_apply_detail_services(query_db, businessId)
|
|
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/getTable/{tableId}")
|
|
|
|
async def getTableByTableId(request: Request,
|
|
|
|
tableId: int,
|
|
|
|
query_db: AsyncSession = Depends(get_db)):
|
|
|
|
result = await MetaService.get_table_by_id(query_db, tableId)
|
|
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/business/relation")
|
|
|
|
async def getBusinessRelationShip(request: Request,
|
|
|
|
meta_query: MetaBusinessRelShipObject = Depends(MetaBusinessRelShipObject.as_query),
|
|
|
|
query_db: AsyncSession = Depends(get_db)):
|
|
|
|
result = await MetaService.getBusinessRelationShip(query_db, meta_query)
|
|
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/business/proc")
|
|
|
|
async def getBusinessProc(request: Request,
|
|
|
|
meta_query: MetaProcQueryObject = Depends(MetaProcQueryObject.as_query),
|
|
|
|
query_db: AsyncSession = Depends(get_db)):
|
|
|
|
result = await MetaService.getMetaProc(query_db, meta_query)
|
|
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.get("/meta/blood/relation/{procId}")
|
|
|
|
async def getBloodRelationShip(request: Request,
|
|
|
|
procId: int,
|
|
|
|
query_db: AsyncSession = Depends(get_db)):
|
|
|
|
result = await MetaService.getBloodRelationShip(query_db, procId)
|
|
|
|
return ResponseUtil.success(data=result)
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.post("/meta/importTemplate")
|
|
|
|
async def export_system_user_template(request: Request, query_db: AsyncSession = Depends(get_db)):
|
|
|
|
meta_import_template_result = await MetaService.get_meta_import_template_services()
|
|
|
|
return ResponseUtil.streaming(data=bytes2file_response(meta_import_template_result))
|
|
|
|
|
|
|
|
|
|
|
|
@metaController.post('/meta/importData')
|
|
|
|
async def batch_import_meta_data(
|
|
|
|
request: Request,
|
|
|
|
file: UploadFile = File(...),
|
|
|
|
query_db: AsyncSession = Depends(get_db),
|
|
|
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
|
|
|
batch_import_result = await MetaService.batch_import_meta_services(query_db, file, current_user)
|
|
|
|
return ResponseUtil.success(msg=batch_import_result)
|