From fd4ccae4489bcdd79134572d6f94b29dbb8c2c8d Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 23 Oct 2023 15:03:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=94=E5=9B=9E=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E6=89=B9=E6=AC=A1=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/serializers.py | 4 ++++ apps/wpm/views.py | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 815878fe..5e907d9e 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -125,3 +125,7 @@ class MlogSerializer(CustomModelSerializer): class MlogRelatedSerializer(serializers.Serializer): mtask = serializers.PrimaryKeyRelatedField( label='小任务ID', queryset=Mtask.objects.all()) + + +class DeptBatchSerializer(serializers.Serializer): + belong_dept_name = serializers.CharField(label='车间名称') diff --git a/apps/wpm/views.py b/apps/wpm/views.py index e8174fc8..486f107f 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -12,7 +12,7 @@ from apps.utils.mixins import BulkCreateModelMixin from .filters import SfLogExpFilter, SfLogFilter from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog -from .serializers import SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer +from .serializers import SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer # Create your views here. @@ -97,6 +97,20 @@ class WMaterialViewSet(ListModelMixin, CustomGenericViewSet): 'material__number', 'material__specification'] filterset_fields = ['material', 'belong_dept'] + @action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=DeptBatchSerializer) + @transaction.atomic + def batchs(self, request): + """获取车间出现过的批次号 + + 获取车间出现过的批次号 + """ + sr = DeptBatchSerializer(data=request.data) + sr.is_valid(raise_exception=True) + vdata = sr.validated_data + batchs = WMaterial.objects.filter( + belong_dept__name=vdata['belong_dept_name']).values_list('batch', flat=True).distinct() + return Response(list(batchs)) + class MlogViewSet(CustomModelViewSet): """