diff --git a/hb_server/apps/mtm/models.py b/hb_server/apps/mtm/models.py index 105cd10..62f983e 100644 --- a/hb_server/apps/mtm/models.py +++ b/hb_server/apps/mtm/models.py @@ -134,6 +134,7 @@ class SubProduction(CommonAModel): """ name = models.CharField('命名', max_length=50, null=True, blank=True) product = models.ForeignKey(Material, verbose_name='产品', on_delete=models.CASCADE) + process = models.ForeignKey(Process, verbose_name='隶属大工序', on_delete=models.CASCADE, related_name='subproduction_process') sort = models.IntegerField('排序号', default=1) class Meta: diff --git a/hb_server/apps/mtm/serializers.py b/hb_server/apps/mtm/serializers.py index 7cd8fe5..5f0d43a 100644 --- a/hb_server/apps/mtm/serializers.py +++ b/hb_server/apps/mtm/serializers.py @@ -17,8 +17,9 @@ class MaterialDetailSerializer(serializers.ModelSerializer): fields = '__all__' def get_processes_(self, obj): - steps = UsedStep.objects.filter(subproduction__product=obj).values_list('step', flat=True) - objs = Process.objects.filter(step_process__id__in=steps).distinct().order_by('number') + # steps = UsedStep.objects.filter(subproduction__product=obj).values_list('step', flat=True) + # objs = Process.objects.filter(step_process__id__in=steps).distinct().order_by('number') + objs = Process.objects.filter(subproduction_process__product=obj, subproduction_process__is_deleted=False, is_deleted=False).order_by('number') return ProcessSimpleSerializer(instance=objs, many=True).data diff --git a/hb_server/apps/mtm/views.py b/hb_server/apps/mtm/views.py index 0e1c44f..3a4ce4c 100644 --- a/hb_server/apps/mtm/views.py +++ b/hb_server/apps/mtm/views.py @@ -75,7 +75,7 @@ class SubProductionViewSet(CreateUpdateModelAMixin, ModelViewSet): """ perms_map={'*':'*'} queryset = SubProduction.objects.all() - filterset_fields = ['product'] + filterset_fields = ['product', 'process'] search_fields = ['name'] serializer_class = SubProductionSerializer ordering = ['sort']