You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
2.3 KiB

from rest_framework import viewsets
21 hours ago
from warehouse.models import Warehouse, Stock
from .models import Product, Employee, Position, StorageLocation, Contractor, SupplyContract, Truck, Inventory
from django.http import JsonResponse
from .models import Inventory
from .serializers import (
ProductSerializer, EmployeeSerializer, PositionSerializer,
StorageLocationSerializer, ContractorSerializer, SupplyContractSerializer, TruckSerializer
)
21 hours ago
def conduct_inventory(request, warehouse_id):
warehouse = Warehouse.objects.get(id=warehouse_id)
stock_items = Stock.objects.filter(location__warehouse=warehouse)
inventory_results = []
for stock_item in stock_items:
recorded_quantity = stock_item.quantity
# Симуляция фактического количества (можно заменить на ввод пользователя)
actual_quantity = recorded_quantity - 5 # Пример: уменьшение на 5 для теста
inventory = Inventory.objects.create(
warehouse=warehouse,
storage_location=stock_item.location,
product=stock_item.product,
actual_quantity=actual_quantity,
recorded_quantity=recorded_quantity,
)
inventory_results.append(inventory)
return JsonResponse({
"message": "Инвентаризация завершена",
"results": [str(result) for result in inventory_results],
})
class ProductViewSet(viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
class EmployeeViewSet(viewsets.ModelViewSet):
queryset = Employee.objects.all()
serializer_class = EmployeeSerializer
class PositionViewSet(viewsets.ModelViewSet):
queryset = Position.objects.all()
serializer_class = PositionSerializer
class StorageLocationViewSet(viewsets.ModelViewSet):
queryset = StorageLocation.objects.all()
serializer_class = StorageLocationSerializer
class ContractorViewSet(viewsets.ModelViewSet):
queryset = Contractor.objects.all()
serializer_class = ContractorSerializer
class SupplyContractViewSet(viewsets.ModelViewSet):
queryset = SupplyContract.objects.all()
serializer_class = SupplyContractSerializer
class TruckViewSet(viewsets.ModelViewSet):
queryset = Truck.objects.all()
serializer_class = TruckSerializer