1
0
forked from erp-dev/erp

fix: current_state has been changed to a computed property

This commit is contained in:
2025-11-19 10:23:17 +08:00
parent 7f822b0064
commit 400c0db6db
14 changed files with 964 additions and 87 deletions

View File

@@ -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