forked from erp-dev/erp
feat: added plate order clone
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from decimal import Decimal
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db import models
|
||||
from flower.common import ModelBase
|
||||
from basic_info import models as basic_models
|
||||
@@ -139,7 +140,11 @@ class PlateOrder(ModelBase):
|
||||
|
||||
# 创建 BusinessObject
|
||||
business_object = stateflow_models.BusinessObject.objects.create(
|
||||
process=process_obj
|
||||
name=f"PlateOrder-{self.id}",
|
||||
process=process_obj,
|
||||
description=f"开版订单 {self.id} 的流程实例",
|
||||
content_type=ContentType.objects.get_for_model(PlateOrder),
|
||||
object_id=self.id,
|
||||
)
|
||||
self.business_object = business_object
|
||||
# 再次保存以更新 business_object 字段
|
||||
@@ -403,3 +408,52 @@ class PrintingJob(ModelBase):
|
||||
class Meta:
|
||||
verbose_name = '印染款式明细'
|
||||
verbose_name_plural = '印染款式明细'
|
||||
|
||||
|
||||
class PrintingJobBatchAdvanceRecord(ModelBase):
|
||||
"""
|
||||
印染任务批量推进记录(审计)
|
||||
|
||||
记录一次“对多个 PrintingJob 用同一组参数推进同一步流程节点”的行为:
|
||||
- created_by/created_at:谁在何时做了批量推进
|
||||
- parameters:本次推进提交的工艺参数(JSON)
|
||||
- state:本次被“完成”的流程节点(即推进时的 next_pending_state)
|
||||
- printing_jobs:本次批量推进涉及的所有明细
|
||||
"""
|
||||
|
||||
printing_order = models.ForeignKey(
|
||||
PrintingOrder,
|
||||
on_delete=models.PROTECT,
|
||||
related_name='batch_advance_records',
|
||||
verbose_name='印染订单',
|
||||
)
|
||||
state = models.ForeignKey(
|
||||
stateflow_models.State,
|
||||
on_delete=models.PROTECT,
|
||||
related_name='printing_job_batch_advance_records',
|
||||
verbose_name='完成的流程节点',
|
||||
)
|
||||
created_by = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
on_delete=models.SET_NULL,
|
||||
null=True,
|
||||
blank=True,
|
||||
related_name='printing_job_batch_advance_records',
|
||||
verbose_name='创建人',
|
||||
)
|
||||
parameters = models.JSONField(
|
||||
default=dict,
|
||||
blank=True,
|
||||
verbose_name='工艺参数',
|
||||
help_text='批量推进时提交的参数(与单条推进一致)',
|
||||
)
|
||||
printing_jobs = models.ManyToManyField(
|
||||
PrintingJob,
|
||||
related_name='batch_advance_records',
|
||||
verbose_name='印染明细',
|
||||
blank=False,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = '印染任务批量推进记录'
|
||||
verbose_name_plural = '印染任务批量推进记录'
|
||||
|
||||
Reference in New Issue
Block a user