|  |  |  | 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) |