feat: process添加parent字段
This commit is contained in:
parent
108116342e
commit
0842806f83
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 3.2.12 on 2025-03-21 08:29
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('mtm', '0053_mgroup_mtype'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='process',
|
||||||
|
name='parent',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mtm.process', verbose_name='父工序'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -27,6 +27,7 @@ class Process(CommonBModel):
|
||||||
batch_append_equip = models.BooleanField('批号追加设备', default=False)
|
batch_append_equip = models.BooleanField('批号追加设备', default=False)
|
||||||
mlog_need_ticket = models.BooleanField('日志提交是否需要审批', default=False)
|
mlog_need_ticket = models.BooleanField('日志提交是否需要审批', default=False)
|
||||||
mstate_json = models.JSONField('中间状态', default=list, blank=True)
|
mstate_json = models.JSONField('中间状态', default=list, blank=True)
|
||||||
|
parent = models.ForeignKey('self', verbose_name='父工序', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '工序'
|
verbose_name = '工序'
|
||||||
|
|
|
||||||
|
|
@ -178,6 +178,8 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
process: Process = attrs.get('process', None)
|
process: Process = attrs.get('process', None)
|
||||||
if process is None:
|
if process is None:
|
||||||
raise ParseError('未提供操作工序')
|
raise ParseError('未提供操作工序')
|
||||||
|
if process.parent is not None:
|
||||||
|
raise ParseError('操作工序不可为子工序')
|
||||||
if process.mtype == Process.PRO_DIV and attrs.get('div_number', 1) <= 1:
|
if process.mtype == Process.PRO_DIV and attrs.get('div_number', 1) <= 1:
|
||||||
raise ParseError('切分数量必须大于1')
|
raise ParseError('切分数量必须大于1')
|
||||||
return super().validate(attrs)
|
return super().validate(attrs)
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,10 @@ class ProcessViewSet(CustomModelViewSet):
|
||||||
serializer_class = ProcessSerializer
|
serializer_class = ProcessSerializer
|
||||||
select_related_fields = ['belong_dept']
|
select_related_fields = ['belong_dept']
|
||||||
search_fields = ['name', 'cate']
|
search_fields = ['name', 'cate']
|
||||||
filterset_fields = ['cate']
|
filterset_fields = {
|
||||||
|
"cate": ['exact'],
|
||||||
|
"parent": ['isnull']
|
||||||
|
}
|
||||||
ordering = ['sort', 'create_time']
|
ordering = ['sort', 'create_time']
|
||||||
|
|
||||||
def perform_destroy(self, instance):
|
def perform_destroy(self, instance):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue