修复:装填前复核仓库权限

This commit is contained in:
焦龙言
2026-07-26 18:16:34 +08:00
parent f6e994d95f
commit 66890ca63c
5 changed files with 184 additions and 14 deletions
@@ -102,9 +102,19 @@ class FillingService:
query_db: AsyncSession,
current_user: CurrentUserModel,
warehouse_id: int,
*,
for_update: bool = False,
) -> None:
try:
await AccessService.assert_warehouse_access(query_db, current_user, warehouse_id)
if for_update:
await AccessService.assert_warehouse_access(
query_db,
current_user,
warehouse_id,
for_update=True,
)
else:
await AccessService.assert_warehouse_access(query_db, current_user, warehouse_id)
except PermissionException:
if cls._is_admin(current_user):
raise
@@ -389,13 +399,19 @@ class FillingService:
warehouse = await MasterDao.get_warehouse(
query_db,
page_object.warehouse_id,
inventory.warehouse_id,
for_update=True,
)
if warehouse is None:
raise ServiceException(message='仓库不存在')
if warehouse.status != '0':
raise ServiceException(message='仓库已停用')
await cls._assert_pallet_warehouse_access(
query_db,
current_user,
inventory.warehouse_id,
for_update=True,
)
strain = cls._validate_active_strain(
await MasterDao.get_strain(
query_db,