From cd40d7f8993226533f75a5b4b0f0e4ba72e2602c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 17 Nov 2023 08:29:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mio=E5=A2=9E=E5=8A=A0mio=5Fuser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inm/migrations/0010_auto_20231116_1904.py | 26 +++++++++++++++++++ apps/inm/models.py | 4 ++- apps/inm/serializers.py | 2 ++ apps/inm/views.py | 4 +++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 apps/inm/migrations/0010_auto_20231116_1904.py diff --git a/apps/inm/migrations/0010_auto_20231116_1904.py b/apps/inm/migrations/0010_auto_20231116_1904.py new file mode 100644 index 00000000..1d4994d3 --- /dev/null +++ b/apps/inm/migrations/0010_auto_20231116_1904.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.12 on 2023-11-16 11:04 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('inm', '0009_auto_20231103_1814'), + ] + + operations = [ + migrations.AddField( + model_name='mio', + name='mio_user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mio_user_mio', to=settings.AUTH_USER_MODEL, verbose_name='仓库执行人'), + ), + migrations.AlterField( + model_name='mio', + name='do_user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='do_user_mio', to=settings.AUTH_USER_MODEL, verbose_name='车间执行人'), + ), + ] diff --git a/apps/inm/models.py b/apps/inm/models.py index ff38eca4..0c5863f3 100644 --- a/apps/inm/models.py +++ b/apps/inm/models.py @@ -88,8 +88,10 @@ class MIO(CommonBDModel): submit_time = models.DateTimeField('提交时间', null=True, blank=True) submit_user = models.ForeignKey( User, verbose_name='提交人', related_name='submit_user_mio', on_delete=models.CASCADE, null=True, blank=True) + mio_user = models.ForeignKey( + User, verbose_name='仓库执行人', related_name='mio_user_mio', on_delete=models.CASCADE, null=True, blank=True) do_user = models.ForeignKey( - User, verbose_name='车间执行人', related_name='pick_user_mio', on_delete=models.CASCADE, null=True, blank=True) + User, verbose_name='车间执行人', related_name='do_user_mio', on_delete=models.CASCADE, null=True, blank=True) class MIOItem(BaseModel): diff --git a/apps/inm/serializers.py b/apps/inm/serializers.py index 285c1f8f..c2777890 100644 --- a/apps/inm/serializers.py +++ b/apps/inm/serializers.py @@ -61,6 +61,8 @@ class MIOListSerializer(CustomModelSerializer): source='submit_user.name', read_only=True) do_user_name = serializers.CharField( source='do_user.name', read_only=True) + mio_user_name = serializers.CharField( + source='mio_user.name', read_only=True) belong_dept_name = serializers.CharField( source='belong_dept.name', read_only=True) supplier_name = serializers.CharField( diff --git a/apps/inm/views.py b/apps/inm/views.py index b170f70b..6f8ef15e 100644 --- a/apps/inm/views.py +++ b/apps/inm/views.py @@ -208,6 +208,10 @@ class MIOItemViewSet(ListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin 检验 """ ins: MIOItem = self.get_object() + if ins.test_date: + raise ParseError('该明细已检验') + if ins.mio.state != MIO.MIO_SUBMITED: + raise ParseError('该状态不可检验') sr = MIOItemTestSerializer(instance=ins, data=request.data) sr.is_valid(raise_exception=True) sr.save()