diff --git a/hb_server/apps/mtm/migrations/0046_alter_recordform_type.py b/hb_server/apps/mtm/migrations/0046_alter_recordform_type.py new file mode 100644 index 0000000..d71764d --- /dev/null +++ b/hb_server/apps/mtm/migrations/0046_alter_recordform_type.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2022-02-16 07:15 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mtm', '0045_usedstep_need_test'), + ] + + operations = [ + migrations.AlterField( + model_name='recordform', + name='type', + field=models.IntegerField(choices=[(10, '生产记录表'), (20, '工序检查表'), (30, '入厂检查表'), (40, '成品检查表'), (50, '首件检查表')], default=1, verbose_name='表格类型'), + ), + ] diff --git a/hb_server/apps/mtm/models.py b/hb_server/apps/mtm/models.py index f8ccc83..9bb007f 100644 --- a/hb_server/apps/mtm/models.py +++ b/hb_server/apps/mtm/models.py @@ -107,11 +107,17 @@ class RecordForm(CommonAModel): """ 记录表格 """ - RF_TYPE_DO = 1 - RF_TYPE_TEST = 2 + RF_TYPE_DO = 10 + RF_TYPE_TEST = 20 + RF_TYPE_TEST_IN = 30 + RF_TYPE_TEST_GOOD = 40 + RF_TYPE_TEST_FIRST = 50 type_choices=( - (RF_TYPE_DO, '生产记录模板'), - (RF_TYPE_TEST, '检验记录模板') + (RF_TYPE_DO, '生产记录表'), + (RF_TYPE_TEST, '工序检查表'), + (RF_TYPE_TEST_IN, '入厂检查表'), + (RF_TYPE_TEST_GOOD, '成品检查表'), + (RF_TYPE_TEST_FIRST, '首件检查表'), ) name = models.CharField('表格名称', max_length=100) type = models.IntegerField('表格类型', choices=type_choices, default=1) diff --git a/hb_server/apps/mtm/serializers.py b/hb_server/apps/mtm/serializers.py index 72bc685..0bba60f 100644 --- a/hb_server/apps/mtm/serializers.py +++ b/hb_server/apps/mtm/serializers.py @@ -190,10 +190,24 @@ class RecordFormCreateSerializer(serializers.ModelSerializer): model = RecordForm fields = ['name', 'type', 'step', 'material', 'number', 'enabled'] + def validate(self, attrs): + if attrs['enabled']: + if RecordForm.objects.filter(type=attrs['type'], + enabled=True).exists(): + raise ValidationError('已存在启用的同类检查表') + return super().validate(attrs) + class RecordFormUpdateSerializer(serializers.ModelSerializer): class Meta: model = RecordForm fields = ['name', 'type', 'number', 'enabled'] + + def validate(self, attrs): + if attrs['enabled']: + if RecordForm.objects.filter(type=attrs['type'], + enabled=True).exists(): + raise ValidationError('已存在启用的同类检查表') + return super().validate(attrs) class RecordFormFieldSerializer(serializers.ModelSerializer): class Meta: