From ecd4192109a9bc1dd913d1c121ebf395578a893c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 13 Oct 2021 15:18:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E8=AE=BE=E5=A4=87=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/mtm/models.py | 2 +- hb_server/apps/pm/serializers.py | 2 +- hb_server/apps/pm/views.py | 15 +++++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/hb_server/apps/mtm/models.py b/hb_server/apps/mtm/models.py index 82b39c7..105cd10 100644 --- a/hb_server/apps/mtm/models.py +++ b/hb_server/apps/mtm/models.py @@ -64,7 +64,7 @@ class Step(CommonAModel): number = models.CharField('步骤编号', max_length=100, null=True, blank=True) instruction_content = models.TextField('相应操作指导', null=True, blank=True) sort = models.IntegerField('排序号', default=1) - equipments = models.ManyToManyField(Equipment, verbose_name='使用设备') + equipments = models.ManyToManyField(Equipment, verbose_name='使用设备', related_name='step_equips') class Meta: verbose_name = '工序步骤' diff --git a/hb_server/apps/pm/serializers.py b/hb_server/apps/pm/serializers.py index c9b3d02..7542527 100644 --- a/hb_server/apps/pm/serializers.py +++ b/hb_server/apps/pm/serializers.py @@ -21,4 +21,4 @@ class ResourceCalSerializer(serializers.Serializer): count = serializers.IntegerField(label='生产数量') class ResourceCalListSerializer(serializers.ListSerializer): - child = ResourceCalSerializer() \ No newline at end of file + child = ResourceCalSerializer() diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py index af0e16f..aa06248 100644 --- a/hb_server/apps/pm/views.py +++ b/hb_server/apps/pm/views.py @@ -1,5 +1,7 @@ from rest_framework.views import APIView -from apps.mtm.models import InputMaterial, Step, UsedStep +from apps.em.models import Equipment +from apps.em.serializers import EquipmentSerializer +from apps.mtm.models import InputMaterial, Step, SubProduction, UsedStep from apps.system.mixins import CreateUpdateModelAMixin from apps.pm.serializers import ProductionPlanCreateFromOrderSerializer, ProductionPlanSerializer, ResourceCalListSerializer, ResourceCalSerializer from rest_framework.mixins import CreateModelMixin, ListModelMixin @@ -91,8 +93,13 @@ class ResourceViewSet(GenericViewSet): rdata = request.data serializer = self.get_serializer(data=rdata) serializer.is_valid(raise_exception=True) - res_d_list = [] - res = [] - return Response(res) + rdata_l = [] + for i in rdata: + rdata_l.append(i['id']) + subproductions = SubProduction.objects.filter(product__id__in=rdata_l, is_deleted=False) + steps = Step.objects.filter(usedsteps__is_deleted=False, usedsteps__subproduction__in=subproductions) + equips = Equipment.objects.filter(step_equips__in=steps, is_deleted=False) + serializer = EquipmentSerializer(instance=equips, many=True) + return Response(serializer.data)