From f34d77e8ef03e429da4c0c7276c94be23e4dc432 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 18 Feb 2022 16:16:32 +0800 Subject: [PATCH] packitem bug --- hb_server/apps/mtm/views.py | 4 +- .../pm/migrations/0025_auto_20220218_1616.py | 45 +++++++++++++++++++ hb_server/apps/pm/models.py | 26 ++++++----- 3 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 hb_server/apps/pm/migrations/0025_auto_20220218_1616.py diff --git a/hb_server/apps/mtm/views.py b/hb_server/apps/mtm/views.py index 5a3f3e0..4a02aa5 100644 --- a/hb_server/apps/mtm/views.py +++ b/hb_server/apps/mtm/views.py @@ -4,7 +4,7 @@ from rest_framework.mixins import CreateModelMixin, ListModelMixin, UpdateModelM from apps.mtm.filters import MaterialFilterSet, TechDocFilterset from apps.mtm.models import Material, PackItem, Process, RecordForm, RecordFormField, Step, SubprodctionMaterial, TechDoc, UsedStep, SubProduction -from apps.mtm.serializers import InputMaterialSerializer, InputMaterialUpdateSerializer, MaterialDetailSerializer, MaterialSerializer, MaterialSimpleSerializer, OtherMaterialSerializer, OutputMaterialSerializer, OutputMaterialUpdateSerializer, PackItemCreateSerializer, PackItemUpdateSerializer, ProcessSerializer, RecordFormCreateSerializer, RecordFormDetailSerializer, RecordFormFieldCreateSerializer, RecordFormFieldSerializer, RecordFormFieldUpdateSerializer, RecordFormSerializer, RecordFormUpdateSerializer, StepDetailSerializer, StepSerializer, SubProductionCreateUpdateSerializer, SubProductionSerializer, SubprodctionMaterialListSerializer, TechDocCreateSerializer, TechDocListSerializer, TechDocUpdateSerializer, UsedStepCreateSerializer, UsedStepListSerializer, UsedStepUpdateSerializer +from apps.mtm.serializers import InputMaterialSerializer, InputMaterialUpdateSerializer, MaterialDetailSerializer, MaterialSerializer, MaterialSimpleSerializer, OtherMaterialSerializer, OutputMaterialSerializer, OutputMaterialUpdateSerializer, PackItemCreateSerializer, PackItemSerializer, PackItemUpdateSerializer, ProcessSerializer, RecordFormCreateSerializer, RecordFormDetailSerializer, RecordFormFieldCreateSerializer, RecordFormFieldSerializer, RecordFormFieldUpdateSerializer, RecordFormSerializer, RecordFormUpdateSerializer, StepDetailSerializer, StepSerializer, SubProductionCreateUpdateSerializer, SubProductionSerializer, SubprodctionMaterialListSerializer, TechDocCreateSerializer, TechDocListSerializer, TechDocUpdateSerializer, UsedStepCreateSerializer, UsedStepListSerializer, UsedStepUpdateSerializer from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin from rest_framework.decorators import action from rest_framework.response import Response @@ -38,7 +38,7 @@ class PackItemViewSet(CreateUpdateModelAMixin, ModelViewSet): perms_map = {'get': '*', 'post': 'packitem_create', 'put': 'packitem_update', 'delete': 'packitem_delete'} queryset = PackItem.objects.all() - serializer_class = MaterialSerializer + serializer_class = PackItemSerializer search_fields = ['name', 'number'] filterset_fields = ['material'] ordering = ['sort'] diff --git a/hb_server/apps/pm/migrations/0025_auto_20220218_1616.py b/hb_server/apps/pm/migrations/0025_auto_20220218_1616.py new file mode 100644 index 0000000..84dfbed --- /dev/null +++ b/hb_server/apps/pm/migrations/0025_auto_20220218_1616.py @@ -0,0 +1,45 @@ +# Generated by Django 3.2.9 on 2022-02-18 08:16 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('mtm', '0047_packitem'), + ('pm', '0024_auto_20220217_1524'), + ] + + operations = [ + migrations.AddField( + model_name='subproductionplan', + name='first_tester', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='首件检查员'), + ), + migrations.AddField( + model_name='subproductionplan', + name='is_first_testok', + field=models.BooleanField(default=True, verbose_name='首件是否合格'), + ), + migrations.CreateModel( + name='FirstItem', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('field_value', models.JSONField(blank=True, null=True, verbose_name='录入值')), + ('is_hidden', models.BooleanField(default=False, verbose_name='是否隐藏')), + ('is_testok', models.BooleanField(blank=True, null=True, verbose_name='是否合格')), + ('form_field', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mtm.recordformfield', verbose_name='关联自定义表格字段')), + ('subproduction_plan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='item_test_record', to='pm.subproductionplan', verbose_name='关联的子计划')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/hb_server/apps/pm/models.py b/hb_server/apps/pm/models.py index d15141a..f872e60 100644 --- a/hb_server/apps/pm/models.py +++ b/hb_server/apps/pm/models.py @@ -1,5 +1,5 @@ -from io import open_code -from apps.system.models import CommonAModel, Organization + +from apps.system.models import CommonAModel, Organization, User from django.db import models from django.contrib.auth.models import AbstractUser from django.db.models.base import Model @@ -92,19 +92,23 @@ class SubProductionPlan(CommonAModel): is_picked = models.BooleanField('是否已领料', default=False) # wproducts = models.JSONField('半成品表', default=list, blank=True) + is_first_testok = models.BooleanField('首件是否合格', default=True) + first_tester = models.ForeignKey(User, on_delete=models.CASCADE, + verbose_name="首件检查员", null=True, blank=True) + class Meta: verbose_name = '子生产计划' verbose_name_plural = verbose_name -# class FirstItem(BaseModel): -# """ -# 首件确认表记录条目 -# """ -# form_field = models.ForeignKey(RecordFormField, verbose_name='关联自定义表格字段', on_delete=models.CASCADE) -# field_value = models.JSONField('录入值', null=True, blank=True) -# is_hidden = models.BooleanField('是否隐藏', default=False) -# is_testok = models.BooleanField('是否合格', null=True, blank=True) -# subproduction_plan = models.ForeignKey(SubProductionPlan, verbose_name='关联的子计划', on_delete=models.CASCADE, related_name='item_test_record') +class FirstItem(BaseModel): + """ + 首件确认表记录条目 + """ + form_field = models.ForeignKey(RecordFormField, verbose_name='关联自定义表格字段', on_delete=models.CASCADE) + field_value = models.JSONField('录入值', null=True, blank=True) + is_hidden = models.BooleanField('是否隐藏', default=False) + is_testok = models.BooleanField('是否合格', null=True, blank=True) + subproduction_plan = models.ForeignKey(SubProductionPlan, verbose_name='关联的子计划', on_delete=models.CASCADE, related_name='item_test_record') class SubProductionProgress(BaseModel): """