From 6c5b4eea6ec5d31a747507899827d062312d6cc9 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 16 Dec 2021 11:24:24 +0800 Subject: [PATCH] operation create bug --- hb_server/apps/wpm/views.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index f64bd30..bceb6e9 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -20,7 +20,7 @@ from apps.wf.models import Workflow from apps.wpm.filters import WMaterialFilterSet from apps.wpm.models import OperationEquip, OperationWproduct, Pick, PickWproduct, WMaterial, WProduct, Operation, OperationMaterial, OperationRecord, OperationRecordItem -from apps.wpm.serializers import OperationEquipListSerializer, OperationEquipUpdateSerializer, OperationMaterialCreate1ListSerailizer, OperationMaterialCreate1Serailizer, OperationMaterialCreate2ListSerailizer, OperationMaterialCreate2Serailizer, OperationMaterialCreate3Serializer, OperationMaterialListSerializer, OperationRecordListSerializer, OperationRecordSubmitSerializer, OperationUpdateSerializer, OperationWproductListSerializer, OperationCreateSerializer, OperationDetailSerializer, OperationListSerializer, PickHalfSerializer, PickHalfsSerializer, PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer, WProductListSerializer, WplanPutInSerializer, WpmTestFormInitSerializer, WpmTestRecordCreateSerializer, WproductPutInSerializer, WproductPutInsSerializer +from apps.wpm.serializers import OperationEquipListSerializer, OperationEquipUpdateSerializer, OperationMaterialCreate1ListSerailizer, OperationMaterialCreate1Serailizer, OperationMaterialCreate2ListSerailizer, OperationMaterialCreate2Serailizer, OperationMaterialCreate3Serializer, OperationMaterialListSerializer, OperationRecordDetailSerializer, OperationRecordListSerializer, OperationRecordSubmitSerializer, OperationUpdateSerializer, OperationWproductListSerializer, OperationCreateSerializer, OperationDetailSerializer, OperationListSerializer, PickHalfSerializer, PickHalfsSerializer, PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer, WProductListSerializer, WplanPutInSerializer, WpmTestFormInitSerializer, WpmTestRecordCreateSerializer, WproductPutInSerializer, WproductPutInsSerializer from rest_framework.response import Response from django.db import transaction from rest_framework import exceptions, serializers @@ -408,9 +408,14 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd opr.operation = op opr.form = i opr.is_filled = False - for m in RecordFormField.objects.filter(form=i, is_deleted=False): - OperationRecordItem.objects.create(operation_record=opr, form_field=m) opr.save() + opri_list = [] + for m in RecordFormField.objects.filter(form=i, is_deleted=False): + opri_dict = {} + opri_dict['operation_record'] = opr + opri_dict['form_field'] = m + opri_list.append(OperationRecordItem(**opri_dict)) + OperationRecordItem.objects.bulk_create(opri_list) # 查询需要使用的生产设备 for i in step.equipments.all(): ope = OperationEquip() @@ -576,7 +581,7 @@ class OperationEquipViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin, instance.delete() return Response() -class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin, GenericViewSet): +class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin, RetrieveModelMixin, GenericViewSet): """ 操作使用的自定义表格 """ @@ -590,6 +595,8 @@ class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin def get_serializer_class(self): if self.action == 'update': return OperationRecordSubmitSerializer + elif self.action == 'retrieve': + return OperationRecordDetailSerializer return super().get_serializer_class() @transaction.atomic() def destroy(self, request, *args, **kwargs):