From 206df9c85c9ac22356e6ae178254e5f490d11dad Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 11 Nov 2021 09:44:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inm/migrations/0015_auto_20211111_0940.py | 25 +++++++++++++++++++ hb_server/apps/inm/models.py | 2 +- hb_server/apps/inm/serializers.py | 5 ++-- hb_server/apps/inm/views.py | 5 ++-- hb_server/apps/wpm/serializers.py | 4 +-- 5 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 hb_server/apps/inm/migrations/0015_auto_20211111_0940.py diff --git a/hb_server/apps/inm/migrations/0015_auto_20211111_0940.py b/hb_server/apps/inm/migrations/0015_auto_20211111_0940.py new file mode 100644 index 0000000..1654c62 --- /dev/null +++ b/hb_server/apps/inm/migrations/0015_auto_20211111_0940.py @@ -0,0 +1,25 @@ +# Generated by Django 3.2.6 on 2021-11-11 01:40 + +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', '0014_auto_20211111_0918'), + ] + + operations = [ + migrations.RemoveField( + model_name='fifo', + name='operator', + ), + migrations.AddField( + model_name='fifo', + name='auditor', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='审核人'), + ), + ] diff --git a/hb_server/apps/inm/models.py b/hb_server/apps/inm/models.py index 619d16e..c82db9c 100644 --- a/hb_server/apps/inm/models.py +++ b/hb_server/apps/inm/models.py @@ -66,7 +66,7 @@ class FIFO(CommonAModel): ) type = models.IntegerField('出入库类型', default=1) is_audited = models.BooleanField('是否审核', default=False) - operator = models.ForeignKey(User, verbose_name='操作人', on_delete=models.CASCADE) + auditor = models.ForeignKey(User, verbose_name='审核人', on_delete=models.CASCADE, null=True, blank=True) subproduction_plan = models.ForeignKey(SubProductionPlan, verbose_name='关联子生产计划', on_delete=models.DO_NOTHING, null=True, blank=True) inout_date = models.DateField('出入库日期') remark = models.CharField('备注', max_length=1000, default='') diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py index 61eb04b..d404ecc 100644 --- a/hb_server/apps/inm/serializers.py +++ b/hb_server/apps/inm/serializers.py @@ -37,7 +37,8 @@ class MaterialBatchSerializer(serializers. ModelSerializer): fields = '__all__' class FIFOListSerializer(serializers.ModelSerializer): - operator_ = UserSimpleSerializer(source='operator', read_only=True) + auditor_ = UserSimpleSerializer(source='auditor', read_only=True) + create_by_ = UserSimpleSerializer(source='create_by', read_only=True) class Meta: model=FIFO fields = '__all__' @@ -72,7 +73,7 @@ class FIFOInPurSerializer(serializers.ModelSerializer): details = FIFODetailInPurSerializer(many=True) class Meta: model = FIFO - fields = ['operator', 'details', 'inout_date'] + fields = ['details', 'inout_date'] def create(self, validated_data): details = validated_data.pop('details') diff --git a/hb_server/apps/inm/views.py b/hb_server/apps/inm/views.py index 4d88b8f..cfd511e 100644 --- a/hb_server/apps/inm/views.py +++ b/hb_server/apps/inm/views.py @@ -86,11 +86,11 @@ class FIFOViewSet(ListModelMixin, GenericViewSet): 出入库记录 """ perms_map = {'*': '*'} - queryset = FIFO.objects.select_related('warehouse', 'operator') + queryset = FIFO.objects.select_related('auditor', 'create_by') serializer_class = FIFOListSerializer filterset_fields = '__all__' ordering_fields = '__all__' - search_fields = ['warehouse__name', 'warehouse__number'] + search_fields = [] ordering = ['-pk'] def get_serializer_class(self): @@ -121,6 +121,7 @@ class FIFOViewSet(ListModelMixin, GenericViewSet): raise APIException('该入库记录已审核通过') with transaction.atomic(): obj.is_audited = True + obj.auditor = request.user obj.save() update_inm(obj) # 更新库存 return Response() diff --git a/hb_server/apps/wpm/serializers.py b/hb_server/apps/wpm/serializers.py index f55020f..2e88f72 100644 --- a/hb_server/apps/wpm/serializers.py +++ b/hb_server/apps/wpm/serializers.py @@ -38,9 +38,7 @@ class PickSerializer(serializers.Serializer): raise serializers.ValidationError('物料不存在') # 创建出库记录 with transaction.atomic(): - operator = self.context['request'].user - validated_data['create_by'] = operator - validated_data['operator'] = operator + validated_data['create_by'] = self.context['request'].user validated_data['type'] = FIFO.FIFO_TYPE_DO_OUT validated_data['inout_date'] = timezone.now() fifo = FIFO.objects.create(**validated_data)