|
|
|
@ -22,7 +22,7 @@ from service import utils
|
|
|
|
from service.enums import PointStatus
|
|
|
|
from service.enums import PointStatus
|
|
|
|
from service.permissions import UserPermission
|
|
|
|
from service.permissions import UserPermission
|
|
|
|
from service.service import PointService
|
|
|
|
from service.service import PointService
|
|
|
|
from service.tasks import raschet, load_post_and_pvz, load_other_objects, load_data
|
|
|
|
from service.tasks import raschet, load_post_and_pvz, load_other_objects, load_data, start_matching
|
|
|
|
from rest_framework.permissions import AllowAny
|
|
|
|
from rest_framework.permissions import AllowAny
|
|
|
|
from django.shortcuts import redirect
|
|
|
|
from django.shortcuts import redirect
|
|
|
|
from django.contrib import messages
|
|
|
|
from django.contrib import messages
|
|
|
|
@ -334,6 +334,18 @@ class PlacementPointViewSet(ReadOnlyModelViewSet):
|
|
|
|
def last_time_ml_run(self, request):
|
|
|
|
def last_time_ml_run(self, request):
|
|
|
|
return Response({'last_time': models.LastMLCall.objects.first().dt}, status=HTTPStatus.OK)
|
|
|
|
return Response({'last_time': models.LastMLCall.objects.first().dt}, status=HTTPStatus.OK)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@action(detail=False, methods=['post'])
|
|
|
|
|
|
|
|
def start_matching(self, request):
|
|
|
|
|
|
|
|
file = request.FILES['file'].file
|
|
|
|
|
|
|
|
file_bytes = file.read()
|
|
|
|
|
|
|
|
excel_base64 = base64.b64encode(file_bytes).decode()
|
|
|
|
|
|
|
|
obj = models.TempFiles.objects.create(data=excel_base64)
|
|
|
|
|
|
|
|
start_matching.delay(obj.id)
|
|
|
|
|
|
|
|
return Response(
|
|
|
|
|
|
|
|
{'message': 'OK'},
|
|
|
|
|
|
|
|
status=HTTPStatus.OK,
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class refresh_placement_points(APIView):
|
|
|
|
class refresh_placement_points(APIView):
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|
|