1
0
forked from erp-dev/erp
This commit is contained in:
2026-01-13 18:51:28 +08:00
parent 5e6834358d
commit 70e98704dc
3 changed files with 27 additions and 0 deletions

View File

@@ -2,6 +2,7 @@
Stateflow业务逻辑服务层
"""
import copy
import logging
from typing import Iterable, List, Optional, Tuple
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
@@ -10,6 +11,7 @@ from django.db import transaction
from django.db.models import Exists, OuterRef, QuerySet
from . import models
logger = logging.getLogger(__name__)
User = get_user_model()
def ensure_business_object_bound_to_instance(
@@ -265,6 +267,13 @@ def advance_to_next_state(business_object: 'models.BusinessObject', user, **para
content_object = business_object.content_object
sender_class = content_object.__class__ if content_object else None
logger.info(
f'[stateflow] 发送 state_advanced 信号: '
f'sender={sender_class} (module={sender_class.__module__ if sender_class else None}), '
f'business_object_id={business_object.id}, '
f'state={next_state.name}, is_process_completed={is_process_completed}'
)
signals.state_advanced.send(
sender=sender_class,
process_id=business_object.process_id,
@@ -281,6 +290,10 @@ def advance_to_next_state(business_object: 'models.BusinessObject', user, **para
if is_process_completed:
# 流程全部完成,发送流程完成信号
logger.info(
f'[stateflow] 发送 process_completed 信号: '
f'sender={sender_class}, business_object_id={business_object.id}'
)
signals.process_completed.send(
sender=sender_class,
process_id=business_object.process_id,