出入库记录列表

This commit is contained in:
caoqianming 2021-10-28 15:40:26 +08:00
parent 4453b4789f
commit 4ac2698ba5
3 changed files with 34 additions and 5 deletions

View File

@ -1,6 +1,6 @@
from rest_framework import serializers from rest_framework import serializers
from apps.inm.models import FIFO, FIFODetail, IProduct, WareHouse,Inventory from apps.inm.models import FIFO, FIFODetail, IProduct, MaterialBatch, WareHouse,Inventory
from apps.system.serializers import UserSimpleSerializer from apps.system.serializers import UserSimpleSerializer
from apps.mtm.serializers import MaterialSimpleSerializer from apps.mtm.serializers import MaterialSimpleSerializer
@ -28,6 +28,19 @@ class InventorySerializer(serializers. ModelSerializer):
model = Inventory model = Inventory
fields = '__all__' fields = '__all__'
class MaterialBatchSerializer(serializers. ModelSerializer):
material_= MaterialSimpleSerializer(source='material', read_only=True)
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
class Meta:
model = MaterialBatch
fields = '__all__'
class FIFOListSerializer(serializers.ModelSerializer):
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
operator_ = UserSimpleSerializer(source='operator', read_only=True)
class Meta:
model=FIFO
fields = '__all__'
class IProductInPurSerializer(serializers.ModelSerializer): class IProductInPurSerializer(serializers.ModelSerializer):
class Meta: class Meta:

View File

@ -1,12 +1,13 @@
from django.db.models import base from django.db.models import base
from rest_framework import urlpatterns from rest_framework import urlpatterns
from apps.inm.views import FIFOViewSet, WarehouseViewSet,InventoryViewSet from apps.inm.views import FIFOViewSet, MaterialBatchViewSet, WarehouseViewSet,InventoryViewSet
from django.urls import path, include from django.urls import path, include
from rest_framework.routers import DefaultRouter from rest_framework.routers import DefaultRouter
router = DefaultRouter() router = DefaultRouter()
router.register('warehouse', WarehouseViewSet, basename='warehouse') router.register('warehouse', WarehouseViewSet, basename='warehouse')
router.register('inventory', InventoryViewSet, basename='inventory') router.register('inventory', InventoryViewSet, basename='inventory')
router.register('materialbatch', MaterialBatchViewSet, basename='materialbatch')
router.register('fifo', FIFOViewSet, basename='fifo') router.register('fifo', FIFOViewSet, basename='fifo')
urlpatterns = [ urlpatterns = [
path('', include(router.urls)), path('', include(router.urls)),

View File

@ -3,8 +3,8 @@ from rest_framework import serializers
from rest_framework.mixins import ListModelMixin from rest_framework.mixins import ListModelMixin
from rest_framework.viewsets import GenericViewSet, ModelViewSet from rest_framework.viewsets import GenericViewSet, ModelViewSet
from apps.inm.models import WareHouse,Inventory from apps.inm.models import FIFO, MaterialBatch, WareHouse,Inventory
from apps.inm.serializers import FIFOInPurSerializer, WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer from apps.inm.serializers import FIFOInPurSerializer, FIFOListSerializer, MaterialBatchSerializer, WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
@ -39,11 +39,26 @@ class InventoryViewSet(ListModelMixin, GenericViewSet):
ordering_fields = ['create_time'] ordering_fields = ['create_time']
ordering = ['-create_time'] ordering = ['-create_time']
class FIFOViewSet(GenericViewSet): class MaterialBatchViewSet(ListModelMixin, GenericViewSet):
perms_map = {'*': '*'}
queryset = MaterialBatch.objects.select_related('material', 'warehouse').all()
serializer_class = MaterialBatchSerializer
filterset_fields = []
search_fields = ['material', 'warehouse']
ordering_fields = ['create_time']
ordering = ['-create_time']
class FIFOViewSet(ListModelMixin, GenericViewSet):
""" """
出入库记录 出入库记录
""" """
perms_map = {'*': '*'} perms_map = {'*': '*'}
queryset = FIFO.objects.all()
def get_serializer_class(self):
if self.action == 'list':
return FIFOListSerializer
@action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=FIFOInPurSerializer) @action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=FIFOInPurSerializer)
def in_pur(self, request, pk=None): def in_pur(self, request, pk=None):
""" """