添加前后端筛选导出excel按钮权限

This commit is contained in:
焦龙言
2026-10-10 11:39:58 +08:00
parent 3330592fbe
commit 80a71b48ce
14 changed files with 108 additions and 16 deletions
@@ -737,6 +737,30 @@ class TestMasterDao(unittest.IsolatedAsyncioTestCase):
self.assertIs(page, result)
self.assertIn(f"biz_strain.strain_code LIKE '%{strain_code}%'", compile_sql(statement))
async def test_list_master_resources_support_ids_filtering(self) -> None:
page = PageModel(rows=[], pageNum=1, pageSize=10, total=0, hasNext=False)
cases = (
('strain', StrainPageQueryModel, 'biz_strain.strain_id IN (1, 2)'),
('customer', CustomerPageQueryModel, 'biz_customer.customer_id IN (1, 2)'),
('site', SitePageQueryModel, 'biz_customer_site.site_id IN (1, 2)'),
('line', LinePageQueryModel, 'biz_production_line.line_id IN (1, 2)'),
('warehouse', WarehousePageQueryModel, 'biz_warehouse.warehouse_id IN (1, 2)'),
)
for resource, model_cls, expected_sql in cases:
with (
self.subTest(resource=resource),
patch.object(PageUtil, 'paginate', new=AsyncMock(return_value=page)) as paginate_mock,
):
await getattr(MasterDao, f'list_{resource}')(
self.db,
model_cls(ids='1,2,abc'),
TestBatchScope.formal(),
is_page=False,
)
statement = paginate_mock.await_args.args[1]
sql = compile_sql(statement)
self.assertIn(expected_sql, sql)
async def test_get_queries_use_expected_table_and_primary_key(self) -> None:
cases = (
('strain', 'biz_strain', 'strain_id'),