forked from erp-dev/erp
fix: current_state has been changed to a computed property
This commit is contained in:
@@ -130,10 +130,36 @@ class BusinessObject(ModelBase):
|
||||
return f"{self.name} ({self.process.name})"
|
||||
|
||||
def get_current_state(self) -> 'State':
|
||||
"""获取当前状态(通过services推导)"""
|
||||
"""
|
||||
获取当前状态(通过services推导,行为可配置)
|
||||
|
||||
根据 settings.STATEFLOW_CURRENT_STATE_MODE 决定返回:
|
||||
- 'NEXT' (默认): 下一个待执行的节点
|
||||
- 'LAST': 最后完成的节点
|
||||
|
||||
注意:推荐在新代码中直接使用 get_last_completed_state() 或 get_next_pending_state() 以明确语义
|
||||
"""
|
||||
from . import services
|
||||
return services.get_business_object_current_state(self)
|
||||
|
||||
def get_last_completed_state(self) -> 'State':
|
||||
"""
|
||||
获取最后完成的状态
|
||||
|
||||
返回:最后一个已完成的状态节点,如果没有则返回 None
|
||||
"""
|
||||
from . import services
|
||||
return services.get_last_completed_state(self)
|
||||
|
||||
def get_next_pending_state(self) -> 'State':
|
||||
"""
|
||||
获取下一个待执行的状态
|
||||
|
||||
返回:下一个待执行的状态节点,如果没有则返回 None
|
||||
"""
|
||||
from . import services
|
||||
return services.get_next_pending_state_simple(self)
|
||||
|
||||
def get_completed_node_ids(self) -> List[int]:
|
||||
"""获取已完成的节点ID列表"""
|
||||
from . import services
|
||||
|
||||
Reference in New Issue
Block a user