|
@@ -14,7 +14,7 @@ import requests
|
|
from django.db import transaction
|
|
from django.db import transaction
|
|
import logging
|
|
import logging
|
|
from rest_framework import status
|
|
from rest_framework import status
|
|
-from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,ContainerWCSModel,TaskModel,out_batch_detail
|
|
|
|
|
|
+from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,ContainerWCSModel,TaskModel,out_batch_detail,ContainerDetailLogModel
|
|
from bound.models import BoundDetailModel,BoundListModel,OutBoundDetailModel
|
|
from bound.models import BoundDetailModel,BoundListModel,OutBoundDetailModel
|
|
from bin.views import LocationAllocation,base_location
|
|
from bin.views import LocationAllocation,base_location
|
|
from bin.models import LocationModel,LocationContainerLink,LocationGroupModel
|
|
from bin.models import LocationModel,LocationContainerLink,LocationGroupModel
|
|
@@ -26,7 +26,8 @@ from .serializers import ContainerOperationGetSerializer,ContainerOperationPostS
|
|
from .serializers import TaskGetSerializer,TaskPostSerializer
|
|
from .serializers import TaskGetSerializer,TaskPostSerializer
|
|
from .serializers import WCSTaskGetSerializer
|
|
from .serializers import WCSTaskGetSerializer
|
|
from .serializers import OutBoundFullDetailSerializer,OutBoundDetailSerializer
|
|
from .serializers import OutBoundFullDetailSerializer,OutBoundDetailSerializer
|
|
-from .filter import ContainerDetailFilter,ContainerListFilter,ContainerOperationFilter,TaskFilter,WCSTaskFilter
|
|
|
|
|
|
+from .serializers import ContainerDetailLogSerializer
|
|
|
|
+from .filter import ContainerDetailFilter,ContainerListFilter,ContainerOperationFilter,TaskFilter,WCSTaskFilter,ContainerDetailLogFilter
|
|
|
|
|
|
from rest_framework.permissions import AllowAny
|
|
from rest_framework.permissions import AllowAny
|
|
import threading
|
|
import threading
|
|
@@ -36,6 +37,64 @@ from collections import defaultdict
|
|
from django.db.models import Sum
|
|
from django.db.models import Sum
|
|
from staff.models import ListModel as StaffListModel
|
|
from staff.models import ListModel as StaffListModel
|
|
logger = logging.getLogger(__name__)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
+
|
|
|
|
+# 进出库log查看
|
|
|
|
+class ContainerDetailLogModelViewSet(viewsets.ModelViewSet):
|
|
|
|
+ """
|
|
|
|
+ retrieve:
|
|
|
|
+ Response a data list(get)
|
|
|
|
+ list:
|
|
|
|
+ Response a data list(all)
|
|
|
|
+ create:
|
|
|
|
+ Create a data line(post)
|
|
|
|
+
|
|
|
|
+ delete:
|
|
|
|
+ Delete a data line(delete)
|
|
|
|
+
|
|
|
|
+ """
|
|
|
|
+ # authentication_classes = [] # 禁用所有认证类
|
|
|
|
+ # permission_classes = [AllowAny] # 允许任意访问
|
|
|
|
+ pagination_class = MyPageNumberPagination
|
|
|
|
+ filter_backends = [DjangoFilterBackend, OrderingFilter, ]
|
|
|
|
+ ordering_fields = ['id', "create_time", "update_time", ]
|
|
|
|
+ filter_class = ContainerDetailLogFilter
|
|
|
|
+
|
|
|
|
+ def get_project(self):
|
|
|
|
+ try:
|
|
|
|
+ id = self.kwargs.get('pk')
|
|
|
|
+ return id
|
|
|
|
+ except:
|
|
|
|
+ return None
|
|
|
|
+
|
|
|
|
+ def get_queryset(self):
|
|
|
|
+ id = self.get_project()
|
|
|
|
+ if self.request.user:
|
|
|
|
+ if id is None:
|
|
|
|
+ return ContainerDetailLogModel.objects.filter()
|
|
|
|
+ else:
|
|
|
|
+ return ContainerDetailLogModel.objects.filter(id=id)
|
|
|
|
+ else:
|
|
|
|
+ return ContainerDetailLogModel.objects.none()
|
|
|
|
+
|
|
|
|
+ def get_serializer_class(self):
|
|
|
|
+ if self.action in ['list', 'destroy','retrieve']:
|
|
|
|
+ return ContainerDetailLogSerializer
|
|
|
|
+ else:
|
|
|
|
+ return self.http_method_not_allowed(request=self.request)
|
|
|
|
+
|
|
|
|
+ def create(self, request, *args, **kwargs):
|
|
|
|
+ data = self.request.data
|
|
|
|
+ return Response(data, status=200, headers=headers)
|
|
|
|
+
|
|
|
|
+ def update(self, request, pk):
|
|
|
|
+ qs = self.get_object()
|
|
|
|
+ data = self.request.data
|
|
|
|
+ serializer = self.get_serializer(qs, data=data)
|
|
|
|
+ serializer.is_valid(raise_exception=True)
|
|
|
|
+ serializer.save()
|
|
|
|
+ headers = self.get_success_headers(serializer.data)
|
|
|
|
+ return Response(serializer.data, status=200, headers=headers)
|
|
|
|
+
|
|
# 托盘列表视图
|
|
# 托盘列表视图
|
|
class ContainerListViewSet(viewsets.ModelViewSet):
|
|
class ContainerListViewSet(viewsets.ModelViewSet):
|
|
"""
|
|
"""
|