From 0148efba62af93c71b2fd6b664346a304f1758e8 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 3 Sep 2024 10:58:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20process=E6=B7=BB=E5=8A=A0=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mtm/admin.py | 2 +- .../mtm/migrations/0041_process_mstate_json.py | 18 ++++++++++++++++++ apps/mtm/models.py | 1 + apps/wpm/serializers.py | 1 + apps/wpm/views.py | 4 +++- 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 apps/mtm/migrations/0041_process_mstate_json.py diff --git a/apps/mtm/admin.py b/apps/mtm/admin.py index 2aec3530..5de10265 100644 --- a/apps/mtm/admin.py +++ b/apps/mtm/admin.py @@ -5,7 +5,7 @@ from apps.mtm.models import Material, Shift, Mgroup, Process @admin.register(Process) class ProcessAdmin(admin.ModelAdmin): - list_display = ('id', 'name', 'cate', 'sort', 'into_wm_mgroup', 'store_notok', 'batch_append_equip') + list_display = ('id', 'name', 'cate', 'sort', 'into_wm_mgroup', 'store_notok', 'batch_append_equip', 'mlog_need_ticket') @admin.register(Material) diff --git a/apps/mtm/migrations/0041_process_mstate_json.py b/apps/mtm/migrations/0041_process_mstate_json.py new file mode 100644 index 00000000..84f21c3b --- /dev/null +++ b/apps/mtm/migrations/0041_process_mstate_json.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2024-09-03 02:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mtm', '0040_process_mlog_need_ticket'), + ] + + operations = [ + migrations.AddField( + model_name='process', + name='mstate_json', + field=models.JSONField(blank=True, default=list, verbose_name='中间状态'), + ), + ] diff --git a/apps/mtm/models.py b/apps/mtm/models.py index 4e2f3d49..5998d83a 100644 --- a/apps/mtm/models.py +++ b/apps/mtm/models.py @@ -19,6 +19,7 @@ class Process(CommonBModel): store_notok = models.BooleanField('不合格品是否入库', default=False) batch_append_equip = models.BooleanField('批号追加设备', default=False) mlog_need_ticket = models.BooleanField('日志提交是否需要审批', default=False) + mstate_json = models.JSONField('中间状态', default=list, blank=True) class Meta: verbose_name = '工序' diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index ed3e21c0..b40352cc 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -213,6 +213,7 @@ class MlogbDetailSerializer(CustomModelSerializer): fields = '__all__' class MlogSerializer(CustomModelSerializer): + mstate_json = serializers.JSONField(source='mgroup.process.mstate_json', read_only=True) supplier_name = serializers.CharField(source='supplier.name', read_only=True) belong_dept = serializers.CharField( source='mgroup.belong_dept.id', read_only=True) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index ec2fd45a..6365295e 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -142,7 +142,9 @@ class MlogViewSet(CustomModelViewSet): queryset = Mlog.objects.all() serializer_class = MlogSerializer select_related_fields = ['create_by', 'update_by', 'mtask', - 'handle_user', 'handle_user_2', 'equipment', 'equipment_2', 'material_in', 'material_out', 'supplier', 'ticket'] + 'handle_user', 'handle_user_2', 'equipment', + 'equipment_2', 'material_in', 'material_out', + 'supplier', 'ticket', 'mgroup__process'] prefetch_related_fields = ['handle_users', 'material_outs', 'b_mlog', 'equipments'] filterset_class = MlogFilter