diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py index 958e620..9bce6f5 100644 --- a/hb_server/apps/inm/serializers.py +++ b/hb_server/apps/inm/serializers.py @@ -42,6 +42,12 @@ class FIFOListSerializer(serializers.ModelSerializer): model=FIFO fields = '__all__' +class FIFODetailSerializer(serializers.ModelSerializer): + material_= MaterialSimpleSerializer(source='material', read_only=True) + class Meta: + model=FIFODetail + fields = '__all__' + class IProductInPurSerializer(serializers.ModelSerializer): class Meta: model = IProduct diff --git a/hb_server/apps/inm/urls.py b/hb_server/apps/inm/urls.py index e963137..4b968ff 100644 --- a/hb_server/apps/inm/urls.py +++ b/hb_server/apps/inm/urls.py @@ -1,6 +1,6 @@ from django.db.models import base from rest_framework import urlpatterns -from apps.inm.views import FIFOViewSet, MaterialBatchViewSet, WarehouseViewSet,InventoryViewSet +from apps.inm.views import FIFODetailViewSet, FIFOViewSet, MaterialBatchViewSet, WarehouseViewSet,InventoryViewSet from django.urls import path, include from rest_framework.routers import DefaultRouter @@ -8,7 +8,8 @@ router = DefaultRouter() router.register('warehouse', WarehouseViewSet, basename='warehouse') router.register('inventory', InventoryViewSet, basename='inventory') router.register('materialbatch', MaterialBatchViewSet, basename='materialbatch') -router.register('fifo', FIFOViewSet, basename='fifo') +router.register('fifo', FIFOViewSet, basename='fifo'), +router.register('fifodetail', FIFODetailViewSet, basename='fifodetail') urlpatterns = [ path('', include(router.urls)), ] diff --git a/hb_server/apps/inm/views.py b/hb_server/apps/inm/views.py index 2f316d7..531be66 100644 --- a/hb_server/apps/inm/views.py +++ b/hb_server/apps/inm/views.py @@ -1,10 +1,10 @@ from django.shortcuts import render from rest_framework import serializers -from rest_framework.mixins import ListModelMixin +from rest_framework.mixins import ListModelMixin, RetrieveModelMixin from rest_framework.viewsets import GenericViewSet, ModelViewSet -from apps.inm.models import FIFO, MaterialBatch, WareHouse,Inventory -from apps.inm.serializers import FIFOInPurSerializer, FIFOListSerializer, MaterialBatchSerializer, WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer +from apps.inm.models import FIFO, FIFODetail, MaterialBatch, WareHouse,Inventory +from apps.inm.serializers import FIFODetailSerializer, FIFOInPurSerializer, FIFOListSerializer, MaterialBatchSerializer, WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin from rest_framework.decorators import action from rest_framework.response import Response @@ -48,12 +48,25 @@ class MaterialBatchViewSet(ListModelMixin, GenericViewSet): ordering_fields = ['create_time'] ordering = ['-create_time'] +class FIFODetailViewSet(ListModelMixin, GenericViewSet): + """ + 出入库记录详情表 + """ + perms_map = {'*': '*'} + queryset = FIFODetail.objects.select_related('material', 'fifo').all() + serializer_class = FIFODetailSerializer + filterset_fields = ['material', 'fifo'] + search_fields = [] + ordering_fields = ['create_time'] + ordering = ['-create_time'] + class FIFOViewSet(ListModelMixin, GenericViewSet): """ 出入库记录 """ perms_map = {'*': '*'} - queryset = FIFO.objects.all() + queryset = FIFO.objects.select_related('warehouse', 'operator') + filterset_fields = ['warehouse'] def get_serializer_class(self): if self.action == 'list':