ETest-Vue-FastAPI/ruoyi-fastapi-backend/module_admin/controller/warehouse_sample_controller.py

103 lines
3.9 KiB
Python
Raw Normal View History

2025-12-19 10:12:59 +08:00
from fastapi import APIRouter, Depends, Request
from sqlalchemy.ext.asyncio import AsyncSession
from config.get_db import get_db
from config.enums import BusinessType
from module_admin.annotation.log_annotation import Log
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
from module_admin.service.login_service import LoginService
from module_admin.service.warehouse_sample_service import WarehouseSampleService
from module_admin.entity.vo.warehouse_sample_vo import (
WarehouseSamplePageQueryModel, AddWarehouseSampleModel,
EditWarehouseSampleModel, DeleteWarehouseSampleModel
)
from module_admin.entity.vo.user_vo import CurrentUserModel
from utils.log_util import logger
from utils.page_util import PageResponseModel
from utils.response_util import ResponseUtil
warehouseSampleController = APIRouter(prefix='/warehouse/sample', dependencies=[Depends(LoginService.get_current_user)])
@warehouseSampleController.get('/list', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('warehouse:sample:list'))])
async def get_warehouse_sample_list(
request: Request,
query_object: WarehouseSamplePageQueryModel = Depends(WarehouseSamplePageQueryModel.as_query),
query_db: AsyncSession = Depends(get_db)
):
"""
获取样品列表
"""
# 添加日志
print(f"DEBUG: 样品列表查询参数 - receipt_id={query_object.receipt_id}, receipt_no={query_object.receipt_no}")
2025-12-19 10:12:59 +08:00
sample_list = await WarehouseSampleService.get_sample_list(query_db, query_object, is_page=True)
logger.info('获取成功')
return ResponseUtil.success(dict_content=sample_list)
@warehouseSampleController.get('/{sample_id}', dependencies=[Depends(CheckUserInterfaceAuth('warehouse:sample:query'))])
async def get_warehouse_sample_detail(
request: Request,
sample_id: int,
query_db: AsyncSession = Depends(get_db)
):
"""
获取样品详情
"""
sample_detail = await WarehouseSampleService.get_sample_detail(query_db, sample_id)
logger.info('获取成功')
return ResponseUtil.success(data=sample_detail)
@warehouseSampleController.post('', dependencies=[Depends(CheckUserInterfaceAuth('warehouse:sample:add'))])
@Log(title='样品管理', business_type=BusinessType.INSERT)
async def add_warehouse_sample(
request: Request,
add_sample: AddWarehouseSampleModel,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
):
"""
新增样品
"""
add_sample.create_by = current_user.user.user_name
result = await WarehouseSampleService.add_sample(query_db, add_sample)
logger.info(result.message)
return ResponseUtil.success(msg=result.message)
@warehouseSampleController.put('', dependencies=[Depends(CheckUserInterfaceAuth('warehouse:sample:edit'))])
@Log(title='样品管理', business_type=BusinessType.UPDATE)
async def edit_warehouse_sample(
request: Request,
edit_sample: EditWarehouseSampleModel,
query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user)
):
"""
修改样品
"""
edit_sample.update_by = current_user.user.user_name
result = await WarehouseSampleService.edit_sample(query_db, edit_sample)
logger.info(result.message)
return ResponseUtil.success(msg=result.message)
@warehouseSampleController.delete('/{sample_ids}', dependencies=[Depends(CheckUserInterfaceAuth('warehouse:sample:remove'))])
@Log(title='样品管理', business_type=BusinessType.DELETE)
async def delete_warehouse_sample(
request: Request,
sample_ids: str,
query_db: AsyncSession = Depends(get_db)
):
"""
删除样品
"""
delete_sample = DeleteWarehouseSampleModel(sampleIds=sample_ids)
result = await WarehouseSampleService.delete_sample(query_db, delete_sample)
logger.info(result.message)
return ResponseUtil.success(msg=result.message)