diff --git a/hb_server/apps/mtm/migrations/0044_subproduction_need_combtest.py b/hb_server/apps/mtm/migrations/0044_subproduction_need_combtest.py new file mode 100644 index 0000000..c570518 --- /dev/null +++ b/hb_server/apps/mtm/migrations/0044_subproduction_need_combtest.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2022-01-19 07:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mtm', '0043_auto_20220106_0942'), + ] + + operations = [ + migrations.AddField( + model_name='subproduction', + name='need_combtest', + field=models.BooleanField(default=False, verbose_name='需要质检'), + ), + ] diff --git a/hb_server/apps/mtm/models.py b/hb_server/apps/mtm/models.py index b7b99c2..4afb8b5 100644 --- a/hb_server/apps/mtm/models.py +++ b/hb_server/apps/mtm/models.py @@ -210,6 +210,7 @@ class SubProduction(CommonAModel): name = models.CharField('命名', max_length=50, null=True, blank=True) product = models.ForeignKey(Material, verbose_name='产品', on_delete=models.CASCADE) process = models.ForeignKey(Process, verbose_name='隶属大工序', on_delete=models.CASCADE, related_name='subproduction_process') + need_combtest = models.BooleanField('需要质检', default=False) sort = models.IntegerField('排序号', default=1) class Meta: diff --git a/hb_server/apps/mtm/serializers.py b/hb_server/apps/mtm/serializers.py index 8e5eb53..99cdfb6 100644 --- a/hb_server/apps/mtm/serializers.py +++ b/hb_server/apps/mtm/serializers.py @@ -72,6 +72,11 @@ class SubProductionSerializer(serializers.ModelSerializer): model = SubProduction fields = '__all__' +class SubProductionCreateUpdateSerializer(serializers.ModelSerializer): + class Meta: + model = SubProduction + fields = ['name', 'product', 'process', 'need_combtest', 'sort'] + class OtherMaterialSerializer(serializers.ModelSerializer): class Meta: model = SubprodctionMaterial diff --git a/hb_server/apps/mtm/views.py b/hb_server/apps/mtm/views.py index 04f3caa..1bb9e47 100644 --- a/hb_server/apps/mtm/views.py +++ b/hb_server/apps/mtm/views.py @@ -4,7 +4,7 @@ from rest_framework.mixins import CreateModelMixin, ListModelMixin, UpdateModelM from apps.mtm.filters import MaterialFilterSet, TechDocFilterset from apps.mtm.models import Material, Process, RecordForm, RecordFormField, Step, SubprodctionMaterial, TechDoc, UsedStep, SubProduction -from apps.mtm.serializers import InputMaterialSerializer, InputMaterialUpdateSerializer, MaterialDetailSerializer, MaterialSerializer, MaterialSimpleSerializer, OtherMaterialSerializer, OutputMaterialSerializer, OutputMaterialUpdateSerializer, ProcessSerializer, RecordFormCreateSerializer, RecordFormDetailSerializer, RecordFormFieldCreateSerializer, RecordFormFieldSerializer, RecordFormFieldUpdateSerializer, RecordFormSerializer, RecordFormUpdateSerializer, StepDetailSerializer, StepSerializer, SubProductionSerializer, SubprodctionMaterialListSerializer, TechDocCreateSerializer, TechDocListSerializer, TechDocUpdateSerializer, UsedStepCreateSerializer, UsedStepListSerializer, UsedStepUpdateSerializer +from apps.mtm.serializers import InputMaterialSerializer, InputMaterialUpdateSerializer, MaterialDetailSerializer, MaterialSerializer, MaterialSimpleSerializer, OtherMaterialSerializer, OutputMaterialSerializer, OutputMaterialUpdateSerializer, ProcessSerializer, RecordFormCreateSerializer, RecordFormDetailSerializer, RecordFormFieldCreateSerializer, RecordFormFieldSerializer, RecordFormFieldUpdateSerializer, RecordFormSerializer, RecordFormUpdateSerializer, StepDetailSerializer, StepSerializer, SubProductionCreateUpdateSerializer, SubProductionSerializer, SubprodctionMaterialListSerializer, TechDocCreateSerializer, TechDocListSerializer, TechDocUpdateSerializer, UsedStepCreateSerializer, UsedStepListSerializer, UsedStepUpdateSerializer from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin from rest_framework.decorators import action from rest_framework.response import Response @@ -80,6 +80,10 @@ class SubProductionViewSet(CreateUpdateModelAMixin, ModelViewSet): search_fields = ['name'] serializer_class = SubProductionSerializer ordering = ['sort'] + def get_serializer_class(self): + if self.action in ['create', 'update']: + return SubProductionCreateUpdateSerializer + return super().get_serializer_class() class InputMaterialViewSet(CreateUpdateModelAMixin, ModelViewSet): """