forked from erp-dev/erp
check
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
|
import logging
|
||||||
from django.apps import AppConfig
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class PrintingConfig(AppConfig):
|
class PrintingConfig(AppConfig):
|
||||||
default_auto_field = 'django.db.models.BigAutoField'
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
@@ -17,3 +20,8 @@ class PrintingConfig(AppConfig):
|
|||||||
handlers.on_printing_job_process_completed,
|
handlers.on_printing_job_process_completed,
|
||||||
sender=PrintingJob
|
sender=PrintingJob
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger.info(
|
||||||
|
f'[printing.apps] 已注册 process_completed 信号处理器, '
|
||||||
|
f'sender={PrintingJob}, handler={handlers.on_printing_job_process_completed}'
|
||||||
|
)
|
||||||
@@ -33,6 +33,11 @@ def on_printing_job_process_completed(sender, **kwargs):
|
|||||||
"""
|
"""
|
||||||
from shipment.models import SalesItem, UnitChoices
|
from shipment.models import SalesItem, UnitChoices
|
||||||
|
|
||||||
|
logger.info(
|
||||||
|
f'[printing.handlers] 收到 process_completed 信号: '
|
||||||
|
f'sender={sender}, kwargs keys={list(kwargs.keys())}'
|
||||||
|
)
|
||||||
|
|
||||||
content_object = kwargs.get('content_object')
|
content_object = kwargs.get('content_object')
|
||||||
business_object = kwargs.get('business_object')
|
business_object = kwargs.get('business_object')
|
||||||
last_completed_by = kwargs.get('last_completed_by')
|
last_completed_by = kwargs.get('last_completed_by')
|
||||||
@@ -42,6 +47,7 @@ def on_printing_job_process_completed(sender, **kwargs):
|
|||||||
return
|
return
|
||||||
|
|
||||||
printing_job = content_object
|
printing_job = content_object
|
||||||
|
logger.info(f'[printing.handlers] 处理 PrintingJob #{printing_job.id}')
|
||||||
|
|
||||||
# 从 settings 获取配置
|
# 从 settings 获取配置
|
||||||
source_state_id = getattr(settings, 'PRINTING_SALES_ITEM_SOURCE_STATE_ID', None)
|
source_state_id = getattr(settings, 'PRINTING_SALES_ITEM_SOURCE_STATE_ID', None)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
Stateflow业务逻辑服务层
|
Stateflow业务逻辑服务层
|
||||||
"""
|
"""
|
||||||
import copy
|
import copy
|
||||||
|
import logging
|
||||||
from typing import Iterable, List, Optional, Tuple
|
from typing import Iterable, List, Optional, Tuple
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from django.contrib.contenttypes.models import ContentType
|
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 django.db.models import Exists, OuterRef, QuerySet
|
||||||
from . import models
|
from . import models
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
|
|
||||||
def ensure_business_object_bound_to_instance(
|
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
|
content_object = business_object.content_object
|
||||||
sender_class = content_object.__class__ if content_object else None
|
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(
|
signals.state_advanced.send(
|
||||||
sender=sender_class,
|
sender=sender_class,
|
||||||
process_id=business_object.process_id,
|
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:
|
if is_process_completed:
|
||||||
# 流程全部完成,发送流程完成信号
|
# 流程全部完成,发送流程完成信号
|
||||||
|
logger.info(
|
||||||
|
f'[stateflow] 发送 process_completed 信号: '
|
||||||
|
f'sender={sender_class}, business_object_id={business_object.id}'
|
||||||
|
)
|
||||||
signals.process_completed.send(
|
signals.process_completed.send(
|
||||||
sender=sender_class,
|
sender=sender_class,
|
||||||
process_id=business_object.process_id,
|
process_id=business_object.process_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user