from abc import ABC, abstractmethod from fastapi_modules.fastapi_leaudit.domian.Dto.evaluationPointGroupDto import ( EvaluationPointGroupBatchDeleteDTO, EvaluationPointGroupBatchStatusDTO, EvaluationPointGroupBindingCreateDTO, EvaluationPointGroupBindingUpdateDTO, EvaluationPointGroupCreateDTO, EvaluationPointGroupRuleDraftCreateDTO, EvaluationPointGroupRebindDTO, EvaluationPointGroupUpdateDTO, ) from fastapi_modules.fastapi_leaudit.domian.vo.evaluationPointGroupVo import ( EvaluationPointGroupBatchDeleteVO, EvaluationPointGroupBatchStatusVO, EvaluationPointGroupDeleteVO, EvaluationPointGroupListVO, EvaluationPointGroupRuleDraftVO, EvaluationPointGroupRuleTemplateVO, EvaluationPointGroupRebindVO, EvaluationPointGroupVO, RuleGroupBindingVO, ) class IEvaluationPointGroupService(ABC): """评查点分组服务接口。""" @abstractmethod async def ListGroups( self, Name: str | None, Code: str | None, IsEnabled: bool | None, Pid: int | None, Page: int, PageSize: int, CurrentUserId: int, ) -> EvaluationPointGroupListVO: ... @abstractmethod async def ListAllGroups(self, IncludeDisabled: bool, WithRuleCount: bool, CurrentUserId: int) -> list[EvaluationPointGroupVO]: ... @abstractmethod async def ListGroupsByDocumentTypes( self, DocumentTypeIds: list[int], IncludeDisabled: bool, WithRuleCount: bool, CurrentUserId: int, ) -> list[EvaluationPointGroupVO]: ... @abstractmethod async def GetGroup(self, GroupId: int, WithRuleCount: bool, CurrentUserId: int) -> EvaluationPointGroupVO: ... @abstractmethod async def GetChildren(self, GroupId: int, IsEnabled: bool | None, Page: int, PageSize: int, CurrentUserId: int) -> EvaluationPointGroupListVO: ... @abstractmethod async def CreateGroup(self, Body: EvaluationPointGroupCreateDTO, CurrentUserId: int) -> EvaluationPointGroupVO: ... @abstractmethod async def UpdateGroup(self, GroupId: int, Body: EvaluationPointGroupUpdateDTO, CurrentUserId: int) -> EvaluationPointGroupVO: ... @abstractmethod async def DeleteGroup(self, GroupId: int, CurrentUserId: int) -> EvaluationPointGroupDeleteVO: ... @abstractmethod async def RebindGroup(self, GroupId: int, Body: EvaluationPointGroupRebindDTO, CurrentUserId: int) -> EvaluationPointGroupRebindVO: ... @abstractmethod async def BatchUpdateStatus(self, Body: EvaluationPointGroupBatchStatusDTO, CurrentUserId: int) -> EvaluationPointGroupBatchStatusVO: ... @abstractmethod async def BatchDelete(self, Body: EvaluationPointGroupBatchDeleteDTO, CurrentUserId: int) -> EvaluationPointGroupBatchDeleteVO: ... @abstractmethod async def CreateBinding(self, GroupId: int, Body: EvaluationPointGroupBindingCreateDTO, CurrentUserId: int) -> RuleGroupBindingVO: ... @abstractmethod async def UpdateBinding(self, BindingId: int, Body: EvaluationPointGroupBindingUpdateDTO, CurrentUserId: int) -> RuleGroupBindingVO: ... @abstractmethod async def DeleteBinding(self, BindingId: int, CurrentUserId: int) -> None: ... @abstractmethod async def GetRuleTemplate(self, GroupId: int, CurrentUserId: int) -> EvaluationPointGroupRuleTemplateVO: ... @abstractmethod async def CreateRuleDraft(self, GroupId: int, Body: EvaluationPointGroupRuleDraftCreateDTO, CurrentUserId: int) -> EvaluationPointGroupRuleDraftVO: ...