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

@@ -1,5 +1,8 @@
import logging
from django.apps import AppConfig
logger = logging.getLogger(__name__)
class PrintingConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
@@ -16,4 +19,9 @@ class PrintingConfig(AppConfig):
process_completed.connect(
handlers.on_printing_job_process_completed,
sender=PrintingJob
)
logger.info(
f'[printing.apps] 已注册 process_completed 信号处理器, '
f'sender={PrintingJob}, handler={handlers.on_printing_job_process_completed}'
)

View File

@@ -33,6 +33,11 @@ def on_printing_job_process_completed(sender, **kwargs):
"""
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')
business_object = kwargs.get('business_object')
last_completed_by = kwargs.get('last_completed_by')
@@ -42,6 +47,7 @@ def on_printing_job_process_completed(sender, **kwargs):
return
printing_job = content_object
logger.info(f'[printing.handlers] 处理 PrintingJob #{printing_job.id}')
# 从 settings 获取配置
source_state_id = getattr(settings, 'PRINTING_SALES_ITEM_SOURCE_STATE_ID', None)

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,