16 lines
654 B
Python
16 lines
654 B
Python
|
|
"""PPT 模板适用范围的确定性规则。"""
|
||
|
|
|
||
|
|
|
||
|
|
def template_scope_compatible(
|
||
|
|
template_data: dict,
|
||
|
|
company_ids: list[str] | tuple[str, ...],
|
||
|
|
product_ids: list[str] | tuple[str, ...],
|
||
|
|
) -> bool:
|
||
|
|
"""模板设置适用范围时,全部输入保司和产品都必须被覆盖。"""
|
||
|
|
allowed_companies = set(template_data.get("applicableCompanyIds") or [])
|
||
|
|
allowed_products = set(template_data.get("applicableProductIds") or [])
|
||
|
|
return (
|
||
|
|
(not allowed_companies or all(item in allowed_companies for item in company_ids))
|
||
|
|
and (not allowed_products or all(item in allowed_products for item in product_ids))
|
||
|
|
)
|