From ae10c93caff2b80e29d74f163889528fb4adbc1e Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 10 Dec 2021 13:39:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAorigin=5Ftest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qm/migrations/0016_auto_20211210_1338.py | 23 +++++++++++++++++++ hb_server/apps/qm/models.py | 2 +- hb_server/apps/qm/views.py | 1 + hb_server/apps/wpm/serializers.py | 1 + hb_server/apps/wpm/views.py | 6 ++--- 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 hb_server/apps/qm/migrations/0016_auto_20211210_1338.py diff --git a/hb_server/apps/qm/migrations/0016_auto_20211210_1338.py b/hb_server/apps/qm/migrations/0016_auto_20211210_1338.py new file mode 100644 index 0000000..3e0c54b --- /dev/null +++ b/hb_server/apps/qm/migrations/0016_auto_20211210_1338.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.9 on 2021-12-10 05:38 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('qm', '0015_alter_testrecord_test_record'), + ] + + operations = [ + migrations.RemoveField( + model_name='testrecord', + name='test_record', + ), + migrations.AddField( + model_name='testrecord', + name='origin_test', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='qm.testrecord', verbose_name='原检验记录'), + ), + ] diff --git a/hb_server/apps/qm/models.py b/hb_server/apps/qm/models.py index f769335..8c1b121 100644 --- a/hb_server/apps/qm/models.py +++ b/hb_server/apps/qm/models.py @@ -69,7 +69,7 @@ class TestRecord(CommonAModel): step = models.ForeignKey('mtm.step', verbose_name='关联的工序步骤', on_delete=models.CASCADE, null=True, blank=True) subproduction_plan = models.ForeignKey('pm.subproductionplan', verbose_name='关联的生产子计划', on_delete=models.CASCADE, null=True, blank=True) fifo_item = models.ForeignKey('inm.fifoitem', verbose_name='关联的出入库批次', on_delete=models.CASCADE, null=True, blank=True) - test_record = models.ForeignKey('self', verbose_name='关联的检验记录', on_delete=models.CASCADE, null=True, blank=True) + origin_test = models.ForeignKey('self', verbose_name='原检验记录', on_delete=models.CASCADE, null=True, blank=True) remark = models.TextField('备注', default='') diff --git a/hb_server/apps/qm/views.py b/hb_server/apps/qm/views.py index bfecdc1..beee64d 100644 --- a/hb_server/apps/qm/views.py +++ b/hb_server/apps/qm/views.py @@ -50,6 +50,7 @@ class TestRecordViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet): perms_map = {'*': '*'} queryset = TestRecord.objects.select_related('fifo_item', 'form').all() serializer_class = TestRecordListSerializer + filterset_fields = ['wproduct', 'material', 'step', 'subproduction_plan', 'fifo_item', 'origin_test'] ordering = ['-id'] def get_serializer_class(self): diff --git a/hb_server/apps/wpm/serializers.py b/hb_server/apps/wpm/serializers.py index 9c150f7..cb687e8 100644 --- a/hb_server/apps/wpm/serializers.py +++ b/hb_server/apps/wpm/serializers.py @@ -288,6 +288,7 @@ class WpmTestRecordCreateSerializer(serializers.ModelSerializer): record_data = WpmTestRecordItemCreateSerializer(many=True) wproduct = serializers.PrimaryKeyRelatedField(queryset=WProduct.objects.all(), required=True) is_testok = serializers.BooleanField(required=False) + class Meta: model = TestRecord fields = ['form', 'record_data', 'is_testok', 'wproduct'] diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 6c6b434..b34415f 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -201,11 +201,11 @@ class WProductViewSet(ListModelMixin, GenericViewSet): # 查找最近一条检验记录 trs = TestRecord.objects.filter(wproduct=wproduct, type=TestRecord.TEST_PROCESS).order_by('-id').first() if trs: - origin_data = TestRecordDetailSerializer(instance=trs).data + origin_test = TestRecordDetailSerializer(instance=trs).data data = RecordFormDetailSerializer(instance=form).data - data['origin_data'] = origin_data + data['origin_test'] = origin_test o_dict = {} - for i in origin_data['record_data_']: + for i in origin_test['record_data_']: o_dict[i['field_key']] = i['field_value'] for i in data['form_fields']: i['origin_value'] = o_dict[i['field_key']]