diff --git a/hb_server/apps/wpm/serializers.py b/hb_server/apps/wpm/serializers.py index e91038e..3cab8b8 100644 --- a/hb_server/apps/wpm/serializers.py +++ b/hb_server/apps/wpm/serializers.py @@ -288,9 +288,10 @@ class WpmTestRecordCreateSerializer(serializers.ModelSerializer): record_data = WpmTestRecordItemCreateSerializer(many=True) wproduct = serializers.PrimaryKeyRelatedField(queryset=WProduct.objects.all(), required=True) is_testok = serializers.BooleanField(required=False) + origin_test = serializers.PrimaryKeyRelatedField(queryset=TestRecord.objects.all(), default=None) class Meta: model = TestRecord - fields = ['form', 'record_data', 'is_testok', 'wproduct', 'is_submited'] + fields = ['form', 'record_data', 'is_testok', 'wproduct', 'is_submited', 'origin_test'] class WpmTestFormInitSerializer(serializers.Serializer): wproduct = serializers.PrimaryKeyRelatedField(queryset=WProduct.objects.all(), required=True) diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 4d27966..b69ad27 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -196,15 +196,17 @@ class WProductViewSet(ListModelMixin, GenericViewSet): form = vdata['form'] if wproduct.test: raise exceptions.APIException('存在进行中检验') - + + data = RecordFormDetailSerializer(instance=form).data + data['origin_test'] = None # 如果是复检, 需要带入原数据 if wproduct.act_state == WProduct.WPR_ACT_STATE_TORETEST: # 查找最近一条检验记录 trs = wproduct.last_process_test if trs: origin_test = TestRecordDetailSerializer(instance=trs).data - data = RecordFormDetailSerializer(instance=form).data - data['origin_test'] = origin_test + data['origin_test_'] = origin_test + data['origin_test'] = origin_test.get('id', None) o_dict = {} for i in origin_test['record_data']: o_dict[i['field_key']] = i['field_value'] @@ -213,8 +215,6 @@ class WProductViewSet(ListModelMixin, GenericViewSet): i['is_hidden'] = o_dict[i['is_hidden']] if i['is_hidden'] in o_dict else False else: raise exceptions.APIException('原工序检验记录不存在') - else: - data = RecordFormDetailSerializer(instance=form).data # 后续加入系统自带数据 return Response(data) @@ -239,7 +239,8 @@ class WProductViewSet(ListModelMixin, GenericViewSet): savedict = dict(create_by = self.request.user, material=wproduct.material, number=wproduct.number, subproduction_plan=wproduct.subproduction_plan, step=wproduct.step) if wproduct.act_state == WProduct.WPR_ACT_STATE_TORETEST: - savedict['origin_test'] = wproduct.last_process_test + if not vdata['origin_test']: + raise exceptions.APIException('自检记录不存在') savedict['type'] = TestRecord.TEST_PROCESS_RE elif wproduct.act_state == WProduct.WPR_ACT_STATE_TOFINALTEST: savedict['type'] = TestRecord.TEST_FINAL