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)