from django.shortcuts import render from rest_framework.mixins import ListModelMixin, CreateModelMixin from rest_framework.decorators import action from apps.qm.models import QuaStat, TestItem from apps.qm.serializers import QuaStatSerializer, TestItemSerializer, QuaStatSfLogSerializer from apps.qm.tasks import cal_quastat from rest_framework.response import Response from apps.utils.viewsets import CustomGenericViewSet # Create your views here. class TestItemViewSet(ListModelMixin, CustomGenericViewSet): """ list:质检项目 质检项目 """ queryset = TestItem.objects.all() serializer_class = TestItemSerializer filterset_fields = [] ordering = ['id'] class QuaStatViewSet(ListModelMixin, CreateModelMixin, CustomGenericViewSet): """ list:质量分析报告 质量分析报告 """ queryset = QuaStat.objects.all() serializer_class = QuaStatSerializer filterset_fields = ['type', 'year', 'month', 'day', 'product', 'testitem', 'belong_dept', 'sflog'] select_related_fields = ['belong_dept', 'product', 'testitem'] def perform_create(self, serializer): ins = serializer.save() ins.rate_pass = ins.num_ok/ ins.num_test ins.save() # 计算月和年的统计 cal_quastat.delay(ins.id) class QuaStatSfLogViewSet(CreateModelMixin, CustomGenericViewSet): """ 值班-质量分析 值班-质量分析 """ queryset = QuaStat.objects.all() serializer_class = QuaStatSfLogSerializer